I was interested in hearing what had informed the design of his Ivy system, especially the combination of a rich HTML based GUI and a DSL edited in the browser.
This post is a overview of what I consider the key take aways from the chat and some of my subsequent reflections.
Combining well known metaphors like a spreadsheet and boosting learnability example based queries with a DSL has been a very useful approach.
Supporting power users is a challenge but doable in a mordern web app.
1) Firstly the app has to be designed to support that user type expects, like short cuts etc. Ivy is not just a editable field for code, but a complete IDE including debugger etc.
2) Secondly if you include a DSL don’t do it to boost your ego but because it provides actual leverage. Also don’t forget that putting a DSL out there which power users are going to trly on require that you can support it. This means that you have the physical resoources available for the long run.
- Building a web app offers the possibility of offloading computationally demanding operations to the backend, for instance generation of SVG graphs.
Full Disclosure: I am receiving a free GOTO ticket from the producers in exchange for blogging about the conference.