The #ThinkMobile event was a huge success! Thank you to all in attendance. A special thank you goes out to Technologists of Color for the opportunity to present.
Quick Review
As a review, I wanted to list some of the take-aways from this presentation.
The Platform Myth
There is no one "best" platform. Rather, what you need to look for here are the platforms that best meet your needs. The reccomendation is to find out which platforms are used by your target audience and do a cost-based analysis for each group.
As an example, a couple of years ago, a client requested a cross-platform app that would run on both Android and iOS. Upon completion, they wanted some advice on adding BlackBerry to the list of supported platforms. After taking a closer look at the users they were targeting, we came to realize that less than 3% were active BlackBerry users. Waying this against the cost of supporting the additional platform drove them to decide to allocate their funds elsewhere.
The Native vs Hybrid Debate
As with selecting a platform, you pick what's best for your situation here. If you absoluetly must support the widest range of platforms, a hybrid app may be the best choice. However, you'll need to carefully consider whether you will need lots of features that are best served by a native approach.
Don't be afraid to consider a mix here. By that I mean, it's ok to go with a native or near native solution for the platforms that are used by the vast majority of your users. You would then follow that up with a hybrid (or mobile web) solution that provides reduced functionality for the other platforms. You would be increasing your development and support costs with this approach, but it could pan out to be worth it for certain situations.
Get more details on the 5 mobile solution options in this post.
Build Something and Be Agile
The main thing to keep in mind here is that at some point, you need to start building your solution. You are free to choose your development methodology, but agile offers one very important advantage: the ability to make rapid and frequent course corrections.
So, start building something now and stay flexible. You won't be able to reuse your code if you have to move from one language to the next (moving from Javascript to Objective-C for example), but there are lots of design concepts and server code that should cross the technology bounderies.