powered by Jive Software

How to create an ugly VoIP client

We’ve been doing a lot of work integrating VoIP into Spark using Jingle and SIP (see Thiago’s blog post), so of course we wanted to gather ideas from some existing user interfaces. The result? “Ahhh, my eyes hurt!” In my not so humble opinion, we found more people getting softphone UI’s wrong rather than right. For your entertainment, I gathered together a visual tour of some of the clients we found.

One UI paradigm came up again and again, which is to make the softphone look like a physical object. I can imagine the discussions as this decision was made over and over again by various implementors – “people know how to use their real phones, so we should make our softphone look like one.” Check out the following screenshots:

[blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/officeserv_softpho ne_middle.jpg|officeserv_softphone_middle.jpg][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/scrshot_softphone. png|scrshot_softphone.png]

How a designer ended up with the examples above is beyond me. They’re pretty hideous looking, waste a lot of screen real estate, and worst of all assume that users are so dumb that they need something that looks exactly like a real phone in order to figure out how to use it.

That brings us to a related category of UI designs. In these, the designers give up the idea of exactly duplicating a real telephone, but still preserve a tenuous connection by creating softphones that look like devices you could pick up and hold in your hands:

[blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/softphone.png|soft phone.png] [blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/zebra-softphone.pn g|zebra-softphone.png][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/softphone-unlimite d-advance.jpg|softphone-unlimited-advance.jpg][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/softphone_gr.jpg|s oftphone_gr.jpg][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/sj-softphone.jpg|s j-softphone.jpg][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/dialer_v1_big.png| dialer_v1_big.png][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/softphone3.jpg|sof tphone3.jpg][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/softphone4.png|sof tphone4.png][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/softphone5.jpg|sof tphone5.jpg][blog post|http://www.igniterealtime.org/blog/wp-content/uploads/2006/12/xtensoftphone.png| xtensoftphone.png]

These designs are a bad idea as well. When you’re making a physical device, you create buttons for people to push with their fingers, keep the screen small to hold down costs, etc. Applying these same constraints to software on a computer (with a mouse and large screen) just doesn’t make any sense. Why not show a list of people that the user recently called? A text area to type in is a lot faster than clicking buttons on a dialpad, so why not emphasize that? I could go on and on with more examples.

Not every VoIP client we found was bad. Skype does an ok job, and we like a lot of what we see in Gizmo. In a few weeks, we’ll have the first version of our own softphone in Spark polished enough to start showing screenshots. At that point, we’ll welcome feedback on whether we’re as off-base with our UI as so many other sofphone creators seem to be.

Hey guys this is cheating! You have only shown the nicest ones

Jean-Louis – ha! In that case, I officially start a contest to find the ugliest VoIP client ever created. Please post screenshots.


Now as you raised the bar I am double keen to see your take.

As a sidenote please dont forget Windows Mobile as a platform! People get more mobile and there is still no fancy Jabber client out there for the mobile geeks.



Hey guys, what do you belive about YateClient. As far as i know is the only one that has a decent IDE for unlimited number of lines. Doing telephony usually is far more different than doing IM, because there are so many other requirements. For example is important to be able to do transfers and conferences, and to place calls to users that aren’t in your list. Also is important to be able to play DTMF’s. This is why most of those clients have a dialpad. Gizmo is an IM wiht some telephony options for home users, but that is not acceptable for a secretary.

CQPhone is another example of an app trying to emulate a real device. Not very intuitive to use on the computer though. I completely agree with your sentiments.


Hi Matt,

as long as you offer only an IM client we should probably vote first for the ugliest Instant Messenger design. And one should take a look at all UI’s and not only the main screen. The UI is usually less important than the functions behind it, and Sparks search service (Ctrl J, not always working) is in my opinion really bad.

Some years ago the phone came without any display, today the VoIP phones have 320x240 color displays to display call lists, phone books etc.

They have some speed-dial functions and buttons, I really like them. Enter “01” or press to call Matt would be a nice feature also for a soft phone.

And a very good search service (similar to Ctrl F within Spark) is necessary.

All this has little to do with the UI but with the logic behind it.


diana – the YateClient UI looks fairly nice and clean. A direct screenshot at:

We’re definitely aiming at something a bit more IM-centric, but I think it works well for a dedicated VoIP client. Great to see that you didn’t go down the path of making it look like a physical phone.

Phone on the computer? Ugly! The best way is stay in IM UI, just add some phone functions…

Hello Matt!

When you said you are looking for something more IM centric then how about:




hello, Matt and crew!

I happened to see a lots of soft-phones, including those whose ugly screenshots you’ve posted above.

so far, my ultimate choice is a Express Talk by NCH Swift Sound. mainly because of its simple clean UI and multy-line capabilities (Hold, Tranfer, Conference).

to get idea quickly you can just take a look at this app screenshots page .

“people know how to use their real phones, so we should make our softphone look like one”

the funny thing about that argument is that most real phones are a pain in the ass to use! if anything needs improvement, it’s phone interfaces. making a softphone mimic a broken UI is a joke!

Of all the “phone”-like UI:s, I must say I like Idefisk the best. It is slim and follows a nice color scheme and not too much cruft. But the “IM”-like interface of Spark(/ICQ/Psi) is still better suited for a computer user. Might be a source of some inspiration though. I just hope you solve the media relay issues and create an end user friendly package.


I’ve been looking for a Jabber/Sip integrated softphone. I really like spark, an addition of a dialling option would be great. I have the asterisk plugin working. I’ve tried a few softphones e.g. kapanga and others, but they don’t detect a USB phone like X-Lite does - a combination of a skinnable/simpler looking, X-Lite app which is plugged into Spark would be wicked.

Any news on an alpha or beta version at all?


Will – the beta will be out very soon. Check back over the next week.

How about hotfoon.com check their dialer client.

Hello! Good Site! Thanks you! jraevqtgfxx