Gaining Clarity Through Mobile Prototyping
Recently we received an inquiry that has become quite familiar. The gist was: "We already have a website that we like but now we need a mobile app." It's a request we're getting more and more as increasingly companies are correctly realising that they can't afford to put off going mobile any longer. When we get a request like this, however, we can't just rush in the first direction that sounds good. We first have to ask some crucial questions so we can help our customers arrive at a solution that meets their users where they really are.
We ask questions such as: Who are your users? What kind of content do they need to access on their mobile devices? What tasks will they want to perform? In what settings will they be accessing your application? And then of course we have to ask practical questions such as? How soon is it needed? How big is the development budget?
Beginning the discovery process
We sent the inquiring company a brief questionnaire to get the conversation going. A couple of days later we received an email that helped us explore alternatives to prepare for our first face-to-face meeting a week later. We were told their existing web site was built on a 3rd party content management system (CMS) so we set out to discover if there was a way to extract data from it easily. We were also told that the CMS they picked was responsive on mobile devices already. We quickly put it to the test and is was sort of working but clearly not the best user experience.
In some brief detective work, we discovered that their web site was built on Windows platforms and was based on ASP.NET. Not the end of the world for us but typically that does not bode well for consuming content as a service. We called up the CMS creators and in our conversation with them found out that indeed their system was closed, but the good news was that all of the content requested to be shown on mobile devices was available thru RSS feeds. We realized that with minimal effort using rss feeds to pull in content, we could build a prototype of the app the company was asking for before our first meeting.
Rapid prototyping with PhoneGap
In order to get something in the customer's hands quickly, we used a tool called PhoneGap along with jQuery Mobile to build a prototype app that met almost all of their initial requests. The beauty of the PhoneGap + jQuery Mobile solution is that it is based on HTML + CSS which meant our designers could flesh out a prototype without needing assistance from our developers. By the end of the day we had a working iPhone and iPad app that read from four of their existing RSS feeds and dynamically displayed the content.
Prototypes almost never get everything right the first time. We take the risk of unveiling a prototype that in it's first incarnations disappoints the customer or users. There is also an opposite danger of the customer seeing a working prototype and wanting to prematurely declare the development process complete instead of going on to iterate, test and learn. On the other hand, there is great reward in having something tangible to work from if both parties are willing to throw it away if it proves to be the wrong solution.
The lessons learned from prototyping can be surprising
In this customer's case, the prototype we delivered in a couple of days' time did what they asked for and they were able to spark conversation internally by loading it on their own personal devices and interacting with it together. After seeing their initial idea in action on real devices, however, there arose a consensus between us that we needed to spend more time considering the unique needs and behaviors of their mobile users. We then presented options for performing user research experiments aimed at finding out what their users' needs really are before proceeding with more development.
In the end it is all about being Agile in thinking and practice and establishing that constructive feedback loop as soon as possible. We want to help our customers get to their goal as a journey together so we can discover and deliver an application perfectly suited to their users. We helped this customer save a lot of time and money by giving them an opportunity to pause and think before developing their first idea.