Mobile App UX: Don’t be a hysterical princess

Posted by & filed under Misc, Technology.

So, Facebook actually decided to improve their mobile application experience after going to Africa. It’s nice of them. Except they didn’t really need to go to Africa, just go to a bad coverage area. Or look at an overage charge from AT&T. And hey, suddenly US mobile life is not that great.

But I digress. I’ll re-iterate the rules of pleasant user experiences that applications should (but probably don’t) follow. It will make the mobile world waaaay better.

1. The most important rule: don’t be a hysterical princess. Crappy connections happen, so you should expect your internet connection to be abruptly yanked out. Or slow down to a crawl. It may disappear at any moment. No, user can’t wave a magic wand and make it re-appear, so don’t ask.

1a. Cache everything. All successful calls should be stashed into a local cache (ideally configurable as to how large it should be, with some reasonable default, say, no more than 1% of available storage). You have internet? Refresh. No internet? No biggie — show last successful data set (with date of refresh, if you’re nice). When nothing is available (first run, for example) show a calm and polite message, saying that data will be right there, as soon as stable internet connection appears and stays on long enough. You can even offer to show a notification when initialization is successful (“Let me know when initialization is complete). It’s nice to think that user is very interested in your app, but if they have something else to do, it’s even nicer when your app is polite and doesn’t make user stare at an empty/broken screen.

1b. No “internet connection lost!!” alerts. User doesn’t care. He/she is probably annoyed as-is at everything dying on the phone and your app having hysterics about lost connection, popup and all, is not going to make their day better. If you want to show that connection is lost, add a status icon? A plug, perhaps, or a tiny indicator light (green solid circle — everything is okay, red square — no connection, yellow triangle — crappy connection, color and shape for users that have color blindness).

1c. All outgoing operations should be stashed into queue and executed whenever connection re-appears. User wants to post? No problem, here’s local copy, once everything is back to normal, re-send the post. You should not do the classical “Can’t post right now, try later!”. No. You “try later”. Save it, send it later. Unless this app controls live-by-wire robot performing surgery, sending data later is not a problem (if you do write robot-controlling medical app, you probably know all this already). It’s okay to show “blah posts pending” somewhere. A good way would be to say “saved, will post as soon as internet is available” when having issues, and “posted successfully” when/if everything is fine.

2. Always make sure you support incremental upload/download. Google Drive suffers from it, for example (probably because engineers live in ever-connected utopia). If something has to be uploaded, we should be able to do it half-way now and half-way later. Because connection could be so unstable, that you can’t push that whole 13 megapixel photo in a single setting. Sorry, but that happens. So to avoid updating file over and over and over again, just re-stitch together bits on the server. I know you’re smart enough to do it.

3. If you can limit data amounts — degradable image quality, different amounts of downloads — do it. Things like compression probably should be turned on by default. Whatever the amount of energy required to unzip things is probably going to be well compensated by running active data transmission 30% less.

4. Please respect user’s privacy. I know your marketing department demands to have email right now, as well as all user’s contacts, mandatory right to post onto Facebook and all other totally “essential” (and completely irrelevant from the user’s point of view) things. Resist. If you do require a registration, allow it to be delayed? User probably trying out your app in a not very convenient location and forcing a total profile write-up at the moment of installation is a bad idea. Ask one question at a time, allow delayed answers. And please allow user to edit/enter stuff via desktop — tiny phones are tiny. And you won’t believe what auto-correct does to some fields :P

5. If you are writing operating system, please keep in mind that “free/open” WiFi can be a fake internet connection. Phone sees it, grabs onto it and… everything is dying because that provider demands you to click “I agree!” on a page of legalize nobody ever reads. But until that happens you’re in a limbo — WiFi is present but it’s not working. So resilience is very important, and ideally until WiFi interface is up and running reliably everything should be still using wireless data. Android was very good at showing if WiFi was connected and if it was actually working (different color of indicator).

6. Ideally your app should allow turning on and off background sync (with frequency of synchronization). Even better if you also allow option to sync more over WiFi or when connected to a charger.

7. If you do allow signing up for some sort of an account via “third party authentication”, such as Google or Facebook, or Twitter do not require additional info. You allowed Twitter auth? That’s it. No, you should not show “okay, and now also enter an email and password” because why the hell would I want to give you a twitter auth if I still need to enter an email. And a password. If your marketing department demands email, just don’t use email-less auth.

And that should be enough for data/connectivity experience to be much better :)

Amazon Fire: Um… no.

Posted by & filed under Technology.

fire phoneSo, the Amazon has now introduced its very own kinda-Android Fire Phone. Neat. Except I keep wondering, why?

One of the primary differentiating function is, apparently, the Dynamic Perspective. Which requires several cameras and lets you “look” at kinda-3D things in your phone. It’s interesting but not really ground-breaking. Remember all those apps for iPad from 2010? Yeah, just like that:

Okay, maybe it’s a new thing for Android phones? Well, not really. Looky here:

So you don’t really need all those cameras, it just adds expense (though some of those parallax live wallpapers do cost a dollar on Play Store).

Tilting and twitching to get menus is not for me — I sometimes use my phone on the go so accidental page flips and menu toggling would be rampant. I don’t even use auto-rotate because of that.

Firefly is a very interesting app — like Google Goggles on steroids, plus insta-buy ability. But the question is — will they really never release it for regular Android, or incorporate the functionality into regular Amazon app for Android or iPhone? Remember, the idea is to help Amazon customers to buy something they’ve found in the real world. Forcing them to buy a phone to do that is a bit silly, so I expect this app to go Android-wide in a few months at most.

Mayday is a good service, and that could entice some people not familiar with technology to buy the phone. Or they could get an iPhone and get help from Apple — not in real-time over the video chat, but in person instead. I can’t objectively judge if this would be crucial for non-tech-savvy users, as from my perspective you only need such service a few times at the beginning when you are learning how to do something on your phone. It’s a crutch for weird and non-intuitive interfaces, mostly — users can’t figure out how to find music, or disable ringer or something so they are forced to ask online assistant — that’s a total UX failure right there.

Good camera and a dedicated camera button is great, and I hope we’ll see f/2.0 camera in other phones. Dedicated button is common on Sony phones, but that’s about it.

So hardware-wise I don’t see any significant reason to buy new Amazon phone. A year worth of Prime service is enticing, but $650 for an unlocked version of the phone? No way. And it’s just on AT&T — I thought we were past that ever since Facebook Phone? If it’s a GSM (+ LTE) device, it has to go on T-Mobile too. I can imagine all those wonderful sync services and FireFly (and even Mayday) sucking up data at an alarming rate, so users that have no chance of buying unlimited data from AT&T might get a very unpleasant surprise.

Ideally, I hope Amazon will have a fire sale on Fire phone soon, where the price will be dropped to more reasonable Nexus-like levels (after all, we get castrated version of Android, with full Amazon lock-in on services and apps). Then it might make some sense. But for now — no. Either a Samsung or LG flagman would be a better choice.

Too bad, though, I had high hopes for Amazon device.

Straight Talk: slight trouble in MMS paradise

Posted by & filed under Technology.

Straight TalkSo, after months of good service, Straight Talk / TracFone suddenly sent me “Please restart your phone to apply settings” type of message. Looks like they have modified their APN settings (used to be AT&T MVNO and now it’s more “TracFone”-like “tfdata”). I rebooted my phone, and everything seemed to be fine. Except my MMS is now somewhat wonky.

Specifically, looks like there are problems with larger image sizes — service refuses to download picture MMS for whatever reason and everything was consistently failing. I saw some people claim that “resetting their billing cycle” helped, but I don’t think this is relevant.

So far the shamanic way to make MMS work again is:
1. Make sure your APN is set to “new” stuff (APN: tfdata, MMSC:, MMS PROXY:,
MMS PORT: 80, MMS_APN: tfdata)
2. Turn off WiFi
3. Send yourself a small MMS message. Tiny picture. A short audio file. Something that would still make an MMS but also would be small
4. Wait for it to be received by your phone

At this time phone should be able to successfully retrieve the picture. After that you can re-connect to WiFi and it will still work, plus you can download all previously failed messages too.

Hopefully this will help you too :)

Frankly, I’d rather then fix their finicky MMS service center :P Come on, it’s almost 2014. Having weird issues like that is inexcusable. We used to have to send MMS to ourself to indicate to service center that phone is MMS capable, but these days it shouldn’t be necessary.

Now, on a good side, data is still quite fast, albeit in the middle of the night. Almost 20Mbps down and 2Mbps up on AT&T’s LTE network for same price…

Still worth it :)

p.s. the other thing I’ve noticed was that from time to time browser gets redirected to some IP address but then goes back to original page. I am not yet sure if this is related, but just opening a web page could be one of those “magically helps to resolve non-downloading of MMS” thing. I wonder if they are trying to clamp down on people trying to tether “unofficially” via their sim cards, and in the process broke MMS delivery (which is incapable of downloading content unless APN is happy with the device)

Microsoft finally buys Nokia. Bye, Nokia

Posted by & filed under Technology.

Lumia 900
It’s been a loooong time, but the moment everyone was waiting for is finally here. Stephen Elop’s work is done, and crippled, bloodied, slightly twitching corpse of previously all-powerful cell phone giant Nokia has been sold off to the Microsoft for a measly 5.66 Billion Euro in cash.
Measly, because just a little while ago Microsoft has bought Skype for more than that ($8.5 billion, to be more precise). The Moor has done his duty. The Moor can go.

Now, will it change anything on the market, and what does it mean to Windows Phone platform? I don’t think it means much. Up until Now Nokia seemed to be in a daze, absolutely sure that they are “winning” and that magical moment when everyone is going to use Windows Mobile phone is just a few months away. Well, that short distance just kept getting longer. Yes, thanks to Nokia, WP made some progress by convincing feature phone owners to give it a try (and purging all other manufacturers from the Windows Phone market). But iPhone and Android users didn’t march into stores to demand their MTV Windows Phone, and so far nothing on the platform seems to be convincing enough to entice them to switch.

I believe the Metro UI is just not attractive to that many users. It’s not bad, but it has a rather steep learning curve. And given absolute rigidity of the platform in UI aspects, those who don’t like the way phone looks have no choice but to turn to Android (or iPhone). Forcing users to learn by bolting Metro onto Windows also didn’t seem to go over well, so now we know that theory “users will love it if only they were forced to use it” isn’t correct either. Otherwise we’d see massive spike as soon as Windows 8 went live on new computers (instead the new computers’ sales went down, and even tablets with Windows RT, that are supposed to be replacing the computers, are not selling that well).

Hopefully WP will persevere and offer an alternative to Android/iPhone duopoly (especially given how hard Blackberry crashed) — three is always better than one. I may not like it, but I know a few people who enjoy their phones, and a new option is always good to have. It’s just sad that Nokia’s potential was wasted so dramatically. And yes, I would love Nokia’s hardware to run Android, but now that will never happen, for obvious reasons…

Now, on a more technical (and somewhat paranoid) side of things is the part where Microsoft gets to have a bunch of Nokia’s patents. And when silly users will continue to ignore wonders of WP world, they may get tempted to try to kill off the competition. Or at least squeeze as much money as possible, so I expect Android manufacturers to nervously flick through their address book looking for patent lawyer’s number.

Elysium: Um…. 2 stars

Posted by & filed under Reviews.

ElysiumSo, I’ve watched The Elysium this weekend. And results are rather mixed.

I mean it’s a nice action movie with standard “self-sacrifice” and “for the greater good” and “think of the children” message (that’s probably why the score is so high in Rotten Tomatoes — unless you have self-sacrifice themes you’re doomed to be labeled as a mindless flick). And I guess if you like to turn off your brain while watching the movie, it’s fine. However if you think just a bit you run into a heap of troubles. Spoilers ahead.
Read more »