Tuesday, July 2, 2013

Developing apps, making the right choice

A while ago, being a developper meant that you would develop softwares for Microsoft Windows OS or you would build websites. Of course, there would be those jobs requiring knowledge about Unix or OSX, but overall, the choice was pretty limited.

All you had to deal with was learning SQL, C#/C++/Java, HTML/Javascript and a few scripting language and you were good to go. The choice was a technological one, guessing what the industry would require you to fully master.

The game has changed in the last few years. It's no more a technological guess that you are required to do but "religious" one. Will you concentrate on Apple, Google, Microsoft or Blackberry products?

You will have to lean Objective C, acquire some Apple hardwares and an annual developper licence from Apple. When you app is ready, you'll have to wait on approval before being part of the great AppStore family. The issue is that you have to manage the fact that your app may be rejected a few times before "hitting-the-shelves". The initial investment may cost you up to 2000$ to be properly setup. For a 0.99$ selling app, your new business will start with a financial strike.

A bit more cost effective on the initial setup, you may have to spend 200$ to acquired at least a decent Android device. No need for an annual developper licence here. You surely already have a PC. To go the really cheap road, you can rely on emulators but we all know that a read device is still mandatory for testing and debugging. Java is the language to learn, but you still need to acquire knowledge about the Android SDK and it's specific way to create user interfaces. Not a big deal but you won't just fire up Netbeans and do some drag'n drop like we can do for Swing apps.

Even if there are many tools available, like for other brands, the mandatory tool is Visual Studio. For some serious business, it means shelling out more than 700$ in licences to be able to use their flagship tools. Add another 500$ for a physical device to test your new app, and you're good to go. As with Apple, your initial investment starts with a financial strike. That's assuming that you already have a good PC at home running Windows 7, of course...

As for Google, the tools are free to use and download. They run on Windows, OSX and Linux making it s bit easier to start. You have the choice to use Java, C or Flash/HTML5 to create native apps. Emulators are available but still, a real device is mandatory and that means shelling out a few hundred bucks depending on ... Wait... You need a Z10 or a Q10 as these are the only devices that supports BB10. Initial investment should be 100$ with a 3 years contract (Canada). But we all know that Blackberry is a bit risky these days...

What about softwares for the PC, like we use to do in the old days? The shareware business model is almost dead. Either you create solutions for specific businesses or you create some amazing PC games. The average user is spending mostly on mobile devices stuff. The home computer is no more than an accessory to support your smartphone. There is still good business to do in that niche, but the future lies in mobility.

Another way of doing some business still shows promises: webapps. It's cheap to start, easy to develop and requires you to learn an already known technology: HTML5. The initial financial investment may be near to 0$ depending on the hosting plan that you get. With HTML5, a database and some creative mind, you may have a starting point that won't cost you much and let you reach all platforms, all devices.

Overall, you can't learn everything and you'll have to make a choice. Creating a software and making some money out of it will require more than technological knowledge. You'll have to target your audience, have a good marketing strategy and a really good design. The ugly-app-that-works era is no more...

And you, how did you made your choice?