March 22, 2012
I posted earlier on Bret Victor’s Magic Ink. Now I’ve finished reading this quite lengthy paper. In the second half Victor goes into more detail on how information applications – which includes most financial apps – should be implemented. Info apps need to learn from the history of user behaviour: Victor uses the example of his own implementation in the BART scheduler app for this. He points out that decades of research have been done on machine learning, but we still don’t have neatly packaged abstractions around the results of that research that would make it usable for Joe Average app developer. This shouldn’t be the case, as we have nice usuable abstractions for all sorts of other areas of comp sci research: file systems, sort algorithms, GUIs etc.
The other major pillar of info apps in the Victor scheme is context sensitivity. He makes a compelling case for achieving this via a dynamically bound component model that sounds similar to that advocated by Brad Cox 20 years ago. Plus ca change !
Finally, Victor discusses the kind of device that info apps should run on. It reads like he’s describing the iPad. Bear in mind that the iPad launched in 2010, and Victor wrote Magic Ink in 2006. So he was remarkably prescient.
March 20, 2012
So I’m reading Turing’s Cathedral, and hve greatly enjoyed the first couple of chapters. The Guardian’s review prompted me to get a copy. There is a mixture of history and technical theory in theis book, as Spufford pointed out in his review. Dyson is drawing out the connections between the bomb project and early computing development too, which is fascinating. I’m sure I’ll be struck by parallels with the development of financial pricing models as I read. In chapter one Dyson decribes how MANIAC’s memory was built out of 40 cathode ray tubes, each of which could store 1024 bits, giving 40K bits of addressable storage. He then comments: “Since a 10 bit order code, combined with 10 bits specifying a memory address, returned a string of 40 bits, the result was a chain reaction analogous to the two-for-one fission of neutrons within the core of an atomic bomb. All hell broke loose as a result. Random-access memory gave the world of machines access to the powers of numbers – and gave the world of numbers access to the powers of machines.”
Fundamentally, Dyson is describing a mechanism for indirection. As I read his desription I was struck by the parallel with Godel numbering, and how it allows mathematical statements to be turned into numbers, which can then be quantified over by further statements. That opens up the possibility of a self referential statement, which enables Godel to prove the incompleteness theorem.
March 1, 2012
Thanks to reddit I’ve just discovered Bret Victor. I watched the Invention video, and enjoyed the whole theme on tightening the feedback loop between changing code and seeing results. The later part on moral crusading was interesting if not entirely convincing. So I checked out the web site, and am reading Magic Ink. Wow ! This is a full blown vision of doing software differently. Back in the 90s I got really excited by, in turn, Brad Cox’s vision, Patterns, and Open Source. About 10 years ago I discovered dynamically typed languages with Python and Smalltalk. And that’s the last time I had a real rush of excitement about some new approach in software. Sure, I’ve dabbled in functional languages like F#, and played with various OSS projects. But for the most part my attention has been on the trading topics that fascinate me, like electronic limit order books.
So what’s Magic Ink about ? Victor divides software into three categories: information, manipulation and communication software. He focuses on information software, which is most apps really. And that includes most financial and trading apps. And then he proceeds to argue that there’s too much interactivity, and that interaction is bad. The way forward is context sensitivity combined with history and graphic design. Counterintuitive, and utterly convincing. A joy to read !
I can’t help wondering what the UX crew over at Caplin think of this ? I haven’t seen them blogging on it. Victor’s views have radical implications for how etrading apps should work. I’d expect Sean Park to be pushing this angle with his portfolio companies too…