¶ The Fast Pace of Getting Left Behind

In hardware and software, fragmentation is inevitable. Eventually newer software will demand too much of older hardware, and the older hardware will need to enter the realm of being unsupported. Sure, this can be caused artificially by the software or hardware maker not wanting to put forth the effort to support the past. The decision can also be made for the sake of not impacting the experience of a device. No one wants to run software that performs poorly because the hardware can't keep up.

Normally this retirement process takes years. But as technology moves forward at an ever increasing pace, the span between hardware debut and retirement is closing faster than ever. Sometimes it is done out of necessity, and other times artificially.

Let's take the Mac. Apple tends to support hardware with software on the Mac for about five years. This day and age, that is plenty reasonable in my book. Apple's approach is to support the hardware until it becomes a technological burden to the advancement of the software. The chief exhibit is the current version of Mac OS X — Snow Leopard. Snow Leopard cut off support for the old PowerPC architecture. Folks with PowerPC Macs are cut off using Leopard until they buy a modern Mac.

Why did Apple need to do this? Because supporting older hardware was eating up too many development resources for newer software. Eventually you have to stop supporting things you no longer make. When Apple cut off PowerPC support, Mac OS X went from an installed hard drive footprint of around 13 GBs to 6 or 7 GBs. The result was a faster, leaner operating system.

In the upcoming Mac OS X revision — Lion — Apple will be dropping support for 32-bit Intel processors, which were the first Intel Macs. Again, these Macs are 5 years old. And the reason this time is to cut out supporting 32-bit and 64-bit processors, especially at the kernel level. The goal is to be faster and leaner.

Now, let's look at iOS. This is a whole different ballgame, as mobile development is moving so much faster than desktop and notebook development. There have been 4 iPhone and iPod touch generations. The current generation of these devices are leaps and bounds faster and more efficient than the first generation models. Yet Apple supported first-generation devices through the third OS revision. With iOS 4, Apple finally pulled the plug on those first-generation devices, because the software had truly outstripped the hardware.

Here is where Apple made a bit of a mis-step though. They were still selling the second-generation devices as discount, entry-level prices just before iOS 4 shipped. So they felt obligated to support them. And that didn't work out so well because the second-generation of handheld iOS devices shared much of the same hardware as the first-generation. This caused these devices to perform poorly, and Apple scurried to optimize iOS 4 for performance on these older devices in 4.1 and 4.2. But it really wasn't enough. So with iOS 4.3, Apple pulled the plug on support for second-generation hardware, which I am sure they didn't want to do until iOS 5.

What I've described above for iOS is only one side of the coin. Those were necessary hardware retirements. That isn't to say that Apple hasn't artificially retired features improvements along the way. For instance, iOS 4 brought along Game Center integration. This was included in the second-generation iPod touch, but not the second-generation iPhone. I can't imagine that was truly a hardware limitation. Or how about this: iOS 4.3 brought Personal Hotspot to the iPhone 4's tethering ability, but not to the iPhone 3GS, despite the fact that jailbreakers can do Personal Hotspot on the iPhone 3GS. Are artificial limitations a jerk move? Yeah, they are. And everyone can be a jerk at times.

Finally, let's look at Android. Android has been the prime target of the fragmentation blame game. And it often seems like it has been earned. But who is really to blame? Google? Or the carriers? I say a little of both. Vlad Savov wrote on Engadget over the weekend:

Where the trouble arises is in the fact that not all Androids are born equal. The quality of user experience on Android fluctuates wildly from device to device, sometimes even within a single phone manufacturer's product portfolio, resulting in a frustratingly inconsistent landscape for the willing consumer. […]

The point is not that carrier or manufacturer customizations should be abandoned entirely (we know how much those guys hate standardization), it's that some of them are so poor that they actually detract from the Android experience. Going forward, it's entirely in Google's best interest to nix the pernicious effects of these contaminant devices and software builds. The average smartphone buyer is, ironically enough, quickly becoming a less savvy and geeky individual and he (or she) is not going to tolerate an inconsistent delivery on the promise contained in the word "Android."

And this is exactly how things are in the Android world. There isn't a uniform experience standard. Perhaps this is why, according to Bloomberg Businessweek, Google has started handpicking partners to showcase Android, and delaying the source code to everyone else:

Over the past few months, according to several people familiar with the matter, Google has been demanding that Android licensees abide by "non-fragmentation clauses" that give Google the final say on how they can tweak the Android code—to make new interfaces and add services—and in some cases whom they can partner with. […]

Google has also started delaying the release of Android code to the public, putting smaller device makers and developers at a disadvantage. On Mar. 24, Bloomberg Businessweek reported Google won't widely release Honeycomb's source code for the foreseeable future.

The company's moves are hardly unprecedented in such a fast-moving industry. Google owes it to its partners and consumers to prevent Android from running amok.

Android has been running amok. It is saddening when I hear some friends — who are normal, non-geeky people — lament about how the phone they bought three months ago isn't getting the new features of so-and-so's phone from last week.

As I stated at the beginning, every platform will experience fragmentation. Apple does a pretty good job at mitigating that effect because they control the platform from top to bottom. Google let the main Android experience get out of hand because they have been controlling very little in the grand scheme of things. Why have they been controlling so little? Marco Arment writes:

Nobody “opens” the parts of their business that make them money, maintain barriers to competitive entry, or otherwise provides significant competitive advantages. That’s why Android’s basic infrastructure is “open”, but all of Google’s important applications and services for it aren’t — Google doesn’t care about the platform and doesn’t want it to matter. Google’s effectively asserting that the basic parts of a modern OS — the parts that are open in Android — are all good enough, relatively similar, and no longer competitively meaningful. Nobody’s going to steal marketshare from Google by making a better kernel or windowing API on their competing smartphone platform, regardless of whether they borrowed any of Android’s “open” components or ideas derived from them. But Google’s applications and services are locked down, because those are vulnerable to competition, do provide competitive advantages, and are nowhere near being commoditized.

Unfortunately, Google spent the last few years letting Android's core experience go unchecked, allowing the carriers to decide whether or not to use Google's applications and services, and whether a certain phone gets an update or not. Google hasn't been giving Android a chief place in their bottom line, they've let carriers use Android to pump up their bottom line, and have been sticking it to customers.

It all comes down to this: let the end-user be your customer, and use the carrier as the channel; or let the carrier be your customer, and the end-user is the channel.

The Chameleon Project

Sometimes it's nice to see a hunch confirmed. Back in February, I defended Twitterrific for Mac against fellow writer Ben Brooks (whom I greatly respect and josh around with on Twitter). In that post, I wrote:

Side story: Popovers are an iPad UI element. They aren't native to Mac OS X (at least, not yet. I wouldn't be surprised if they are in Lion). If you rip open Twitterrific's app bundle (right click, Show Package Contents) and scope out their frameworks, you'll see UIKit. UIKit is an iOS framework. To me, that says Iconfactory rewrote Apple's UIKit framework for use on the Mac. That's pretty much amazing (and a lot of work).

In contrast, when you click an image link in Twitter for Mac, it appears a type of popover opens. You can dismiss this with Command-W. That tells me that Twitter for Mac is actually opening a standard window with a custom UI.

Iconfactory did the work to bring iOS popovers to OS X.

Well, that has been confirmed today, as the Iconfactory has revealed and open-sourced their implementation of UIKit, called Chameleon. Chameleon will allow iOS developers to reuse a great deal of their codebase if they are looking to port an app for the Mac App Store. The huge advantage of this, and one Iconfactory states they are doing themselves, is that major feature releases can be shipped simultaneously for both iOS and Mac.

This is a nice perk for consumers, and should make developers drool.

Fellow midwesterner and friend Sean Heber is the lead developer on the project, and I think he's pretty much a genius. Go give him a pat on the back.

iOS 4.3

Grab your sync cable and fire up iTunes, because iOS 4.3 is out.

Some of the update goodness for all devices includes a faster JavaScript engine in Safari, called Nitro; enhanced AirPlay features; iTunes Home Sharing; HD Video Out; Push Notifications for Ping; and bug fixes.

The iPhone 4 gets Personal Hotspot, which lets you turn your iPhone's 3G connection into a WiFi hotspot to connect your laptop, iPad, or any other WiFi device. This pretty much guarantees that I'll never buy a 3G-capable iPad.

And specifically for the iPad, 4.3 gives users the option of whether the side switch acts as a mute switch or orientation lock. The iPad initially shipped with the switch as an orientation lock, which Apple switched to being a mute switch in 4.2.1. I've missed the orientation lock and am resounding hallelujahs.

Safari does indeed seem snappier and iTunes Home Sharing works like a dream.

Overall, a fantastic update.

Apple Holding Second-Gen iPad Event

The Loop just posted an invite from Apple for an iPad event in one week, on March 2nd. If I had to guess (and I don't really think I have to), we'll see an announcement of the second generation iPad, and likely the release of iOS 4.3, which has been in beta for the past month and a half or so.

As a left-field guess, maybe we'll get a preview of iOS 5, though Apple usually previews that as a separate event, however, the timeframe would fit judging from past preview events.

iPad 2011 Event Invite

Making the Case for Ollie

Ben Brooks doesn't like the new Twitterrific for Mac. I know, I know, I'm a Twitterrific die-hard. Ben has some good points, but I find a lot of his criticisms to either be unfounded or, well, nit-picky.

After you post a tweet your Twitter stream is not updated, so you see your new tweet at the top of the old tweets. Then when Twitterrific does update, the new tweets jump into position where they should be in the timeline. Your new tweet, that was at the top of where you had read, is now mixed in with a jumble of other tweets. You could get used to this, but you shouldn’t have to get used to non-sense like this.

Agreed. I am used to this behavior of the app, but I would love for the stream to update.

The title bar with all the icons is very imposing and throws off the balance of the entire app. Even with all icons removed it is still just too thick. Twitter clients should always feel like small-apps and not like full-blown apps 1 — Twitterrific fails at this.

I partially agree with this. The account switcher could, honestly, be better. I also like having icon only for the elements in the title/tool bar. His opinion of Twitter apps being constrained to "small-apps" (I believe we call those Dashboard widgets) seems odd. These are Mac apps. Why should they not be a full app? And TweetDeck, being an Adobe AIR app, is a horrible comparison. May as well compare a steak to a pile of crap.

If you want two accounts you need to pay $9.99 — which is silly given that Twitter for Mac is free.

Then go download Twitter for Mac. Fact is, the Iconfactory doesn't, to my knowledge, have venture capital and angel investments totaling in the tens of millions of dollars. They make great products, and sell them for money. That's called a business plan. If the only incentive to pay is to get rid of ads, then I don't think many folks would pay.

You can’t remove the menubar icon.

I don't have a problem with it, but I agree. It's not for everyone.

You can’t close image windows (Twitpic and the like) with the keyboard.

Tap the escape key. Side story: Popovers are an iPad UI element. They aren't native to Mac OS X (at least, not yet. I wouldn't be surprised if they are in Lion). If you rip open Twitterrific's app bundle (right click, Show Package Contents) and scope out their frameworks, you'll see UIKit. UIKit is an iOS framework. To me, that says Iconfactory rewrote Apple's UIKit framework for use on the Mac. That's pretty much amazing (and a lot of work).

In contrast, when you click an image link in Twitter for Mac, it appears a type of popover opens. You can dismiss this with Command-W. That tells me that Twitter for Mac is actually opening a standard window with a custom UI.

Iconfactory did the work to bring iOS popovers to OS X. They chose to use escape as the dismissal shortcut for this new UI.

This is my biggest gripe: the direct messages show up as a random hodgepodge based on the time sent. So I can’t view the entire conversation thread, I just see messages in a confusing and un-helpful way.

I partially agree. In the main timeline, I like that DM's are part of the timeline. It's part of what attracts me to Twitterrific, a universal timeline. However, when viewing just DM's, I would actually like them to be threaded as conversations.

No live streaming of the Twitter feed, which at this point is basic and mandatory.

It'd be a nice option. Personally, to me, it would feel like a constant trickle of information overload. I prefer to digest tweets in morsels during set intervals. But, that is a personal preference that is different for everyone. I'm sure this will be in an update.

No drag and drop support for posting pictures — I mean I guess sending the file path for the picture could be useful at times.

I actually reported this during the private beta. There just wasn't time for it for the initial release.

The icon: I don’t hate it, but I don’t love it.

Dude, it's fricken Ollie! He's awesome! And don't get me started on Twitter for Mac's various icons over its three updates thus far.

The app is stable and works. It does what it says. I can’t help but feel a lot was left out to get the app out. Most of the problems can be easily fixed with updates, but for a version 4 product these issues should have never shipped. Making sure CMD+W closes picture previews and that dragging in pictures to a compose window attaches the image, is basic stuff for a 4th version product. [...] It doesn’t feel finished — it feels like a version 1.0 product. If this was a version 1.0 then I would be excited for its future, but given the version 4 nature I am hardly impressed.

I get the feeling Ben just doesn't know about the product's history, which is understandable. I highly encourage reading Filing a Flight Plan and On Final Approach for some context. Essentially, Twitterrific 3 for iOS was a complete re-write of the iOS app, and likewise, to get the Mac and iOS apps on the same codebase the Mac app is essentially built from the ground up as well. Even though the new Mac version says 4.0, it's a 1.0 from a codebase point of view.

Now that the Mac and iOS versions are built on the same foundation, it should be easier for both platforms to grow concurrently with new features. It was a ton of work for the Iconfactory, but in my opinion, a great investment for the future of the app.

Couch to 5k

A week ago from today, I started something that I have wanted to do for a long time, but I had yet to ever commit to. I want to run a 5K. There’s always been one problem: I’m a couch potato.

Couch to 5k is a regimen that’s been designed to get just about anyone from the couch to running 5 kilometers or 30 minutes in just 9 weeks. Nine. Weeks.

Now, I am all about having structure and a schedule. That seriously helps me keep focused on a goal and away from shiny distractions. But the static grid of the training plan is, quite frankly, not too helpful while I’m on the treadmill.

Now, in my past experiences with running, I have used the Nike+ system with my old second-gen iPod nano. Nowadays, I use my iPhone 4 and a Griffin AeroSport for Nike+. And now that I endeavor to train, and train properly, for Couch to 5k, I needed a little help. You guessed it, There’s an App for That™.

The aptly named Couch to 5k app is my weapon of choice. Like I said, I started a week ago, and this training takes 9 weeks. Just so happens, a week and a day after I complete the training, there’s a 5k in my town. So this is good for me.

So, about the app. It prompts you during each workout for a walking warmup, then when to run, walk, and to do your cooldown. The greatest thing is that you don’t have to think about it. You just let the app guide you and you just do it™.

You can control music playback from within the app, and it works concurrently with Nike+ on your iOS 4 multitasking-capable iPhone or iPod touch. Another nice touch is a complete guide to stretching within the app. It is super important to stretch before and after your workout. Heck, stretch daily, your tendons will thank you later.

If you’re a fellow Apple geek who needs some motivation to uproot yourself from the couch and run a 5k two-and-a-half months, definitely look into this app. To get you started, watch the developer’s video below.

Couch to 5K: the iPhone App from lonelysandwich on Vimeo.

Camera+ Returns to the App Store

Camera+ has returned to the App Store this evening sporting a version number of 2.0. You may remember Camera+ for the controversy it stirred with Apple when the developers unveiled a way to reassign an iPhone’s volume buttons to act as shutter triggers when running the app. It is unknown whether Apple outright pulled the app from the App Store, or if the developers pulled it to avoid banishment or something of the like.

Nonetheless, it is back with a laundry list of improvements. What I’m liking the best so far is the removal of the silly SLR interface that used to greet you upon launch. Now the app gets you from launch to taking a picture extremely quickly. Everything else, so far, seems mostly like polish, polish, polish.

To celebrate the app’s return, it’s on sale for a whopping 99¢ right now. Owners of 1.x need not fret, 2.0 is a free update.

Apple Publishes Free iOS Development iBooks

If you have an iPhone, iPod touch, or iPad, and Apple’s free iBooks app, and a desire to learn about iOS programming, you may want to fire up the iBookstore and search for “Apple Developer Publications.”

The results should be six iBooks published by — you guessed it — Apple Developer Publications. The titles include:

  • Object-Oriented Programming with Objective-C
  • iOS Human Interface Guidelines
  • iOS Technology Overview
  • The Objective-C Programming Language
  • iOS Application Programming Guide
  • Cocoa Fundamentals Guide

Needless to say, these looks like great resources for a budding iOS developer, and they’re free.

The Future of the Apple Design Award for Mac

In my previous post I casually mentioned that I thought Reeder for Mac would be a fantastic contender for an Apple Design Award. I then remembered that this year, Apple didn’t have an ADA for Mac apps — just iPhone/iPod touch and iPad apps.

Then a notion came upon me that I wanted to share: with the Mac App Store launching soon, what if Apple reinstates the ADA for Mac, but on the condition that it has to be an App Store app?

Makes sense to me.

Find My iPhone Becomes Free Service

Find my iPhone is a feature of Apple MobileMe service. MobileMe is a $99 per year subscription service that provides syncing of your calendars, contacts, & bookmarks across your computers and iOS devices, along with an email account, iDisk server storage, photo galleries, and Find my Iphone (or iPod touch or iPad). When Find my iPhone was added as a feature of MobileMe, I thought (and still think) it is a great part of the service.

Say your iPhone slips out of your pocket while you’re sitting at a coffee shop. You leave, and a while later, you reach for your iPhone and have a near heart attack. Never fear, you can hop onto me.com or the Find my iPhone app from another device (say, your spouse’s or your friend’s) and locate your iPhone on a map. From there, you can passcode lock the screen, send a custom message with an alert sound that overrides the volume or mute switch, or, in extreme circumstances, remote wipe the device. This works for iPhones, iPod touches, and iPads.

(It should be noted that if you wipe the device, you won’t be able to track it again. Wiping resets everything to factory condition).

Well, today Apple updated the Find my iPhone app and is allowing any iPhone 4, 4th-Generation iPod touch, or iPad to use that portion of MobileMe for free. Download the app to sign up for an account.

There is a little trick here if you have an older device. Just register your Apple ID on someone else’s current generation device, then delete your info from their device. Once you have registered on a supported device, you can then activate Find my iPhone on any of your older devices.

I’d really like to see Apple open this up for all of their iOS device users, but I understand their desire to encourage folks toward newer devices. Apple is a business, after all.

I recommend that everyone take advantage of the Find my iPhone program. It could save you a lot of panic and headache if you were to ever lose your device.