We’re not posting a build tonight. We’ve got a few features that are in the hopper but they’re gonna take longer than a few hours to implement. That being said, we can still talk about said features.

Links in the friends tab. You want it, I want it, Josh wants it. Maybe a more robust reply system that sends the replying ID? More information in tabs? Direct Messages? Yeah, we want them all too.

If you’re not aware, Josh is the one that fixes all my newbie code and does all the face-meltingly hard stuff like tapping into twitpic for displaying images directly in our App. Twittle actually started when I said, “Hey Josh, how can I parse XML in C#, there’s no perfect twitter client for Windows.” We sat down for about 4 hours for 2 days and refined what would be the start of Twittle. As for the design, I mostly comp it out in Illustrator and Photoshop and then write it directly in XAML. So this is our team.

We got the first builds of Twittle out around October and then only recently picked up the project again this February. Most of what you see today has all been re-written in the last week.

I explain this working dynamic because of the whole update system we’ve been working on. It’s very characteristic of how we work. I find out how to implement a new feature (check for updates), I post a build with some other features alongside the update button feature, then Josh swoops in, adds an auto-update feature and gets it on the main window for me to style. The solution is now so much more integrated than it ever was before.

The new updated update process works like this…

  1. Yo! There’s an update you should get… but you can keep tweeting if you want to.
  2. Here’s the progress, it’s a 670K file, you probably don’t have enough time to get a drink*
  3. Was that so bad? What’s that? You were live-tweeting the update process and aren’t done? You can post it, then hit restart when you’re ready.. no rush.

Update-Available

*That is, unless you are on a 28.8bps modem, then you’ve got time.

Atom and Feed

Some people are probably wondering why they can click on links in the search tab, but can’t click on a user icon for an @reply. The story goes a little like this…

The search function of twitter was originally written by the talented folks at Summize. When twitter acquired Summize in July of 2008 they rolled their search ability (and it’s API) into the main functions of twitter. This was great news for the twitter community as it promised continuity between the main API and the search API, unfortunately, this hasn’t quite happened yet.

The good news is that Summize did a great job in creating the industry standard atom feed for your search query. They also formated the feed to do all the heavy lifting for @links and urls that people posted in their tweets. This meant that Twittle was able to tie into these by parsing the html that the feed contained. Unfortunately all these great tags aren’t in the regular friends list that twitter created on it’s own. Another downside to this is that the search feed can sometimes contain extra “stuff” that can cause problems for Twittle. Specifically, doing an @reply isn’t exactly easy because the search feed contains both the username AND the real name.

As you may have guessed, Twittle isn’t consistent in functionality throughout it’s tabs, but rest assured, it will eventually get there. In the meantime, get the latest build (1.0.1.42) and test out some of the new features that popped up in the search tab.

Settings and Shortcomings

The settings window got a much needed overhaul today. After the update last week to the main tweet window, the settings window was showing it’s age. I probably won’t push out an update until I verify that the new check for update button works, which is another addition due to a few shortcomings with ClickOnce.

ClickOnce is an amazing technology. It’s practically childproof for implementing, and it makes users and developer’s lives easier. The problem with ClickOnce is that it doesn’t give you a great deal of flexibility in use.

ClickOnce essentially only gives you two update options; check for updates before application launch, and check for updates after application launch. If you choose the before option, the user (you) gets to see a non-stylized phoning home window before the application starts… not cool. If you check for udpates after launch, you lose the ugly phone home window, but for applications like Twittle that are meant to be open indefinitely you wind up having to close the application and relaunch whenever you want to update. Enter the “Check For Updates” button. Just click Check For Updates, it tells you there’s an update, and it installs and restarts for you… without having to quit manually or opening your start menu! Just a few clicks saved, but totally worth it.

Anyway, enough of me obsessing over button clicks, here’s the new settings window:

Twittle 1.0.13

It’s been a while, but we’re rolling out a minor new version of Twittle. Twittle will now automatically check for updates and ask you if you want to install them. We’ve also improved the UI to be a bit more sleek.

Download Twittle 1.0.13
Requirements: You will need the .NET 3.5 Framework for Twittle to work. Twittle will download it if you don’t have it, but it won’t tell you that it is doing so, and it will look like the installer is hanging out doing nothing while it downloads and installs.