Developer Education Programs

There is something that I’ve tossed around in my brain the last couple of days.  It’s not something I really have time to pursue, but I figured a blog post might inspire others.

My employer has an education group.  They travel around and give classes.  This not only helps build a stronger user and developer ecosystem, but it (presumably) is a source of revenue.

So what if Gnome got into the education business?  I don’t think there’s much room for user training (though I may be wrong), but developers are another story.  An education program could generate income for the Foundation (caveat: I have no idea about the legalities of income and non-profits.)  But it’s not just income.  It’s income as a happy side effect of something that can really push our platform.

So there are a number of ways an education program could be approached, and they’re not at all mutually exclusive.  One option is simple training courses.  We’d prepare materials for a certain pre-defined set of classes.  Educators would travel and give on-site courses.  We could probably pursue means of doing remote classes through the tubes.  Courses would be day-long affairs.  Perhaps some would be multi-day, but still short.  Developers would get a cutesy little diploma saying they completed the course.

The training course approach would suit a lot of people.  And it’s probably the least-effort first-start approach.  Another education possibility is a real certification program.  A cutesy little diploma from a single course is a gimmick.  You don’t do it for the diploma; you do it because your employer thinks their employees should get some training.  You don’t put it on your résumé.  A certification program, on the other hand, would involve more extensive study.  It would’t be done in a classroom environment, but we’d need to provide the study materials.  At the end, you need to pass some tests to get an honest-to-goodness certification.  With some good PR, employers might actually care about our certification.

Yet another option is to do education through educators.  I was recently pointed to teachingopensourc.com, a community of educators and enthusiasts who talk about using open source in education.  Perhaps there’s room for our platform in the actual classroom.  One could imagine a class on user interface programming being taught using Gnome.  For that to take off, it would seriously rock to have a textbook, which is a wholly different beast than a tutorial or reference manual.

These are far from fully fleshed-out ideas.  They’re things that I’m very interested in, and are near to my position as “the documentation guy”.  But for them to be anything more than random thoughts on my blog, somebody would have to really drive them home.

Wanted: Git Help for HIG

Way back when we imported the HIG into gnome-devel-docs, I had a hig-devel branch set up for Calum’s work on the next generation of the HIG.  Except branches in SVN aren’t really branches; they’re just separate directories we copy into.  And I very stupidly took advantage of this fact by making the hig-devel “branch” be just a mirror of the hig/C directory of gnome-devel-docs/trunk.

My fault completely.  I shouldn’t have done that.

Now I’m trying to find a way to fix this branch in git.  If I just merge master into hig-devel, it basically blows everything away.  Git has no way of knowing that it should apply changes from some completely unrelated files that don’t exist in master.

Worst case scenario, I suppose I just do the merge, copy the hig-devel versions of all the files in, and commit.  Anybody have any ideas on how to do this in a way that preserves some history?

Pulse, Summer of Code, Zukunft

I’ve got some exciting stuff brewing with Pulse, my pangalactic project tracker. But I’m stashing things away on for a short while. Phil Bull, Milo Casagrande, Paul Cutler, and I are attending Writing Open Source: The Conference in June. (More on that in a soonish blog post.)  What this means is that Mallard needs to be working in Yelp by June 11, so Pulse is getting momentarily shelved.

Summer of Code

Just because I’m shelving Pulse doesn’t mean it won’t be worked on.  Florian Ludwig has been accepted to work on Pulse for the Google Summer of Code.  Congratulations to Florian.  While I won’t be doing a lot of active Pulse hacking, I will do my best to be a good mentor.

Florian is going to work on integrating bug tracker support into Pulse.  The obvious bug tracker is bugzilla.gnome.org, but the goal in Pulse is to have a generalized framework.  Hopefully we’ll be able to build on his work to link Pulse up to other bug trackers.

Architecture

Recently, I split all of Pulse’s module-processing code up into small plugins.  I’m really happy with the result.  After the refactoring, I was able to add support for the Evolution Quick Reference Card with a 250-line plugin.  (Don’t be fooled by what you see on gnome.org.  Activity and translations do actually work.  I just don’t have all the data uploaded.)

This got me thinking of how I could do the same thing to the front end.  What I’ve been toying around with is splitting all the tabs of pages off into separate applications.  So there would be, for instance, an application that provides the fancy activity graph page for modules and documents and people and whatever else.

The way it exists in my head, applications will be able to interact in ways other than just adding tabs.  One thing I was thinking of was an application to add notes to any object.  Hopefully I can remember what I was doing when I come back to it in a couple months.

Zukunft

So where this is all heading is Pulse becoming a bit more active as a collaboration tool.  It still has a very strong emphasis on automatic tracking, and always will.  But I’m starting to think of ways it can be extended to meet different people’s needs.  I think I’ve stumbled into creating a really nice tool, and I’d like to see it grow.

My Goals

I thought it might be useful to write down my goals for the following year somewhere public. That way everybody can hold me accountable. Here’s what I hope to accomplish by this time next year:

Can it be done? I hope so. Because all that stuff combined would seriously rock.

Update: Added lots of links.

Glasses

The years are slowly starting to catch up with me. For the first time in my life, I have glasses. My distance vision is still incredibly good, but the glasses help for reading, or for staring at the computer screen all day. Obligatory screenshot:

Shaun in glasses
Shaun in glasses

Yorba

I just happened across this organization called Yorba.  It appears to be a non-profit organization making applications for Gnome.  Does anybody know anything about these folks?  I’m mighty curious where one gets funding for that sort of thing.

Creative Commons Attribution 3.0 United States
This work by Shaun McCance is licensed under a Creative Commons Attribution 3.0 United States.