Developer, you need an iPhone

I don’t mean iPhone X: it probably doesn’t worth its price, although benchmarks shock. And I don’t mean 8 unless you want wireless charging and a little more power. It can surely be just an iPhone 7, especially if you like black. It can also be 6S if you accept an older chip and a model that is not water/dust proof, or even an SE if you can live with a smaller and less colorful screen, and don’t want 3D touch either. Compare models here.

But if you’re a UI app developer today you do need an iPhone, and here are the reasons, in a logical order, as much as I could find it:

  • People go mobile, and many go mobile-only, while desktops fade away. Asia is first, followed by the Americas, but Europe also joins the trend.
  • With the unfortunate Windows Mobile failure, even with free Xamarin, Windows is doomed to remain a server side OS, eventually buried in Azure services, and if Microsoft follows its current plan (as it seems) of remaining a services-only company, Linux may eat it there too: they just released .NET Core 2.0. While they continue selling Office 365 and Azure, which I assume is their best shot to remain relevant in the IT world for the medium term, they seem to have problems with HoloLens; some time ago I considered their holographic device that is capable of running most 2D UWP apps too as a possible Windows saver; but not anymore, because from my point of view they should have already prepared something for the end user by now, and instead I see no advance at all on that side.
  • Android and iOS will soon be the only ones that matter, even for AR (see ARCore and ARKit). And even for many businesses, not only for consumers. UI app developers (need to) accept it. Even if they come from the beloved Microsoft ecosystem of around 2010, like I do.
  • End users seem to like native apps more than Web apps, so going HTML5 and JavaScript won’t be the best choice. (I changed my mind, indeed; a few years ago I would have advocate towards using JavaScript everywhere.) But of course, a presentation Web site will always be needed for your company and products.
  • To be able to test your Web sites on the appropriate browsers, even if only those made for presenting your products, you need to check the browser market shares. Google Chrome is a must, but note that the second place is won by Apple‘s Safari. And devices that run it are only Apple devices: iPhone, iPad, and Mac. As it’s no longer available nor supported on the Windows desktop.
  • Back to native development, we can easily find out that Android has a high market share, but also that iOS app sales are often of higher value (especially for business-oriented apps) since iOS devices seem to be the preferred devices among those who afford them.
  • Therefore, to be relevant as an app developer, you should develop both for Android and iOS; the latter still has an appreciable share of over 20% on the phone market, and for tablets it even passes 60% (tablets are a niche, at this time, themselves, but they are still important.)
  • Targeting both Android and iOS apps, developers often dismiss cross-platform frameworks (both those producing native output like the above mentioned Xamarin or building JavaScript-enabled WebView-based apps like Cordova and Ionic), even that they could help reuse much code, mostly because they are late in feature adoption compared to the first party native development tools provided by Google and Apple, corner cases are way more difficult to resolve when they (inevitably) get you around, and (for JavaScript targets) app performance may be too low.
  • However, even if you would choose Xamarin or Cordova, you will need a Mac to be able to deploy iOS apps, besides an Apple developer subscription. And of course, if you choose to develop in a fully native fashion, you’ll also use xCode on that Mac.
  • For Android app development, things are easier: you can develop natively with Android Studio or Xamarin either on your old Windows PC or on the Mac (Microsoft also released Visual Studio for Mac that includes Xamarin!) And to release your apps you just need to register as an Android developer with your Google account (with a one time payment).
  • But when you develop mobile apps it’s quite mandatory to test your code on real devices running each of the target platforms, and not only on simulators. So you’ll need at least one iPhone and one Android phone since you target both their OSes.
  • If you’re a freelancer, a small business owner, or just bring your own devices into a company domain to work for that employer, and use them both for personal stuff and for business, it will be easier if one of the two phones will be your primary mobile machine. And as you’re a geek, that really needs to be the a powerful one, and therefore it’s probably going to be the most expensive of the two. That means you will either get a recent iPhone if you decide for iOS as primary device’s OS or a Google Pixel phone, or a similarly expensive third party device if you want Android.
  • Thinking about the secondary device, assuming that you don’t want second-hand items, you’ll notice that the least expensive iPhone at this time is the SE, but it’s still quite expensive and also maybe too powerful compared to many Android phones that you could use for testing your apps as secondary devices. For example, a new, but less powerful Samsung Galaxy J3 is only half of the price of an iPhone SE.
  • To conclude, as you need two phones – one with state-of-the-art technology and one for testing purposes only – you need to sum up their prices. And I really think that the amount is going to be much lower if you get a powerful iPhone and a low cost Android. This will also be a good simulation of the real world, where many of the Android phones are lower cost devices and run older OS versions, which your app should still support, while most iPhones are more recent and capable, as Apple pushes them hard towards its (smaller, but richer) crowd.

Note: iPhones (and Macs) are not only style & fashion devices, like I used to think myself, and like others may still think due to rumors and misunderstandings; they are really powerful devices and Apple hardware and software teams really seem to collaborate well, as software innovation easily turns into interesting hardware changes whenever needed. This integration is most of the times more important than having the newest hardware or the newest software installed, if they are obtained separately and from different parties. Moreover, Apple‘s ecosystem, although it lacks a few things on the server/cloud side, is somehow similar to Microsoft‘s old world that you may have liked.

PS: If you’re an Android fan, don’t hate me. Get yourself an Android primary device and an iPhone SE for iOS testing. You’d pay more this way, but if it brings more emotional value to you, don’t hesitate and go for it. Maximize your own value! (You’ll still need a Mac, though, and it will probably be less integrated to your primary Android phone than it would with an iPhone, but again, it’s your life, your choice.) 🙂

Advertisements

About Sorin Dolha

My passion is software development, but I also like physics.
This entry was posted in Development and tagged , , . Bookmark the permalink.

Add a reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s