Like the blockbuster movie producer or director who works behind the scenes but whose celebrity is often confined to Hollywood insiders, Dr. Charles Simonyi is a giant among giants here at PC Forum in Scottsdale, Ariz. If you strike up a conversation with the easily approachable, mild-mannered, Hungarian-born software legend and passers-by such as Jeff Bezos (founder of Amazon.com) or Tim O'Reilly detect that Simonyi is even slightly engaged, they'll stop and tune-in.
After leaving Xerox PARC, Simonyi joined Microsoft in 1981 and fathered two of the three biggest franchises in Microsoft's history -- Word and Excel.
After a storied 21-year tenure with the Redmond, Wash.-based company, Simonyi is looking for a three-peat. But this time, it's not with Microsoft. Instead, he has struck out on his own and, with the two-year-old company Intentional Software still operating in stealth mode, he is looking to strip time, cost, and inefficiency out of the laborious collaboration that often takes place between requirement setters (subject matter experts) and the software programmers that do their bidding. If Intentional makes good on that promise, it will be a rare success in the black-art of turning mortal non-programmers into software engineers without ever having to lift one line of code.
One key to Intentional's potential might be in Simonyi's belief that the Holy Grail of writing software without programmers is an impossible dream. As the old axiom goes, perfect is the enemy of good enough. In the case of programming for mortals, good enough means keeping the programmers and making the relationships they have with those they're coding for significantly more productive.
Simonyi could be onto something. In Intentional's world, instead of sitting down with subject matter experts, taking notes and going back to their integrated development environments to hustle code, the programmers and the requirement setters establish a mutual understanding over lexicon and context. The lexicon could involve the types of actors in an application such as nurses, doctors, patients, handhelds, digital MRI equipment, databases, etc. The context could be a healthcare environment such as a hospital or mobile military triage unit. Then, the programmers develop templates that are specific to those contexts and lexicons in which the subject matter experts can easily define the actors and their context-specific behavior. How should the actors should respond to certain scenarios? (For example, what happens when a gunshot victim arrives in the emergency room?)
I caught up with Simonyi during one of the breaks at PC Forum to get an inside look at why he thinks Intentional will succeed where others have failed at skinning the programming-for-mortals cat. The interview is available as both an MP3 download and as a podcast that you can have downloaded to your system and/or MP3 player automatically (see ZDNet's podcasts: How to tune in). If there's one quote from the interview that cuts to the chase of the problem that Intentional is looking to solve, this might be it:
It is a verbal conversation and the problem with a verbal conversation is that it is not recorded in a machine-readable form. So that means that it's not subject to machine processing. It need not be an oral conversation. It could be the writing and reading of specs, the presentation of PowerPoint slides, telephone discussions, written notes, and any communication of that sort.... none of these forms of conversation are machine readable or machine processable. So, by making it machine processable, we can ask the programmers that, instead of following the specifications, we can ask them to write a generator -- a program -- that reads the specification and generates the program that they would have written otherwise.