Wednesday, September 9, 2009

I...Can't Get No....Satisfaction

I have a problem. I'm hardly ever satisfied with software. I have a very difficult time with just "dealing with it" when it comes to the applications I frequently use. Fortunately, as a Software Developer, I can do something about it. Unfortunately, creating good, robust software is hard and time consuming.

My latest conflict revolves around Twitter. I've been searching for a client that I like ever since my first Tweet. Having groups to organize different friends into seems to be a must if I want to follow a decent number of folks and keep up with what's going on. So when the new version of Tweetdeck dropped with Facebook integration, I figured I'd give it a go. I had previously attempted to install in on a Linux virtual machine before and the performance was abysmal. That is when I started writing libtwitl and yatwitc, which are of course stalled out and not being worked on because as I mention it takes a lot of time and effort. Anyway, let's talk about Tweetdeck now...

Installed Adobe Air and Tweetdeck and it appears to run fine outside of the virtual machine. But the first thing I notice is that it taking up 150MB of memory. If you read my Songbird post, you know I consider this unacceptable. I know it's doing quite a bit, but that's still alot of memory. That fact alone will probably prompt me to start work on yatwitc again. Let's now examine some other issues I have with Tweetdeck:
  • No easy way to tell if a friend has already been added to a group or not. I would rather see the "All Friends" list be an "Ungrouped Friends" and as someone is added to a group they leave that group.
  • Scroll bars. Web Design 101 taught us that horizontal scrollbars are evil. The column concept pretty much depends heavily upon horizontal scrolling, making it a bit of a pain to move around to my different groups.
  • Adding to the scrollbar issue is that when I minimize the window and then restore it, the scrollbar is set to the far left and not where I left it. I want to have my most read columns in the center and just scroll a little left or a little right to check the other columns. Now, I have to scroll all the way over from the left to get past my most read columns.
See, those seem like they should be pretty minor issues, but they completely ruin my user experience. I just found an invite code to Mixero and it does the groups just as I mention and uses what amounts to a tab system to move between groups, which is also what I planned to do in my application. So Mixero is perfect for me right? Maybe? It doesn't have the facebook integration which is a nice to have since most of my real friend/family are actually there and not on Twitter. My tweets are synced to Facebook and so often that is where I will get comments on them from. Also it's using >100MB of memory and the Air UI has min/max buttons in a strange location an while admittedly somewhat cool, has alot going on....sometimes simple is good for a UI.

So what do I want? Why is it that I'm never happy? In general this is what I'm looking for in my software selection...
  • Speed. Must start quickly and interface must respond quickly.
  • Ease of use. Doesn't matter how fast it is if you can't accomplish the tasks that need accomplished. Make frequent tasks quick and easy to get to. Other tasks should be presented in an organized manner to be easily found also. A row of 15 icons that I have to mouse over each one to find out what they do is not "easy".
  • Be predictable. You're an application running in Windows, so act like it. There are certain actions that are expected.
  • Be resource friendly. Yes I have multiple GB of memory. But don't take up 150MB of memory if you don't need to. At most you need 20-30 tweets in memory from each category. Load additional ones dynamically if I need to go back further.
So although I will probably never have all the functionality these other clients have, to get what I want I guess it's time to start coding on Yet Another TWITter Client once more. See...never satisfied...

No comments:

Post a Comment