|
|
A recent Fortune Magazine article indicates that Android phones are outselling the iPhone.
Wasn’t that fast? Steve Jobs introduced the iPhone in January 2007, and Android was open-sourced in October 2008, giving Apple a nearly two-year lead time. Any time you read in the press about Apple’s success with the iOS platform (iPhones or iPads), remember that with a two-year delay, Android is still outselling the iPhone.
Since October 2008, the Android has advanced far. Today you can do everything you can do with a stock iPhone, and dozens of things that are not possible with the iPhone, at least for anyone except Apple, due to Apple’s constraints on third-party developers and deliberate limitations in their OS (limitations that usually do not apply to Apple itself).
Other bloggers have noted that this phenomenon is exactly what happened with the Mac and the PC in the 80′s and 90′s. If the same thing happens to the iOS that happened to the Mac OS, the iOS will become a niche product. The difference here is that in this case, Android is actually better in many ways than the iPhone, whereas Windows 3.x was a very cheap knockoff of Mac OS, with very few countervailing benefits — and it still won the war for market share.
I guess people would like to control their own computing experience, eh, Steve? They don’t want a big brother like Apple telling them what they can and can’t do. The “walled garden” model leads to corruption and ultimately a less compelling product.
What should Apple do to regain momentum? The answer is simple, and it would be the best thing for Apple, but will simultaneously be virtually impossible because Steve Jobs demands control over everything. This means the main thing standing in the way of Apple’s success is Steve Jobs’ ego. But here goes:
- Open-source the entire iOS.
- Make the App Store submission process completely transparent.
- Allow installation of apps, and copies of iOS, that were not approved by Apple, on any handset.
- By extension, allow for competing App Stores if people are not happy with Apple’s rules and limits.
This move is perishable, and will not work if market conditions change too much in favor of Android. Netscape open-sourced its browser barely in time, and eventually Firefox became a huge thing and a threat to IE. If Opera were to open-source its browser today, it would have limited benefit and probably wouldn’t gain much market traction overall.
Likewise, by the time Android is dominant, it will be too late. Android is already transparent and open-source. Apple can benefit by moving this way now because despite everything else, the iPhone is still slicker and more polished. People may still move to it if Apple quits trying to dominate everything.
If they do not do this — and I am under no illusion that they will — then look for the Mac vs. PC story of the 80′s and 90′s to replay.
One of the key qualities of Android is that is free and open software, and therefore allows users to freely change it. To software developers, this is a very important freedom. It enables them to learn about the system, and to advance it. Users receive the benefit of this greater knowledge in the form of advanced applications and capabilities.
Android has already demonstrated the power of this simple feature over the iPhone. On the Android, you can use a third-party SMS client with powerful new features; on the iPhone you’re limited to Apple’s offering. On the Android, a third party can write an app that turns off the ringer for a fixed period of time, a great feature for movies; on the iPhone you get what Apple gives you, a vibrate switch. Hope you remember to flip it back after the movie. Otherwise you might miss some calls. On the Android, you can block calls or SMS messages from anyone using a third-party app. On the iPhone this is possible only through trickery (like changing the ringtone to silence) and, last I looked, wouldn’t work at all for SMS.
At its core, Android allows a vast array of third-party developers to enhance your system in ways that are not possible on the iPhone.
Now, with the Droid X, for the first time, the operating system of an Android phone cannot be modified without the permission of Motorola, the maker of the handset. Any operating system installed on the Droid X must be electronically signed by Motorola. An attempt to install any other operating system will place the handset into an unusable state.
I’m not a copylefter, at least not in principle, and I am not opposed to commercial software, at least not in principle. I create proprietary software for a living every day. But it does bug me when a company takes an open platform like Android, which is in fact a fork of the free GNU/Linux software, and design hardware that is so antithetical to the principles of the very platform they’re using to sell their product.
Motorola argues it’s all about security. But let’s get serious. An evildoer would have to have physical possession of your phone to install another operating system on it. And a smart evildoer would have found a way around Motorola’s eFuse mechanism anyway. As with all DRM mechanisms — and make no mistake, this is a different kind of DRM — it never stops real crackers, it only hinders legitimate users.
So it’s not about security, it’s about control. It’s just the same as Apple’s attempt to control the iPhone and the apps that can be installed on the iPhone. It’s just like the makers of music or video content trying to DRM their material. It’s an attempt to control and dominate end users and developers for the device.
And that’s why, as a Droid owner, I will upgrade to the HTC EVO rather than the Droid X, and why, as a developer, I won’t support the Droid X platform. If handset makers and phone companies are allowed to get away with this, it will only be the first step of many.
Android is a free platform. To keep it that way, end-users and developers have to punish those who violate the principles of the platform, and right now that’s Motorola and Verizon.
Open message to Motorola and Verizon: Fix your broken phone, or you will find apps that are designed not to work on your platform.
The lead momentum players in the smartphone field today are Android and Apple. RIM lost its position as the leader when the iPhone came out, and they have been stagnant since then.
Now comes Blackberry 6. Cool, eh? Packed with innovative features like a touch interface, universal search, an MP3 player, built-in social networking software….
Er, wait a minute. These features have been in phones like Android and the iPhone for years. I didn’t see a single new or interesting thing in the clip, a single reason to switch.
That’s because RIM is trying to play catch-up right now, and rightly so. This is not about attracting new users, it’s about keeping the old ones. But sooner or later RIM will have to do something new and interesting, or they will be irrelevant. Er, wait a minute…. I guess they are pretty much irrelevant right now, at least in terms of market momentum and future direction.
As a former Blackberry user myself, it’s a bit sad. But in fairness, RIM could have been investing in an app store, a great web experience, a touch interface, media playing, and many other things, for many years. Instead they got lazy and let others move the field forward. It’s too bad, but it’s very predictable.
All right, the Android phone, typified in the Motorola Droid handset I got recently, has many virtues over its iPhone cousin, and some defects. For example, texting is far easier on the Android because the Android is far better at guessing what you’re going to type or correcting errors in typing. In the realm of pure coolness, the Droid has a voice-Google feature, where you say what you want to search for, and the software interprets your voice and enters the query into Google. It’s not perfect, but it’s 95+ percent right.
Or we could talk about maps and GPS. The Android features a maps program that will find the nearest, say, “Italian restaurants” to your location, let you pick one, and give you directions. Fine, so does the iPhone. But the Android will give you those directions in a human voice on the speaker as you drive. And if you go off-course, it will automatically correct the route so it can give you correct directions from your current location. To do this on the iPhone, you need to pay AT&T $10 a month for the privilege, and the service isn’t even as good. On the Android, it’s free.
There are lots of other small reasons to love the Android, ranging from a simple “back” button that takes you back to where you last were — sorely missing in the iPhone — to a menu button that provides you with a number of options in the current application, to in some cases a physical keyboard. I could go on for some time. The Android does things a little differently, but often better than the iPhone, and in many cases provides features and functionality that are simply absent in the iPhone.
But from a developer perspective, there are three killer features that make the Android the platform for which one should develop. First, the Android operating system is open-source, not closed like the iPhone. This means no corporation can ever take it away from us or modify it in an ugly way that we, the owners of the handsets, cannot undo.
Second, no approval process is required from a central bottleneck before your app can be offered. You can sell apps solo or put them on the Google Marketplace. Either way, you don’t have to go through the lengthy, arbitrary and opaque process to which every iPhone developer must subject himself or herself. Updates can be issued much more quickly. Features can be added frequently. With Apple’s iTunes Store, this is always a painful, slow process. Denials are frequent and random.
Third, the Android operating system allows multiple third-party programs to run at the same time. This is a tremendously valuable feature. For example, I don’t like how, when I get a call or text message, I am notified once or twice and then never notified again. I have to manually check to see if I got any calls. Well, on the Android platform, you can run a program called Missed Reminder that notices if you don’t read an SMS or get a phone call, and it can be configured to remind you in a variety of ways, as frequently as you like, of these missed communications. This is only possible because the program is able to run all the time in the background.
Even a simple program like a timer is, ironically, a waste of time on the iPhone. If the user is not in the actual timer app, the timer will not go off. For example, suppose you set a timer to check baking bread and another timer to boil some potatoes. Then you go to the web browser to read the next instructions in cooking your recipe. Well, as long as you’re in the web browser, your timers will not go off. Apple allows only one application to run at a time, other than special “blessed” applications provided by Apple, such as the music player, which can play music even while running some other apps.
In addition to all this, since Android uses the JVM, Android code need not be written in Java. Due to the Android Scripting Environment, which is slowly coming up to speed, Android developers can write their Android programs in a variety of different languages — they are not stuck with Java. On the iPhone, you’re stuck with Objective-C, love it or hate it. I personally think it was a great language 10 years ago, but has been far outstripped by modern languages like Ruby and Python. Objective-C is repetitive, wordy, and it feels hacked-together. I like it better than Java, quite honestly, but thankfully on the Android I am not limited to Java.
So where does the iPhone do well? For one thing, it’s slicker. It just looks nicer. Not a lot nicer, but a little bit nicer. iPhone developers tend to put more care into their iPhone app icons than do Android developers.
The iPhone also integrates seamlessly with your address book and iTunes, the dominant music player. I have not been able to find equivalent tools yet for the Android that make everything easy and automatic. I’ve switched to Songbird as my music player, since it offers playlist synchronization with the Droid phone, but even then it doesn’t seem to mark songs I’ve played on the Droid as having been played. So smart playlists that, for example, don’t include any songs that have been played in the last 30 days, don’t work so well. The Songbird/Droid combo does not give me this feature.
As for syncing contacts, I’ve tried the Missing Sync for Android and it simply doesn’t work for me.
The built-in apps on the Droid aren’t very good compared to the iPhone — the music player is a great example. Fortunately, often for free, you can download far superior music players offered by third parties. The same is true in other categories.
The Droid also has some nice games, but the iPhone’s games are clearly more polished and professional.
So clearly some maturity is required in this market. This is not surprising, considering how long each platform has been on the market. Apple delivers the seamless, it-just-works iPhone, provided you drink the Kool-Aid and do it all Apple’s way, including accepting all of Apple’s limitations, bureaucracy and control-freakishness.
But I personally find those things very irritating as a developer, and as such I am far more inclined to develop for the Android. And as a user, I find the things I do most work as well or better on the Android.
Look out Apple. The Android is a serious competitor, better than the iPhone in many ways. Better learn fast.
Here’s the scoop on iPhone software development. First, a little about me. I have been programming for years and can hack together just about anything. My preferred languages are Ruby and Python, in that order. I am interested in learning Haskell and Clojure at some point in the future, but I don’t have enough time for that right now. My C is passable, but I am not a C expert. Having said that, I have programmed in Objective-C for a long time, building apps for OS X, mostly as a hobby for personal apps that only I would use.
So I am a hacker, and have been for a long time. All good hackers have big egos, and I am no exception — I consider myself excellent at what I do, in the top 10 percent certainly.
Having said that, diving into the world of iPhone development is no walk in the park. I recently attended the iPhone Bootcamp held by Big Nerd Ranch in Atlanta, Georgia. That was more of a whirlwind tour of all iPhone technologies rather than starting with the simple things and working from there. I’m not saying the class isn’t good: it is. It moved me forward a long way. But I recommend that before you go, you should work through Beginning iPhone Development, by Dave Mark and Jeff LaMarche. These guys give you a nice, gentle introduction to the most basic and fundamental technologies you’ll be using. The book doesn’t cover Core Animation or OpenGL, so you will have to work through further books (contact me for recommendations) to explore those subjects. But once you’re done with with book, you will be able to develop fairly complicated iPhone apps. You will be an iPhone journeyman.
By the way, if you like dynamic languages, you will appreciate Objective-C. IMO, it’s much better than C, even though Obj-C is a strict superset of C. Now if only I could write iPhone apps in Ruby! It’s coming — you watch. You saw it first here.
Welcome to the Arnold Software Associates blog. My name is Steven Arnold, and I am the founder, owner, and CEO of the company. I’d like to give you a brief outline of the history of Arnold Software Associates and explain our mission and goals.
Arnold Software Associates is the follow-on company to Neosynapse, which I co-founded with my partner David Casti in 2001. From 2001 to 2008, David and I consulted extensively in software and database development, specializing in high-end real-time Oracle ETL. We built and successfully delivered major projects to a large number of Fortune 500 companies, including Comcast, Time-Warner Cable and AOL. For most of our customers, we delivered multiple projects spanning a wide range of different aspects of the business. In addition to heavy-duty databases and data warehouses, we built many web sites, including the original Green Card Lottery web site, and even did documentation work such as documenting the business processes of a division of one of our clients.
In 2008, my partner decided to retire to a life of luxury at his home in Oregon. Unfortunately, for tax reasons, it was not possible for me to buy him out of his Neosynapse stake. While the Neo shares weren’t worth much at the beginning, by the time David left they were worth a lot, and if I had bought those shares, I would lose the money, and he would have to pay tax on his income. So for that reason, I chose to found a new company, Arnold Software Associates, to continue the mission of Neosynapse that we have been executing for eight years now.
Arnold Software Associates likes the hard problems that many other consulting companies might shy away from, and we are agile in our approach to software development. We interact frequently with our customers so they can see our progress and correct us if we’re headed in the wrong direction. We like to use fast, agile technologies to get things done; this results in much faster delivery, and lower costs for our customers. Why build a heavy-duty web-based database system for a company for half a million dollars, when you can develop a system that is just as good, in a fraction of the time, for a fraction of the price? And it’s easier to maintain too. We at Arnold Software Associates believe in using the best tool for the job. While we are Oracle experts, Oracle might not be right for you — maybe an open-source system like PostgreSQL or MySQL would be better. We will not try to push you down a vendor-based path, but will evaluate the needed technologies based on what they can do for you: speed of delivery and cost. It’s very simple.
Our company operates by pulling together experts from a wide network of associates who we can use for different projects. At any one time historically, we have had 5-20 contractors working on various pieces of our business. We do not keep people on the bench, and we look for the best people in a field so that we can expect superior, on time results, every time.
In addition to our consulting business, Arnold Software Associates will soon offer a line of products. Our initial focus will be on the iPhone. One of our important strategic directions is to be a superior provider of iPhone applications for both business and consumers. We think the iPhone is an amazing platform with the potential to solve many business problems that have been virtually insurmountable in the past. Incidentally, most of our iPhone software will also work with an iPod Touch.
I’d like to add a word about Neosynapse’s business partner, Croix Connect, owned and operated by Brian Roberts and his wife, Donna. For most of Neosynapse’s existence, Croix Connect was a close partner. In many ways, although not officially, we were virtually one company. Neosynapse was responsible for all account delivery and account management, including delivering the sold products, managing and supervising the process, working with the customer, and selling new deals into existing customers. Croix Connect handled all administrative work including billing and collections, and was also instrumental in identifying new business for our partnership with different companies.
In late 2008, I decided that in addition to pure consulting, I wanted to move in the direction of product creation. Brian preferred to continue to focus on pure consulting. Based on that, Brian and I decided that it made the most sense for Neosynapse to sell our stake to Croix Connect, and give Croix direct access to and control of our development resources. This deal was successfully concluded in December of ’08. I continue to wish Brian the best of luck in his endeavors.
As part of our deal, we can still do business with all the customers we have worked with in the past under the umbrella of Neosynapse, and we can continue to reach out to our past contractors to perform the work when needed.
It’s a very exciting time for me and the company. If you have any questions, please let me know!
|
|