Natural Progressions and Design Decisions.

I’ve picked up working on twittle again. I heard a podcast talking about a “new” twitter client for windows built on WPF, and I decided to check it out. Blu (the client) has a lot of nice features, but it’s got enough flaws to make me want to gouge my eyes out. 1st problem, it takes up over 100mb of memory just to run. The next problem is that the window isn’t resizable. Another problem, which probably isn’t glaring to most users, is that it uses PNGs for all it’s UI chrome and animations… this is why problems #1 and #2 exist to begin with. The app just feels heavy… in an obese sort of way.

Like all things in life, having another entity doing the same thing you’re doing is only going to lead to innovation and a pursuit of making a better product. Twittle is still missing some serious features, in-line @linking to users mentioned in tweets is probably the biggest one (and the hardest to fix). What I have focused on is refining the interface to behave fluidly and without instruction.

Twittle 1.0.21 has seen HUGE improvements in the last 3 days to all aspects of the application, and it has a lot to do with competition…

  1. Reduced Window Border Clutter – No need to have a 7 pixel outline around the app, I also rounded the edges to give it a softer feel.
  2. Moved settings and refresh to be less prominent – The app auto updates itself based on what you choose and the settings window isn’t accessed often, so there is no need for these items to be at the top of the window.
  3. Added tabs for types of info…
  4. Followers is an interesting feature, I’ve never seen it done on another app, so it’s kinda cool to see who is following you, click on their latest tweet, and check them out. If you get an email that someone is following you, you can refresh and it will show them and their latest tweet.
  5. Search was a no-brainer and difficult to implement. The search feed is not just an XML document like the other standard feeds, but an entire Atom feed. This meant troubleshooting the best way to handle the namespace and to parse the information. It’s still spitting out HTML in areas, which seems clunky, but if I can find an HTML parser for WPF it will do all the heavy lifting for @’s and #’s.
    I love the idea of being able to search for a specific word and watch the information come in. I can query “Macworld” and see all the latest news about the event. You’ll probably see twittle expand more on this issue as the app completes it’s more important goals.
  6. Transparency effects have been refined – Specific UI elements now have a multiplier so it’s not just the entire window that goes transparent, but background elements go transparent without effecting the readability of the text. Version 1.0 essentially made the entire window transparent making the feature (and the text) unusable.
  7. Code cleanup – Josh has helped me a ton in trying to modularize and shrink the codebase to reuse code wherever possible. This has been great in keeping twittle’s light feel, yet styled to not be boring.
  8. ClickOnce – This was another great addition. ClickOnce allows people to get updates without having to “re-install” the application. This means users will always have the latest and greatest.

Twittle-evo

Just One R

I’ve been reading a great deal lately:

My Less Than Secret Life   WPF-Book
Teach Yourself   Pride and Prejudice

Pixel Perfect

I needed a new project. I needed a reason to learn WPF. I needed a Windows twitter client that didn’t take up a taskbar’s worth of room and looked better than a standard Windows App. Enter my friend Josh, Visual Studio, and lots of googling.

In 2002 I was the only one of everyone I knew that used a Mac regularly, most of my family and friends used PCs. Now as all my friends and family have moved to Macs I find myself migrating back to Windows and being interested in the Windows development community.

There are basically three reasons why… 1) Choice 2) Lack of good apps 3) Influence. The first one is pretty straight forward, if you want a Mac, you don’t have a lot of casing style options, it’s whatever Apple wants to make, and you hope that it’s something you like. The second reason is that the OS X community has created a plethora of great looking and functioning apps. On the windows side you can’t even find a decent GTD app to save your life… on the mac you have Things, OmniFocus, and iGTD to name a few. The last reason basically boils down to my friend Josh and his influence over my development career. It started out designing a little Windows Forms app to tie into our MRP database, then it was diving into styling and modifying a .NET web application, and finally this week I was permanently hooked when he sat me down and we built a Windows Twitter application together (he did most the heavy lifting). Between these three projects I’ve been hooked and I’m so excited to be learning WPF, XAML and all these other Windows technologies.

I’ve created a page for Twittle and made it available to download. It’s still very much a work in progress and it’s feature set is very much constrained to the knowledge I understand and can implement. So without further ado I give you Twittle, a Windows Twitter client written in WPF…

twittle