Morton Fox (mortonfox) wrote,

TwitVim 0.4 - Release Notes

Over the last two weeks, I've done a lot of work (r35 thru r50) on TwitVim to get it from version 0.3.5 to 0.4, so I think it would be good to stop for a while and explain some of the enhancements I've put in. This article will be the 0.4 release notes when it comes out. Of course, since I know of only about a dozen or so users of this Twitter client, almost everyone can safely skip this post. :)


TwitVim 0.4 - Release Notes

The goals for this release are to:
  • Close the feature gap between TwitVim and some popular Twitter clients.
  • Make better use of Twitter API features.
  • Avoid sending the user to a web browser for common use cases.
There is still a lot that TwitVim could do better but I believe the structural changes in the script going from 0.3 to 0.4 provide a good foundation for making further enhancements. Here is what's new in 0.4:

Buffer Stack

When you navigate to a different timeline, TwitVim 0.4 saves the timeline buffer in a stack of buffers up to 10 levels deep. So in the timeline window, you can use Ctrl-O and Ctrl-I to flip back and forth in your timeline history without hitting the Twitter API. (These mappings mimic Vim's jump list navigation keys.)

This is useful if, for example, you're browsing the friends timeline and use Alt-G on an @username to check out someone's timeline. Then you can hit Ctrl-O to go back to the friends timeline and pick up where you left off.

Direct Messages

In 0.3 and earlier, TwitVim relied on the "d username ..." syntax to send direct messages. In 0.4, it has a :SendDMTwitter command that prompts you for the message. The Alt-d mapping in the timeline window also uses this new feature.

Direct message prompt

I added this feature because older versions of Laconica (the software that identi.ca, a microblogging service with a Twitter-compatible API, runs on) did not support the "d username ..." syntax. It does support that now but I still think this feature is good to have around for completeness.

SSL Twitter API

TwitVim 0.4 can use the https Twitter API in addition to the usual http Twitter API. This will improve security when accessing Twitter through a wi-fi hotspot. Details are a bit sketchy. I added some setup notes to the help documentation but I need feedback from those who've set it up to find out what works and what doesn't.

I've successfully accessed Twitter https API through the cURL, Perl, Ruby, and Python interfaces. That last one was a partial success. For now, TwitVim can access Twitter https through Python only over a direct connection. It can't go through a proxy yet because urllib2 doesn't support the http CONNECT method. (Python folks, please add that urllib2 opener to the standard library and add support for https over authenticated proxies too.)

Use XML feed from Twitter API instead of RSS feed

Earlier versions of TwitVim used the RSS feed from the Twitter API for the public, user, friends, and replies timelines. Starting from 0.4, TwitVim will use the XML feed for everything. The difference between the two is the RSS feed is missing a number of fields, such as in_reply_to_status_id, so this change opens the door to new features that can make use of a full data feed.

Fetch the in-reply-to tweet

In TwitVim 0.4, if you place the cursor on an @-reply and hit \@, TwitVim fetches the tweet to which this one is replying and displays it below.

getting the in-reply-to of a tweet

If the predecessor tweet is also an @-reply, you can hit \@ on it to trace the conversation further.

This is one feature that is now possible because of the aforementioned switch to XML feeds. Previous versions of TwitVim supplied in_reply_to_status_id data when posting replies but didn't make use of in_reply_to_status_id from the API.

There is a quirk associated with the in-reply-to feature. Some @-replies do not have in-reply-to data. These include all @-replies posted via txt and @-replies posted by older clients that don't support in_reply_to_status_id.

Delete tweets and messages

TwitVim 0.4 has new commands and mappings to delete tweets and direct messages. In the timeline, hit \X with the cursor on a tweet or message to delete it. Note that you can only delete your own tweets but you can delete all direct messages that you've sent or received. Currently, identi.ca does not yet support deleting direct messages. It returns "501 Not Implemented" but I'm sure they'll add this feature eventually.

Refresh, Next Page, and Previous Page

In the timeline window, \\ refreshes the timeline, and Ctrl-PageDown and Ctrl-PageUp fetch the next (older) and previous (newer) pages in the timeline. These mappings introduce no new functionality but have been added for convenience.
Tags: twitter, twitvim, vim
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

  • 0 comments