I prefer web development to mobile development. The reasons are many:
- Unlike most people (apparently), I prefer not only to generate but to consume on a desktop PC versus a mobile device.
- I also generally prefer generating stuff in equal measure to consuming stuff. I get the feeling a lot of folks like consuming more.
- I've got an obsession with very large-format displays. I use side-by-side 30" LCD monitors. It's a luxury I indulge without guilt because I don't own a car. That's 5160x1600 pixels. And I want more but can't have it, but that's a rant for another time.
- Navigating content may be somewhat simple with a purely-touch user interface, but interacting with content or applications in any fashion is much easier with a keyboard and mouse.
- I don't like glossy screens. I hate glare. Desktop LCDs worth their salt are matte and I don't know a single mobile phone or tablet with a matte screen.
- I don't like mobile operating systems. Hopefully Windows 8 changes that.
So with that point of view, the frustration I feel when testing anything I build—such as this blog—on mobile devices is amplified.
With all of the programming capacity these mobile OS teams have at their disposal, I feel righteous being enraged about the following grievances that I've dealt with just today:
- Fixed position elements are basically broken on mobile devices. I tested on my wife's Android 4.1 phone and was shocked at how buggy
position: fixed;
is, especially when switching orientation.
- Older mobile devices are basically hopeless. I suppose this isn't something to worry about since, like users of IE6, people who own a two-year old mobile phone are used to the mobile web sucking. When my site sucks on their phone, it will be nothing new. But here is a taste of what I'm talking about: I tested this blog on my ancient original POS Motorola Droid and, lo, the background color becomes white when scrolling downward. Obviously. It's unfair to expect a device that's already more than two years old to understand
background-color: #26282A;
. Background colors were invented in 2011, right?
- Responsive design is interesting to me but there still isn't really a decent way to know when you're dealing with a purely touch user interface. And even if you are on a touch device, knowing what is too small for touching can be a real ordeal.
The Modernizr.touch test only indicates if the browser supports touch events, which does not necessarily reflect a touchscreen device. For example, Palm Pre / WebOS (touch) phones do not support touch events and thus fail this test. Additionally, Chrome (desktop) used to lie about its support on this, but that has since been rectified. Modernizr also tests for Multitouch Support via a media query, which is how Firefox 4 exposes that for Windows 7 tablets.
Modernizr docs
- Basically, I want to have a selector that I can use to ask the browser: Say, do you think the user is aiming with a mouse or their thumbs?
- SVG support, especially animation, is basically junk. The animated background doesn't run on Android 4.1 and it's not even cropped correctly.
So for the time being, I'm not targeting mobile with this site. I'll eventually tackle it, but probably after I get a Windows 8 Phone.