Tagged with trowl

Trowl 0.5.1 Preview

Phew. When I was looking at features to add in upcoming versions of Trowl, two things jumped to the top of the list right away. The first was oAuth. I didn’t know much about the technology but knew it was relatively complex, so I figured it might take a little while to implement. The second thing was multiple account support, as it had been requested by several users. This seemed like a relatively simple change — just check multiple accounts for new tweets instead of one.

Turns out I was wrong on both assumptions. oAuth was really easy to implement except for one bug that I eventually hammered out. And multiple account support had a ripple effect that caused changes to occur just about everywhere in Trowl.

But here we are. Testing for 0.5.1 has begun, and for the most part, I’m pleased with the result. As I said, adding multiple account support affected multiple parts of the app, so here is an overvitrowl_login_051ew of some of the changes:

1. Login screen. I had the option of just showing a text list of authorized account names, but I decided to kick it up a notch and show account pictures. It downloads the picture (or re-downloads it, if necessary) each time you log in. So the icon you see at first may be the default "no picture" Twitter icon, or it may not be your most recent. But after a successful login, it should update.

You can also view your settings and manage your accounts from the login screen now as well.



2. New Tweet. With multiple accounts, you can choose which account to send your tweet from. If you are replying, retweeting or DMing someone in response to a tweet, the account will be "locked" to the account the original tweet was received on.

There is now also an option to enable or disable the automatic URL shortening.

3. Settings. This is where the biggest changes are, and most notably on the first tab. A lot of people, including myself, liked the simplicity of the first tab, so I tried to keep that simplicity intact as much as possible. Essentially this is the same screen that you know from previous versions, but repeated settings_051for each account that you’ve authorized for Trowl. If you only use one account, the screen is practically the same — just a little wider so that you can see your pretty avatar looking back at you. :)

A couple of notable changes: "DM Communication" and "Growl missed tweets" options are per-account, so have been moved to the first tab. Likewise, the interval for checking accounts is NOT per account, so has been moved to the second tab. If there is demand to have the interval per-account, then I will work on doing this. Unfortunately it is not a trivial change, so it will take a little bit to implement that.

And of course, you can add new accounts and remove existing accounts on the first tab. You cannot remove the last account on the list. If you need to re-authorize an account for some reason, just go through the Add Account process again. When Trowl verifies it, it will see it is the same as an existing account, and just update it with the new authorization.

4. Growls. This is an example of something that I didn’t think would change — but as I thought about it more, I realized it might have to. With multiple accounts, I figured some people will need to know what account a tweet was received on. I posted a message on the Google Group for feedback on this (thank you for all the responses!) and came up with two solutions.

tweet_header_051 The first is to append the account information next to the tweet’s author. For example, if you receive my tweet on your account, it will say something like "mageuzi «YourAccount»". There is a setting to turn this on and off in the settings.

tweet_avatars_051 The second is more subtle, and I think more useful. It will put the account’s avatar in the upper left of the tweet’s author’s avatar. If you recall how Twitter shows reply avatars, you’ll get the idea. You can enable this setting in the settings too. There is a slight overhead using this, since Trowl has to process the avatar pictures, but it shouldn’t negatively affect anything.

I also made it so that if you have more than one account, it will show the account the tweet came from after the timestamp. (e.g. "one hour ago on mageuzi") Timestamps only show up on displays that support it.

Okay, I think that’s it. Questions, comments, suggestions and of course bug reports are all welcome. Anything non-critical that requires a major change will have to be put off until a later update. But I will try to accommodate anything else before I release 0.5.1 for public consumption.

Thanks for testing!

Download Trowl 0.5.1 Preview


Trowl 0.5 Released!

I don’t normally make blog posts for new releases of Trowl, but I’m making an exception this time.

First of all, I want to thank everyone who has used and contributed to Trowl. This is by no means a large project, but I’m still surprised by how many others like it, and use the program on a daily basis. I’m really happy that something I find useful is also useful to others! I’m incredibly appreciative of all the feedback I’ve received, especially to those of you who have helped me track down and fix bugs in the past. Trowl would not be where it is now without your support!

Second, I want to announce version 0.5. This version does not add much. As the changelog says:
* Adds support for oAuth. Trowl no longer accepts username and password for logging into Twitter. oAuth is the preferred, secure way of authenticating your account, and I’ve tried to make it as painless as possible. Any feedback is welcome!
* Twitter is changing the API for retrieving the list of friends at the end of October, so I’ve implemented that change now. Let me know if you have any problems seeing your friends list on the Settings screen.

Switching to oAuth is a relatively big change in the code, but luckily I’ve known that I wanted to do this for a while, so I was able to prepare for most of the impact in the 0.4.x versions.

While you shouldn’t see any difference in how Trowl works once you’ve authenticated your account, it will allow me to get to work quickly on the first new feature after 0.5: multiple accounts! I know several of you have asked for this, so it is now my top priority.

Thank you for your patience, and thank you again for continuing to use Trowl. :o) Remember that you can suggest new features or report bugs at any time at the Google Group.

Tagged ,

New Feature in Trowl 0.4.3

The next version of Trowl is going to have a little feature that I’ve wanted in there since I first created the app.  I tend to use the program more for forwarding tweets to my iPhone, but there is one problem with this: you have no control.  If you want to temporarily stop push notifications, well… too bad. Your only option is to turn off your phone, and that doesn’t seem like a viable solution.

So 0.4.3 has a little feature called "DM Communication".  When you enable it, Trowl starts to monitor your DMs, whether you’ve told it to check for DMs or not.  It then looks for DMs you’ve sent to yourself in a certain format.  If it finds one, it takes the necessary action, and then removes the DM from your timeline so you don’t get a timeline polluted with messages to yourself (as amusing as that is).


Currently, there is only one command: @trowl silence [on|off]  As you can probably guess, sending the "on" command will silence Trowl until you send the "off" command.  As soon as you turn it off, it will pick up where it left off, and forward any tweets you may have missed.

And that’s it.  All you have to do is send a DM to yourself that says "@trowl silence on" and you won’t get any more push notifications until you send the equivalent ‘off’ command.  I currently don’t have any plans for adding other commands, but the foundation is now there for it — so if you’d like to see something added, let me know!

As for other features — 0.4.3 fixes a couple of bugs and streamlines the code, mostly in preparation for OAuth.  Which leads me to 0.5.0.

If all goes as planned, this will be the last version that uses basic auth.  My plan is for the next version to start using OAuth.  All this means is that you won’t have to use your username and password to access Twitter through Trowl.  But I’ll give more details on that later.

0.4.3 is out now.


Trowl v0.2 released!

I’ve been working on refining some of the details of my original release of Trowl, and after testing it over an entire weekend of Otakon, I feel confident in releasing version 0.2 today.

This release adds most of what I outlined in my last post, as well as fixing some bugs and adding better error detection.  Specifically, I added a new type of Growl for errors.  If I get an error response from Twitter, or the app isn’t even able to make a connection to twitter.com, then you will get a Growl with the exact error.  In a future release I will try to clean this up to be a bit more user friendly.  (For example, it’s not really obvious that “Bad Gateway” is Twitter’s error for server being overloaded.)

As for actual features you can use, well: a picture is probably worth a thousand words:

These are new settings you can toggle.  Two of them I outlined when version 0.1 was released: the ability to get growls of all @replies and all DMs.  These are set to be enabled by default.

As I was using Trowl with Prowl, I realized that I didn’t really need to get push notifications of my friend’s replies to other friends.  Sometimes it was something I was interested in right away – most times it wasn’t, and I was fine waiting until later to catch up on those details.  So, I added the “Do not growl tweets that are @replies to others” for that purpose.  If you’re not using Prowl, this setting probably isn’t as important, and is not enabled by default.

There is still some cleaning up I want to do, and other feature ideas I might implement.  I’m sure there are more bugs to find as well.  In the meantime, though, feel free to download and please send your feedback.  I’m @mageuzi on twitter.

Trowl 0.2
.NET Framework 3.5 required.
Unzip to a new folder (or replace version 0.1) and run trowl.exe – that’s it!
See my original Trowl annoucement for the rest of the nitty-gritty.

Tagged ,

Announcing Trowl v0.1!

This may be the fastest an app idea of mine has gone from concept to reality.

What is Trowl?
Essentially, it is an app that outputs tweets to Growl for Windows.

Why? What does this buy me?
Honestly? If all you’re using this for is the Growl output, not much. It looks nice, and integrates with a service you may already be using, but that’s it. This version doesn’t even let you send a new tweet!

Then what’s the point?
Recently, Prowl was released on the iPhone App Store. Prowl links up with Growl on your PC so that when you get a notification, it gets pushed to your iPhone via the new Push Notification feature. In other words: you will get push notification of new tweets.

Awesome! But aren’t there already other Twitter clients that use Growl?
Yes. But:
a) Twitter clients that use Growl for Windows are limited — and buggy. If I’m going to use a full Twitter client, I’d like it to be fully functional. Alternatively I could wait until a more mature Twitter client implements GfW support, but I’m inpatient. And even then, it may not have the capabilities I’m looking for, which leads me to…
b) Most of the time, Growl support comes in the form of “friends timeline, @replies or DMs”. I don’t know about you, but if I got ALL my tweets Growled and pushed to my iPhone, my phone would never stop buzzing — which kind of defeats the purpose of push notifications. I only want to get notifications of tweets from my close friends — the people where it may be in my best interest to see their tweet(s) asap.

Sounds good. So what’s in Trowl?
This early version is a simple, proof-of-concept release that only serves to demonstrate the idea and get basic functionality working. This means:
* You can log in with your Twitter credentials, optionally saving your username & password for quick login in the future.
* System tray icon to access Settings and Exit the app.
* Ability to choose which users should have their tweets Growled.
* Ability to specify how often Trowl should check for new tweets from your chosen users.
And that’s it. I’m already working on these features:
* Setting to forward ALL @replies, regardless of who they’re from.
* Support for forwarding DMs.
* Ability to send a tweet from Trowl.
I’m open to suggestions for other features, but my goal is to keep this as lightweight as possible. Its purpose is to growl tweets, with the intent of having those growls push to your iPhone. If you want more than that, you will be better served by any of the other excellent Twitter clients out there.

Why did you name it Trowl?
Twitter + Growl = Trowl
Also, a trowel is a tool used to evenly spread mortar between bricks. You can think of Trowl as the tool that helps cement Twitter, Growl and Prowl. Yeah, I know, I’m the height of cheesery.

Does it cost anything?
Nope. However, Prowl costs $2.99 on the App Store. For me, this was a no brainer purchase, but it’s something to keep in mind.

Anything else I should know?
This app is useless without Growl for Windows, and will inform you of such if it has trouble communicating with Growl for Windows. (Although, it’s excellent at draining your Twitter API allowance, if you’re looking for that.)
This is an early version with limited error checking and an extra helping of bugs. Please let me know if you find any problems.
It is written in C#.NET and requires the .NET Framework 3.5. If you have Windows Vista or Windows 7, chances are you already have this. If not, please take a trip to your friendly neighborhood Windows Update.

I need Growl for Windows. Where can I get it? How do I set up Prowl to work with it?
Please visit growlforwindows.com. You will find both answers there.

Let me at it!
Thanks for your interest. Here is the download. Just extract the ZIP to an empty folder, and run trowl.exe. After logging in, you will see the Settings screen to configure your initial friends and update interval. Remember: any problems, please contact me. (I’m @mageuzi on Twitter.) And, if you like it, spread the word! Thanks!

[update] I just want to thank Wallace B. McClure for his C# Twitter example to get me off on the right foot, as well as DotNetThis for his simple string encryption example. I’m also adding a few screenshots after the break.
Continue reading

Tagged ,