Showing posts with label development team. Show all posts
Showing posts with label development team. Show all posts

Tuesday, August 13, 2013

Android OS Vs. Apple iOS – Which is better for developers?

With the number of smartphone users increasing each day, there is an equal increase in the number of app developers for the same. Though developers have a whole lot of mobile platforms to choose from, they would most probably select one of the two most sought-after mobile OS’ today, Apple's iOS and Google’s Android. So, which of these is better for developers and why? Here is a detailed comparison between the Apple iOS and the Android OS for developers.

Programming Language Used

The Android OS uses mainly Java, which is the common programming language used by developers. Hence, developing Android gets that much easier for most developers.

The iPhone OS uses Apple’s Objective-C language, which can mostly be unravelled by app developers who are already familiar with C and C++. This being more exclusive, may become a stumbling block for developers who are not too proficient in other programming languages.

Developing Multi-Platform Apps

Developing multi-platform apps seems to be the “in” thing today. Of course, you cannot run Java-based apps on the iPhone or Objective-C-based apps on Android devices.
There are tools for multi-platform app development today. But they may not be effective when it comes to actually displaying the original information on another mobile OS. Mobile game developers especially find cross-platforming a huge challenge.

Hence, the only viable, long-term solution here would be to rewrite your app in the device’s own native language.

App Development Platform

Android offers developers an open development platforms and allows them the liberty to use third-party tools for app development. This helps them play around with many features of their app, adding more functionality to them. This is vital to the success of this platform, which comes with an impressive range of mobile devices.

Apple, on the other hand, is pretty restrictive with their developer guidelines. The developer here is given a fixed set of tools to develop apps and cannot use anything outside of those. This would eventually curb his creative skills to a large extent.

Multitasking Abilities

The Android OS is very versatile and can help developers create dynamic apps for multiple purposes. But this very multitasking ability of the Android OS very often creates problems for the amateur Android developer, since it takes a lot of time to learn, understand and master. This, combined with Android’s highly fragmented platform, poses a real challenge to the Android developer.

In contrast, Apple presents a more stable, exclusive platform for app developers, clearly specifying tools, defining both their potential and boundaries. This makes it much easier for the iOS developer to proceed with the task ahead of him.

Mobile App Testing

Android offers an excellent testing environment for its developers. All the testing tools available are neatly indexed and the IDE offers a good model of the source code. This lets developers test their app thoroughly and debug wherever required, before presenting it to the Android Market.

Apple’s Xcode lags far behind Android’s standards here and has miles to go before it can even hope to catch up with the latter.

App Approval

The Apple App Store takes 3-4 weeks for app approval. They are also finicky and place many restrictions on the app developer. Of course, this factor has not deterred the several hundreds of developers approaching the App Store every month. Though Apple also offers an open API using which developers can host the app on their site, this is not very effective, as the app cannot get even a fraction of that exposure outside the App Store.

The Android Market, on the other hand, presents no such stiff resistance to the developer. This makes it very convenient for the Android developer.

Payment Procedure

iOS developers can earn 70% of the revenue generated from the sales of their app in the Apple App Store. But they have to pay an annual fee of $99 to gain access to the iPhone SDK.
Android developers, on the other hand, only need to pay a one-time registration fee of $25 and can earn 70% of revenue of the sales of their app in the Android Market. They can also feature the same app in other app marketplaces too, if they so wish.

Conclusion

In conclusion, both the Andriod OS and the Apple iOS have their own pluses and minuses. Both are equally strong contenders and are bound to rule the app marketplace with their own strengths and positives.



How do I sell my iPhone App via the App Store?




An overview of the process of getting an iPhone App into the App Store


Having seen the success of some developers in selling Apps for the iPhone, and with the iPad now out, there must be many developers thinking "Why not Me?". Notable early successes include Trism in 2008, where developer Steve Demeter created the puzzle game as a side project and made $250,000 (net of Apple's cut) within a couple of months.
Last year saw FireMint's Flight Control hold the #1 spot for several weeks and it sold over 700,000. The link above leads to a 16 page PDF where they published their sales figures. They're hoping to repeat the success now with an upgraded HD version for the iPad.

Billion $ Business

There are well over 100,000 registered iPhone App developers, with over 186,000 Apps in the App Store for the iPhone/iPod and over 3,500 for the iPad when this was written (according to 148 Apps). Apple by their own admission has sold over 85 million devices (50 million iPhones and 35 million iPod Touches) and games are the number one category which makes it a lot harder to achieve success. In April according to 148 Apps, an average of 105 games were released every day!

A year ago, one billion apps had been downloaded and it now stands at 3 billion. A large number of those are free (approx 22% of Apps ) but it's still an immense amount of money paid out by Apple to developers after the 30% cut that Apple takes.

It's not that easy to make a lot of money. Creating the App is one thing but selling it in sufficient numbers is a whole different ball game that demands that you promote it, and provide free copies to reviews. In some cases, people pay reviewers to get their Apps reviewed. If you're really lucky and Apple pick up on it you'll get a lot of free promotion.

Getting Started

If you're new to iPhone development, then you should definitely get this first:
In a nutshell if you want to develop for the iPhone:
  • You need a Mac Computer of some kind, Mac Mini, iMac, MacBook etc. You cannot develop for the App Store on a Windows or Linux PC.
  • Join the Free iPhone Developers Program. This gives access to the SDK and Xcode development system which you download and install. It includes an emulator so you can test most apps except those which need hardware such as the camera or GPS.
  • Pay $99 a year for access to the developer program. This lets you install apps on your own iPhone/iPod Touch/iPad. It also gives earlier access to betas and past versions of the SDK.

Development Process

So you've been developing away and have got a version that runs in the emulator. Next you've paid your $99 and been accepted in the developer's program. This means you can now try your app out on your iPhone. Here is an overview of how you do that. Apple's developer website provides a lot more detail.

You need an iPhone Development certificate.

For that you have to run the Keychain Access app on your Mac (in developer tools) and generate a Certificate Signing Request then upload it to Apple's iPhone Developer Program Portal and get the certificate. You'll also need to download the intermediate certificate as well and install both in Keychain Access.

Next up is registering your iPhone etc as a Testing device. You can have up to 100 devices which is handy for larger teams, especially when there is iPhone 3G, 3GS, iPod touch and iPad to test on.
Then you register your application. Finally, armed with both application id and device id you can generate a Provisioning Profile on the Apple website. This gets downloaded, installed into Xcode and you get to run your App on your iPhone!

The App Store

Unless your are a large company with over 500 employees or a university teaching iPhone App development there are only two ways to distribute your apps.
  1. Submit it to the App Store
  2. Distribute it by Ad-Hoc Distribution.
Distributing through the App Store is what most people I'd guess want to do. Ad Hoc means you produce a copy for a specified iPhone etc, and can supply it for up to 100 different devices. Again you need to get a certificate so run Keychain Access and generate another Certificate Signing request, then go to the Apple developer portal website and get a distribution certificate. You'll download and install this in Xcode and use it to generate a Distribution Provisioning Profile.

To submit your App to the App Store you'll also need the following:
  • A list of descriptive words so it can be found in the App Store.
  • Three icons (29 x 29, 57 x 57 and 512 x 512).
  • A Launch image that appears while your App is loading.
  • A few (1-4) screenshots of your App's screens.
  • Contract information.
Then you do the actual submitting to the iTunesConnect website (part of Apple.com), set prices (or is it free) etc. Then, assuming that you've avoided the many ways of getting Apple to reject your App from the App Store, it should appear in a few days.
Here are some of the reasons for rejection but it's not complete, so please read Apple's best practices document:
  • It's considered objectionable e.g. pornography.
  • It crashes.
  • It has a backdoor or is malicious.
  • It uses private APIs.
Apple says that they receive 8,500 Apps per week and 95% of submissions get accepted within 14 days. So good luck with your submission and get coding!

By the way, if you decide to include an Easter Egg (surprise screens, hidden content, jokes etc) in your App be sure to let the review team know how to activate it. They won't tell; their lips are sealed. If on the other hand you don't tell them and it comes out, then so might your App from the App Store!