Wednesday, October 26, 2011

Why Mobile Safari is the IE6 of Today

I just completed my first mobile app.  Yes, I'm at least two years behind the curve.  What else is new?  Here's what I learned:
  1. JQuery Mobile is a waste of time.
  2. Everything works as expected on Android Mobile and Tablets.
  3. Safari Mobile will not respond to javascript "focus" events.
Let me explain in more detail.

Regarding #1:

I really wanted to like JQuery Mobile because I'm a big believer in JQuery.  But like JQuery UI, the code is very heavy and their CSS is very restrictive.  But the mobile product takes it one step further by adding animations that are SLOW.  It desperately tries to mimic native application behaviors like sweeping screen transitions that users ultimately don't care about especially if they hurt performance.

Regarding #2:

That's just it.  On Android Mobile browsers, everything just works.

Regarding #3:

This quora post explains the problem well:

http://www.quora.com/Mobile-Safari-iPhone-or-iPad-with-JavaScript-how-can-I-launch-the-on-screen-keyboard

And the money answer by Allen Pike says it all:  "focus() doesn't bring up the on-screen keyboard in Mobile Safari by design. A lot of sites would do focus() unnecessarily and bringing up the keyboard is slow/intrusive."

Intellectually, I understand this point of view.  But it's an attitude that onlyt a company with 90% market share gets to have.  And it sucks for the rest of us.

    No comments:

    Post a Comment