Introducing Lernid

Last week, while at the Ubuntu Developer Summit in Dallas I mentioned in one of the roundtables about how wicked-cool it would be to have a desktop client for Ubuntu Open Week, Ubuntu Developer Week and other online tuition events that we run.

One of the challenges we face every time we run these events is helping new community members figure out how IRC works. Ideally this should be as simple as running a program, selecting an event and connecting.

On the flight home I hacked up a little quickly app to get started on this. It is called Lernid.

This is how it works:

When you fire up Lernid it will ask you to select an event from a combo box and enter a nickname. The list of events in the combo box is actually held on the server side, which means we add new events and all Lernid clients will see them. This also means that other projects can use Lernid for their online events too. When the user hits OK it then loads up the main interface:

In the upper pane the schedule is displayed for the currently selected event, the bottom left pane shows the classroom channel and the bottom right pane shows the chat channel. The user is now all set to take part in the session.

Right now I have focused on getting a basic Lernid together, and I have created a Lernid Launchpad project and published Lernid 0.1 to my PPA.

I think there is bags of room for additional features. Some ideas include:

  • Filtering IRC channels – filter out the ‘QUESTION’ lines, hide join/part traffic etc.
  • Scheduling – include a feature to schedule a given event on the system calendar.
  • Notifications – pop up a box to indicate that an event is about to begin.
  • Session leader tools – it could also be useful to include a feature for a session leader to scribe down notes, share links or twitter right from Lernid.

Hopefully Lernid can act as a starting point for the community to add new features. :-)

  • Yos

    What an awesome idea Jono! Even though I am not new to IRC, I found it too difficult to remotely participate: trying to hunt down on the web the schedule for the event, trying to find out on the web what IRC channel an event will be given on, etc. I just found it too cumbersome to even try. However, with a program like this…WoW. I’m definitely subscribing to the RSS feed and keeping my eye on this. You rock!


  • Alan Bell

    I just love the Ubuntu development process, I just think of an app that I want, contemplate what it would look like, think about drawing up a spec for a split screen -classroom and -chat viewer client, then Jono posts the final solution. Now that is what I call Rapid Application Development!

  • Yos

    You rock too…rock on! ūüėÄ

  • Andrea Colangelo

    Really nice! I am trying it a little bit and hunting down a couple bugs I found. It would be nice to upload it in universe, wouldn’t it? My MOTU powers are at your disposal for that! ūüėČ

  • szczym

    Its interesting application, but seems like i cant post from lernid into irc channels ?

    Or yet did not figured it out ūüėČ

  • Serge Matveenko

    Usable and simple interface. Think it will be cool to adapt it for various LoCo teams IRC meetings.

    Thank you and keep up the good work!

  • Jimbo

    As someone who has always been interested in these events but has never bothered because frankly they require too much set up to do, this app seems to be exactly what I want.

    You are onto a winner here.

  • Fabian Rodriguez

    Having spent a week at UDS, something very similar was running on projectors in every room and I loved it.

    So anyone running this should also think about the context it’s been run in – it can be very useful when you’re attending such an event, by using it on your own system, or it can be very useful for everyone without a computer in the room if it’s projected/shown on an LCD screen, etc.

    At UDS this was combined with audio channels from the rooms, so someone on IRC would hear what was happening, but would respond via IRC – this just worked! It was very effective.

    My feature request would be to be able to specify an image URL and have it optionally auto-refresh, so a host with a webcam could send an image to a webserver and people attending would see what’s happening in the room.

  • Fabian Rodriguez

    I spent a few minutes and drafted a blueprint for image URLs and more:

  • Matthew Helmke

    That is awesome!!

  • Jon Nordby

    Ideas to consider: – Integrate a way to get information about planned events. A way to easily find out when the next “Ubuntu Open Week” or similar is. – Integrate a way to get information about previous events, and the results from them. Minutes/logs/etc.

    This could be as simple as links to suitable pages.

  • Amber Graner

    This is AWESOME!! You rock.. I can’t wait to try it out…

  • Jef Spaleta


    One question, what does it take to be an event server? is it just a xml url with defined events or is it more complicated than that?

    I ask because this looks like the sort of thing that one of my distance educator friends might play with as a general education tool.. if the University can act as a hosting server for scheduling their own “events” or “classes.”

    Speaking of which have you looked at the featuresets of commercial distance education apps? My friend talked to me a little bit about the software features she likes in the commercial software she has access to..but we were drinking so my memory is a little fuzzy. I do remember specifically her talking about liking being able to split a class up into smaller workgroups with dedicated chat channels for small group discussion.

    I would encourage you to talk to some k-12 educators who are trying to do distance ed. and see if general purpose long distance ed. is a good long term vision for lernid.


  • Stoffe

    Seriously clever idea! =)

  • jono

    Hi Jef,

    Thanks for the kind words!

    It is a simple text config file – see for the current file while I am developing the app. Right now the IRC network is hardcoded to Freenode, but we could always swap that out.


  • Jef Spaleta


    You definitely want to have the irc network defined as part of the event. Some upstream projects use a lot too.

    You make also want to have the app understand multiple event servers. maybe even have a uri definition so websites can list an event link that can be clicked on to register that organizations events in lernid.

    you’ll probably want someething xml-ish on the server side..eventually. Actually can wrap in everything lernid needs inside the ical definition of an individual event? That way you can use a calendar interface like google calendar of evolution to schedule a lernid based meeting sans the central server listing. Maybe even set calendar alarms which fire up lernid at meeting time.

    This application screams telepathy tubes to me for some reason.


  • jono

    Yeah, I agree. Right now the embedded IRC serves it’s purpose, but is by no means optimal. Telepathy tubes sounds like a good idea.

    Would you be interested in writing some code for this? Do you hack?

  • Jef Spaleta


    Oh I hack…. but my plate is pretty full at work…so I make absolutely no promises about being able to help implement features on this. And if contributing requires signing over copyrights to Canonical, I’ll be declining regardless of my time constraints.

    But what I am going to do over the holiday weekend is get this packaged for Fedora and using an alternative fedoraproject event url and see if people find it useful as a workflow tool for fedora meetings and classroom sessions. If they do, I’ll wager you’ll get someone far better than me offering to help you move along a development roadmap.


  • jono

    Cool, Jef!

  • Leif

    Seems like something well suited for a web app.

  • Adam Williamson

    Jono writing code? blink blink thought that’d never happen again :)

    looks like a a neat idea, I’ll be following along with Jef’s adaptation of it…maybe we can use it for test days…


  • SteelCore

    A very brilliant idea indeed.

  • Uri Shabtay (ushabtay)

    thanks alot for the explanation :)

  • LeeNukes

    Nice work Jono. I didn’t know you found the time to actively hack on things anymore.

    Is that Mono?

  • LeeNukes

    Ignore that, just saw Python mentioned on the launchpad page.

  • josef

    IT is a MUST HAVE on UBUNTU… that for sure…. 2 dumbs up for you…

  • A Lernid bemutat√°sa

    […] Canonical, Ubuntu k√∂z√∂ss√©gi menedzser posztj√°t bet√∂lt? munkat√°rs√°nak fej√©b?l pattant ki a Lernid √∂tlete. Minden IRC-en megrendezett k√∂z√∂ss√©gi esem√©ny (Ubuntu Ny√≠lt H√©t, Ubuntu Fejleszt?i H√©t) […]

  • Links 01/12/2009: KDE Software Compilation 4.3.4 Released | Boycott Novell

    […] Introducing Lernid Last week, while at the Ubuntu Developer Summit in Dallas I mentioned in one of the roundtables about how wicked-cool it would be to have a desktop client for Ubuntu Open Week, Ubuntu Developer Week and other online tuition events that we run. […]

  • Rajiv Ramaratnam

    This is one awesome tool. Just a random thought. Have you considered integrating the Google Wave with lernid?

  • Frantisek Sindelar

    Is it possible to run Lernid on Kubuntu 9.10 ? I can’t get it to work it crashes on trying to connect to event…

    Anyway… really good idea!!!

  • La Ubuntu Developer Week arranca el 25 de enero | Bitelia

    […] cada seis meses. La novedad es que en esta ocasi√≥n contar√° con un cliente de escritorio llamado Lernid, desarrollado durante los √ļltimos meses con la √ļnica intenci√≥n de servir de apoyo a este tipo de […]

  • Ubuntu Developer Week – Semana do Desenvolvedor Ubuntu | Ubuntu S√£o Paulo

    […] Para uma apresenta√ß√£o do Lernid, recomendo esta p√°gina. […]

  • Lernid now working in Karmic « Indlovu Linux
  • Helen Neely

    Nice little tool. I just installed it and looking forward to the Ubuntu Open Week in July.

    What a great idea!