summaryrefslogtreecommitdiff
path: root/iterations/20190810-to-201909-07.mdwn
blob: 22da171f509219b2c16276acbef845f1de484334 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
[[!meta title="10th August to 7th September 2019"]]
[[!meta author="Lars Wirzenius"]]
[[!meta date="2019-09-07 20:00:00 +0300"]]

Present
=======

* Lars Wirzenius
* Daniel Silverstone

Notes
=====

The BBQ soft-launch in Cambridge was a success. We interviewed five
people who seemed like likely candidates to want to use Fable.
Analysis of the interviews from Lars:

* Doing the interviews was quite useful, if more than a little effort.
  Not sure if we can do them useful in the future, but perhaps
  something using video chats would work.
* Pretty much everyone seems to like the Fable concept, though there
  are reservations about being able to use it.
* We should improve the tutorial: more careful proof-reading, more
  in-depth examples, maybe include sample step implementations
* The echo example may be too simplistic.
* We should have at least one more in-depth example, perhaps as a
  separate document, for those learning about Fable on their own time.
* We might also discuss the workflows we assume people use in more
  detail.
* Regular expressions are a problem, many don't know them. We should
  support an easier syntax for what we think will be the most common
  cases, such as white-space delimited words.
* Tracking requirements may be an interesting thing to add, later on.
  This gets more important the bigger projects are.
* Integration into existing workflows and tools may be useful.
* We should make Fable really, really easy to use and understand for
  all stakeholders.

We discussed the possibility of libraries, and agreed that this would
be useful.

New name for project
-----------------------------------------------------------------------------

Unfortunately we also found out that the name Fable is already in use
for another testing tool, so we will rename our project.

We gathered some suggestions and discussed the new name, and
tentatively landed on "Subplot". We haven't found a relevant naming
conflict with that, at least not yet.

We discussed the possibility of implementing both docgen and codegen
as Pandoc filters, but especially codegen would benefit from being
able to pinpoint errors in the source code (filename, line number,
column number). Pandoc filters can't do that. So we'll only implement
docgen as a Pandoc filter.

Big iteration goals
-----------------------------------------------------------------------------

We discussed goals for a "big iteration" until the end of the year.

Lars has the following goal: Write a docgen in Rust as a Pandoc
filter, which has sufficiently feature parity with the current
prototype to be able to replace it. The new docgen will need to
produce typeset scenarios (including finding matching steps in the
bindings), and support codeblocks with graphviz dot markup, like the
prototype docgen does. Lars will also set up a new website, git repos,
and CI to automatically build the website and Debian packages of the
software.

Daniel's goal is to assist Lars as Lars learns Rust, and write a
codegen that produces a test program in a language to be decided
later, but does it by using templates instead of hardcoding test
code.


Decisions
=============================================================================

* We will do test drive development
* We will review and merge each other's changes


Iteration plan
=============================================================================

Both
-----------------------------------------------------------------------------

1. Try to find conflicts for "subplot"
1. Agree on a new roadmap.
1. Discuss new, simpler syntax that can be used instead of regexps in
   bindings files.


Lars
-----------------------------------------------------------------------------

1. Set up new subdomain under liw.fi, git repo, with skeleton
   contents.
1. Set up a CI job to automatically update the site from git.
1. Set new website up to use the ikiwiki Pandoc plugin and the old
   (prototype) Fable Pandoc filter (to be replaced later with the
   Subplot docgen).
1. Prepare a propsed update for project roadmap.
1. Propose command line interfaces for docgen, codegen.



Daniel
-----------------------------------------------------------------------------

1. Decide on merge strategy: rebase+fast-forward, merge commit, or other.
1. Help Lars with Rust.