Assistive touch is a feature in iOS that lets you enter multi-touch gestures using just one finger. This feature is off by default and can be enabled via the iOS settings. Here is what assistive touch looks like in the iPhone:
Recently, I discovered a bug with assistive touch that does not let the user get to Siri from the assistive touch menu while simultaneously in the “multi-tasking” view. Here are the steps to reproduce the bug:
1. Double click the iPhone home button in order to enter the multi-tasking view
2. Touch the assistive touch icon on the screen in order to also enter the assistive touch view
3. Touch the Siri option
Nothing happens – user is not shown Siri. User sees same screen as step (1) above.
User is shown Siri
One thing I like to do on my iPhone is to take an image which is sent to me via MMS (basically text messaging but for images or videos A.K.A. “multi-media messaging service”) and send it to another friend. I recently noticed that the process to do this rather simple exercise can be improved. Here is an example of an image that is sent via MMS:
By clicking on the top right menu, I see the various options available:
What’s interesting is that there is no option here to forward this image via MMS to another user in my address book. What I end up doing is selecting the option Save to Camera Roll and then going to my camera roll to select the image:
By selecting the menu button in the bottom left corner of the screen, the user is shown the following options:
As can be seen above, the MMS option is available only after saving a local copy of the image to my camera roll. Ideally, this should not be a prerequisite and the OS should have the ability to let me send an MMS of the image directly from the text message view I was previously inside of. Worst case scenario, the OS can keep a local copy of the image and then delete it after the message is sent. By requiring this extra step, the end-to-end process has become more challenging.
I recently got a new iPhone 5. One of the things that’s important for me is to have a backup charger at my work in addition to the charger I keep at home. Naturally, I went to Apple.com to search for this item. Through this process, I noticed two specific spots for improvement.
First thing I did was to click on the Store link in the header menu and to search for iphone charger. To my surprise, these were the search results:
Only three items were returned, and none of them was the main charger that Apple sells for the iPhone 5. What gives? After further searching on the site, I realized that the reason why I couldn’t find the item I was looking for was because I was using the wrong search terms. According to Apple, the items I am looking for are referred to as:
– Apple 5W US Power Adapter (this is the plug portion of the charger)
– Lightning to 30-pin Adapter (this is the USB cable portion of the charger)
If Apple’s Store search was a bit smarter, it would be able to determine that a query for iphone charger should show the products called out above.
The second improvement I’ll call out is something I noticed when I finally found the items I was looking for. They were located listed in the iphone accessories section on the site. Here’s what they look like:
So the thing that is strange about how these items appear in the search results is just how challenging it is to discern what the photograph looks like. Why? Since many of these Apple products are white themselves in color, the contrast between the product’s color and the white background of the website is virtually nonexistent. Thus, as a user it is very hard to make out what these products look like. As an enhancement, Apple.com can consider changing the background color from something other than pure white. Perhaps off white or gray can work.
As smart-phone adoption continues to explode, gaps between a web app and mobile app experience are going to become more noticeable. Today I was booking flights on Southwest and noticed a subtle, yet important, gap between their iPhone app functionality as compared to their web site.
For a given flight, Southwest provides a nifty suggest functionality that gives you a list of possible airport names and their corresponding airport codes after you start typing in the city name. For example, here’s how it looks on the web site:
After entering “san”, the user is shown the different suggestions that would most likely match the city they are looking for. The other neat thing about this suggest feature is that it recognizes airport codes. So in addition to searching for San Francisco by entering “San …” you may also simply type in “SFO” like so:
Well, it turns out that the suggest feature in their iPhone app is not as smart. It will recognize “San …” but it will not recognize airport codes.
Ideally, there should not be a functionality gap here and the iPhone app should be able to find airports solely based on the airport code. From an engineering stand point, this is the whole point of creating an architecture that is built on top of services. If Southwest had a City Suggest Service internal API, both the web app and the mobile app could make use of it to provide identical functionality.
For the majority of web apps and mobile apps, two of the primary calls to action on the landing page or welcome screen are Sign In (aka user login) and Sign Up (aka user registration).
For the Skype iPhone App, there is a glaring omission of a user registration call to action on the welcome screen:
This is really bad because the app is missing out on acquiring new users who download the app but have not yet registered. Here, Skype is making it mandatory for the user to go to their web site in order to register — and to make matters worse, it’s not even clear to the user shown the screen above that they need to go to the web site. Ideally, Skype should have another call to action allowing the user to register in-app. Even if it is a partial registration that requires completion through the web (non-mobile) flow, it is much better than nothing.
Here are some other iPhone apps that capitalize on the opportunity to acquire new users on the welcome screen:
When you go to set a contact’s birthday in the iPhone date module, you will notice something strange if you go back in time quite a bit. By scrolling the year field as fast as you can, you can relatively easily reach the absolute end of time as it pertains to the iPhone date module. When you do this, you’ll notice something strange. The year “1” repeats twice at the beginning. Instead of the years going 0, 1, 2, 3, 4…, the years go 1, 1, 2, 3, 4…
Originally, I thought that maybe this was due to the module incorrectly repeating the year “1” twice. But this is not what is happening. It actually has the year “0” but it is listed as the year “1”. What do I mean by this? Technically, the year “0” was a leap year but the year “1” wasn’t. So if you go to the first “1” (which was supposed to be “0”), the date module will let you choose the month and day February 29. But if you try to do the same for the second “1”, the date module will not let you.
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.
According to recent press reports, Apple may replace the Google Maps app on the iPhone with their own in-house Maps app. While this came as a surprise to me (Google Maps was one of the earliest apps on the iPhone and one of my most used apps), I’m eager to see how Apple can improve from the Google product.
Recently, I noticed a use case for which I was annoyed with Google Maps, and this could be taken as an example of a room for improvement for any competing product.
I was on the Caltrain going from Sunnyvale to San Mateo to meet a friend for dinner. Along the ride, I was curious to see how much distance (and time) remained ahead in my journey. So I pulled out my trusty iPhone, went to Google Maps, and searched for San Mateo, CA. What I wanted to do was to find the city and have the app calculate the distance (and time) remaining from my current location. My expectation was for the app to find the city and to serve up the city as a pin for me to touch and then go to the next level of calls to action. Google Maps found the city for me, but instead of serving up the city pin as the main call to action, I was shown the following:
As can be seen in the image above, the primary pin shown to me was a sponsored result of a dentist near San Mateo. I had to manually touch the San Mateo city pin in order to toggle from the sponsored result to the desired result:
This example reminded me of Google’s famous motto, “Don’t Be Evil.” This motto means many different things to many different people. To me, it means that it is possible to make a business viable product while not drastically sacrificing the user experience for the purpose of generating revenue. Google Search (especially its earliest incarnations) was a great example of an extremely profitable product that kept a great balance with user experience. With the example above, I feel that for this product, Google crossed the line and sacrificed user experience a little too much in order to generate revenue.
In an earlier post, I wrote about how a user cannot delete a contact on their iPhone if they edit the contact details while entering from the Favorites view. Today, I discovered that the same bug (feature?) also exists if you attempt to edit the contact details while entering from the Text Message view.
Suppose you are text messaging with a friend:
And if for whatever reason (say your friend is no longer responsive [insert sad face]) you want to delete this friend from your contact list. The logical thing to do would be to click on the Contact button to view and edit contact details. On click, you will see:
By clicking Edit, you will see:
And if you scroll down all the way – similar to the behavior of entering via the Favorites view, you will not see a Delete Contact button: