Wednesday, June 20, 2007

5 Sins of Cross Platform Development

Recently I had the opportunity to try out the newest version of Full Tilt Poker's Macintosh client, having been an avid user of the windows client using the PC Desktop software Parallels for a long time.

While Parallels is a fantastic application it is still not "native" Mac, so I was really excited to use this new software, which got me to thinking about what makes for a good cross platform/cross browser (if browser based) port.

I've put together some observations from a usability perspective that can make the transition seamless and improve the user experience:

  1. Use the same user interface between platforms
    The first thing that struck me about the UI of Full Tilt's client was the attention to detail in making the interface the same. The size, placement of elements, sounds, and icons are identical to its PC brother.

    By making things the same there is no learning curve. People can pick up with either version of the application and know what to do and how to do it. Users take all their learning and simply apply it, making the experience seamless.

    This is an area where development can go astray, by not paying attention to small details, or by choosing to take advantage of platform specific features.

    This is one of the reasons that people complain about Microsoft's use of browser specific technology such as Microsoft's Active-X controller, which is not supported in other browsers, providing a poor user experience for users of other browsers.

    By using browser specific technology the user experience is not uniform, causing issues for the user.

  2. Use the same options and option placement between platforms
    Similarly, options and shortcuts that are only offered on one platform confuse the habitual user, and may lead to abandonment of the application on a platform.

    This is another instance where the Full Tilt software does a great job. All the options and their placement was the same from one client to another, making the experience seamless.

    Some applications are core to getting work done, with these types of applications there is little option for alternative. The Full Tilt software falls into the 'optional' category, where the user can make a choice. By keeping all the options the same, impediments to remaining with the same company's software are removed.

    The Blogger software is an instance where options (for editing stories) are different between the Mac and PC platforms. On the PC the feature set is more robust. Options such as adding URL links, and toggling between 'Compose' and 'edit HTML' are absent on the Mac. The spelling option, while included on the menu bar, does not work using the Safari browser.

    These inconsistencies give me the opportunity to re-evaluate what platform to work on, and even whether to switch applications to one more platform consistent.

  3. Make user settings transferable
    The ability to modify settings for display are actions included in most applications. Making it easy to re-setup a new, or upgraded platform makes users happy.

    Habitual use application rarely have their settings adjusted all at once. When a user sets up an application they modify their settings to their own circumstances, and over time refine them.

    This impetus for this refinement usually comes from external sources, such as reading tips/tricks articles, or conversations with friends or colleagues. These refinements become part of the 'default' user view and how to change them are forgotten.

    When platforms are upgraded or users change systems these settings are reset to the defaults, leaving the user to recreate the settings.

    An easy way to transfer these settings benefits the user experience and makes the user more productive.

  4. Maintain platform parity
    Microsoft is one of the biggest offenders to lack of platform parity. While the purpose of this article is not designed to bash Microsoft, you need only ask any mac user about windows based Microsoft products to receive an ear full.

    While MS Word is the product most often mentioned, it is probably Windows Media Player that is the most troublesome because new videos are not backwards compatible with older version of the software. This all stems from digital rights management additions to the software, but the results are the same for the user. Mac users cannot view these videos, there has been no update to the player for the Mac.

    The problem was magnified when Apple released a new PC that could not run the plug-in application Flip4Mac that allowed videos in Windows Media Player format to run within a browser, so for a time users of the shiny new MacBook pro could not play any Windows Media formatted movies within the browser.

  5. Give users an easy way to go back
    The last sin is the right of the user to give up and go back to where they were - to undo. For some applications this is a one way ticket.

    Quicken is one such application that the file format (within the same version of the product) is different based on the platform, making it very difficult to move between platforms.

    Sometimes it hurts less to not be on the cutting edge, and user choose to downgrade only to find out that this is not a possible option, leaving them in application purgatory. Minimally the user should be notified if the upgrade is a one-way trip, but the best approach is to allow a user to downgrade without penalty.
There are lots of reasons for breaking these rules in software development. Most often is it an issue of time or money that trump them. In response, it is important to remember Newton's law of motion, 'for every action, there is an equal and opposite reaction'. These reactions come from the user who may suffer in silence, but may vote with their feet.


Post a Comment

<< Home