Skip directly to content

Interesting Insights from the MassTLC’s Software Development Summit

on Wed, 12/21/2011 - 15:49

I had the pleasure of being on a panel at last Friday’s Software Development Summit and also hearing the other talks and panels at the summit. The two keynote speakers, David Skok and Bill O'Donnell, gave interesting talks about the impact of recent technology trends on software development and on development for mobile platforms respectively. However, I found the contrast between the two talks to be the most interesting part. When David Skok described the implications of cloud computing on software delivery, some of his points included the fact that you can have fast development cycles, have everyone on the same version, find and resolve problems in the field quickly and generally avoid the problems related to distributing software. But then that was immediately followed by Bill O’Donnell, who made almost the exact opposite points for the mobile space. HTML 5 based solutions for mobile just can’t be as good as native applications (at least right now) and there are no really good cross-platform development platforms for mobile apps (and there never will be). This means that mobile application development has slow cycle times, especially with the app store review cycle in the loop; requires building multiple variations; requires keeping track of multiple outstanding versions; and generally saddles the developer with all of the pains of maintaining and distributing software versions.

The panel I was on was moderated by Michael Skok and went into more detail on the implications of the cloud for application development. It was a lively discussion and we got a lot of good questions from the audience, so it was an enjoyable panel to be a part of. One of the panelists was Andrew Phillps from the JClouds open source project. I was not previously aware of that project and it was interesting to hear of an open-source attempt to create an abstraction layer that would allow you to easily move applications between cloud providers. It sounds like it is a tricky problem, since the least-common-denominator between various providers is fairly small, but I could imagine it growing to the point where that abstraction could provide a lot of value.

Normally I don’t spend most of my time thinking about cloud computing down at the infrastructure-as-a-service level. I’m more interested in platform-as-a-service, and more specifically, in the ability to create platforms that are more specialized and much simpler than traditional programming platforms. The power of AJAX approaches on the client and back-end systems that can be integrated through their WS or REST APIs makes it possible to easily combine components from different platforms into a development experience that is simple enough to allow non-developers to do work that previously had to be done by developers. This is our approach with Cloud Extend, which can be used to extend existing cloud applications such as SalesForce. So for me, the most important implications of cloud computing on software development is about who can do the development.

 

Post new comment

Addthis