Tag Archives: iPod touch

iOS 4 vs Android 2.2: No comparison

I’m an Apple fan. I’m not blinded by them, and I hate how they react in so, so many situations. They have a sad “take it or leave it” approach… which I detailed in a forum post on HowardForums.com:

[on the iPhone 4 antenna issue]…

I completely agree that Apple’s response has been arrogant through-and-through. It makes me hate them. They have this stupid ‘take it or leave it’ approach, without realizing that sometimes the reason that people complain isn’t because they hate a product, it’s because they love it so much that they wish a flaw to be fixed. I mean, Steve says that if you don’t like it, return it. He’s right, of course, but what if you don’t like one aspect of it? Return it? If this is his response, then he truly lives in his own world. The whole Apple-attitude drives me crazy at times, and I say this as a fan.

[And to not leave anyone hanging, here's the rest of the post]

BUT: this issue has been blown out of proportion. My old Razr had its antenna in the chin, and covering it up would degrade the signal. Ditto with my old Blackberry, and my old Siemens. In a VERY low signal strength area, even my iPhone 3G doesn’t like to be held, and if I’m streaming a video over wifi in bed while griping the bottom part of the phone (turned on my side…) it tends to slow down the stream. That’s life. I hope they find a permanent fix, but I will still be getting an iPhone 4 because it excels in many, many ways, and I don’t expect the antenna issue will affect me too much. I suppose if you think it will affect you, and you don’t expect to be able to put up with it, you shouldn’t get it.

I’m not defending Apple by any means, but I do think this will still be a great phone. I played with one in the States last week and it has a fantastic feel to it, and the screen has to be seen to be understood. (Like, you know those little dots that indicate what app page you’re on, on the home screen? On the iPhone 4, THEY’RE REAL CIRLES, no matter how close you look. I’ve never seen a real circle on a digital display before in my life at so close a distance…)

So there. If it matters, if you believe me, and if you even care, I hope to convey that I chose Apple in many circumstances because they make the best product for me. Yet, I am still the kind of consumer who can appreciate knowing what processes are running and exactly what my devices are doing at a given time because that’s just who I am. Somehow, Apple removes the pain away from doing that (sometimes frustrating me in the process by hiding things completely) and usually I can appreciate it. It’s sort of a process: giving in. It’s what happened when I switched full-time to Mac OS X six or so years ago. Back then, it was the difference between knowing the software is too stupid to organize your photos, and thus placing them in categorized folders (*cough*WindowsXP*cough*) and letting iPhoto (’05 or something I think) take away all of that pain, and actually giving you a breath of fresh air in the process.

Still, it wasn’t very, shall we say, generous, of Apple to reject Google Voice from the App Store. It sucked when I had to jailbreak iOS to run things in the background. And it was a travesty when apps couldn’t communicate between eachother, working in such a sandbox that they weren’t even allowed to save photos to the camera roll. (And an even larger travesty when there was no app store at all!)

These are the things I tended to hate about Apple. They are stubborn, insolent, and for the most part anti-geek.

I can now say with absolute certainty that I am gratefully for all of these qualities.

In my mind, the truest competitor to iOS (the OS that the iPhone, iPod touch, and iPad all run) in Android, an open-source linux-based mobile OS. It has many advantages over iOS from a manufacturer standpoint: anyone can build a device that runs it, whereas iOS is Apple-only. A new version of Android, 2.2, is waking its way into Android phones and is (supposedly) finally going to give Apple a run for its money. I have tried out a previous version, and abhorred it… but I think that was mainly due to cheap hardware. Because it is open-source, some developers managed to get the latest version of it running on the original iPhone and the iPhone 3G (which I own at the time of this writing). Today, I installed it for the purpose of testing it out.

My iPhone now dual-boots iOS and Android. It is slow in Android. This is due to the fact that much of the hardware drivers are still being worked on. Full disclosure: Android on iPhone is still very much an experiment, and can’t be used daily.

Android 2.2 sucks.

Where iOS pampers users with a good looking, consistent UI, Android hurts my eyes with cartoonish icons. I hate the stupid dedicated buttons to go back, home, and the contextual button. It’s ugly. It lacks proper inertial scrolling. The app store on Android is bland. I know that it is a product created by engineers, as opposed to Apple’s artists, but that really is no excuse for such a terrible user experience. The messaging app is like the iPhone’s, only uglier. This goes for almost everything on the phone. Where in iOS you hold on a picture to get a nice menu that saves it to the camera roll, on Android apps have no consistency and there will sometimes be a direct button that can do that, while other times there will be a menu to bring up the choice. This makes switching between apps confusing and frustrating. In order for things to look better, I would need to download a skin, which various manufacturers (Motorola, HTC, etc) create. While it is true that this is a matter of taste, and that this cannot currently be done on iOS without jailbreaking, I truly would never want to. iOS is gorgeous, and Android simply does not live up to my expectations in the entire UI/usability department. Sure, I’m a quick learner and it doesn’t take a rocket scientist to operate and Android device, but that really isn’t a reason to forgo the beautiful, fun, and easy UI that iOS presents. I must admit that this is my single largest reason for me choosing iOS over Android. And it isn’t superficial: it affects how quickly and seamlessly I can use the OS. It’s largely the same reason that I chose Mac OS X over Windows XP, Vista, and now 7. It’s not simply about beauty, it’s about easiness: less mouse clicks, less finger swipes, less page flipping, whatever! It’s the difference between flying first class and economy. Sure, it works. Sure, you still have a little video player to watch in-flight movies. Yeah, you can still buy an overpriced drink. But the seat in which you consume these things is cramped, public, and subject to constant adjustments thanks to the guy in front of you adjusting and re-adjusting his reclining position. (And did I mention the woman next to you who just won’t shut up!) I hope I don’t have to say which OS is which.

Now then, I know that by this point Android lovers may hate me, and iOS lovers are cheering me on, but there are quite a few things that I wish were available on iOS. In fact, part of why I will stick with iOS is because I trust Apple to someday implement these, and do it at least as well as Android. Likewise, one could, if they didn’t mind the Android UI, trust Google to fix Android’s default UI in time.

The notifications in Android are superb, perfect examples of how notification systems should work. I consider notifications to be a major part of a mobile OS, and iOS does it all wrong. You get a text message, and then a Facebook notification, and then a We Rule notification, and all you know by looking at the lock screen is the We Rule one. That’s got to change. With Android, you know of all three because the status bar slides down from within any app to show them to you in list format, where texts can be responded to instantly, and other actions can be taken to deal with different messages. You can poo-poo messages away if you want, or you can leave them to be acted on later. And a nice little icon alerts you to the fact that, yes, you actually have notifications. It’s much, much better than the way iOS does it. Also, while both OSes can multi-task in similar ways, Android handles background tasks better: downloads are treated like notifications for instance, so when Dropbox is syncing a file, you see the actual progress by swiping down on the status bar.

Another area in which Android excels is the home screen. While (as I said before) I abhor the physical buttons mandatory on Android devices for the standard UI to work properly, I like being able to use the home screen in the same way that I might use a computer desktop: put widgets that give me important information, put shortcuts to things within apps, put controls for music, or wifi, and then have a separate menu (or perhaps just different pages) for my apps. It’s not a perfect implementation though: iOS4′s app folders shine as a prime example of letting me organize myself, and easy badges show me notifications in a different way, but still a way that works. I like the idea of Android’s more functional dock too, one that isn’t constrained to simply app icons.

And that folks, is the word of the day: constraints. It seems to me like Google wanted to make an OS that was free of constraints (but that unfortunately many phone makers are building in… requiring people to root their phones in order to lift many ‘constraints’ eerily similar to how iPhones are jailbroken). They, in my opinion, succeeded. Apple, on the other hand, staggers out its features and gradually un-restricts iOS once it has come up with what it deems the perfect way to do something, eventually building up its arsenal of features.
I prefer, without even the slightest doubt, the Apple approach. The Google approach seems to build things in without regard for user experience, and it lacks a sense of professionalism. I shouldn’t ever have to free my RAM to use my cell phone, but Google runs out of memory and forces me to close apps I have opened. Apple does this for me. But, of course, it doesn’t stop there. I mentioned the only things in Android that I thought were better than in iOS above. In my opinion, iOS has the advantage in every other regard. The advanced media player (iPod app!), the ability to quickly buy whatever multimedia content I want from the huge, all-encompasing iTunes store on the device itself, the thoroughly awesome Mail app, and the simple, perfect, Messages app. Each are but small pieces of a detailed, refined experience, that no one seems to be able to copy as of yet. I hope it is eventually simulated, because it would force Apple to step-up its game, but truly there is nothing like iOS for a touch-based OS.

I’m going to keep Android, and update it when I can. I will look out for cool features, and continue to hope that it evolves into a better experience. I will say this though: if Google is unable to create something as seamless as iOS, and instead leaves that task up to handset makers, then Android has failed in its original mission statement to create a single OS for a plethora of devices, when the same OS could feel so different on different devices. Fragmentation is already a problem, and unless Google offers up something so good that companies won’t have to even try to improve it, we’re simply going to see the same thing as the world of Linux on the desktop. They need to be more solid in their design and approach, perhaps asking companies to install a specific variation of Android to achieve a similar experience across different devices, in the same way that Microsoft sells Windows. The problem is, Google doesn’t sell Android, so they probably can’t solve this problem alone. Apple, on the other hand, never has to worry about something like this. As they expand iOS to other gadgets (like the iPad, running iOS4 in the Fall and 3.2.1 currently) it will be fun to see how versatile it is. And as long as Apple continues to sell millions and millions of iOS devices, they won’t have to worry about a competitor controlling a huge segment of the market, like Microsoft in the computer space.

One thing is certain: this is where it’s at. This battle, this space, is burgeoning. What we are looking at is not the phone of tomorrow. We are looking at the changing face of computing as we know it, and that alone makes testing out different products and tracking each’s evolution fascinating. They might all fall to a single solution, or all could be a part of tomorrow. This is the growth of software that will eventually become ubiquitous enough to run the world. These operating systems will give birth to a shift in ideology. 20 years from know, when we think computer, we won’t think of the beige boxes of 10 years ago, or the laptops of today, we will think of products that are easy to use with our fingers.

It’s all very exhilarating!

Fix for non-hacktivated iPhone push service

[update, May 2nd 2010] Please see below for my *new* results. I have fixed the issue, at least for me.

      Here’s an issue that has plagued me for a very long time, and I think I’ve solved it. Time will tell, of course, and though I have a few ideas for what caused the problem I can’t say for sure what it was. 

      Here’s the backstory: I have three email accounts: MobileMe, MS Exchange, and an IMAP that does not support push. The MobileMe account is absolutely crucial to my everyday life: contacts, schedule, email, and I like having “Find My iPhone”. The other accounts are simply convenient.       I like it when all of my info is pushed to the phone, it adds a dimension to my whole workflow. I also like push notifications, chiefly for Sportacular and Facebook. Neither push nor email have worked properly for a very, very long time. Too long, in fact, and I absolutely had to fix it. Email wouldn’t even fetch, and push notifications would usually only come if my phone was in use/not locked, and every now and again they would come through normally. From time to time I would get an email or two around the times that I got a notification. It just wasn’t cutting it.
      There was a time when they did work, though, and what’s more is that it worked on (and was broken on) a different phone: I had brought my original 3G in to Apple because of a GPS problem and got a refurbished replacement. I had jailbroken a few times, but push used to work on my iPod touch which was also jailbroken and it followed me (push, not the touch!) throughout firmware upgrades from 1 to 2-point-something. Trust me, the hardware isn’t the problem. I decided the other day that I had had enough and learnt as much as I could about the problem and through trial and error have managed to get it working. I should mention that I have never hacktivated/unlocked my phone(s) to run on a different carrier. I’m with Fido here in Canada and have no reason to switch carrier. And many months ago, I un-jailbroke my phone because I found that it was slower jailbroken.
      So there you have it: I have a phone that has never been seriously hacked, service that I pay for in every sense (MobileMe and my cell service!) but no push of any kind.

Here’s what I’ve tried, and (so far) succeeded. I am currently in testing stages for at least the next few days. I did this on an iPhone 3G with firmware 3.1.2, freshly downloaded by itunes. Also, just some observations: the same problems are reproducible whether new MobileMe accounts (I opened one to test) or Exchange accounts are added, and the old ones deleted, etc. Push apps were installed, uninstalled to no avail, and the phone was restored, re-configured with all my accounts from scratch also without solution… so it isn’t the remote servers that are misconfigured. A friend with a 3GS also confirmed that her Exchange push (which is on the same servers as my own account) works just fine. I attempted to restore from restore mode, re-jailbroke and deleted things found in /var/root/something.


1- Put into DFU mode, NOT RESTORE MODE, and restore from scratch
2- When iPhone is restarting, it needs to be connected to itunes for activation. Don’t connect it right away.
3- Create a new iTunes library and sign out of any itunes accounts in the store section.
4- Sign out of any iTunes accounts in the store section.
5- Connect iphone only to activate (don’t chose to set-up as new or restore, don’t even touch that screen, just disconnect when the phone is usable)
Now it’s time to test the push notification service and push email.
6- Do nothing but configure MobileMe on iPhone (try your own stuff if you don’t have MobileMe, I suppose)
7- Lock the phone for half an hour and don’t touch it, then send yourself an email from your computer and see if the phone reacts. If it does, great! Now you know that the next thing you do that breaks push is your problem!
8- Revert to usual iTunes library, connect phone, set as new, sync nothing (uncheck sync applications in the set-up wizard). It would be a good idea to test it again and make a back up that you know works, so that you can revert to it in case something breaks.
9- Add everything to your phone gradually. One app at a time, one setting at a time, and between everything test by locking the device for ~15 minutes and then sending yourself an email. I bought the awesome app PushMail so that when I would email myself, at once I could test notifications AND email reception, and it’s great that now I get to actually see my emails on my lock screen when my phone is in silent mode, as opposed to unlocking it first to check my mail.

The things that, for me, broke push are what I’m still trying to figure out. I had tried restoring my phone, and push worked for a while (half an hour?), then stopped. Possible causes are that I had installed all three of my email accounts… or perhaps that I had simply restored and not restored through DFU mode. Both sound equally improbable. Then, the other day, push had also worked until I configured all three. The odd thing about that is my friend’s push worked just fine with the same Exchange account. Right now I’m at the stage of reinstalling all of my apps. It sucks that I lost all my preferences, but the payoff, having fully working push notifications and push mail, is far greater. I have taken a look at Pushfix 2.0, which is meant for hacktivated/unlocked phones, but I have read multiple reports and even contacted someone who never unlocked their iPhone and was able to fix push with it. When it comes right down to it, it’s not just a push notification service problem, for me anyway, since push notification and push email through IMAP Idle are not the same thing. However, I have found that when one doesn’t work, neither does the other. This would indicate that, at least, there is a common preference file or something. It seems that I truly am in the minority, though.

I will post results here as they happen, if I discover precisely what the problem is. I think, however, that it leans towards the mail accounts and not the push notification service. This is because I read far more reports online about MobileMe push not working than push notification. Furthermore, when mail push does not work I would still get some push notifications, albeit delayed and sometimes only when the phone was actively in use. If anyone out there stumbles on this post and has any info to offer, please, enlighten me!

[update, May 2nd 2010]
I have fixed the problem for me, but I can’t say for sure what caused it. I know only what it is related to, but not more than that.

After I set everything up as described above, push notifications and push mail were working great for 3 days and I was the happiest person on earth. The only email account set up was my Apple MobileMe account that syncs everything: calendar, contacts, bookmarks, and email, plus it lets me do a few other things. (paid service FYI)

I backed up my phone and decided: here we go. I set up my school Exchange account (McGill). Bingo! All forms of push stopped working yet again. I would only get notifications when the phone was actively in use, so my much-studied hypothesis is the following: there is a push certificate for the Exchange account that when added fails to allow push to work properly. I also know that the actual McGill Exchange implementation in general is just fine, since my friend’s iPhone 3GS has her McGill Exchange account set up and her push notifications as well as push email are working just fine. My laptop and desktop, however, do not get push McGill Exchange emails, only MobileMe emails! Thus, push doesn’t work properly for (my) Exchange account! I have since compared the details of both my and mf friend’s account and everything was the same, except the server our accounts are hosted on. I cannot be certain that this is the problem.

I also cannot be certain why push works when the phone is awake and in use, but not with it’s screen locked. A theory is that the push certificate constantly calls home (the McGill servers) to try and get the go-ahead to push email but is failing. To conserve battery, (and I know this one from my ipod touch days…) the phone abandons this check when the phone is locked (passcode or not) and this somehow brings down all push services too. But when the phone’s in use, calling home is one of the many things the phone is doing, in addition no working normally for my other accounts. Yes, I have a data plan. No, I’m not sure whether or not this theory is even remotely possible, and the iPhone OS is constantly changing anyway, so take that with a very large grain of salt.

And, for my final act, I restored my backup without the Exchange account set up and all is well again. I have been using my phone without this particular Exchange account for many months. In the interim, I added a Gmail Exchange account and it pushes just fine, just like the MobileMe account. I added my McGill email as an IMAP account, as most Exchange servers also implement IMAP. The iPhone currently only seems to support some IMAP push implementations, like Yahoo’s, so for Push email I use a great, highly recommended app called PushMail, which gives me a nice dialog box with the content of the message, subject, and sender. I also deleted my McGill Exchange account on my computers, and added the email as Exchange IMAP instead, and now it pushes to my computers just fine.

As I said, I can’t be sure what the problem is but there’s either a bug in Apple’s Exchange Server 2008 implementation, or a bug in McGill’s standard config for new Exchange devices. Most likely, though, the reason for all of this is not Apple, not Microsoft, and not me; I’m quite sure this is a problem isolated to my (and possibly several other) school’s Exchange account, seeing as other Exchange accounts work beautifully, both other accounts outside and inside of McGill.

Some day, I may try to re-add the account but in the meantime, I have the email I want and the push I craved.