More context for Jaiku comments (Greasemonkey script)

The below has since been superceded by Jaikungfu, my firefox extension for Jaiku.

A while ago I posted a suggestion to the Jaiku #jaiku channel on showing more of the presence titles when listing comments in order to provide more context. Currently, comments are displayed like this:

Jaiku

without script

The thing is that the listing actually has more context information embedded in it but you would have to hover over the link to show it as a tooltip. With my Greasemonkey script installed, this text is pulled out and shown directly on the screen:

Jaiku

with script

To enable this functionality, you will first have to install Greasemonkey. After that, you are ready to install the Jaiku More Context for Comments script. Please email me or contact me through jaiku if you have suggestions or encounter any problems. Thanks!

There’s actually a much better write-up of this on Rick Measham’s awesome site JaikuFans :)

tags: , ,

Twitter Book Cover

Twitter Book Cover

Forthcoming?

No doubt, a river otter would be the perfect animal for the cover of a book on twitter in the O’Reilly series. Just look at that little hand, perfect for texting.

Back from the annual spring mountain biking road trip

People in South Carolina and Florida probably thought we were out of our minds when we replied “mountain biking” after being asked why we were in South Carolina or Florida. The thing is though, that there’s awesome trails down there! Sure, no real mountains or anything like that but still…

Canopy Trail, Santos, FL

Karin on Canopy Trail in Santos, FL

Santos, FL

Karin riding a skinny on the red trail around the Vortex freeride area in Santos, FL

Santos, FL

Karin at the Vortex freeride area in Santos, FL

The camping at Santos in Florida was right by trail which is a luxury we’re definitely not used to. We could ride our bikes to the tent and eat lunch and then go back to the trail for another ride in the afternoon. Awesome – and we had great weather too. Only thing was that we were meeting Jonathan in Brevard, NC so we had to go north at the same time as the a cold front moved in. We went from 85 degrees in Florida to snow and below 32 in North Carolina! We stocked up with an extra blanket at K-mart and actually never got cold during the nights even though we had temperatures around 20 degrees. Perhaps due to ending each day with microbrewed beer and hot dogs around the warm and cozy campfire.

Lots more photos on flickr.

Gone fishing

For the second year in a row, Karin and I are heading to south for an easter mountain biking vacation. We haven’t quite decided where to go but North Carolina and Pisgah are definitely on the map – the trails there are awesome, some of the best in the country! Being in the blue ridge/smoky mountains area that might not be so surprising.

What you might be more surprised to hear though is that Florida seem to have some amazing mountain biking trails too. We haven’t been biking there yet so I’m very enthusiastic about going there if we have the time. The terrain is generally pretty flat which has led to trails being more freeride oriented. I guess it’s also a matter of parks there being confined to smaller areas.

Santos

Santos Trail, Florida (via toddsherman).

Anyhow, we’ll be back in about ten days! Ten days of biking and camping so wifi will be limited to sneaking access outside of motels :)

perhaps other peploids also write about , , ?

tags in 2007, for the benefit of the long tail?

Tags are great, we all love tags! For one, they replaced the mentally taxing task of having to choose one and only one folder or category to put an item into. They also built upon the idea of folksonomy; that people over time will conform in terms of how they describe things because they both want to be understood and understand others. It’s an evolutionary process where the rules, albeit implicit, will be set by the users themselves and as such there’s no real need for restrictions or guidelines.

In some cases, like in gmail (labels) and in google reader (folders), users will probably use the tags like folders, because that’s how most of us are used to dealing with email and feeds. My guess is that most people will probably stick with this and many of them might even consider the possibility of assigning more than one folder/label to be more of a bug than a feature. In the case of gmail you’re not imposing your scheme on anyone but yourself but on the other hand, you’re not exposed to other people’s tagging either so you’re not conforming. Thus, the term folksonomy is not really applicable here. It’s first when you start sharing your tags that they become interesting.

So take Flickr, which employs what is called narrow folksonomy, where each item has only one set of tags associated with it, whoever adds a tag to an item, adds it for everyone else as well. Here I think is where we’re currently seeing folksonomy at its finest, where it actually works… To a certain degree. Because, when you want to search, do you really choose to do that by tags alone? Or when flickr only had search by tags, did you actually find everything that you wanted that way? Or when you want to find anything from your archives, is the tag cloud your first association?

There’s also broad folksonomy tagging, as employed by del.icio.us amongst others. Here each item is described by each user individually. Depending on if you look at it from an individual user’s point of view or from the items’, you get two different but overlapping tag sets. One is a union of all users’ descriptions of that item and the other is a subset of the former. The interesting part is that with del.icio.us, it actively tells you how to conform in terms of tagging folksonomy. That is, based on how other people have tagged the item you’re adding, del.icio.us is giving you suggestions on how to tag your item.

Great! So now you have all your items properly tagged, conforming with how other people has chosen to tag the same items. Only thing is, they’re all tagged with web2.0 and social! Not very surprising since those were the most popular choices and they were displayed with the biggest font. They were also the most general of the choices and thus wholly seemed to describe the items. Only not precisely so.

I think one problem is that we’re not all biologists. Nor economists, nor linguists. A folksonomy, if employed by a larger population, will conform towards the generic, not the specific. To a flower, if you will, and not a rose. In the fields where there’s already an established taxonomy, folksonomy will water it out. In the fields where a clear taxonomy not yet exists, such as in web applications, folksonomy through tags as they are employed today will not create one. After all, most people aren’t really setting out to be taxonomists, they just want to add an item to del.icio.us and be done with it. If someone says it’s web2.0, who am I to argue—who even cares?

However, tags came out of the need for something that was a bit more free than categories and folders, yet still more strict and powerful than plain text. In actuality, tags also came out of the real-world problem that freetext search in big and constantly updated databases was not feasible. Powerful as tags were meant to be for both the generic and specific, they were the most powerful when it came to drawing the broad strokes: to show trends and what is currently popular. Pair a very general tag with a current event or product release and suddenly it becomes crystal clear what it means.

In a sense, applications that use tags based on their popularity are doing their users a disservice. Because it really only aids them when they are adding an item, not when they’re later trying to find it. And if they’re not storing things in order to find them later in the first place, there’s no basis for folksonomy and shared tags could be skipped altogether.

What can be done though? In theory, perhaps the following:

Separate the broad from the specific.
Aim for the benefit of the long tail. If you can’t get them to work for that, your shared tags are probably not working at all.
Separate search from tags. They should not just be a subset of search.
Exclude popular tags and those shared by many users.
Keep filtering until your tag cloud is both intriguing and surprising.

In practice, it’s not going to be that simple. However, that’s where the creative people in your staff come in, go put them to good use, give us tags 2007!

20070319: What about a bell type curve?

viacom vs. we the people

Robert Scoble totally hits the nail on the head in replying to the question what happens after google loses? I’m pretty sure it doesn’t matter very much how the court case is played out, both the new generation of media consumers/producers will be better off—period.

For this case and every case like it, more and more people will look more openly towards alternatives. And the people who still choose to side with big media (in lack of a more concise term) will likely do so because they agree with these companies take on specific issues, not because they’re against the alternative per se. Obviously, at the end of the day, money will involved either way.

The larger economic aspects aside, what I personally am hoping for is to see a growing micro market with more independents, more bold moves, but most of all, more people being genuine and sincere. A paradigm shift that not only brings with it a transfer of money from one account to a lot of others but a whole new rationale for what things are worth as well.

Many people are certainly willing to pay a premium for things they enjoy and feel for. Once you answer the question whether someone is sincere with a resounding yes, that cd bought directly from the artist for $20 is a bargain, really. After all, you were probably getting something that was not a fit-one, fit-all but instead something that felt just right. It’s no longer only about what story is being told, it’s how you interact with it as well.

links for 2007-03-14

links for 2007-03-13

Twitter Feeds support http if-modified-since

When looking at the twitter feeds today I noticed that they support http if-modified-since. Type in the following in your shell:

$ curl -z "20070312 00:00:00 CET"

http://twitter.com/statuses/user_timeline/663633.rss

and it returns:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Twitter / lemonad</title>
<link>http://twitter.com/lemonad</link>
<description>Twitter updates from lemonad</description>
<language>en-us</language>
<ttl>40</ttl>
<item>
<title>lemonad: This is a message</title>
<description>lemonad: This is a message</description>
<pubDate>Mon, 12 Mar 2007 05:11:34 +0000</pubDate>
<guid>http://twitter.com/lemonad/statuses/6883771</guid>
<link>http://twitter.com/lemonad/statuses/6883771</link>
</item>
<item>
<title>lemonad: This is another message</title>
<description>lemonad: This is another message</description>
<pubDate>Mon, 12 Mar 2007 00:15:46 +0000</pubDate>
<guid>http://twitter.com/lemonad/statuses/6806561</guid>
<link>http://twitter.com/lemonad/statuses/6806561</link>
</item>
</channel>
</rss>

but if you instead type:

$ curl -z "20070312 02:00:00 CET"

http://twitter.com/statuses/user_timeline/663633.rss

you will get the following result:

<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>Twitter / lemonad</title>
<link>http://twitter.com/lemonad</link>
<description>Twitter updates from lemonad</description>
<language>en-us</language>
<ttl>40</ttl>
<item>
<title>lemonad: This is a message</title>
<description>lemonad: This is a message</description>
<pubDate>Mon, 12 Mar 2007 05:11:34 +0000</pubDate>
<guid>http://twitter.com/lemonad/statuses/6883771</guid>
<link>http://twitter.com/lemonad/statuses/6883771</link>
</item>
</channel>
</rss>

Unfortunately, it doesn’t seem like there’s any way of getting back more than 20 items, no matter what date and time is used.

20070313: Add ?count=n to the end of the feed url where n is the number of entries you want. This way you can get a lot more than 20 entries.

20070318: From the Twitter Development Talk group:

Wow, Jonas, you found that recent addition before we even documented it! You totally get a gold star :)

Alex Payne
Obvious

http://twitter.com/al3x

By the way, if you haven’t already got SXSW- and twitter-induced ADD or you’re willing to live with it, then by all means feel free to add me!

Movable Type 3, MySQL and UTF-8

First off, if you’re about to convert a MT database from iso-8859-1 to UTF-8 or export and reimport an exported MT3 MySQL database — this information is probably for you.

With that said, Six Apart has supported UTF-8 in their blogging platform Movable Type for a long time so I’ve kind of taken it for granted and never thought much about it. That is, until I tried exporting and then reimporting the database. As much as I tried (and I did try!) I could not get a proper export of the Movable Type tables from MySQL.

When it comes to international characters, or actually, any character that’s not within the 7-bit ASCII set, UTF-8 is using two or more bytes to store an individual character. Any of these bytes should be visible in the extended ASCII character set. For example the swedish character å (å) will be displayed as Ã¥ in ISO-8859-1 and consists of bytes 0xc3a5.

PhpMyAdmin, a common front end for MySQL, will show the above as ‘å’ if set to display UTF-8 but will show it as ‘Ã¥’ if set to display ISO-8859-1. Now, this is of course something that should’ve alerted me towards the solution of the problem because regardless of how I configured phpMyAdmin or my tables, I could not get it to display any swedish character properly. And if I edited a post by hand in phpMyAdmin, Movable Type would show it equally garbled.

Even stranger was that when I exported the MT tables, an ‘å’ would become, not ‘Ã¥’ as expected, but instead ‘Ã¥’; the ISO-8859-1 representation of the four byte UTF-8 string ‘Ã¥’ (0xc383c2a5). At this point, don’t do like I did and assume it must be a problem with the export. Most definitely do not write a script to correct the above. The thing is, even though Movable Type supports UTF-8, it’s using components that does not. So until that’s taken care of, they encode the data twice and any multibyte UTF-8 character will be twice as long, bytewise, in your database and your export file.

All you might want to do before importing the database is to add the following in the top of the file:

SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET NAMES utf8;

That’s it, now import.