Feature Friday: Friendly Failing
Mobile is a less reliable environment than the fixed web. Things don't always work exactly right. And so failing in a friendly way is really important. I particularly like the way Instagram handles this.
I went on a bike ride this morning out to Lazy Point. I saw a sign that I thought was great. I took a photo of it and shared it to Instagram and Foursquare.
Except, of course, there isn't good cell service out at Lazy Point. Which is a feature not a bug.
So after sharing the photo into Instagram, geolocating it on Foursquare, sharing it out, the upload failed. In many cases, all the work I had put into getting to that point would have been wasted. The app would have just said something like "upload failed" and I'd be back to the starting point.
But in Instagram, you get something that looks like this:
The first time I got this fail message on Instagram and saw that reload icon, I thought "brilliant." That is friendly failing right there.
So I finished my bike ride this morning and when I got home, I took a photo of my phone, then using my home wifi, hit the reload icon, and the photo got posted, shared, and all was good.
There's a lot to learn from the way Instagram handles this experience. They save the action you wanted to do in its entirety, and they keep the app in that state until you choose to try it again, or choose to exit out on your own. All mobile apps should work this way. Many don't.
Ahh! Stre-e-e-e-e-tch. Good morning! Friendly failing here at work, too. Nobody’s here. Echo-echo-echo-echo. Must be summertime!
Good morning and happy summer to you Karen
If your product lacks a feature, people may complain. If your product promises to deliver a feature, then fails, or is glitchy, or otherwise doesn’t work, people get angry. This really is a great solution (Apple can take a hint) *coughSiricough*It’s all about making the user work less.
Unrelated, but I’m dying to say this somewhere:I loaded 1 of the leaked ROM’s of Jelly Bean onto my Galaxy Nexus phone. IT IS AWESOME! Like a totally new phone. endless list of improvements. These sorts of hacks are usually buggy, but this one seems flawless (so far).Instructions are all over the web; i’m happy to help anyone here.
my nexus 7″ is running 4.1 androidis jelly bean 5.0?
4.1=JB, so you already have it on the tablet. But put it on your Galaxy Nexus phone too and you’ll be impressed. 5 minute job, if you know what you’re doing.At the I/O conf, they gave everyone the tab and a Nexus phone loaded with JB. That ROM has been grabbed and tweaked to allow rooted installs. These can be disastrous (and obviously breaks warranty), but this one is super smooth and stable.
yeah, it’s very nice. the best version of android i’ve used to date
Rooting has aways been troublesome especially across versions. Jailbreaks are a little more intuitive and you get Cydia.How is it “smooth and stable?”
I’d generally say the opposite. The biggest diff between jailbreaking (iOS) and rooting (Android) is that Apple really doesn’t want you to do it, while Android is open source and thus encouraging of extension, in theory.Agreed that any of this should be viewed as “experts only”, I’ve rooted a dozen phones quickly with no problems. Sometimes rooting is just setting superuser privileges and doesn’t even wipe the data.”smooth and stable” = just that. This build is clearly tested for this device and not a hodgepodge port from some other device, or adding custom features, with inevitable bugs.
@kenberger:disqus I dev’d an in-house rooting software where we need more than SU access, so that’s where I was coming from. But I appreciate the observation that Android is open-source and iOS is closed – definitely has an impact.Just picked up the jelly bean SDK for the ‘smooth and stable’ tests. Less ‘blurry,’ for sure.
Do the jelly bean Fred.
Too bad that in reality, a guy at the stature and responsibilities of Fred’s can’t really do this w/ his main phone without some risk. How can he tell for sure that there isn’t some wiretap app baked into the ROM?This actually happens a lot in Asia. Someone “borrows” an executive’s phone and then returns it with an unwelcome parasite included…
Wait doing jelly bean Fred.
and actually, for the GSM-version GalNexus, the official JB will be out to the public this month.
umm, reviews? please?
This video is well worth watching for discovering the JB improvements, even some hidden ones: http://youtu.be/FE1WxgYtqqAThe reviewer is my “go-to guy”. He does great reviews and step-by-step directions for some install procedures. Also helps out personally if you’re in a jam.
Good for you. You should write a review at your website (if you have one)
We are working on something here and, with no Internet connection, the sync just fails quietly in the background. Next time you run the app and are in wifi range, it just works again. I have loved it in our trials as it allows me to keep using the product without having to worry about the nuts and bolts of connecting.
Wow, the same 30 year old issues but now with mobile. The IT industry is like the movie 50 First Dates!BTW, eMOS provides this to all applications built on it.
“Except, of course, there isn’t good cell service out at Lazy Point. Which is a feature not a bug.”A friendly fail in its own right. 🙂
Fail is right.. I have been talking with some friends recently and the question was raised; If we can have universal health care (opinions aside) than why can’t we have universal wi-fi. With today’s reliance on a wireless and mobile, my contention is that we should have public wi-fi everywhere.
Universal wifi would be so boss.
It really would be, 4G LTE? Pshh Fi-Os wi-fi on every telephone pole. That would be amazing.
Universal wifi/fios, universal healthcare. What else should the new world we envision have?
Universal ping-pong tournaments, updated live from the universal wi-fi and injuries could be fixed from the universal health care.
Universal greenmarkets for produce buying?
How about greening NYC rooftops? And then add some herbs and produce.
That seems like a good method to grow some more veggies..
I think there is a grant program to do this actually because of the heat the rooftops in ny seem to be capturing. I know there is definitely one for painting roofs white…Otherwise 100%
Fiber Optics as a consumer standard would also be cool. We can have super speedy speeds at almost no cost….
There’s still not enough research on what the long-term affects of wireless is on biological systems / humans, though we do know it affects at least a small portion of society (some even very severely), others – how subtly?Just as a cautionary reference – mental illness, ADD, autism, etc. have all been dramatically increasing over the past few decades – and this isn’t connected to just better reporting mechanisms.This could be fully or partly due to food quality and pollution, chemicals we ingest, air we breathe, though it could partly be from wireless signals and energy we’re putting into our environment.It would be best to study this further, and determine ways to minimize effects.An all-or-nothing approach isn’t appropriate due to the value of being mobile has, nor is being indifferent or careless to those who may be affected by it.I don’t have time at all for a big in-depth discussion over why it matters, and why each individual person matters how they are affected by the environment, though all in time..I do however believe telecommunications should be a right as access to information is empowering. That doesn’t necessarily include blasting your city from the ground or even from satelittes in space to create total convenience at a potential cost of health.P.S. Just as a reference, the World Health Organization wants all nations to recognize that our bodies act like an antenna, and that we do absorb energies.
Interesting, this is literally the first time I have ever heard of this. Hopefully we can find a solution to both!
Europe has had much more social activism around it. Cellphone companies have billions of dollars of profits to counter any research, and whatever methods are used to lobby and persuade the public against potential bad news.We also know that regular / heavy cellphone use shows a 10% increase in specific types of brain cancer (near the ear), though who knows what the exposure to your blood and bone does? What about when in your back pocket? Side pocket? Especially with push technology and the phones regularly transmitting.Just some things to be aware of.You’re actually supposed to hold your iPhone, BlackBerry and other devices (as many state in their ‘terms’) around 3/4 inch away from your head / ear.And then I ask, do you ever seen anyone not holding a cellphone right next to their head?
It makes a lot of sense. You seem pretty passionate about this. Re: “And then I ask, do you ever seen anyone not holding a cellphone right next to their head?” Not really, the only response I have is; speaker phone and bluetooth but I’m sure bluetooth is awful for you too.
I’ve been paying attention to it for awhile. All of my projects have a wellness-intent behind them as well, so I sort of observe and absorb anything related.
Re: Finding a solution – I believe one can be found, though it would happen a lot sooner if the industry put money towards research and public input and involvement, instead of towards defending and protectionism.
Acceptable risk. Plenty of other more toxic issues that we need to overcome. Ozone comes to mind.
“Acceptable risk” is quite the blanket statement. What if it turns out your children are sensitive to wireless and causes them problems?All of these things are interconnected, including ozone, and are of equal importance.There’s absolutely no reason they can’t be dealt with simultaneously and any changes that are found to be needed to be added into a holistic plan.
The world would be in big trouble if the Ozone layer diminished. That could very well be the apocalypse.
Nuclear war, peace, the ozone, natural food resources, other natural resources – they are all connected and at risk of worsening, and currently on the path of worsening – though luckily education and sentiment is changing, though will the majority enough who care ever happen or in time? I don’t know.
Great observations, Matt. Huge topic/concern. Toxic matters manifest themselves in many ways – processed foods, banks, politicians, pollution, … and media.We would all do well to try and remember to strive to detox ourselves and look for what is simple and pure in life.It’s a war.
The rise in incidence of the ailments you listed – ADD, autism, other mental illness – is not a reflection of any environmental changes. It is a factor of improved mechanisms of diagnosis, and greater knowledge share/cognizance on the part of parents, teachers, doctors, etc.
As I mentioned before, that isn’t true. An easy example is a red food colour causes ADD in many people, as does MSG. That red food colour is ban in France and a lot of Europe. That’s an example of preventative/proactive healthcare.Yes, diagnosis has become better, though the factors that lead to people developing these have increased too.
If you could, cite your sources? It strengthens your argument.
My own intuitive logic and based on many other things I read – I don’t have time to write a thesis on it though. I imagine Googling for questions may be a good start.
relax…just an attempt on my part to encourage some rigor to discussions of these important issues. I am an academic at heart. We cite sources. Intuition is not a source. No one asked for a thesis. Try not to see my interest in your thoughts as a personal attack; I am honest, direct, and truly curious about these topics.
Equally, if you have sources/references that prove it’s only better diagnosi, and disproves that there are other factors involved – then please do share too. 🙂
Sorry to be so late in reply; here’s an article on rise in Dx and why: http://bit.ly/GBmuMh
No worries. My thoughts..i) 10 years isn’t a very long time to show changes from. Different food colour dies, MSG, and many other factors we know cause / increase ADHD in a fairly large portion of the population.ii) “shift in one decade is likely due to an increased awareness of ADHD” – that’s not a very resolute conclusion, though perhaps is fitting for a timeframe of only a decade.
Additives are thought to only be a causative agent in 5% of diagnosed children. http://bit.ly/O7TFP0
Most people who are unhealthy are very unhealthy. Even specific foods can cause ADHD in people, perhaps even temporarily.I question though, how do they know that these additives or other substances didn’t wire their brains a certain way through development – and now are more-fixed in their thought-patterns, etc.. than if they had never been introduced to them?The brain develops in the environment it receives. If that means developing to compensate – this though will reenforce those other ‘ADHD-like’ pathways to still exist. It’s called adaptation, though we know ADHD isn’t necessarily great – unless it can be learned from and overcome, and if the person is supported to learn how to be efficient – to harness it (not in the severe cases mind you).You have to look at the holistic view to pick out / identify all of the issues, and then deal with each one, and make sure you’re dealing with each one.
There is much to be learned. Neuroscience is complicated.
Agreed. 🙂 And then there’s education and awareness, breaking through the noise, etc.. Lots to do.
I studied for my (aborted) PhD in child/educational psychology. Looking at ADHD over 10 years is significant.
It might be signifiant in length of studies performed, not significant in reflecting how much the world has changed since 40 years ago. There are many things that need to be stipulated as a baseline. Even things like a child not having parents or a society fit to raise them (it takes a society to raise a child too – right?), meaning helping them through problems, working through emotional issues, etc.. and if you don’t then it will lead to different mental illness and/or dis-ease.The solution is preventing the newest members of our society from i) being exposed to things that will hurt them, ii) getting all of the supports they need, iii) being provided the tools they need to take care of themselves and to learn what they need.
There are places I don’t want wifi. Yellowstone national park is a starter.
Maybe I should have prefaced with wi-fi in all urban areas.
you mean you don’t want to see someone taking a picture of Yellowstone Lake w/ their iPad?
Sure, just don’t upload it. (also, I think a better camera is more conducive to capturing Yellowstone Lake.)
haha, people taking pix w/ iPads still weirds me out–it would be the same if they were trying to use the device as a phone or something, just seems out of place.True, a Canon 5D would be much better:)
because enjoying nature require patience for stillness and watching slow changes. Phones buzzing tends to distract from that.
Then have it on silent :). Better yet, just turn the phone off.As for WiFi, You don’t have to connect to it.Unless you are talking about other people around you.
Friendly fail.I’d like wi-fi everywhere just as much as anyone. But the idea that can still ride your bike to a place called Lazy Point and be out off the grid has its charm.
BECAUSE ARTIFICIAL SCARCITY MAKES LOTS OF MONEY.
I think that is a great idea. I read somewhere a few months ago that one of the reasons (there are many others of course) Tel Aviv became such vibrant entrepreneurial city is the introduction of wi-fi throughout the city.
Al Pacino said it best in Heat. “Don’t waste my motherf**in’ time!” That should be the mantra for mobile product makers. Profanity warning: http://www.youtube.com/watc…
“Great Ass” http://www.youtube.com/watc…The scene that I was actually looking for and couldn’t find (that I quote all the time) is “if he hadn’t said nothing I wouldn’t have thought nothing”. (That’s how law enforcement solves crimes and the reason you don’t use more words than you have to).
I completely agree that this is a crucial feature for mobile apps. Especially those with any type of upload or messaging. I really appreciate this feature in messaging apps because I like to return messages I received during the day while on my daily subway rides.
No wonder Jamie Oliver loves Instagram, has 1/2 million followers on it and routinely gets 1000 comments on 1 pic. His interview with @loic LeMeur at LeWeb is a good one to watch http://www.youtube.com/watc…Gmail is also a master at the friendly fail when the internet connection isn’t there and you’re in the middle of an email, more often than none, nothing gets lost and it recovers nicely.
Path is terrific too. it will try persistently in the background until the img gets uploaded. Waits till very late before it even admits failure. Just like a startup entrepreneur!
I like the persistence over holding the app in that state it was in @ point of failure….
The balance with power consumption is made (how many attempts, and at what interval). Most apps lean towards conservation of power and allow manual sync (the standard remote/server state exchange)
“NO MAKE USER HATE YOU” IS SIMPLE RULE FOR UX.TOO SIMPLE FOR MOST UX PROS TO UNDERSTAND.
i like to use the term ‘graceful degradation’ for this.it also has another meaning in web design: designing for more capable browsers first, and then designing for less capable browsers. these are two different concepts though.when i first saw the retry function on the native text application on iphone i had a similar moment.on mobile it has to be assumed that the network may drop out at any time. and designed for.should also design for a one eyed, one thumbed user who repeatedly gets distracted, imo
It’s a nuance, but what you’re describing in regard to making mobile-friendly design is a little different. In that case, I’d encourage “progressive enhancement” (start with a good baseline, and improve based on capabilities)” rather than “gracefully degradation”.As far as good error handling, that’s something any good software engineer should be aware of, and know how to write. Certain error cases, like losing connectivity certainly happen more on mobile, but it’s something a good ajax webapp should have handling for as well.What instagram has done a great job with is taking that fault-tolerant code, and raising the messaging to the end user in a friendly way with a good re-drive mechanism that doesn’t require starting over again.
yeah, progressive enhancement is definitely the preferred method. i was just pointing out its–graceful degradation–definition in another context. i wanted to be clear how i was using the term’As far as good error handling, that’s something any good software engineer should be aware of, and know how to write’should, yes. doesn’t always happen.
‘Certain error cases, like losing connectivity certainly happen more on mobile, but it’s something a good ajax webapp should have handling for as well.’here’s an example from gmail i like: http://www.flickr.com/photo…webapps and mobile are the same thing: mobile first
Chris, what you are describing is part of what I call “compassionate design” and it’s extremely important to me. It should include conveniences, protection from aggravation, and accessibility for the user. Too many products/services take shortcuts here and deliver for just part of the market or make assumptions about user grasp of UI/UX which are not correct. Each user is different, so what will they “see” when they interact with the design; what’s obvious, what’s not?
it is not the feature as much as the thought process that went through the minds of the engineers at Instagram that is of value to me. I am not sure such thought processes were there when say MSFT rolled of Windows 3.1 through Windows 7, i.e we have situations where things break/fail etc how do we mitigate the failures in a way that is not detrimental to the product and user group.We are developing a product and service for transportation and every feature we have tried to think through how we can make it simpler while delivering the full value. It has taken some time but we are happy with the results so far.I would say that as a designer/engineer it should be something one should think about and not accept that every aspect of the product.service has value and at the least a placeholder should be there to tweak and fine tune.
I find it funny that this is a feature being celebrated. It’s common sense. Who wants to lose a photo they’ve taken and are trying to share it?I understand there are lots of apps that don’t think through the user experience, though that’s why they fail or why a competitor can come in.I understand too that certain features don’t become apparent until you start using a product that’s being developed, though that’s why we have agile development, to allow for a fluid mindset of evolving product.
Am I overdoing it thinking it should report, “Failed – connection dropped” or something like that? “Failed” doesn’t seem like enough information…
Error messages should really only contain addressable detail.ERROR_PIPE_CONNECTED535 (0x217)There is a process on other end of the pipe.
i agree. error messages should be precise.there should also be no implication that it’s the users fault. just, ‘failed’ doesn’t exclude that.they’ve got actionable options along with the message. which is good
Even that’s not close to enough. A significant part of the market are not tech savy and don’t want to try and figure it out. The software needs to anticipate the questions. What does “failed” mean. Where’s the picture? When will it be sent? How do I do it?
Maybe RichardF has it nailed. These apps should just act like SMS and keep ‘firing’ until they achieve success. (Although I have had SMS go into the vapor.)
I agree, Kristen. The event as Fred described it was helpful, but the messaging was incomplete. Not only is the “Failed” message sparse, but the use of the reload button requires an assumption that should be clarified.
Simple is best. There are many reasons why it could have failed. When Instagram was down, it “failed friendly” with the exact same message and I kept my photo there until the service came back up.
I love that Instagram doesn’t just lose the update but I often forget to go back and hit the retry button until much later. Path, on the other hand, has taken it one step further where they just silently post it in the background when they can (although it doesn’t flag that it hasn’t actually been shared at any time).
Great topic…Failing to upload a photo or check in FourSquare is one thing. And ‘Friendly Fail’ as in “I’m sorry’ between friends for forgetting that you liked milk in your coffee is really a smart way to do this.For failed transaction where you aren’t sure whether it went through, changing a flight on the fly type of stuff it’s harder to be ‘easy’.Points to two things for companies in these time sensitive, critical mobile situations:-have as much as possible that conversational relationships with your customer. Familiarity breeds patience and acceptance.-understand the customer freak out point and figure out how to address this.
the “freak out point” and understanding it — yes!
Bringing calm back to a person near or over the freakout point is a wonderful bonus.
that is what Apple does so well. Their products are not far superior or completely revolutionary, but damn are they nice.
Ideally your app has a local database where user actions are recorded while offline. These transactions are synchronized with remote servers when reconnected. Much like a message waiting in your outbox can be edited, and then placed back in the outbox, all while offline. Confirmation of important actions going through is key.
“have as much as possible that conversational relationships with your customer. Familiarity breeds patience and acceptance.”So true. Also makes you blind to things that those less familiar see instantly. Not sure of the psychological concept.
IF APP IS FRIEND, FAIL SOMETIMES OK.IF APP IS ENEMY, FAIL NEVER OK.
“Familiarity”Along the same lines one thing I found when people proofed typesetting jobs was that they tended to miss typos in common words (say their city or phone number) but almost always catch typos in difficult words. They see the common words as a chunk and their brain misses the individual letters which magically appear in the correct place. A difficult unfamiliar word they slow down and go letter by letter. This was pretty consistent behavior.
Interesting….I remember a short stint as a proofreader where we read outloud to each other as the final proof.
You know it’s going to happen so prepare and provide a simple workaround. Hug your customers…
Soundcloud’s app works a similar way, which I love for field recordings in the subway.Also this: “Except, of course, there isn’t good cell coverage out at Lazy Point. Which is a feature not a bug.”I spent last weekend camping, with no coverage on the lake or at our campsite. Six adults there and I only saw a phone twice in four days, both on trips into town for supplies. Definitely a feature.
Definition of a good place to relax these days, somewhere with terrible connectivity!
My definition http://360.io/rGjJqb
Or just learn how to let your mind be still. 🙂
I need a new yoga program…*sigh*
Bikram! Former devotee here. Until my knees failed me 🙁
Bikram! Former devotee here. Until my knees failed me 🙁
Or by ensuring no rip-off roaming charges by disabling cellular data mode when out and about – only ‘connected’ (other than phone/sms modes) when in a WiFi (free) zone 🙂
Good Fun Friday… this is a great lesson to learn and so few founders/ mobile designers/ UX people put significant thought into itlikely because we dont ever “expect” to have processes fail – but as we all know we fail much more often… thanks for consistently great advice.scales outside of features/ functionality as well… fail gracefully.
MAIN PROBLEM WITH THE UNEXPECTED IS NO ONE EXPECT IT.
FAKE GRIMLOCK NOT PRESCIENT?! :-O
But it’s to a new feature, I saw it a few weeks ago. Instagram is very friendly to users, but sometimes it loads data to slowly, I’m not sure about optimization, but looks like sometimes
I think celebrating Instagram for doing half the job and not automatically uploading the content itself as soon as the phone gets into coverage is actually a serious design flaw, which speaks volumes about the state of the mobile app environment as a whole.We in the developed world take for granted the fact that coverage is readily available and cheap, but the fact is that most of the worlds population lives in environments where real-time connectivity is not readily available or is prohibitively expensive, and while the reasons vary the situation will not change in the near or medium term.If we want mobile applications to become truly global phenomenons and both benefit society as a whole and reap the profits of true global scale, we as a community need to begin developing applications for worst case scenarios that gracefully upgrade their capabilities instead of the “gracefully degrade” mindset of us privileged enough to live in a world where we take connectivity for granted and the lack of a connection as a hiccup.
I’ve always been in favor of applications that save data locally until service is reached and then reposts automatically; i.e. the mail client on my iPhone. I write 3-4 emails each morning on the NYC subway, send, and forget about them. The mail client saves the emails as drafts and sends when I get out of the subway.It saves time, eliminates the need to manually resend, and makes for a great user experience.
Exactly! On BB OS6 this function was removed but on OS5 and below if you went to a site during in a no coverage area u were prompted to store the link which would automatically be loaded when the device was in coverage. Why it was removed is beyond me but I loved the minimization of the hassle factor done on my behalf.
No, users usually don’t want you hogging up their bandwidth the second they get back into coverage. They are much happier if you prompt them or if they have to take an explicit action that uses up their connectivity when they get back into coverage. My company has a graceful notification when connection problems prevent users from uploading (it’s actually a feature; turns out people like to do scanning when they are on planes coming back from business trips; saves them time and gives them something productive to do when they don’t have connectivity.)But when users get back to having a connection they often want to do something really important that they couldn’t do when they were disconnected – stuff like check emails or use GPS. If you hog their bandwidth with less critical apps they aren’t happy. It really seems to be better to prompt them or let them choose to use their bandwidth.
These are some very valid points you make which IMHO only emphasize the point I was trying to make more.Some intelligence in how the automatic functionality is designed is imperative and is already in use with many telematics applications designed in the generation prior to ubiquitous coverage and smartphonesJust because a device is in coverage does not mean that this is the priority traffic, so parameters such as upload only when the device connection is idle or in a specific connection such as the home WiFi or office.
Don’t confuse users (or, people, as I like to call them) with yourself. I’ve never heard anyone express this use case, what they want is a hassle free way of making what they wanted to do just work, like magic. Steve Jobs had a wonderful quote about not making your customers into janitors…
Speaking of Steve Jobs. This functionality should have been designed into the OS with developer access and the onus should not be on individual apps.
The conversations we’ve had and surveys we’ve done with thousands of our service’s users happen to make my personal opinion not particularly important. People wanted to work offline with an app that was originally designed to be connected, so we had to adjust.
And the majority of those people said they wanted to manually manage their bandwidth when they came online? I totally get that people want to work with an app offline but I’ve never seen any people, bar a few early adopter geekier personas, want to manually manage the behaviour of their apps when reconnecting. I speak largely in the context of communication, so could be different from your market.
Still, he’s got a point – you could do an add to queue and only upload when connected to wifi.And cool idea about the airplanes!
100% right. Designers have to remember people are using old technology too but are just as valuable as a customer
I greatly disagree. Keep trying and taking battery life to monitor signal? What if by the time I have signal it is completely irrelevant and I not longer want to post it? What if it is 3am and no one sees my post because it finally went through? Too many variables, I really like this functionality.Oh, and even if it was still automatic, I would still have to check and make sure it went through. Therefore, it doesn’t save me any extra time.
I agree that there are apps whose interactions are only relevant if they are posted immediately, but I think that those should be the exception not the rule.In regard to the power issue. If designed correctly the functionality should have little to no effect on power or processor usage.
I’ll take your word on that one, I wouldn’t know that side.
‘we as a community need to begin developing applications for worst case scenarios that gracefully upgrade their capabilities instead of the “gracefully degrade”‘we have that. progressive enhancement.here’s some choice bits from a w3c page: http://www.w3.org/wiki/Grac…’This means that we can’t expect anything of the setup or ability of our end users. We can also be fairly sure that our experience of the web as developers is totally different to the one of the people we want to reach.”The web was invented and defined to be used with any display device, in any language, anywhere you want.’and it’s not to say that this is a rule that must always be followed. in the article it also gives instances when graceful degradation may be a better option:* You retrofit an old product and you don’t have the time, access or insight to change or replace it.* You just don’t have time to finish a product with full progressive enhancement (often a sign of bad planning or running out of budget).* The product you have is an edge case, for example very high traffic sites where every millisecond of performance means a difference of millions of dollars.* Your product by definition is so dependent on scripting that it makes more sense to maintain a “basic” version rather than enhancing one (Maps, email clients, feed readers).
Thanks for pointing that out! My intent was not that we need to create the term in theory but that apps should actually be designed with “progressive enhancement” as a guiding principle.
nothing theory about it, mordy. people have been using it since 2003.it’s already here. documented at the w3c and many large web companies as best practise.you said:’…we as a community need to begin developing applications for…”begin’. it’s a done deal. 2003, man.
Yet somehow this discussion is happening 😉
i’m equally as amazed
When all else fails just look at the obvious. While it has been best-practice on the web since 2003, the mobile app ecosystem didn’t internalize the lesson so we celebrate those that do even if its only implemented in part.
that works off the assumption that something like the pattern above isn’t goodit’s also shaky ground talking for an entire community with the first person plural, imoand the conversation about progressive enhancement started in 2003, i doubt it immediately became best practice
Many an iOS app/game won’t work when I have no cell or wifi coverage for just one reason: they can’t serve ads if I’m offline. And that’s extreme unfriendly fail.
that’s insane, you’re training people not to use them ever for the sake of a few pennies more. Penny-wise and pound foolish.
That would be an immediate ‘Delete’.
One of many great things about the interaction design on Instagram is that they sort of lull the user to be patient while things load in the background. This is an example of that type of emotional awareness on the part of the designers of this app.
All apps that rely on a network connection like instagram should be “fire and forget” like sms, it just keeps trying until it gets there.
maybebut what about those who want to upload on wifi as much as possible?
Then you have a setting in the app. I think google+ has this so it only syncs instant upload video when you are connected to wifi if you want it to.
Fred – Can you post the actual photo of the sign on your tumblog
you can’t see the instagram or foursquare pages?is there a specific reason you want it on my tumblog?do you want to reblog it?
My mistake…..1. I did not click through two links, I thought they were just links to the two services…and not a link on the photos on the two sites.2. I had clicked over to fw.vc this am and saw the photo from sunset last night.All set – enjoy the weekend
It is great, except when you get continuous failings. Then it sucks – the reminders just keep reminding you that pressing the upload button again won’t help. I wish I could queue uploads instead for situations like that.
And a battery hog!
FourSquare is still pretty woeful in this respect.Still, I don’t go anywhere interesting nowadays, anyway, lol…
A site I use often but can’t remember which (I think it’s Vimeo) says “Sorry, we messed up” when an action fails. It’s nice to not get an operator error message every once in a while:)
BlackBerry sort of pioneered this and they did it so well.I bought an iPhone 2G in November 2007 for the then-revolutionary web browser, and switched back to BlackBerry a year later. The primary reason was friendly failing: I had so many emails that I sent on iPhone 1.0 and 1.1 which disappeared into the ether and never delivered.On the BlackBerry, when you sent a message, it would stay in the inbox with a different icon until it went out. If it timed out and couldn’t go out, it would convert into a red “X” and you could easily resend it. It was utterly reliable – you KNEW whether your messages went or not.It’s fun to remember great features of what used to be a great platform.
I like the way Android lets us screenshot stuff.
In only the venerable engineers at Google were so clever, and responsive, and customer centric, and end user focused, and I could go on…
HUMMMAfter I started reading AVC, I dumped my use of iTunes, have switched mostly to Ex.FM & Turntable…..My only issue w/ listening to streaming music is the interruption in the stream when I loose coverage.
ALL APPS PERIOD SHOULD WORK THIS WAY.
Do one thing (connected mobile photos) and do it well and in instragrams case do it brilliantly.I fear that many big clients have a tendency to use the portal model from the Web vs. understanding the new dynamic of mobile computing.
Indeed. Too many seem to forget the key simple difference/factor – the lack of real estate on a mobile device, especially on a smartphone.Less is More.
There has been more than one occasion where I didn’t bother checking in or doing any social media work on the road because of the high failure rate. This is more of a problem when I am with my wife who is waiting for me until I upload a photo or pull-out a review. I think the above approach would be encourage more individuals to engage with their mobile social media tools
Its a solid reminder to always fail gracefully http://www.ericgfriedman.co…
Going back to the archives!
Switched my domain over to my name and got to go back and find a bunch of old hits!
I noticed this for the first time on Tuesday when I was trying to post a pic from Citi Field. Very nice feature indeed.
Heh, noticed this too. I was in Grand Marais, MN. No internet, no cell service in the woods. Took a bunch of photos and they uploaded as soon as I hit cell range. Even when my phone ran out of batteries.
This is a great post. On a related note, I recommend using “feature flags” in their apps. This lets the ops team dial down things when a traffic spike happens. A running app with the intensive stuff turned off is better than one that falls over. A related strategy is building a read-only mode into your app, so users can still browse even when maintenance or a real outage happens.
I love and even use this aspect of instagram as a feature. I will take a picture in instagram, manipulate, wait til I’m on the subway underground, and then push “share” knowing full well I’ll get ths “try again” option. Instead I then press the x and go through the process again, using the unposted but manipulated pucture, which allows me to add a second filter on top.
Enjoy the hell outta your self directed time Charlie
Nothing like it. I had 7 days off in the mountains last month and it was brilliant.
Charlie, enjoy your time off the Ether…#OffGrid