Hacker News new | past | comments | ask | show | jobs | submit login
How we use IRC at Last.fm (metabrew.com)
109 points by dcancel on Jan 9, 2009 | hide | past | favorite | 35 comments



I remember years ago, when I basically lived on IRC. Hell, I still have channels open 24/7. Now anytime I read about some company using IRC, I get really excited. And every time I use a web-based product that is basically an inferior replacement for IRC, it drives me crazy.

The most disappointing thing is that IRC is still awesome and bots make it infinitely more useful than a webapp could ever be. Unless I can setup Campfire bots or something.


I've always thought of Twitter as a crap implementation of IRC. It's like they're trying to do something which IRC has been able to do for so long. I think this article sums it up: http://stubblog.wordpress.com/2008/05/21/how-to-fix-twitter/ - though the point of people using it is valid. The IRC network I maintain peaked at around 5000 users about 6 years ago, now its down to 700.


Yes, but there are many networks still going strong. QuakeNet, Undernet, EF, DAL, etc. Freenode is still the best place to get instant tech support for basically everything that matters. GameSurge is still hugely popular.

Many people probably left when better file sharing methods showed up. I remember all that, before bittorrent was even a dream, when you'd have a bunch of fserves instituting their own caps and queues and stuff on dozens of different mostly-content-specific servers. You'd have to navigate all those insane directory trees trying to find stuff and make drug deals to get the "good" files. Ah, the good old days.

The scariest thing to me is that I'm not even that old, and yet so many people these days don't even know what IRC is. It's like Usenet or something. I think I did a good job of loosely applying this monologue to your reply :P


Twitter _is_ a weak reimplementation of IRC. For that matter, instant messaging in general, from AIM to Jabber, is a weak reimplementation of IRC. It took years for these chat protocols to get features like rooms and direct-client chats and file transfers. It would have been better to slightly extend the IRC protocol to support the handful of things these services offer (SMS delivery and off-line message stores).

In the same vein, all forum software is a weak reimplementation of Usenet. Not distributed, no killfiles, can't pick your own client interface, can't make your own groups.

I learned a valuable lesson when I watched AIM use explode in high school. I realized that non-geeks started using a crappy chat interface because it was well marketed and ubiquitous (AOL and AIM). The same thing happens with many inferior technologies. Java is an extremely weak reimplementation of some most fundamental semantics of Lisp (such as garbage collection), and, thanks to marketing, became exceedingly popular. Twitter is the same thing (except I still don't see non-geeks using it).


Don't write usability off as "marketing". AIM presented a usable way to do chat for people who had no idea when IRC was a command-line confus-atron.


In this case it was really the adopters though. mIRC for instance was as usable as AIM.


I've heard a number of people say that, but I get the sense that they're not heavy Twitter or IRC users.

Fundamental to IRC is the concept of rooms. Twitter is a web of one to many relationships.

"Conversations" on Twitter are much more segmented and have less depth. I see the Twitter concept as a much more broadcast oriented sort of thing rather than a real conversation facilitator.


It shouldn't take much imagination to see how ircd might be used to implement Twitter.


or you can just turn twitter into irc http://code.google.com/p/tircd/


Twitter is more like XMPP than IRC.


We've played around with a few different notification systems at Flashbang/Blurst. It started with our scrolling LED sign, which would display commits along with text-to-speech on the office speakers (video: http://www.youtube.com/watch?v=FJer51_DoFc).

Over time, though, we started putting more and more stuff into Growl. We get Growl--via the network stuff--for all kinds of things now. This lets people configure it how they want, disable projects they don't care about (each project shows up independently in Growl), and isn't as disruptive all of the time.

We also use a Google Talk conference bot running an account on our Google Apps, powered by: http://coders.meta.net.nz/~perry/jabber/confbot.php . If we had the bot running first we would've probably used that rather than Growl.

We still use the sign for some fun things--we had it doing real-time sales notification of our iPhone games (which talk back to our server), but that became too distracting too quickly. For parties we turn on a webcam and let people type messages into it.

Long comment short, if you don't have real-time notification of source control commits and things--even if you're in the same room--you're missing out on something very useful.


Re: your youtube video... I've put up LED signs at work before, but they suffer the problems that:

(a) you need to look at it. Mental polling.

(b) It can show a small amount of text. There is little summary information (that we deal with) which benefits. Either boolean data that could be shown with a single light or lots of data that needs more space. Is it really useful, or more of a novelty?

Also, isn't the text-to-speech somewhat interrupting?


At Soup we use Jabber in a similar way: A group chatroom that everyone hangs out in, and a bot (based on Whistle: http://whistle.rubyforge.org ) that notifies us of GetSatisfaction requests, emails, commits & deploys and user signups (in batches, to not be too spammy).


same at my company... we just use xmpp4r and a git post-commit hook.

It also sends quotes from the quoteboard to our chat at 10, 12, and 2 :)


Thanks for the link to Whistle, just set it up for us here at Decorati and it's working out great.


It is a pity IRC is so widely underestimated. I like seeing every utilisation like this.


There are countless websites and communities using IRC that you may not realize is IRC. The old big networks are still dying off, quakenet etc, but there's a big surge of growth from smaller networks. Freenode, oftc,

The thing is, IRC is tried and tested. IRC has developed ways to combat spam, abuse, irritating kids, etc etc. That's one of the things that makes it more attractive than any new solution. And of course it's easy to write bots for.

I know I'm biased, but I expect IRC to have a real surge of growth the next year or 2, and take over somewhat from other less immediate forms of communication.

Massive growth from video streaming/chat sites - ustream, justin.tv, things are only going to get more real time interactive, and people are likely to go with IRC.


> IRC is tried and tested

It actually predates the web, by just a little bit.


If people are likely to go with IRC in the future, they're not going to know that they're on IRC. It's going to be some webbed up interface. I've met countless people who think "nerd" or "geek" when hearing the word IRC because it's all text and no pictures, so the only way to actually get them on it is with a pretty interface.

Personally, I see Jabber having real growth within the next 2 years due to GTalk, Facebook Chat and MyspaceIM. And as with IRC having a pretty interface, a multitude of people using these means of communication have no idea they're actually on a Jabber server.

Go figure.


That's exactly what we were thinking when we added 'chat' to PMOG. It's a well developed standard and, given a suitable simple interface, most people won't even know theyre on an IRC server. Plus, it's realtime, lightweight, hackable, etc, etc.


This is cool if only because I learned about netcat. I can't believe I never knew about it before and always relied on "telnet <somehost> <someport>" to do this.


We use jabber for much of the same, find it quite strange that xmpp is not more widely used than it is, but can see that changing soon


One of the main reasons IMHO is that it's a ridiculously over complicated horrible badly designed hideous protocol, which was designed by committee rather than organically grown.

Writing a bot for XMPP isn't a simple matter of sending a few plain text commands. It's an absolute nightmare. It's so verbose and overcomplicated it's just not funny any more.

(I'm currently working on XMPP support in Mibbit, and writing the protocol lib myself so the pain is still raw).


the protocol is certainly verbose, but it isnt very complicated. the verboseness comes with a lot of extra functionality


Here is the login procedure:

  * Send out some xml spam to "create a stream"
  * Receive a stream reply, with feature sets.
  * Send out starttls
  * Get a reply back
  * Switch to secure mode
  * Send out some xml spam to "create a stream" inside the first stream
  * Receive reply back, check supported auth modes
  * Send out auth
  * Receive reply back
  * Send out some *MORE* xml spam to "create a stream" inside the first 2
  * Receive reply back, with features
  * Bind
  * Create session
THEN you can do something useful. Most of the verboseness is idiotic XML:

eg <proceed xmlns="urn:ietf:params:xml:ns:xmpp-tls"/>

Those xmlns's are everywhere, and are stupidly verbose.

You can write IRC commands by hand into telnet. But typing in xml is just not feasable since it's so stupidly verbose.


yeh its too much to be typing into a telnet session, but the extra functionality like being distributed, offline storage, out of band messaging can be very very useful.

irc works great as a chat protocol, xmpp is more viable as a generic messaging protocol


Simplicity and ease of access to a protocol is -key- in widespread adoption. This is why REST-like APIs are so popular - you can write a quick script in practically any language, you can test it on the command line with a quick CURL, or you can simply boot up a web browser and try it out.


We used Skype on one of my teams. It worked well. The ability to retain the history of the chat was the selling point, and the ease of calling someone up was the another. Problem on my (linux skype client at least) was exporting the chat history to a file.


What does the -q0 option on nc do? Neither Linux or OS X appear to have this option available.


Shows up on mine (Linux):

-q [seconds] after EOF on stdin, wait the specified number of seconds and then quit.


The way he describes his implementation sounds like a digital Utopia. A live scrolling feed of topics people care about, with the ability to look things up from the past.

Twitter is definitely a simplification of this concept: You get your own channel to post into. And you also get to choose which other channels to merge together into one mega-channel that you read. Hashtags can send your posts to other "meta channels" defined by the community. Search basically makes each word in a post go to a channel defined by that word. It's all quite simple and beautiful, and stoneage.


I wonder how they find IRC useful - doesn't it suffer from the same problems as tracking any other IRC channel?

Information you care about will be pushed off screen, if you set markers it will be as interrupting as any other popup and alternatively requires manual polling...


We actually use a Skype Chat for this. Why? Because it's persistent, which IRC isn't...

We used Campfire for a while, but it was not as good as Skype Chat (and it caused my Firefox to crash in a way such that I had to reboot my Mac to get it working again).


Audioscrobbler made sense, but now I look at Last.fm, search for bands that were quite popular there in 2006, but now are in the low single digits of playbacks. I think Last.fm has lost the plot, no matter how many gigabytes its market cap is.


You don't think that's just because people have moved on to something else? Seasons change, feelings change.




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: