Showing posts with label desktop. Show all posts
Showing posts with label desktop. Show all posts

Wednesday, July 15, 2009

Browser Sniffing on the Mobile Web

Browser sniffing holds a level of stigma in the web development/design world, as we have been spending years and years creating cross-platform, cross-browser sites that use more robust techniques of singling out browsers, rendering engines, or platforms as a last resort through our knowledge of what's supported - CSS conditional comments, JS object detection, and various tricks and (if needed) hacks both client and server side. It has long been our practice to create a solid separation of presentation, content, and functionality in a way that degraded gracefully (or more recently, progressively enhanced).

This has worked well on the desktop platform, from desktop workstations to notebooks to tablets.

The Age of Rich Mobile Computing

So the question becomes, what to do with the mobile platform. For years, there have been very basic mobile-specific pages for basic phones with tiny viewports and browsers that couldn't handle much more beyond HTML, with notable omissions of support in areas like CSS and Javascript.

But ever since the iPhone brought fully-featured mobile browsers to the mainstream, there has been this huge trend of companies creating iPhone-tailored sites designed for the width of their viewports, and guaranteed to work on W3C standards-compliant browsers, including Webkit-based ones like MobileSafari, and soon after the ones on the Android and webOS platforms, which currently also have devices with similar viewports. Consequently, these iPhone-tailored sites generally automatically work well with most modern smartphones with full browsers, effectively creating a second tier of mobile sites for smartphones.

For the iPhone initially, it seemed both sensible and insensible simultaneously that people were creating sites that fixed themselves to a specific viewport width. One of the great abilities of MobileSafari on the iPhone was that zooming on small screens was finally easy with the pinch gestures, so coupled with the full HTML/CSS/JS browser, there would be little reason not to experience the same full website used on the desktop platform. Even considering this, however, people still designed sites that negated the pinch zooming.

Still, with a smartphone version of the site, you would ideally be served the same information you need in a way that didn't require any zooming at all, because the user is still otherwise pinching his way into a zoomed out preview of the page that he can't initially read. But sometimes smartphone sites aren't thought out as well, and information or features end up missing.

In some cases though, desktop versions of sites are so mobile-unfriendly (Facebook desktop site) that we pretty much have to rely on mobile sites or native applications to access them on mobile devices.

But there's a lingering question that we may all face in the coming years - at what point is a device considered a "mobile" device and not a desktop computing device?

Drawing the Line at "Mobile"

In late 2008, I had this discussion in an iPhone development forum where I wanted to know how to allow a user to use a link to exit a mobile page back to the full desktop site, without cookies and without having the desktop site's mobile browser detection causing an infinite cycle between the desktop and mobile sites. In other words, just as many sites were doing, I was automatically directing all appropriate mobile devices to the mobile site, but wanted to offer an option to return and remain at the original version.

We came up with a solution, but not before having a heated discussion over whether browser sniffing on the mobile platform was a forgivable exception. My point was that most phones beyond the iPhone did not possess easy pinch zooming, and magnifying with a trackball one square block at a time was not a pleasant experience. Beyond that, there were functions most mobile devices could not yet handle so smoothly, such as click and drag, and general mobile-specific features like data detection (phone numbers, addresses for maps, etc).

But the best counter argument I heard that makes me reconsider is that the line between desktop and mobile computing is not as clearly defined as we think, especially if you think about the smaller 7" netbooks in the middle of the spectrum with screen resolutions in the 800x480 pixels.

It's possible this gap could shorten and fill over time with in-the-middle devices like these and other devices with smaller resolutions. For comparison, the iPhone family of devices sports a 3.5" 480x320 pixels screen.

It's also possible this gap might remain as sparse as it is today, if we assume that the 7" netbooks are roughly the smallest non-niche form factor the mainstream is willing to bear on a desktop platform with a two-handed QWERTY keyboard, and that today's smartphones with thumb-based QWERTY keyboards (hard and touch-based) are in the upper bound for mobile to remain pocket-friendly.

Ideally, we do want our fluid layout pages to scale down well to the current mobile category of devices, and not to serve and maintain special mobile versions of our sites. As it stands, the gap still holds, and for the sake of the user experience in the present day, this is how many of us will approach it. We'll see where the future takes us from there.

Wednesday, June 24, 2009

The Case for Too Many Mobile Apps

One point of contention with my usage of the iPhone is that I'm one of those people with so many apps, to the point of reaching the nine screens limit characteristic of the OS prior to the version 3.0 release last week.

One of the common rhetorical questions laid about before me was whether I actually use all the applications on my smartphone. This is a fair question, and the answer remains that it indeed comes down to a handful of applications I can honestly categorize under frequent usage.

The Desktop Analogy and Occasional Use

But that's the thing - frequency of use. Users like myself like to treat their smartphones more as portable computers than just powerful phones. That is, people like me want all the occasional-use applications on the phone, just in case. It would be analogous to the myriad of applications installed on a Windows, Mac, or Linux desktop environment. I may not burn DVDs or CDs on a daily basis, but I'm not going to reinstall Nero Burning ROM every other month for each time I need to burn an optical disc. Likewise, I'm not going to reinstall an ATM Hunter app or Starmap app every time I occasionally need it.

The last thing a user wants to do the moment a task needs to be done is to install and configure settings. (In general, desktop software and mobile apps lose some or all customizations and data upon removal.) Essentially, it's all about the convenience of having the tools and resources you need available to you, even if you only use them once in a while.

It can seem overwhelming to an observer seeing a user swipe across eight or nine screens of apps on an iPhone, and it's certainly valid that it can look like a random mess. It requires relying on memory of where a particular app sits (turns out to be easy for the primary user, but slower for guest users), as well as reorganization of their icon order on the pages. For example, there seems to be this trend of people sorting by a gradient of usage frequency, with the most used apps on the home screen, and gradually sorted towards the least used apps on the last screens.

Search versus Browse, and Low-Use Applications

In the case of this phone, there's no function to sort all apps by name or any attribute, but the default behavior is that any new app gets placed at the end, or in the first gap on a screen's icon grid. That effectively sorts by last added. If you're installing all applications in a huge batch, such as if syncing for the very first time with apps all sync-ready in iTunes, then they install in alphabetical order by name. Beyond that though, it's all manual sorting.

So when version 3.0 released with its Spotlight global search feature and removal of the cap on number of apps, the iPhone OS seemed to step closer to this desktop computing behavior. The search versus browse mentality is very much like the live global search on a desktop platform, such as with Spotlight on the OS X menu bar and Windows Search in the Windows Vista/7 taskbar. You still browse for applications (and anything else from emails to calendar events), but for anything further out of reach, such as low-usage applications, the search part of the hybrid system comes in handy.

Linear Browsing versus Planar Browsing

It's also worth noting that another suggestion I've come across is to allow vertical swipes for vertical pages/screens, whereas the iPhone OS maintains a horizontal row of pages that only move left and right, with dot indicators at the bottom to show the current position. This is a linear approach. It has its cons, but it's arguably easier to keep track. Typically, most other phones offer a single tall vertical page with scrolling for all applications, and movement is also linear, with the scrollbar being the indicator of position.

The Palm Pre takes a different approach with a grid of screens of icon grids. This could potentially mean less swipes when browsing, provided the user can keep track of position. There are stick indicators showing where you are on the grid. This remotely like organizing by workspaces in Linux or Spaces in OS X, and its only limit is how much the user can remember about the position of a specific app in a cartesian plane instead of a linear. The question then becomes what the threshold is for how much we can handle - 2x2, 3x3, 4x4? Will a user remember that the Pandora app was on the Marsha part of the Brady Bunch grid? Or was it the Cindy part of the grid? We risk confusion, but it's an expense for the gain of quicker movement on a 2D plane. In some ways, this kind of planar browsing is much like that of desktop computing, except with a much more limited screen size to do it, so we'll see how that plays out.

Convergence

For years and years, people and the media alike have been talking about the convergence of many different kinds of devices into one, for better or worse. In the case of the mobile devices, its evolution towards becoming more desktop-like is one part of this continual convergence, not necessarily towards one single device for all, but certainly towards the further blurring of the lines between them all.