Archive

Posts Tagged ‘iPhone’

The new era of user interface design: iPhone and touch UIs

January 27th, 2010

I was visiting a friend a couple of weeks ago and saw a one-and-half-year-old girl using an iPhone and it got me thinking. Touch interfaces are going to change modern graphical user interfaces more than anything in the past 25 years.

The smart young lady wasn’t the first toddler I have seen using an iPhone or a mobile phone in general. It’s only a natural part of their development that children imitate things that their parents do. Many seem to figure out TV remote controls almost on their own. However, I haven’t seen any kid experimenting and playing with a more traditional mobile phone with the same ease as an iPhone. They know how to unlock it with a swipe; they find their favourite visually appealing app, be it a simple game or an interactive toy; they spend inordinate amounts of time playing with it and they figure out a Home button to exit and try something else. They are really using iPhone’s interface.

iPhone UI has a certain sense of physicality to it. It feels very natural, touchable. Touch is the main component of this experience, but it isn’t the only necessary ingredient. In my opinion three other aspects play important roles to give that sense of naturalness and ease of use: animations, response times and overall simplicity of UI.

Animations

People used to think of animations as eye candy for UI. They are not: quite on the contrary, they are one of the most effective means to show causation in UI design.

For touch UIs, animations are a fundamental ingredient. Think about photo browsing on iPhone. Without an accompanying animation, the swipe gesture would feel totally unnatural – your mind would have a hard time connecting the gesture to the state change of UI. But with the animation, you don’t ever think about it, it just feels right.

iPhone really shines on animations. Now that I’m developing games, I have learned how delicate an art animation design is. You need to try out different timings, different kinds of ease-in and ease-out, and different movement patterns to get that natural feeling for even simple animation. iPhone SDK is offering powerful APIs to implement animations, but they are still quite clumsy to use. As animation design is a creative trial-and-error process, we need much more convenient tools for it. I bet that in coming years we will see a lot of innovation in both design and programming of animations.

Responsiveness

With any kind of user interface, if you press anything, something should happen immediately. If there’s a delay of even a few hundred milliseconds, the illusion of realness is broken.

Why would anyone make an unresponsive application? Any UI programmer knows that without careful programming, keeping your application responsive is one of the toughest aspects of UI programming. The truth is that modern UI libraries offer poor abstractions and tools to program responsive applications. They don’t support convenient asynchronous programming models or easily multithreading your application code without stumbling into all the dangers of traditional multithreading.

iPhone is not an exception in this case. Its libraries are good, but don’t really push the boundaries of UI programming. It’s just that OS and most of the apps seem to be carefully programmed and stay responsive better than their competitors. For example, Nokia’s flagship touch UI phone N97 has very sporadic responsiveness, which totally kills the experience.

Simplicity of the UI design

When iPhone was released, its UI design was outrageously simple compared with competing smartphone UIs. For example, the application menu, or SpringBoard as it’s called, was a super-simple flat representation of your apps without folders or other hierarchies.

The curse of desktop interfaces is their menus. Menus basically offer unlimited slots to dump functionality. Menus are common in many smartphone platforms and in my opinion the main culprit of bad UI design. iPhone doesn’t really have menus of unlimited items; you can usually just have max 4 items on a menu-like popup. This is wonderful as it forces every average designer and developer to think in terms of less, not more. If you add a new feature to your application, on iPhone you really need to think about how to surface it on the UI as there aren’t any functionality dump yards like menus.

Touch UIs that are operated with fingers have an inherent character that drives UI design towards simplicity: your finger can hit only large-enough areas. Although screen resolutions will increase with advances in technology, you still need to be able to operate UIs with your finger. On a mobile phone screen, this means that there are usually fewer than 10 possible selections visible at a time. This drives all designs towards simplicity.

Apple’s new device

Apple is going to release a new device today. Rumours are indicating that it’s a tablet device for casual computing. I’m not personally super-excited about something that sits between a phone and a laptop. A phone I can carry anywhere in my pocket and use for casual computing, and as a programmer I’m going to need a full-powered laptop for work-related tasks. But I’m super-excited that whatever Apple is announcing today is probably a new step towards the next generation of computer UIs. Laptops as we know them are going to change and touch interfaces will play a central role in this revolution.

Mobile , , , ,

Insights from Facebook Mobile Usage

November 17th, 2009

Search versus socializing

We don’t carry our mobile phones for a search of information, but to communicate with people.

It seems that Facebook has become one of the major drivers for growth of mobile internet usage. It was last year when mobile operator ads in London Tube started to highlight Facebook instead of Google search as a reason to use mobile internet. During 2009 Facebook’s mobile usage has grown from 20 million to 65 million monthly active users.

Google has reported 5-fold mobile search volume growth during the last two years. In contrast, if Facebook’s mobile usage continued it’s stellar growth, Facebook would have 420 million mobile users at the end of 2010, 23-fold increase in two years. Of course, this won’t happen. Growth has to slow down, as the total amount of Facebook users just flew past 325 million monthly actives.

Facebook Mobile Usage by Platform

It’s interesting to see if Facebook’s mobile usage gives any
insights about internet use on different mobile platforms. Following
graph shows above mentioned 65 million active users, split by the platform.

Facebook Mobile Usage by Platform

The highest bar of 27M users is shared between Facebook’s two mobile-optimized web interfaces (m.facebook.com – the standard mobile-optimized site and x.facebook.com for touch-enabled phones) and a few platforms that doesn’t show up as a separate apps, mainly Nokia’s S60 and Windows Mobile.

Facebook for iPhone has over 16M monthly active users, a formiddable number as it means that about 30% of all iPhone and iPod Touch owners (56M) use the application actively. iPhone-owning Facebook users starts to be an interesting market segment of it’s own.

Facebook for Blackberry has about 10M monthly active users. Given that there are about 50 million Blackberries sold, 20% of penetration of Facebook app tells about a thriving mobile platform.

The Java-based Facebook Mobile has around 10 million monthly actives – a small number of over 1 billion Java-enabled phones, but it’s still one of the most downloaded Java applications ever. GetJar reports about 20 million downloads in total for it. In comparison the other top applications, super-popular chat and browser apps eBuddy, Opera Mini and mig33 are around 30M, 22M and 17M downloads, respectively.

Use of Facebook for Android is ridiculously small, under 10000 monthly actives. I haven’t tried the application myself, but I’ve got the impression that it’s rather limited compared to other implementations. Am I correct assuming that Android users typically use Facebook via Android’s web browser? Or are third-party apps like Asurion’s Addressbook popular?

It would be the most interesting to see how the highest bar is further split between mobile web interfaces and Nokia and Windows Mobile. Unfortunately both QuantCast and Compete report suspiciously low numbers of monthly unique visitors for m.facebook.com (between 300K and 1.2M) and x.facebook.com (between 100K and 200K) so further analysis would likely to be incorrect.

Part 2: The future of Facebook Mobile

This introduction to Facebook Mobile stats was the first part of my look into Facebook Mobile. I’m going to post my thoughts about the future of Facebook Mobile and mobile web soon. So if you are interested on the topic, please subscribe to my blog feed here or follow me on Twitter here.

Mobile , , , ,

Leaks & Zombies – an intro to iPhone memory management

March 10th, 2009

In addition to the Platform = Stage – How to choose a mobile development platform talk I gave in MobileDevCamp Helsinki, I gave a short BarCamp presentation about iPhone memory management practices titled Leaks & Zombies. It’s a more technical presentation, targeted to novice and intermediate iPhone programmers.

Mobile , , ,

MobileDevCamp slides: Platform = Stage

March 10th, 2009

Here are slides of a talk that I gave a few weeks ago in MobileDevCamp Helsinki. It’s a modified version of a similar talk that I gave in Slush Helsinki conference last fall.

Talk discusses an important changes that happened in a mobile business in 2008. It discusses what problems iPhone’s AppStore solves – namely distribution and payment problems – and what it doesn’t – marketing. Compared to a talk gave in Slush Helsinki, this version doesn’t include a part discussing mobile web and HTML 5.

Mobile , , , , ,

Three good reasons to come to MobileDevCamp on Saturday

February 16th, 2009

I’m giving a talk in MobileDevCamp Helsinki on this Saturday (Feb 23th 2009). MobileDevCamp is an event for people interested in innovating and developing on mobile phones. It is held at Vanha Ylioppilastalo, right in the city center of Helsinki.

There’s at least three good reasons to attend in addition to the fact that event is free of charge.

Android
First, Google’s Android Team just sent an Android Dev Phone 1 as a grand prize for the afternoon Hackathon event. Dev Phone 1 is a fully functional SIM unlocked phone running Android operation system. You can read more about the device from the Android web site. I’ll be in a jury who will give a prize to the best application presented at MobileDevCamp Hackathon.

Second, the day starts with a bunch of interesting talks. I’ll give my Platform = Stage – How to choose a mobile development platform? talk that I gave at Slush event in November. It’s a non-technical talk that tries to get you thinking about mobile platforms from the different points of view than just sold units of phones or technical possibilities of a specific platform. I’ll discuss about distribution models on different platforms and other facts that are crucial for your application’s success. I’ve updated the talk with a couple of new insights.

Other talks cover different platforms in more detail. I’m especially waiting a talk by Niklas Wahrman who have developed Asterope game for both Android and iPhone platforms.

Finally, there’s a BarCamp event after the longer talks. You can freely give a short presentation or a hands-on hacking session. I expect BarCamp to be both fun and useful.

I’m planning to give a short technical presentation targeted for novice and intermediated iPhone programmers. Talk is called “Leaks and Zombies” and it’s about memory management in iPhone programming. You might think that that’s the most boring topic ever, but anything that involves zombies can’t be boring! It should be useful too, it seems that even experienced programmers have trouble of getting iPhone’s memory management right if their background is in garbage collected languages. And if you don’t know why zombies are involved, you should come to listen.

Sign up to MobileDevCamp here.

Mobile , , , ,