Last week, Apple showcased the upcoming 3.0 version of the iPhone operating system, widely expected to be available around WWDC in the June timeframe. If one thing became clear from this presentation, it is that iPhone OS is the next big computing platform, at least as far as Apple is concerned. After first introducing the iPhone and its incredibly slick and intuitive user interface to the public in 2007, Apple then educated millions of people on the idea that their phone can indeed be an all-purpose mobile computing platform by intoducing the App Store in 2008. And now, Apple seems to focus the attention even more on developers. Sure, Apple did announce some pretty nice new end user features in 3.0 (of which the company promises over 100 in total when the final product ships), but the really impressive announcements were the additions to the Software Developers Kit, or SDK.
No less than 1,000 new APIs were introduced to programmers, letting them do even more advanced stuff with the iPhone and iPod touch then before. Think of using the dock-connector or bluetooth to communicate to dedicated accessories, or the direct iPhone-to-iPhone networking connectivity over Bluetooth that doesn’t need pairing or joining of a wireless network, or the widely disussed push notification services letting applications notify users even when the actual program is closed, or the voice-over-IP functionality that can easily be implemented in a game or app without much efforts, or the in-app purchasing features opening up the way for many new types of applications.
Surely, consumers will be spoiled, if not overwhelmed, with the flood of new applications (or renewed applications) in the second half of this year, pushing iPhone as a platform even further away of the curve.
In this article, I will briefly share with you some thoughts I have on some of the new features offered by the iPhone 3.0 software and the new SDK.
When Apple launched the App Store for the iPhone, it put a lot of restrictions in place. They have been widely covered for many months, and by many bloggers and journalists. Most of them are well known by developers and users, and perhaps a bit more surprising, most people accept these limitations as a fact of life.
Some limitations that have been widely publicized are the inability to run more than one program at a time (leading for example to the inability to listen to an Internet radio station while doing something else), and the lack of the long promised push notification services (which among others enable instant messaging applications to receive messages when the device is idle or running another program).
But that’s not what I want to talk about. This time, I want to address another major annoyance.
There are a lot of areas when a desktop apps benefits from having a mobile app to take your data with you. Think for example of the excellent password manager 1Password, which can sync its protected database of passwords to the 1Password iPhone app. Or what about a personal assets database containing your lists of DVDs and books? It can be very handy to have these available on the go in a companion app on the iPhone. And of course you may want to upload some Office or PDF documents to a document viewer app on the iPhone.
And then we come to this other thing that has been bugging me for some time: the complexity that is involved anytime I want to exchange data between a desktop app on my Mac, and some application on my iPhone.
I am a big, big consumer of podcasts. I became really fascinated by the ability for anyone -from large established media companies to individuals with an opinion and a microphone- to be able to record audio programs, and distribute them as easy to grab “episodes” over the Internet. I loved the idea of being able to listen to people discussing my favorite topics at moments during the day where you are either doing nothing but when reading is not practical, or when performing low-duty tasks that don’t need your full attention. Commuting to work by train or bus, walking to the grocery store, doing the dishes and other household tasks and my semi-daily walks past the Waal river: they are all accompanied by what I tend to call a “spoken magazine” : a podcast episode for me to enjoy.
Currently, I listen to about a dozen podcasts, mainly covering the Mac. They range from daily shows such as the excellent Mac OS Ken from Ken Ray, who summarizes the Apple news from various sources in about 15 minutes, via the hour-long weekly MacWorld podcast, up until the MacBreak Weekly show, which, depending on its panel of hosts, can be up to one and a half hour long (my absolute favorites are the ones featuring Andy Ihnatko, the funniest and one of the cleverest Apple commenters around). My favorite blogger (and inspirator for starting my own blog) John Gruber from the Daring Fireball also hosts his own show every few weeks, simply called The Talk Show. And then there are some local shows in Dutch that I listen to, such as the One More Thing podcast (which, despite its name, is in Dutch), whose three presenters pioneered podcasting in The Netherlands in 2005.
For quite some time now, I have been wondering about the popularity of SMS text messaging. Since its development by the GSM working group in the mid 80s and the initial launch to the generic public when the first SMS message was sent in 1993, SMS text messaging became the most widely used form of data communication in the world, with about 2 and a half billion users (that’s about half of the world’s population). How is it possible that such a limited technology could have become this widespread?
There are of course some obvious advantages to the basic application of text messaging, but there are also a lot of technical limitations in the SMS protocol as well as some strange implementations by telecom operators and handset manufacturers, that very much limit the usability for the users. Let’s have a look at some of them.
Advantages of SMS text messaging:
- Very easy to explain
Even the most technophobic cell phone user is able to grab the idea of text messaging. The message you enter on one handset will appear on the display of the receiving handset. The only thing you need is the receiving party’s phone number. There is no need to know anything else, such as an alternative address other than the cell phone number, or knowing the capabillities of the receiving handset or the services of the telecom operator.
- 100% installed base of handsets
SMS is supported on all GSM handsets (the only cell phone standard in Europe, and the dominant standard worldwide), and nowadays also on handsets of competing technologies. SMS sending and receiving is supported by all mobile carriers and offered trough all mobile phone plans. Everybody who owns a mobile phone is able to send and receive text messages. No need for additional devices, no need for special subsciptions.
- No action required to receive messages
An SMS text message will always appear automatically on the handset’s display. There is no need to “request” for incoming messages. When the phone was off during the initial transmission of the message, it will be delivered within minutes after the phone is turned back on.
One of the reasons for the iPhone to be such a well functioning and exceptionally usabale device lies in the fact that, completely in Apple fashion, both hardware and software are made by the same company. This way, the hardware engineers were completely aware of how the software would function, and the software engineers fully knew the ins and outs of the hardware platform, letting both achieve the maximum of what’s possible with the combination. This has worked very well in the past too: just have a look at the Mac to see how a complete package of tightly integrated hardware and software eleminates a lot of problems that occur in the generic PC field, where all software is supposed to work on all possible vendors, types, versions and variants of hardware components in countless possible combinations.
Next to the obvious usability advantages for end users, having a clear combined hardware/software platform is also a very nice thing for developers. Knowing exactly the device that your software will eventually run on gives a developer some of the same benefits: he or she can take maximum advantage of the platform, without taking the risk that something would not work, or work differently, on another type of device. You know the capabilities and limitations of the platform, and you do not have to guess what features might possible be there, or worse: what featurs might be missing and how to deal with such a situation.
I tend not to think of myself as one of those typical Apple-elitists. You know, the kind that hopes that Apple remains a marginal player in the worldwide market of computers, so that their choice for the brand remains a unique identifier for them. Instead, like many other Apple-fans, I would love to see the company grow and gain market share. Because naturally, this would benefit us all. The more Apple computers in use, the wider the range of software and other supporting products that become available. And although Apple is not quite there with their line of Macs, it did manage to become the number one spot in MP3 devices. And now, it is bound to become the biggest, or at least one of the top biggest companies in the field of fully featured mobile communication devices, or smartphones.
But let’s go back for a second to the whole Apple-elitist thing. I have to admit that there is one aspect in particular that makes me proud to be an Apple-user: I choose to use an Apple computer. After all, statisitcally based, it would have been logical that I picked up a Windows PC from one of the local shopping malls, just like 90% of computer users. Instead, I made a comparison between the offerings of generic PC vendors shipping Windows machines, and the Mac. And, at least to me, the Mac won that comparison by a large, large margin. It’s beyond the purpose of this post to state why the Mac is the superior platform for me (but sure, this includes Apple’s breathtaking visual design of the operating system, the stability and security of its OS underpinnings, the world’s best industrial design, but most imporantly the tight integration between all hardware, operating system, software and Internet service components that provide me with this exceptional and unmatched user experience). So does the knowledge that most people select their computer based on price or raw hardware specs instead of doing a little investigation on what system works best for them make me an Apple-elitist? If so, then yes, I think I have to admit that I am more of one than I initially thought.