Graceful Degradation vs Progressive Enhancement

Graceful Degradation vs Progressive Enhancement Graceful degradation and progressive enhancement are two often confused concepts. Many people (developers, designers, other web professionals and not so savvy people) either fail to understand or decline to acknowledge the difference between the two. Both concepts are useful. Both are good practice. But: I believe that the subtle differences that people often ignore between these two concepts are also the reasons why progressive enhancement is a superior concept and a superior practice. Graceful Degradation Graceful degradation states that we should implement our new tricky features and then provide a graceful degradation for less sophisticated browsers/clients. The concept comes from computer science originally and states that a system or network should be able to remain functional even when a large portion of it is destroyed. Progressive Enhancement Progressive enhancement is a concept that essentially works as the reverse of graceful degradation. Rather than modifying our system to degrade for older browsers, we build it initially for those older browsers and then progressively enhance the experience to make use of newer technology. I believe this approach encourages designers and devopers to produce a product that functions well in older technology, where there is a tendency with graceful degradation to compromise on the solution for older browsers. Why bring this discussion up again? I’ve been teaching the web course at Shillington College the past few weeks and the discussion of students topics comes up on numerous occasions due to the nature of the HTML5 and CSS3 technologies that we are now teaching. The advent of these new technologies has seen the topic of continuing support become...

Sparrow for iOS: Interface design done right

Things I absolutely adore about the Sparrow interface: Facebook integration and gravatar make email more beautiful. I like pretty interfaces, they make me happy. Attachment interface is genius. What would make me super happy would be some way to attach files out of Dropbox or Crashplan (or even iCloud, i guess) – that would mean I could more or less operate completely on my phone. The recent recipients feature in composing mails is pure genius. The double stacked hidden sidebar is impressive, they’ve stacked a lot of info into a small space. Ditto the Inbox-Unread-Starred-Priority switching interface. The “more actions” bar at the bottom of the message screen is great. I like how it draws from the path fan, but makes it more direct, closer to my thumbs and cleaner. Not everything is peachy though, despite being the best iOS mail experience I’ve had to date (I’ve tried Mail, Gmail.app, Gmail web, Sent) Sparrow still has room to improve – and I’m not just talking about push notifications (Read about why it’s not their fault here: http://www.sparrowmailapp.com/push.php) Things I’d like to see Rich text support in signatures Despite Apple’s Mail.app (and other mobile Mail clients) opting to default your signature to a message telling people that you’re on your phone.. I very much prefer to NOT tell people. I want all my mail to look like it came from one device (let’s call it device agnostic mailing). Thus, I would like to be able to either a) copy my rich text signature or b) sync my signatures from Sparrow for Mac to my phone. Custom Signatures for aliases This could be me but I host mail for about 8 domains off my...

Gmail iOS app – Now supports push

Google finally got around to updating their iOS app – it now supports push. Since I’ve blogged a bit about Sparrow recently, I figured I’d give everyone a quick update on where my iOS mail usage is currently sitting. I stopped using Sparrow on my phone. Mostly because I hate Boxcar. I would definitely give Sparrow another try (once push gets implemented). I used the Gmail app for a few months while I was in London, probably 2 years ago now. It was ok. The two glaring issues I had with it were its lack of multiple account support, and it’s lack of native push support. Now that it has push, I’m giving it another shot in my workflow. What I’ve done is disable Mail in the native iOS mail client for my primary email address. I’ve then configured the gmail app to support that address. Basically, i get the Gmail interface for MY mail account, while my other accounts still sit in Mail. So far (ie: about 45 minutes) it seems like a viable solution. The plan is to try and get by for a week using the gmail app in place of Mail for my primary...

Snapguide – iOS Interface Design

So, a few weeks ago I came across Snapguide. It’s a great howto and guide app for iOS. The thing that really struck me about this app is how well thought out the interface is. iOS is a great platform for building apps to consume content, however content creation is somewhat limited. The only apps that really do a good job of content creation are simple, one step creation apps (like: Instragram, Facebook etc). Where you only create one piece of content, and you provide minimal information. Snapguide, on the other hand, has an inbuilt editor that allows you to create detailed photographic guides, all from the “comfort” of your iphone. The app basically asks its user to take photos of each step of a process and annotate them. It then joins these steps together to make a beautiful guide. The true interface magic is in the creation process. It actually makes it simple enough to take each photo, annotate it and add it to your guide. Also allowing you to re-order the photos and edit the guide (before AND after publishing). In testing the app, I created this guide (which went to their homepage features for a few days – and got a fair few likes as well): Make Paleo Tabouli. On a side note: i would highly recommend trying this recipe if you like tabouli.....

Quick tip: Grounding a site design in Google Chrome

As Google Chrome’s market share grows it has become necessary (in my pedant’s eyes) to acknowledge that some people will be viewing your site without a status bar and subsequently with no grounding or footer space. In order to combat the unsightly finish this gives to a site, I have decided to include a border-bottom: 3px solid #ccc; in the body style for the new Outside In Media site – http://outsideinmedia.co.uk A minor issue, but also easily fixed.. so check it out.. and maybe you might want to use it in...

Target=_blank kills usability

Adding a target=”_blank” attribute to an A tag has long been seen as a way to keep users on your site. This logic is fatally flawed (i was under the impression that this was commonly agreed upon, however i’ve had to argue the point with a few people recently).  Firstly, what does target=”_blank” do? this attribute makes a link open in a new window (or new tab in some more modern browsers) – the thinking used to be that the user was therefore STILL on your site as well. However this concept breaks the standard usability in the browser: the back button stops working – often times leaving the user confused. Furthermore, advanced users will automatically use CTRL/APPLE click to open links in new tabs anyway, so this functionality has no real purpose. Keeping a copy of your site open as well as the link that your user wants to see was often seen as leading to longer visit times on your site – however this statistic means nothing if there is a window in front of your site that is showing the user different content. Also, if a user clicks on an external link from your site and they don’t want to come back and keep reading your content, then you having sneakily left a copy of your site open behind the link they clicked is more likely to irritate them than help them – and the last thing you want to do is irritate your audience. So don’t target links to...