Friday, October 10, 2008

Drag, Drop and Develop

The proliferation of open source software and widgets has made it very easy for the assorted non-IT folk to whip up their side of the desk applications after having struggled in vain to get time (money) and attention from their IT departments. It does not help that high-end COTS tools are so hellishly expensive that snagging a license from the corporate pool requires a business case, series of approvals and cutting through untold reams of red tape. It is not as if the average business user is chomping at the bit to indulge in a spot of geekery alongside their day job. More often than not, they are pushed to the edge of despair and desperation when they decide to take matters into their own hands. 

Used to be that beating IT at the own game was easier said than done but increasingly that is not true. With RAD and Drag and Drop tools, the barrier to entry into the world of the programming geek has dropped sharply. It can be argued that the code a tool would produce would be vastly inferior in quality (and maintainability) to what an experienced programmer could write - at least given the state of current technology.

When I first evaluated a BPM tool for a client about six years ago, my sense was that technology would mature enough at some point to make most routine programming skills redundant - a view I am glad to see is shared by some. How long it would take to achieve that state of nirvana in which someone in the business by sketching out a workflow and clicking a few buttons can have an application that realizes that workflow with real data and user interactions is hard to tell but it is definitely not impossible. 

Just like stereolithography makes it possible for anyone with an AutoCAD drawing to bring their concept of design to life and not need to take it to a factory have a prototype manufactured for them, likewise BPM in concert with RAD and D&D tools can empower the average business user who does not have the time or the money to invest in a large IT operation. 

Paralleling the example from the manufacturing industry, the non-IT user can run a proof of concept with these tools and when the solution needs implementing on a large scale they can engage the services of an IT shop. Programmers obviously have quite a different perspective on these tools and the promise they hold. This article on the future of programming and innovation discusses the impressive list of things one can do visually in the future - each of them has been a core programming discipline in the past. Patricia Seybold writes :

At NIWeek, the R&D team offered a sneak peak into the future of LabView as a system diagram cum graphical programming environment. They are adding multiple layers of abstraction, the ability to monitor and simulate process flows, the ability to see interrelationships among system components that are interacting with one another, and much, much more. One way to think of LabView in the future is as a design and simulation tool. You’ll be able to design complex systems, model and simulate complex systems, monitor and test actual physical systems, and make adjustments to them based on your real-time measurements and simulations.

And, best of all, our kids and grandkids—at least those who have had experience using LabView in the form of LEGO Mindstorms NXT or in the classroom, will already know how to design and model their worlds!

No comments: