[Ubuntu-Classroom] Proposed New Lernid Release

John S Gruber johnsgruber at gmail.com
Wed Jun 29 13:10:34 UTC 2011

No one wrote suggesting any bugs be raised in priority and I've gone
through the current list from the top, trying to address what I
thought was reasonable. The results are in
https://code.launchpad.net/~jsjgruber/lernid/lernid-proposed which is
built in ppa:jsjgruber/lernid-proposed

I've concentrated on making lernid more robust in the face of things
that might go wrong, with particular concentration on problem Internet
connections, as suggested by leia. While there are cases when
telepathy won't tell lernid when a connection has dropped, many errors
are now caught and rather than producing a traceback Lernid will try
to handle the case intelligently and supply reasonable defaults. If
the configuration can't be loaded we will load the All Classroom
Sessions calendar. If the calendar can't be loaded we connect to
ubuntu-classroom and ubuntu-classroom-chat, or ubuntu-classroom-es and
ubuntu-classroom-chat-es, at the student's choice.

The security concern over anyone being able to call up a web page is
addressed in this proposed release -- at Nathan's suggestion only
those listed as instructors or helpers in a particular session can
call up web pages (or slides). This implies that connections when no
session is running are protected as well. There is an
--unsafe-override option to disable the checking for our stress

Because it was easy to do now with the above change, we're bolding
messages from faculty and the classbot and do this in both the
chatroom and classroom. I chose to do it in the classroom in case we
wind up supporting unmoderated classroom sessions in the future,
assuming the leaders of those sessions should have their messages
bolded, too. (Faculty = Instructors + Helpers)

In order to do the message checking, I had to get rid of the <???>
sender problem even though it was further down on the list. That
should now be gone (finally).

The "QUESTION" button was hard for me, and at least one other person,
to understand, and of course we already knew about the Question:
convention. At a users suggestion lernid has been swtiched to using a
checkbox, whose label changes to reflect what will happen to the
user's entry when they press enter. An explanation of the convention
is given with a mouse-over message and prior to this with a
notification when the classroom is joined. The notification is an
invitation to interact with our classes.

At event connection time we also switch right away to the session tab,
which I think will address the tab confusion during the last test. In
addition, when a session starts the user is asked to stay in the
session tab to see all of the slides and web material. In addition
I've added both substantial color in the tab and a status message as
reminders to the user to go back to the tab with the slides. I hope
you agree with me, Jono, that this is sufficient.

As an enhancement suggested by Leia, I also added a --chatroom option.
Combined with the --classroom option someone could use Lernid to join
an impromptu class in another pair of rooms. The option is also useful
for testing. We now list the classroom and chatroom names so people
will know if they have joined the wrong ones, and those moving from
Lernid to IRC clients will be more famiiar with the location of the
classes from exposure to the chatroom names in Lernid.

Another minor enhancement is that Lernid will now accept [sliDe 3] as
well as [SLIDE 3]. That one was for Jorge and me--it burned us when
Jorge was giving me a hand with my MUG presentation.

The wait for the irc servers was an issue for some users in two
different ways. They didn't realize it would take a while, and they
would be distracted during the wait and not realize when the irc rooms
were connected. Lernid now has a line in the connection dialog setting
expectations, and the room join is now more obvious on the screen. The
combination of session start notification and the new event join
notification help fill the time so it doesn't seem so long.

There's a problem with the way the main window is resized by gtk and
the panes are set and it would cause the chatroom pane to almost
disappear. It happened to me most on my old lucid machine, which is
why I was reluctant to release lucid the last time. I've put in a hack
to get around this problem and it seems to work ok on all the
operating systems I tried and with both of my machines. I think the
problem was the speed of the computer, not Lucid.

To support Oneirc, Chis Coulson's merge request to eliminate
gtkmozembed is included, and the fix for the Fail to Build from Source
bug for Oneiric from before. Notably absent is the dh-python2
transition support that the Ubuntu project would like. It breaks Lucid
dependencies (Python 2.7) so as long as we are maintaining one version
for Lucid and later, that patch will have to be applied downstream (a
couple of lines in debian/control and a couple more in debian/rules).
Not including the patch might make it harder to get Lernid synced to
Ubuntu, but our testers were vocal about our supporting Lucid.

Missing is the movement of the configuration from ubuntu-owl to
configuration files in the /etc tree (LP: #533279) and enhancements to
allow user control of slides viewing so he or she won't miss a slide
when called to the phone. I think both of these features are needed
for good slide support and I'd like to target them for the next
release, which I'd like to ready for August (along with fixing the
stuff I've undoubtedly just broken). I did have the blueprint for
533279 in mind when I coded for the configuration robustness stuff,
and I added the calendar-supplied event name to the session list in
the schedule tab so we could see how it looked and discuss it ahead of
the next release.

I believe LP: #533279 is the highest priority item left. I think all
of the critical and high priority items are cleared with this release.
The list of bugs addressed is in the merge request at
and in the changelog.

There is more code changed here than I expected or would have liked. A
question to all of you -- should I split it up and defer part. How can
we get it tested in advance of the July sessions given that we went to
the well several weeks ago and I would like to again in August when we
will again need testers? (The August release would be the last for the
Oneiric cycle, to my mind.) Jono--do we dare ask your blog readers
help us that often?

Could I call on each of you personally to test this new version? I'd
like to know if it works for you and if you would feel comfortable
with our students using it since I know that you will be supporting

I have an additional question for Leandro--I couldn't find a separate
calendar for ubuntu-classroom-es so when I created an entry for that
classroom for the failsafe configuration I used the ubuntu-classroom
calendar with an irc connection to the -es classroom and chatroom.
Should that change to a separate calendar? The information will
migrate to the new /etc tree lernid configuration files so it will
remain relevant. Should there be a separate selection for -es shadows
of english classroom sessions and another for sessions originating in

There is an additional concern for Nathan. Lernid is now translating
the "Question:" string sent over IRC for fetching by classbot. I did
this because I think I overheard you say on irc that classbot
understands the phrase in different languages? Is there a danger here
in case Lernid is translated into a language classbot doesn't yet
understand? Alternatively, should it instead always send "Question:"
in english? Will it cause confusion when those using Lernid from
various locales send in questions with that tag in multiple languages?

I look forward to everyone's feedback. Thanks much.


ps. Neither the old or new versions of Lernid work with the current
development release right now if the application indicator is turned
on. It looks like a lot of changes are being made in this area on
Oneiric right now, so I'm going to wait a while for it to settle down
from the Alpha release being prepared. Both this version and the
current (and old) Natty version do work with a month old Oneiric Live

More information about the Ubuntu-classroom mailing list