
This is a big day. After exactly ten days of design and development, I’m both proud and excited to release the first beta version of DestroyTwitter. It’s pretty self-explanatory, but I’ll go over what’s included nonetheless.

DestroyTwitter opens with a login. Enter your information and you’re all set to tweet away. Unlike DestroyFlickr, you’re not required to go through an authentication process. Twitter’s API uses a token header for each call as its form of authentication while Flickr uses a frob/token technique. DestroyTwitter remembers your information for the next time you login and has a preference to skip the login screen altogether.

After logging in, you’ll be met with the Home canvas. The Home canvas contains all the tweets that would appear on your Twitter home page and refreshes once every minute. Just like DestroyFlickr, DestroyTwitter uses workspaces and canvases, providing a familiar navigation. The canvases on the top navigation bar consist of either tweets or direct messages and follow a similar look. Each one lists the 20 most recent tweets/messages of its kind and has actions at the top right to page through older content. Each tweet consists of the user’s thumbnail, message, username and date of posting. Mousing over a tweet will show its actions depending on which canvas the tweet is in and if it your post or not. Tweets by others can be saved, replied to, or a direct message can be sent to the author. If a tweet is in reply to another, a double chevron will appear to the right of post’s date. Clicking that will open the Dialogue panel showing the both tweets.

The Dialogue panel shows both tweets, but uses an API call each time a dialogue is viewed, so be frugal. Twitter’s API has a limit of 100 calls per user. I developed DestroyTwitter so it will refresh each panel often, but with enough calls left over so the average user can use it comfortably. The number of calls left can be found at the bottom of the Account canvas along with the reset time. If the limit is exceeded, an alert will appear at the top of the window to notify.

At any time, either clicking the speech bubble at the bottom right or pressing command T in OSX will prompt the Tweet panel. It includes a simple interface to write a new post and allows for quick and easy URL shortening through TinyURL. After submitting a tweet, the panel will close and switch to the Home canvas where the tweet will appear immediately.

Next to the Home canvas is the Replies canvas. Any tweet that contains your username or in reply to one of your tweets will appear here. Clicking on a tweet’s reply action will prompt the Reply Tweet dialogue. For easy reference, this dialogue displays the tweet to reply to. Since that tweet is specifically being replied to, the username isn’t required in the post if more characters are needed.

Next is the Saved canvas. Twitter refers to these as “favorites.” At any time, a tweet’s save action can be clicked to move that tweet to this canvas. It can also be unsaved and the tweet will be removed from this canvas and updated on any others.

The Search canvas returns a list of tweets from the given keyword(s). It will refresh every five minutes and the keyword will be remembered if you close DestroyTwitter.

A user’s tweets can be listed by searching for “from:” and the username. Tweets to a specific user can seen using “to:” and the username.

DestroyTwitter fully supports direct messages, included the abilities to receive, send, and see the messages that have been sent. Messages can also be deleted.

The Message dialogue can be prompted by clicking the message action in any tweet or in the People canvas containing a user’s profile. It includes the user’s thumbnail, username, and real name if available.

The Account canvas allows profile information to be edited. API information is also shown at the bottom of the canvas.

In the People canvas, a user’s profile can be seen by clicking on his/her icon or username in a tweet or message. This also uses one API call. The profile includes basic information as well as the user’s number of friends, followers, and tweets. Also included is the date in which that user opened his/her Twitter account and the most recent tweet. At the top right, actions to follow, unfollow, or message will appear. However, these actions might be inaccurate. Twitter’s API tends to say the opposite at times—I’ve contacted them regarding the issue and it’s being looked into. At the bottom of the canvas, “See more tweets” can be clicked to switch to the Search canvas and display the user’s tweets.

Lastly, any time a new tweet or message appears, a notification will appear at the top right detailing the incoming content. Clicking the notification will bring DestroyTwitter to the front and close the notification.
Unlike DestroyFlickr, which existed as a prolonged series of releases adding features with each version, I felt determined to release a very solid and robust DestroyTwitter the first time out. It consists of a lot of useful features, some of which run silently in the background. One to note is an image caching system, so any user icon that is loaded once will be recycled and appear instantly the next time it is used. This saves both memory and loading delay.
Overall, I couldn’t be happier with this release—especially considering how much time in such a short span I spent on it. If you come across any bugs or would like to request a feature, please do so. Also, the app includes a built-in updater when a newer version is released, but following my Twitter never hurts. I use Twitter to both announce new things and ask for opinions, so don’t hesitate to jump aboard.