We get this question frequently, and its a legitimate concern. You think "since I spent money on a software app for one platform why can't I use it on another platform?" Or "shouldn't I at least get some kind of credit when I move to a different platform?".
If Life Were Only That Simple
You probably know where this answer is headed from the title. The simple answers to can you run your iBird app on a different platform are:
- You can't run an app made for the iOS (Apple) device on a Android (Google) device. And similarly you can't run an app made for the Android OS on a iOS device.
- We don't offer credit if you bought the app for one platform and want to buy it on another.
Why Can't I run an iOS App on an Android device?
iOS and Android are completely different operating systems, with pretty much nothing in common except they work on smartphones and tablets. There is absolutely nothing in the programming code for one platform that you can use in another. They not only are structured differently but they use different development languages. Apple uses Objective C and Swift while Android uses Java.
|TRIVIA From a developer point of view, the iPhone is a much easier device to develop apps for than Android devices. Android uses a language called Java which was originally built to be more universal than more common programming languages like C for example. It was also built to work in large operating systems like Unix. iOS uses a language called Objective C, which is more programmer friendly than Java. Apple has recently released a language called Swift which is much more friendly for development.|
Why Can't I get a credit for an app I bought for an iOS device I want to buy on an Android device?
The problems is the work we have to do for developing apps for each platform is just as hard regardless of what we did on the first device we worked on. In other words we get no economy of scale for the development on the Apple platform that we can use on the Android platform.
What About Universal Apps, Why Isn't iBird One of Those?
There is a certain kind of app called a universal app that can be used in any platform that it was designed for. The most common universal apps are ones that are browser based. When an app is designed to run in a browser, such as Chrome or Safari, you can open it on any smartphone, tablet or desktop where you can open a browser. Apps built to work in web pages usually put the content on a web server and can be pretty useful as long as you have an internet connection. However if you want to be able to use the app in the field you need to have the database on the device. While this is feasible the problem is that these web based apps must rely on browser based controls which are often much cruder than what is offered by a native app. They are also slower since they must run inside a web page. At the end of the day a universal web page based birding app will not be a good user experience.