A friend of mine - who qualifies as a Domain Expert - was talking to me about getting some development skills so that he could implement his ideas. My first thought was along the lines of "don't do that! there are enough devs to do the implementation, if only you can tell them what to build!"
This is not meant to be a metaphor, but the same applies when it comes to mobile development. You shouldn't need to learn about every mobile platform to deliver your application.
Admittedly, there are some applications that are low-level wizardry that need to be implemented natively on a mobile device, at which point you have to make some hard decisions on which ones, etc. There are also a lot of applications that are primarily channels to the customer - a way to reach the mobile customer at their convenience. This usually has nothing to do with the type of smartphone they happen to own.
That's what cross-platform development is all about. You take the essence of the solution away from the technology - separate the "what" from the "how". If you have a clear understanding that what you need to deliver to the customer is a user experience that makes their lives better, then that forms the basis of the solution definition, the design, & the QA/UAT.
There are admittedly some applications that are almost wholly within the realm of the device - like many games - but most of the useful apps connect the mobile user with the rest of the world. The price of broadband is coming down, so this connectedness is becoming more important. The increasing use of cloud data & services shows this.
The mobile experience is about getting access to the user's stuff in the easiest way possible, without having to carry it with them.
If we accept this, then the device-specific implementation becomes a matter of tweaking that experience to take advantage of hardware or platform capabilities - such as built-in voice recognition or text-to-speech, which might not be available on all platforms. Aside from this kind of feature, the capabilities of smartphones differ usually in the way of degrees - screen size, resolution, etc.
The approach to developing a channel to your mobile customer should be multi-tier - the UX (which includes any business logic), the device-specific tweaks, & the connection to services. The more of the UX that you can deliver independent of platform, the better.
Even if you simply use a cross-platform solution to prototype "this is how the user story must work", then you're well ahead of trying to mock up prototypes for every platform you want to target.
Getting back to my friend - as a domain expert, his talents are best applied to describing what the system does - the user stories - because that's how he can determine if the end product is what he expected (not by developing the solution himself).
In the general sense of developing solutions for mobile users, the domain expertise is still in the user story - the art of making lives easier. If you know how to do that, then you can ensure that your product is as useful as you had hoped, regardless of the platform you're delivering to.
No comments:
Post a Comment