WebLog!
Doing Windows, Filling Pockets And Reading Palms, Making Software That Works!
For Health, Home And Office

775.346.8185  •  skype: FutureWareSCG

Old Software Approaches Are New Again

Rich Internet Applications, aka RIAs, are encountering some interesting problems that seem new to a lot of developers. Like many other things, these are really old problems that were solved a long time ago.

One of the WWW’s nice features is that its page driven functionality eliminates the need to maintain state. This is now a bad feature now that RIAs have to figure out how to do this. The old and sometimes maligned CRUD (Create Read Update Delete) solved this problem, and had a lot of side benefits, that are having to be reinvented, sometimes painfully. Eliminating the page orientation to a more fluid and responsive presentation is more challenging now, given the asynchronous nature of the RIA engines, whether Flash/Flex or Silverlight, as well as the gaggle of AJAX implementations.

One of CRUD’s benefits was the predictability of control positions and organizations. Indeed, this was one of the requirements of Windows’ certifications, intended to reduce training time and costs and flatten user learning curves, when using software products from a growing constellation of companies. The premise was very simple: The techniques for using one Windows based product, say Word, could be similarly applied when learning another Windows product, say Excel or Quicken or Tablemaker. That predictability has pretty much disappeared now, with each product amazingly skinned to expertly hide its functionality.

CRUD also helped insure that a user couldn’t get ahead of whatever workflow that a program embodied, guarding against potential data loss and confusion on what to do next. Many bad examples of this abound in the WWW, with Google mail being the one we notice most often: Clinking a control (say, Delete) gives no visual feedback and can appear as if the program (the browser in this case) has locked up.

At this writing, anyone that wants to do 3D in a reasonable time and at reasonable costs has to use Flash/Flex, which really means ActionScript 3. While not a fully featured programming language like C#, Delphi or Java, AS3 takes advantage of asynchronous programming behavior. This is great for pipelined graphic rendering and the like, but also makes traditional linear programming something of a challenge, with results being delayed and outside of the blocking invoking process or function.

CRUD was incorporated easily in the Windows environment, once the wrinkles were figured out. It is hard to imagine the heated arguments on how CRUD should be implemented, if at all. The primary examples were Excel, where everything is ‘hot’ where saves and workflow are automatic and implicit, and Word where explicit operations have to be selected to move on in the respective workflow. The choices, dependent on specific types of applications, were variously incorporated into frameworks of various kinds, automatically rolled in and even dynamically configured as part of the development process.

Which, as it turns out, is another RIA soft spot as it advances to larger systems and application implementations. By and large, the predictable and standardized background of the earlier designs have been replaced by multiple technologies that themselves are quickly changing and ever moving targets. The RIA toolsets still rely more on hand coding than real graphical programming, much less Lego-like configurations on the fly. In time, these will come, but getting there will be challenging.

One approach to this is being taken by Mike Merchant at MCW Software. More than a work in progress, his VARA framework for Flex has some history and is being used every day by his company. He’s opened it up for others to contribute to the solution.

© Copyright 2009 Chuck Brooks for FutureWare SCG

A Word From Our Sponser

Clean Up Source Content With FutureWare FormatStripper Makes Layout Design Faster FutureWare FormatStripper Before Importing It Into Your Layout Tool

Tags: , , , , , ,

Leave a Reply