A number of my previous posts have been about error handling and specifically about how some sites handle 404 errors. Some examples: here, here, and here.
Today, I saw a really cool TED talk on 404 errors. The speaker mentioned some things I’ve mentioned in my previous posts and in general, the talk was quite interesting.
Here is the YouTube link to the video.
In case the video gets taken down, the presenter was Renny Gleeson and the title of the talk was 404, the story of a page not found.
Institutional ownership refers to the percentage of a company’s shares that is owned by large institutional investors such as mutual funds, hedge funds, pension funds, etc…
Most finance sites that provide stock quotes also track this metric. Based on what I can see, it looks like Google Finance may have a technical issue or two with the data they are showing for this metric.
I’ll provide two examples. The first is VeriFone. According to the Google Finance quote, this company has an institutional ownership of 103%. No need to double check with other finance sites. Already we can see that this is technically impossible (as the highest amount of ownership is by definition 100%).
The second example is Google. According to the Google Finance quote, this company has an institutional ownership of 66%. Based on my limited knowledge of the stock market, this seemed way too low of a number. So after double-checking with a couple of other sites (Yahoo Finance & Etrade), I’m assured to know this number is actually closer to 83%.
Most likely the Google Finance Institutionally Owned metric is simply outputting a number it gets from a stock service data feed. It could very well be the case that this feed is what is feeding the site the corrupted information. But either way, this is something that should be fixed.
After signing into LinkedIn, you are taken to a personalized Home page. At the top, similar to Facebook, you will see a status update share module. In the bottom right hand corner of the module, near the Share call to action, you will see a checkbox to share the same status on Twitter.
If you are using this feature for the first time, you will be taken to a page hosted by Twitter that asks for your Twitter credentials and permission to have the LinkedIn web app post to your Twitter account:
By clicking on the Cancel, and return to app link, you are taken back to LinkedIn, but you are shown the following unnecessary error message:
The correct user experience would be to either show one of the following:
1. An informational message upon returning to LinkedIn
2. Not showing any informational or error message upon returning to LinkedIn
Similar to its web counterpart, the Bank of America iPhone App has a mechanism that kicks in when the user’s session has expired. The user is shown an alert, but the last screen they viewed in the app is still visible:
The problem with this treatment is that the alert does not protect the privacy of the user (and who knows perhaps there is a security hole as created by this alert but nothing I’ve picked up on yet). Whoever has picked up this phone and is now viewing the app can see the various account balances and the last four digits of the different accounts on this page.
A better treatment would be to mimic the standard practice for web flows and take the user to a specific logoff page or the home page and in both cases to not show any private account information. For example, the BOFA iPhone app can simply take the buyer back to the login page:
As an iPhone user, one common user activity is to watch a video. While you’re watching a video, there are very few things that could occur that would justify the phone stopping the video and grabbing your attention. An example of something that would justify stopping the video would be an incoming phone call.
I noticed an example where I did not appreciate the phone stopping the video. This occurs when the phone is running low on battery. If the phone reaches 20% or 10%, you will see a dialog alert like this and your video will stop mid-stream:
I do recognize that it is important for the OS to get the user’s attention for this use case, but I think there’s a better way of doing this. To explore a better way of doing this, we can look no further than the iOS update to how text messages are treated. Previously, text messages in iOS, would be shown as a dialog alert just like above:
As of iOS 4.0 (or was it 5.0?), text message alerts are not as intrusive and can float to the top of the page:
So the idea for this enhancement would be the same. If the user is watching a video, simply show them an alert but have it exist in the background with a dismiss button. This way, the user can continue to watch the video without being interrupted and know that their iPhone is about to run out of battery.
Yesterday, I noticed something unexpected when I combined the following two very common user actions on an iPhone:
1. Listening to music
2. Swiping through photos
Eventually, I landed on a video and to my surprise, the music stopped playing.
At first, I was very confused. Had I played the last song in a playlist and had that song concluded? I navigated to the song and saw that was not the case. Then I came back to the video and thought some more and decided that this behavior is by design due to the OS preparing to play the video. And since it is preparing to show the video above, the music I’m listening to needs to be stopped.
But herein lies the problem. I hadn’t even clicked play yet. I may not even want to watch this video and may want to continue browsing through all of my photos and videos listening to my music uninterrupted.
The better user experience is to allow the music to continue playing until the user explicitly clicks on the Play command.
Noticed an interesting error message when going through the Twitter registration flow on the Safari browser on the iPhone.
Let’s start with the main Twitter landing page shown when the user goes to http://www.twitter.com:
When you click on Sign up, you will see the registration page:
Here’s the interesting part. If you leave all of the fields empty and click on Sign up, you will see the error messages for each field that you did not properly fill out.
All of the error messages make sense, except for the first one that is shown if the user does not enter their name. The text content is: translation missing: en, settings, name, hint
It’s pretty clear that instead of showing the correct error content, the app is showing some “code” content most likely from a configuration file. In this case, my guess would be that “en” refers to the English language, “name” refers to the text field for the error message, and “hint” refers to the name of the error content field that needs to be served to the user.