How SkypeToGo can be faster than Skype for iPhone

Apr 12, 2009

It's great to have internal competition between your products. And Skype has it between SkypeToGo and the iPhone version for some functions. The question then becomes, which of the two do I use, while still giving money to Skype. I don't need to look for external things.

I use SkypeToGo a lot for international calls. When Skype for iPhone came out, I was curious to see how it compares with SkypeToGo, with my hypothesis being that Skype for iPhone is slower. So I did an analysis using the Keystroke-Level Model. It's one of the more "hard science" parts of Human-Computer Interaction methods. I won't write the theory here, you can read more in Wikipedia or see the project page.

In short, there is a software called CogTool that neatly packages up the hard science. You give it the system interface, describe what keys the user presses, and it tells you how long the actions are going to take. There's science behind why the numbers it reports are correct. Go read the papers if you want to learn more.

So, long story short, I compared SkypeToGo and Skype for iPhone for the task of calling a phone number that was in my contact/shortcut list. I had previously set up everything with all sorts of auto-logins. So I am answering the question, "starting from the iPhone home screen, how long is it going to take me to be connected to phone number X?"

These were my preliminary results.

In short, CogTool told me that the task takes 8 seconds with SkypeToGo, and 6.6 seconds with Skype for iPhone.

Here are the calculations and screen flows for both.

You'll notice that some screens are present in the flow, but not used. This is because in CogTool, you can't have "transitory" screens that just move on to the next state.

In English, the steps for SkypeToGo are:

  1. On Home screen, tap the Phone application.
  2. The Favorites section is automatically opened, since that's what I usually have open in the Phone. I have marked the SkypeToGo number as a Favorite contact, so I just tap it.
  3. When connected to SkypeToGo, I tap the "keypad" button to bring up the numeric keypad.
  4. I tap "1" to access the SkypeToGo speed-dial menu.
  5. I tap "2", since the contact I want to call is my second speed-dial contact.
  6. The call is connected.

With Skype for iPhone, the sequence is:

  1. On Home screen, I tap the Skype app.
  2. I am signed in and Contacts list comes up. I tap "R" in the righthand menu since that's what my contact's name begins with.
  3. I tap on the contact in my contact list.
  4. I tap "call".
  5. The call is connected.

So... the first had five taps, the second four taps. Second was faster than the first. Makes sense.

And yet... I realized I had made a mistake and left some material out from the Skype for iPhone calculation. When I tap "r", I cannot immediately call my contact since it is not among the first ones that begin with "r". I must perform a drag to move down my contact list. (Actually I must perform several drags, but I just added one to keep it simple). Here is the updated design, calculation and overall result.

Now, differently from the previous calculations, these numbers may not be scientifically correct. Although CogTool supports touchscreen and tapping, which is what I used for all the actions before, it does not support dragging on a touchscreen. So I had to add some mouse actions, whose timings may not be scientifically the same as what you would get on a touchscreen. But I think they are generally correct.

You see that the dragging slows things down greatly, and SkypeToGo is faster.

There is one HUGE caveat for the above work, tilting the balance even more in SkypeToGo's favor. There are no "system delays", and all system responses are assumed to be instant. In practice, you have system delays for both. In SkypeToGo, you have the dialing delay and voice prompts -- but you don't have to listen to the prompts once you have memorized the sequence. So, for SkypeToGo, I would add about a 5-second delay, so the final result would be 13.083 seconds instead of 8.083. As for Skype for iPhone... I don't really want to go there. It has a HUGE lag with my large number of contacts and is basically unusable. I'd say the system responses for logging in and initializing the contact list take at least 20 seconds in my case, and the whole thing in total is thus about 30 seconds -- and that's an optimistic estimate.

There are some design lessons here for Skype, beyond the obvious "make it work faster". I actually have hundreds of contacts in my iPhone contact list, but I could avoid going there, just being able to pick from my Favorites without any scrolling. The same thing could work for Skype for iPhone. I care about some contacts more than others, so I could mark them some sort of Favorites. And I would go so far as to say that I don't even care about seeing most of my contacts at all while on the move, which would also fix the efficiency problem. So if my contact list Skype for iPhone could only work with a subset of my contacts -- maybe those that show up in my chats plus those that I have specially marked.

The other question I have is, for SkypeOut contacts, why is there the screen where I can only tap "call" and do nothing else? Looks quite useless at this point, and could save me another tap.

Download the CogTool file