I have spent some time trying to figure out what it the best way to build a prototype. Ottomon is supposed to be a fully functional website and an App on both Android and iOS. However each of these require its own sets of environment to develop properly.
The Web App
It is a common mistake that many people make today building applications that are locked behind the Big Two walled garden (google play and itunes). However, there is still room to build something on the web. The web gives you a far larger audience then just the app markets.
An application that requires the internet to deliver its service needs to have a presence on the web. So before even thinking about building an app, one should consider building the web version first with all the proper API calls that will be later used by the native apps.
Ottomon is Web First.
App development environment
What environment or framework should be used to build Ottomon? Since it will run on both Android and iOS, it would make sense to have one code base that would build into either platform. But looking at the current solutions such as Xamarin, Ionic, or phonegap, each requires learning an new platform to get started.
There are two things that needs to be taken into account before making a decision. There are long term apps and short terms apps.
Short term apps.
Short term apps are usually one off apps that a developer would create quickly for the sole purpose of making money. For example, a flash light with an ad. A calculator with an ad. A QR code reader with an ad.
I've recently spoke with a developer whose motto is Ten Dollar a Day. What he does is build as many apps as possible and slap an ad on it and hope for it to make $10 a day. To maximize this means making development as easy and quick as possible. There is no time to manually create one in android and then recreate it on iOS. Here it makes sense to use the multi platform solutions.
Long term apps.
Long term apps are made to last much longer. They are not simple utility apps, but require as much power as the device can give. Being able to duplicate them quickly in other platform in a very short period of time is not a priority. Instead, the priority is to make sure the features work as advertised. Most of the time these apps have a more solid team working behind them.
Ottomon is falling under the long term because, first of all there is no way for it to get successful in the very short term. It requires a large amount of users in a particular geographical location before it can be of any use. So as it grows, so does development.
As of writing this, I am the main app developer and I have to keep an eye on the web development in parallel, as well as writing this blog post. I have done Android development in the past, and it is much easier for me to write code right away instead of going to read a manual like Xamarin to figure out how to build an app. So the first app that comes out will be for Android. It is not such a bad thing since android has much more users than iOS. But eventually, the iOS version will be written, and by eventually, I mean shortly after.
But before any of the apps are available, the website will be fully functional meaning both android and iOS users will be able to use the app.
Time to stop writing and continue coding.