the future of mobile software engineering

October 31, 2010

Last week I participated in a Workshop on Mobile Software Engineering as part of the MobiCASE conference. I had agreed to be an organizer last summer upon the request Martin Griss. I was intrigued by the topic, but didn’t have a clear vision of what might come of the workshop. I applaud Martin’s facilitating an engaging discussion.

What is different about mobile? and what does it mean for software engineering in general and education specifically?

I appreciated Tony Wasserman proposing his list of what was unique to mobile. After a lively discussion, there seemed agreement that mobile had just a few unique aspects, but the rest were significant due to the degree of constraint or opportunity offered by mobile platforms. Aspects below are quoted from the Wasserman paper which summarizes results from his survey of mobile developers, with additional comments from me and the addition of privacy, personal and “always on” which were raised at the workshop.

Unique aspects:

Significant Aspects:

So, mobile is different, but what does that mean for software engineering?

I enjoyed Martin’s analogy to the advent of object-oriented software development which was necessitated by the complexities of applications with a graphic user interface. The preceding work in command line programs just did not need that level of abstraction; however, once invented, object-oriented programming patterns are effectively used for every type of programming challenge. Perhaps the constraints of mobile development will offer similar innovation. I think we are seeing a glimpse of that with web development patterns being applied to mobile user interface development with native mobile apps using HTML, CSS and the web pattern of model-view-controllers with screens addressed by internal URLs. I wonder if there are other emerging patterns as well.

At the end of the workshop, I voiced the opinion that while the conversation was interesting, there was no urgent question raised. Upon reflection, I have changed my mind. There is an urgent need for research into how to take advantage of emergent capabilities which will not be mainstream for many years. While industry implements obvious ideas taking advantage of now prevalent infrastructure and popular devices, many challenges and opportunities are ignored. Just as Doug Engelbart’s Augment system and Ivan Sutherland’s Sketchpad leveraged what was then enormous compute power to lay the foundation for what became ubiquitous patterns in modern desktop GUI, there is an opportunity for universities and research labs to create applications and patterns of user experience and software component design that could revolutionize how people use mobile devices in ten or twenty years.