Twitter and the F# Programming Community

Twitter has been an instrumental medium in building the F# programming community, and like all information media, the client plays a crucial role. IMO the state of Twitter client technology is appalling compared to what it could be. I’m going to use MetroTwit as a straw man to describe how I would like to use a Twitter client, because I think MetroTwit’s UI paradigm starts off in the right direction.

Columns seem so natural, but…

…but MetroTwit has its own idea of what those columns should contain. How about giving me the tools to filter and arrange the columns the way I want? Nested include/exclude filter lists are a simple and proven technology. There is probably an OO design pattern for this. Here’s how I would use it.

My left-most column

Include one or more Twitter lists.
Include/exclude individuals, whether or not they are in lists.
Include/exclude tweets containing a link (filter available for lists and individuals).
Include/exclude tweets containing a hash tag (filter available for lists and individuals).
Include/exclude tweets containing a word or phrase (filter available for lists and individuals).

I might even find a use for filters like

Include/exclude retweets.
Include/exclude retweets by individual.

My second and third columns

I like having a column of tweets that mention me and one of direct tweets to me. Optional retweet aggregation here would be nice too.

Fourth column

This becomes the bucket for all the tweets that don’t make it to my first three columns. Even so, the option to exclude from here should be available.

Option for Retweet aggregation

I would like the option for retweets to appear with the aggregated information of who has retweeted them, but when the same tweet is retweeted again drop out previous retweet occurrences from my column.


Personally, I only want desktop notifications for tweets that pass my filters for the first column, tweets mentioning me or direct to me, and I only want to see a notification for the first retweet. Notifications should have all the same filtering capabilities as columns.


Of course I want the same client on my Android and IOS devices, inheriting my desktop configuration, but allowing me to tweak that configuration by device. I want to see all my columns on my tablet, but one column at a time on my phone.

Drag and Drop

Dragging a tweet from one column to another should pop-up the filter dialog prepopulated with the program’s best guess as to the filter change I intend to make. Easy intuitive filter changes should be a key design principle.

Where are my favorites, MetroTwit?

Oh I see, if I add a column I can make it a column of my favorites…but now I feel like I’m overloading my UI with too many columns, and I only want to reference my favorites occasionally. A “pop-up” style interface to favorites would suite me better. Sorting and filtering are a plus.


Use Twitter to build your personal professional brand. Keep your tweets more or less within a professional domain and keep them informative. (Many consider presence of a link a key indicator of information content.) Off-topic opinions and rants diminish your professional brand. Open another Twitter account for that brand.

One thought on “Twitter and the F# Programming Community

  1. Pingback: F# Weekly #50, 2012 « Sergey Tihon's Blog

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>