Tuesday, December 27, 2011

Why Code

On the Interaction Design Association's LinkedIn Group (IXDA), a member posted this query "Do Designers need to be able to code?". Some very good points have been raised and debated on how knowledge of HTML, CSS, even XAML, etc. can help designers understand how their designs are being translated into production, and how it helps improve designer-developer communication. The counter argument is that a designer brings in multiple perspectives (read generalist) and hence should not get bogged down in code level details, instead remain focused on overall design of user experience.

Without taking sides, my view is that there is a larger question here - "Why code at all".

Why code is not restricted to designers alone. In the world of desktop apps, for every formal, business application, there are a large number of informal Excel spreadsheet based applications out there. There is some level of code in there too, put in place by analysts and others. There was Coghead, A company with the grand vision to create drag-drop building of entire applications with databases for "tech savvy businesses" (mostly SMB). To quote from its Crunchbase profile "Coghead is a WYSIWYG database driven application service aimed at enabling non-developers to solve problems traditionally requiring programming knowledge"

We are entering a paradigm where Code is likely to get pushed deeper below the hood simultaneously with the rise of a 'tech savvy' non-developer lot who use powerful browser based, drag drop convenience to cobble together apps - the UI, the server side backend using easy API calls. Why Code is a pertinent question for these consumers.

At the same time, this is not a magic solution for everything, but may apply to a narrow class of applications that are mostly stand alone, with limited integration to multiple systems. Yet it could provide a replacement for many of those local spreadsheet based apps that are used to save and organize data locally. If you have an idea for such creative uses of browser based online app building, do share your comments.

So today HTML, CSS, JavaScript, etc. may appeal for the ability to craft,  but tomorrow these may be replaced by need to know what APIs are available and how to use them. With a proliferation of great tools for non-developers, the argument Why code is not so much about replacing the need to master yet another skill or art, but to use the limited time available to focus on what needs building - the user experience, better visualization of all that data one is collecting, etc. With the advent of PaaS (platform as a service) players such as Microsoft Azure, Google App Engine, Salesforce's Force.com, etc. more tools that allow 'tech savvy', non-developers to play with APIs to make server side calls, etc. may become more convenient and easier. To create their own personal Apps. I welcome views and comments on what that future could be.

No comments:

Post a Comment