Over the last few months, I've been looking at a number of development tools that purport to improve developer productivity. I'll eventually review them all in one massive roundup -- at least that's the plan.
Meanwhile, I'd like to report on a conversation I had a few days ago with Alan Fisher, chairman and co-founder of Iron Speed.
[ Martin Heller also offers a preview of Visual Studio 2010 Beta 1, as well as further highlights of Microsoft's IDE | Keep up with app dev issues and trends with InfoWorld's Fatal Exception and Strategic Developer blogs. ]
IW: Alan, why did you create Iron Speed Designer?
AF: The basic idea is that data-driven applications are similar, but different. By looking at the database schema, we can automate the generation of the parts that are similar.
If you look at the way we do application development, it hasn't changed much since the 1980s; we're still writing one line of code at a time. We may write that line faster and better since our tools have improved a great deal, but we're still plodding along one line at a time.
After the experience of building Onsale, my partners and I realized that we had a code base of a million lines of code, but that only 20,000 lines of code (2 percent of the code base) were special in any way. The bulk of the application was moving data in and out of forms and databases and into and out of other systems. So if we could automate the generation of the bulk of the code, the 90-plus percent that's essentially the same from application to application, we'd realize a huge jump in programmer productivity and leave time for the programmers to work on the code that's actually unique.
We focused on Web applications, basically departmental applications that were being moved from Access or Excel to the Web. These have a lot of commonality, because they're structurally similar. They all have the same CRUD operations, and reporting, and maintenance, and workflow. What we did with Designer was to automate the common bits, the data entry and import and so on.
An additional benefit of this comes when companies use the tool for all their custom business processes. Suddenly, all the applications have the same look and feel, not just the same colors but also the same controls and placements. That helps the users to learn and use the applications.