Beyond Mobile, Part 2: Thriving in the Shattered Future

This article was originally published by InformIT and can be viewed on their site. It is reproduced here with kind permission.

Part 1 of this series examined the explosion of mobile and embedded devices that characterize our future, explored the challenges posed by these changes, and considered a methodology for reliable innovation in this environment and the technology enablers required to support that approach. In part 2, we look at what types of strategies are likely to be effective in this new world.

Visionary Strategies

Once you have a reliable methodology in place for fostering innovation and engaging the market, supported by the technology enablers mentioned in part 1, you are finally ready to start growing and developing visionary strategies to help you capitalize on the emerging world of ambient computing.

The big question becomes, “What should our vision and strategy be?” Unfortunately, there’s no stock answer I can prescribe (though I’ll be happy to help you figure it out), but I do have some pointers toward directions you should be considering.

The growing ubiquity of computing and omnipresent interfaces points to opportunities such as “any customer, anywhere,” and the explosion of profiling data opens up services based on the idea that “we know what you’re about to think.” The key is not what your exact vision is, but how you validate it and course-correct based on that feedback. This in itself is the strategy of rapid product evolution for which part 1 of this article attempted to lay out the foundations.

Continue reading “Beyond Mobile, Part 2: Thriving in the Shattered Future”

Beyond Mobile, Part 1: Surviving the Shattered Future

This article was originally published by InformIT and can be viewed on their site. It is reproduced here with kind permission.

The world is changing, and we all need to prepare for it. The proliferation of mobile devices we are witnessing right now, and the associated challenges related to creating applications that work across those devices, are just the thin end of the wedge of what the future holds. Cisco predicts that by 2020 each of us will own an average of 6.58 connected devices. People are interacting with organizations and services with an ever more diverse set of technologies, they are doing this in a growing number of contexts, and the data being created is growing exponentially. In two-part series, we’ll look at strategies for not just surviving (part 1), but thriving in and capitalizing on the opportunities provided by our hyper-connected future (part 2).

A Shattered Future

If we look closely at the technology trends, of which mobile is just one part, it becomes clear that we are witnessing a shattering of input and output mechanisms. In the past, interactions with computers have been through fairly narrow channels. The vast majority of inputs have historically been via keyboard, and outputs were predominantly through a single fixed screen. That simple past and the strategies we developed to operate in that world are no longer useful guides to the future. We are witnessing an explosion of channels for interacting with computers. Those channels are no longer tightly coupled to each other, and even the concept of “a computer” is being blown away.

Continue reading “Beyond Mobile, Part 1: Surviving the Shattered Future”

Design can change the world

My new favorite t-shirt says “design can change the world”. I got it from a cool little not-for-profit whose cunning designs have a disproportionate impact in solving problems in developing countries.

Their current flagship project, the hippo roller, though not much more than a tough plastic barrel and pulling handle, is beginning to have an immense impact on the role of women in developing societies.

Continue reading “Design can change the world”

The first bite is with the eye

I think I first heard the phrase “the first bite is with the eye” from a TV chef, but it applies equally to the software creation process as it does to cookery.

A user’s interaction with a piece of software or web site is as much emotional as it is functional. Compare the soft, warm, fuzzy feeling you get when first interacting with a product from 37 Signals, say, to the stomach churning reaction you get when booting up Lotus Notes, for example.

This immediate emotional response will pervade the whole of a user’s long-term impression of a product, imbuing their relationship with whatever feeling was conjured up in those preliminary interactions. They say that in most job interviews the interviewer makes up their mind within the first 5 minutes. The same is equally true for software.

Continue reading “The first bite is with the eye”

Build Transformation across an Organization

My most recent project was helping a major online retailer to mature their build process as part of a wider effort to improve their IT effectiveness through the injection of development best practices.

When we came onboard manual intervention was needed for any of their builds or deployments to work and so it was rare for more than a couple of builds or deployments to be completed successfully in a day. Now we often have up to 1,000 builds running every day – what’s more the majority of them now pass!

This article looks at a few of the techniques we’ve had to put in place to enable this transformation and what we’ve learnt along the way.

Continue reading “Build Transformation across an Organization”

Blocks of Code

Coding really is become child’s play. This recent BBC news article points to some of the ways kids are being introduced to programming.

The good people at MIT have put together scratch a visual tool allowing kids to do drag-n-drop coding. The help screens give a good idea of how it works. Basically differently shaped blocks are put together (lego style) to form programs: a loop looks like a capital C and holds all the nested statements; booleans are pointy ended and only fit in pointy slots – likewise numbers are round and only fit in round slots … a nice simple introduction to strongly-typed languages. It actually fits pretty closely with how I visualise blocks of code, so it looks like a great way to introduce children to the coding mind-set. The welcoming colourful blocks are non-threatening and simple to understand.

Continue reading “Blocks of Code”

Show don’t tell: Consulting with GraphViz

I’ve often found that it’s much more effective to show clients what their problems are, rather than just telling them. Recently I’ve ended up using GraphViz as a great tool for high-lighting complexity that needs to be addressed.

At the client I’m currently working for the complexity of the build scripts was getting out of hand. I wanted to goad the customer into prioritising some simplification work. So I turned to GraphViz to depict how complex the build was. The build we’re using is a large, centralised, Ant script that builds about 10 different applications. It manages everything through the process of compile, test, package and deploy.

I found the handy ant2dot.xsl tool that uses XSL to transform an Ant build file into a DOT format graph representing the flow and dependencies between the various build targets.

Continue reading “Show don’t tell: Consulting with GraphViz”