Google Talk

by Zef Hemel

It has been rumored for months now, and the rumors turned out to be right: Google just launched an IM (Instant Messaging) client. It’s called Google Talk and you can now download a beta client for Windows 2000/XP.

Google Talk

If you look more closely you’ll see that Google Talk is just a Jabber client. Jabber is an XML-based IM standard, which, for as far as I can see, hasn’t made its big breakthrough yet beyond the geek crowd. Google launching a client like this may very well change that.

On top of what a normal Jabber client offers, Google Talk also offers the opportunity to actually talk to each other (internet telephony). This is a feature that most Jabber clients don’t offer, and I wonder if it’s part of a Jabber standard, I sort-of doubt it actually.
*Update 1:* It appears that iChat also offers this feature and it is possible to do telephony with Google Talk users through iChat on the Mac.
*Update 2:* I just set up Google Talk in my iChat, but it doesn’t seem like I can actually talk to people. I can send messages, but the phone button (to call somebody) just doesn’t appear.
*Update 3:* Indeed, iChat and Google Talk users cannot interact yet, according “to this”:http://radar.oreilly.com/archives/2005/08/google_talk_rel.html, it will happen though when they support SIP. “Technical details can be found here”:http://www.google.com/talk/developer.html.

Google Talk looks promising, but doesn’t offer anything new as of yet. Skype, for example, can do the same thing, or MSN, or AIM. But I’m sure Google has some neat feature planned for the future. You can logon to Google Talk using your Gmail account.

If you plan to use it, yet don’t have anybody to talk to, my ID is zefhemel@gmail.com. ;)

Google Talk website

I was just pointed to three bulletin board systems that either have adopted the concept of tags, or are fully based on it. A couple of weeks ago I posted about this idea. Apparently I wasn’t the only one thinking about it at that time.

The three boards are:
* bbPress, written by the same guy that wrote WordPress. Tags are included here next to the usual boards, so it hasn’t replaced them. Still it looks good, you can find an example of what this looks like at the WordPress support forum.
* Tagifieds is practically exactly what I had imagined the new kind of forum to look like. There are no boards or categories, just one big namespace containing all topics. Tags are listed at the right and if you click them you will see the topics that are tagged with that tag, it will also show related tags. Quite nice, although in a way it doesn’t feel quite right yet. I don’t know why.
* Tagsurf looks a lot like Tagifieds. In its current form I don’t think it’s very usable yet, unless your entry is the Rcent Posts page. But I’m sure it well get there.

It seems that it’s finally happening, just two weeks a couple of days to go and I’ll be walking Irish grounds for a year.

I just sent out my tuition fee payment, reserved a temporary room at Trinity and booked my ticket. Tuesday September 6th at 19.00 I’ll be flying to Dublin. I can stay there in the temporary room for up to two weeks. In these two weeks I have to manage to find a permanent room elsewhere. I hope I can find something good. Oh, and if you happen to live in Dublin, or know somebody there that has a room available, let me know.

Looking forward to it!

One thing that has been bugging me, and many others with me, is the need to sign up for every website/service/forum separately. Why not have one super username/password combination that works everywhere and be done with it?

Microsoft has attempted to solve this problem with Passport, but it failed. People don’t trust Microsoft with their personal information. Sun and others have started Project Liberty, but not much has followed from it, for as far as I can see. And the end result will undoubtly be a very complicated API.

Still, the problem bugs me. People don’t trust one company with their personal information. Then I thought, OK, so maybe decentralizing is a solution. People leave their personal information with companies and websites already. Apparently, people trust those websites and companies. It reminded me of Jabber. Jabber is a decentralized instant messaging service. There is no central server where all the contact lists and user data is stored, each user picks or runs its own server where his or her data is stored. For example, my jabber id is zef@12jabber.com. What this means is that I have an account at the 12jabber.com Jabber server, and my username there is ‘zef’. If somebody wants to send me a message, his or her jabber client contacts the 12jabber.com server and tells it that it has a message for user ‘zef’. This way you don’t need a central server. The user id tells you where to send and get information.

Ok, so how can this concept be applied to, say, websites that use an authentication service, like forums? People hate to sign up for each site individually, it would be great if they can easily transfer their profile from one website to the other. I came up with a very simple solution, very similar to what Jabber does. I dubbed it SPTP for now, the Simple Profile Transfer Protocol. This is how it works:

Every application (for example forums) implements a SPTP server. It is a simple script that accepts a username and password and returns the profile data if the username and password match. The software also includes a SPTP client. When somebody attempts to login with a username that does not exist, the format of the username is checked. If it looks like this: someuser@someserver.com, or even: someuser@someserver.com/forums, the software concludes that this is probably a SPTP user. It contacts someserver.com to retrieve the profile data and uses this data to register the user locally on the website. After registration is completed (ideally the user doesn’t even notice this is happening), the user is logged in.

The protocol that I chose for SPTP is very simple and not amazingly secure. On the other hand, profile data is not very secret, so I don’t expect this to be a problem. It is a good idea, however, to allow SPTP login attempts for each user only once very, say, 20 seconds, to avoid people trying to brute force their way in.

The implementation of SPTP is extremely simple. At the end of this post I’ll include a .zip file with a PHP SPTP library that basically has two functions: sptp_exportprofile (to export an associative array of profile data to SPTP XML) and sptp_getprofile (which takes a userid and password and retrieves the profile data for you). All you have to do to use it is implement the automatic registration and server part. I implemented all this in a couple of hours.

SPTP authentication happens as follows: Let’s assume the user Zef@zefhemel.com has attempted to login to a forum where no such user exists. First the file http://www.zefhemel.com/sptp_auth_path.txt is requested by the SPTP library. This file contains the path to the authentication service, for example /sptp/auth.php. Then a POST request is done to http://www.zefhemel.com/sptp/auth.php with two POST fields: username and password. The auth.php script checks the username and the password and, if they are correct, returns a simple XML file which looks roughly like this:

<sptp version="1.0">
   <nickname>Zef</nickname>
   <avatarurl>http://www.fmf.nl/~zef/icon.php?icon.gif</avatarurl>
   ...
</sptp>

The forum then uses this data to register the user locally and logs the user in. That’s it.

One problem remains: which profile fields are there and what are they called? Different kinds of services (and even similar ones) have different profile fields and I think they should be free to add any field they like in SPTP. Fields that the software does not recognize will just be ignored. I think there should be a set of standardized field names, however. Which those would be is open for discussion, some that I can come up with right now:
* nickname
* realname
* avatarurl
* icq
* msn
* aim
* jabber
* signature

I created a very simple SPTP service and client for demonstration purposes, which you can see and test here. You can download this example and the ad-hoc SPTP implementation I just created here.

It’s all not finished. At this stage I’m mainly interested in input from others. So let me know your thoughts and concerns.

It’s roughly one and a half year ago when I wrote The Change. The essence was this:

I have done some programming jobs as well, paid ones. Recently I noticed I don’t like doing those anymore, I don’t like programming a Workflow Management System (which I wrote a while ago), I don’t like working on KeyTopic anymore. Why? Mostly because it’s all the same. There’s no challenge. It’s all much of the same.

It has been a while, and I thought I’d give you an update on my feelings regarding this subject.

In short it comes down to this: not much has changed. Those who thought it would just be a stage and I would pick up programming soon enough: sorry, you were wrong. I was reminded of my disliking of programming again two days ago when a friend asked if I had time for a “fun little programming problem”. “Sure”, I said, totally not thinking at all. Well, the problem wasn’t fun. To me it wasn’t fun. And I realized that there’s probably no programming problem that I consider “fun” anymore. I never was a big fan of the kind of programming contest assignments and that has just gotten worse.

The level that still interests me are the higher levels. The design. Or higher, thinking about design. Having ideas for software products. I want to come up with things that haven’t been tried yet. Again, an army of coding monkeys would’ve been great. If I come up with an idea and start implementing it, I still quit halfway through, because it’s… so… boring.

Maybe due to the interesting past couple months my interests have shifted somewhat. Lately I’ve started reading into subjects like linguistics (still languages, but different), politics and different cultures. The list of blogs I read shrunk in respect to tech-related blogs and lengthened in respect to blogs about writing and linguistics.

In October I’m off to Dublin to study networks and distributed systems. The courses, most of them anyway, seem to be about the architectural level. I’m sure it will interest me. The question, however, is what I’m going to do after that? Am I going to work? What kind of job would I want to have? I’m not going to be a programmer unless I absolutely have to. I just don’t know. Who knows, I may just become a Ph.D. student somewhere.

I’ll just wait and see.

Politics to Go

by Zef Hemel

In about a month the first book that I ever contributed to is coming out. Its full title is “The Politics to Go Handbook: A Guide to Using Mobile Technology in Politics”. It will be launched on September 13th and will be available from Amazon and free download from the IPDI website.

What is this book about? From the website:

[..] the publication will introduce some of the latest mobile technologies, examine their current uses and political successes, consider future possibilities and challenges and offer simple how-to guides for implementing these new technologies into your next campaign.

What you’re probably wondering is, is what the hell I have to do with politics. And that’s a fair question, I don’t know a lot about politics, the reason that IPDI (Institute for Politics, Democracy and the Internet) has asked me for a contribution is that I wrote a how-to on podcasting. Podcasting is part of this book. The book will include an extended edited how-to written by me. They also interviewed me about the applications of podcasting in politics, I’m not sure if they’ll just plainly include the interview or will edit it into a section.

Here’s the official media release:

For Immediate Release, August 8, 2005
For more information: Kathie Legg
Phone: 202-994-1003

ZEF HEMEL TO CONTRIBUTE TO THE POLITICS TO GO HANDBOOK, NEW PUBLICATION ON MOBILE TECHNOLOGY AND POLITICS AT GW’S INSTITUTE FOR POLITICS, DEMOCRACY & THE INTERNET

Washington, Aug. 10, 2005 – Zef Hemel, founder of ZefHemel.com, will author a section in Politics to Go, a handbook on the political uses of mobile technology that anthologizes over 50 of today’s top names in technology and politics. The Politics to Go Handbook is published by the Institute for Politics, Democracy & the Internet (IPDI) at The George Washington University’s Graduate School of Political Management.

“The Politics to Go Handbook will serve as a manual for using mobile technology in the political realm,” said Carol Darr, Director of the Institute, “not only for candidates, but for issue advocacy groups, nonprofits, civic groups, political consultants, lobbyists, local governments and citizen activists.”

It also draws on the experience and expertise of experts from around the globe to describe the mobile political audience, predict how mobile tech will be used in future elections and discuss any roadblocks that may occur.

The publication will be released at an event hosted by IPDI and sponsored by Wired magazine on September 13, titled Politics to Go: How Mobile Technology Empowers Just-in-Time Politics. The event will introduce some of the latest mobile technology techniques, examine the current uses and political successes of mobile technology and discuss future possibilities and challenges. It will feature a gadget lab and sponsor display area. Two panels of visionaries, analysts and practical implementers will discuss these issues and facilitate an open question-and-answer dialogue with the audience.

The Politics to Go report release, panel discussion and hands-on event will run from 8:30 a.m. to 1 p.m. on Tuesday, September 13, 2005. Breakfast will be served. The event is free and open to the public.

For more information or to register for the event, please visit www.ipdi.org/politicstogo. For more information about IPDI, please visit www.ipdi.org.

For a couple of years now, people have been thinking about the semantic web; a web where information is neatly ordered and beautifully structured. This would allow search engines to truly look for information and come up with better results. It’s a little how the web originally started. When we still used <h1> tags, and tags like <strong> and <em> instead of <b>, <i> and <font>. These tags mean something. They are about semantics, not presentation.

Anyway, the problem is that if you want to do the semantic web right, there’s a lot of work involved. The problem is getting people to do all this additional work and do it truthfully. For example, usually, words in the title or heading on a page tell the reader what the text underneath is about. So, if you were a search engine, finding a word in a title would make it more important than just in the plain paragraph text. However, people would abuse this, so a search engine can’t use this information.

Something that people have started experimenting with on several places are tags. There’s blogging software that allows you to “tag” your posts with some keywords. Other services like del.icio.us, allow you to publish interesting links you’ve encountered and to tag them. Tags are all just a word long, so it’s really easy to add them. If I look at del.icio.us now, the most popular tags are web, software, programming, design, blog and tools. Other websites like flickr, use tags to tag pictures. This gives very interesting insight in what people are posting pictures about. If you go watch flickr’s tag page you can see the most popular ones (the bigger, the more pictures posted).

Yesterday, by accident, I found two other sites that use tags: 43things.com and 43places.com. On these websites you can tell people what your goals in life are and find people who share them, 43places.com is about places where you want to go and people who have been there (who can share their experiences). All goals and places can be tagged, and using these tags similar goals and places can be found. When I saw 43things.com, I started asking myself: how could tags help forums?

I’m always interested in different approaches to currently well-established concepts, such as forums. Is it worthwhile trying to use tags in forums? I’m not sure, but here’s one possible approach. My idea is the following: drop the concept of boards. Just have one big namespace, if you will, for all your topics. If somebody starts a new topic, he or she can tag it (or not). The tags will replace the boards. In the case of programming related forums one could for example ask the question how to do a particular kind of for-loop in PHP and could tag it with ‘php’ and ‘loop’. Tags could either be free-form or predefined, I’m not sure what would work best, but I’d probably be in favour of free-form tag names. On the forum front page the latest topics would be listed, but also a list of tags and the number of (new) topics that are tagged with them. This could be done in the nice visual way like flickr does here — it would give an instant view in what people are talking about now.

How do you know the topic starter will tag the topic right? You don’t. That’s why I think it would be best to allow any member to add tags to any topic, or even to remove them (but maybe removing them is something for a moderator to do?).

Why would you want to do this? What are the advantages? I think the advantages are the following:

  • No longer the ever-lasting “Did I post this topic in the right forum?” question. Every topic fits anywhere, a topic can be about PHP and dish washers at the same time, no need to choose between the PHP and dish washer board.
  • Users could subscribe (on the forum itself or through RSS/Atom?) to certain tags or combinations of them. For example, if I’m especially interested in using PHP on the client-side, I could subscribe to all topics which are tagged with ‘php’ and ‘client’.
  • It provides a mechanism to show “similar topics” for each topic. Imagine that after a posting a reply to a certain topic you get to see a screen saying “since you knew the answer to this question, you might also be interested in these topics”, which would list similarly tagged topics.

And what about tag names? One could tag a topic either ’scripting’ or ‘programming’, which basically mean the same. How would someone only subscribed to ‘programming’ find the ’scripting’ topics? Well, I could imagine applying some interesting statistics here, dealing with similar tags or people quite often tagging something both ’scripting’ and ‘programming’ from which one could deduce that they may be very similar. One could create very interesting graphs from how tags are used and may relate to each other. Sites like 43things.com already show “related tags”, so it is definitely doable. I can imagine even showing a list of popular tag combinations, which would be like naturally evolved boards.

The beauty of tags is that they are simple. It’s not a lot of work to tag a topic, and by tagging a topic it can become a lot more useful. It could turn forums in more of a knowledge base, something that many people have been waiting for a long time.

Again, nobody will know if this concept will work or not until somebody tries it. So, if there’s somebody out there who wants to create not yet another bulletin board like all others (YaBBLAO), you may want to give this concept a shot. It’s at the very least a lot more challenging than the traditional model.

Next Page »