On Web Development and Education

This blogpost is sparked by a conversation with, and blogpost by Joris, a lecturer IMD at Thomas More.

Nerd-School-l

Every now and then I have a chat with a colleague lecturer, be it one from the Technical University I teach at (HUB-KAHO) or another TU (Howest, Thomas More, KDG, etc). A recurring theme in our conversations is workload and the fact that we — as lecturers in a quickly evolving and extensive domain — spend a lot more time on our jobs than people, including our bosses, assume. The actual preparation, research, time spent on experimenting, etc. vastly overshoots the time we get allotted on paper.

When our workload is measured (on paper) a few fixed fees are used, and a few assumptions are made. Giving a lecture to a group of students, or coordinating a practicum for X students each account for a certain amount of time. The amount of time is expressed as a percentage of our total assignment. In total, a fulltime hire has 1600 hours of time to allocate. The assigned percentages are a combination of the time needed for research/preparation, plus the time needed for the creation of the course materials, plus the time needed for correcting, etc.

When a course is new in the curriculum a certain multiplication factor is taken into account, which is a good thing. There are also quite a few problems with the workload weights though:

  • The weights are a theoretical estimate.
  • The weights are an average, as they are the same for all domains (Chemistry, Math, IT, Languages, etc).
  • The weights don’t make a distinction between more static courses (Math, Languages) and dynamic courses (Web Development).
  • The weights don’t take the year of the students — in the assumption that groups of courses spread over a few years go from easy to being more difficult in the end, which our courses do — into account.
  • If you organise your course in such a way that you can serve more students in one hour, you punish yourself as you get less time allotted.
  • There’s no evaluation or adjustment of the numbers afterwards: if you’ve worked 125% at the end of the year, that’s just that. The management still thinks you’ve worked 100%.

On paper, the workload to teach Windows 101 to students in their first year weighs as much as teaching Web & Mobile Development to the third and final year of our study programme: they each — again: on paper — take up a bit more than 10% of my total assignment.

In practice the former requires only a minor amount of preparation as the basics of Windows — typing in a few DOS commands, creation of users, partitioning a drive, etc. — remain the same year after year. Above that the scope of the course is very limited and, in the eyes of an ITer, only touches very trivial stuff.

The latter however is something totally different as it covers all the hot stuff in web development at a level which requires a certain level of expertise. The Web & Mobile Course will quickly take up +20% of my time, excluding any study work. I’ve said it before and will say it again: It’s a very tough job to teach students things about the web. Let me quote myself:

The difficulty of the matter is not the issue here — sending a rocket to the moon is hard, HTML/CSS/JS isn’t — but constantly adapting the course materials to all new developments is. The courses I teach (HTML/CSS/JS/PHP) change every year and therefore require lots of preparation, research, and testing.

The domain we are active in, has expanded quite a lot over the past few years. Knowing a tad of HTML, a few lines of CSS and a notion of JS doesn’t cut it any more. Just look at this extensive list of browser technologies, which is only the tip of the iceberg. It is expected of me to know almost all of the items on that list. Along with all the frameworks. And tools. And best practices. Oh, and then multiply everything by 2 as I also teach PHP.

Above that our domain is in constant flux. As Richard Davey put it:

Be prepared to un-learn what you know every 6 months

And this is exactly where I’m at: constantly reading, trying out new things, trying to keep up … day in, day out. I hope I can keep up with this relentless pace of change. My boss directly above me sees that “us web folks” need to do a lot in order to keep up. The person responsible for our entire study domain sees that too (he used to be part of our team in the past, so he knows how fast IT can evolve), yet that’s where the acknowledgement stops. More than the appreciation of my colleagues and those two persons is all I can get, the ones above them — “upper management” — don’t know and don’t care.

Addendum: I am glad I can combine Windows 101 with Web & Mobile. The actual time spent on the former is below the estimated percentage, and compensates a bit of the extra hours effectuated for the latter.

~

As there is no official time allotted for experimenting, I — just like Joris — try to research and implement new methods/subjects by doing select freelance work under the 3RDS moniker. That way I immediately train my practical skills in a real-life situation. In these projects I sometimes add an extra for free, mostly when I want to try out something new. My first attempt at making a responsive website back in the day is a fine example of this. By doing that project:

  • I gained a lot of RWD knowledge and practical skills, something I don’t get by reading a book or checking out a demo site.
  • The client got a responsive site for free (which is standard nowadays)

It’s no secret that I make extra revenue from this work, yet I use the extra money gained to buy things I normally wouldn’t be able to buy. My MacBook Pro is a fine example of this, as the TU where I teach at doesn’t want to give me and my colleagues a laptop — I kid you not. I also re-invest the money earned by going to plenty of conferences which, sometimes, cost quite a lot of money.

Addendum: My employer also provides a budget to attend conferences. The budget is however limited.

To be complete: Last semester I was lucky enough they “found” some remaining budget and I could attend an expensive course on iOS Development, but that was a once in a lifetime lucky streak. The precursor course, touching Objective-C, I paid for myself.

An oh, here’s a shocker you might not expect: every single year I have to ask my TU for permission to do this extra freelance work, whilst they and my students directly benefit from it.

~

So why do I go the extra mile? I could just work the hours I’m meant to. Above that I don’t win anything from it — on the contrary: it comes at a cost for me and my family. Sunday bike rides for example don’t happen that often anymore, as I’m most of the time busy preparing content for the next lesson which is on Monday, 8AM (*).

I do go the extra mile because I want to. I just wouldn’t feel comfortable with delivering “Web Experts” that have no expertise at all. As a lecturer I’ve made a commitment not to myself but to the web community as a whole to try and deliver people who in their turn can try to make the web a better place.

It’s very sad to see that my efforts are not backed structurally from within our education system. Fortunately there are people such as Joris, Anthony, Geoffrey, and myself who put in all of their effort hoping that one day officials higher up the mountain will eventually see the light and acknowledge that things do indeed need to change.

Note that I’m not talking about a pay raise here. Merely taking the factors I’ve mentioned above into account when calculating workload would be a good start. Encouraging/supporting lecturers to do real-life projects and learn new stuff would be even better. A tri-yearly sabbatical of one semester for lecturers — where we go out on an internship to watch, learn, and help out at one or more companies to maintain/augment our practical knowledge — would be something I can only dream of. For example: In 2012, during summer recess, I landed a freelance job at Small Town Heroes. During the 4 days spent there I learned way more than I could ever have learned on my own in the same amount of time.

(*) This semester I’m experimenting with a new form of teaching which has let me regain my Sunday afternoons. This semester my students choose which topic we’ll cover next, research it on their own, and note their findings via Hackpad. After that we’ll, in group, share all findings and come to a consensus. In the meantime I’ll whip up an exercise for them to finish by the week after.

Until now this way of working has worked fine. Do note however that this only works because:

  • It’s a small group of only 18 students,
  • It’s the third year, so they can do more things independently,
  • We spend 4.5 consecutive hours together,
  • I curate the list of topics

An extra gained by using this way of working is it also resembles a real-life situation for my students: if they ever start as web developer they’ll be often presented the unknown which they’ll have to research and implement on their own. Self-reliance is one of the main skills I want my students to have when they finish the study programme.

~

1300e7fad50f11e2b0f022000a9f1369_7
Vasilis and I, talking education at CSS Day 2013. Photo by @bengie.

I could write more on the subject of working as a lecturer in Belgium, yet let’s leave that for a later post. I do want to close with this (translation of) a tweet I once tweeted:

It’s time to start running (the organisation of) education as a company

Next week the Fronteers interest group on education (Commissie Onderwijs) will get together. As a future member of this interest group, and having already talked with Vasilis quite a few times on the subject I’ll surely put this on the agenda. Perhaps this way we, united, can get the attention of the officials involved.

Software in 2014

We’re at an inflection point in the practice of constructing software. Our tools are good, our server developers are happy, but when it comes to building client-side software, we really don’t know where we’re going or how to get there.

Great read, by Tim Bray. Could pull a ton of quotes from this post, but then I’d just end up quoting the full article. A must read, especially if you’re into backend/frontend/mobile development.

Software in 2014 →

(via )

RE: Missing the bloody point

RE: Missing the bloody point

Embrace the new tools that are coming. Don’t be afraid of the Big Bad Command Line™. Don’t become optimized for the fading past. Don’t get stuck.

Okay, it’s scary. It literally is a black box (although Apple made it white). There’s no “undo” on the CLI. Things might break. And it’s that fear that’s holding you back.

Typing in two sentences on the command line isn’t rocket science. If you can admit that, you can let go of your fear. Maybe you’ll even get to understand what you’re typing in after a while. Experiment, it is after all the thing we’ve been doing for the past 10 years.

If you don’t become a CLI guru (neither am I) I won’t hold any grudge, but at least be open to it. It’ll take time, but you’ll win back that time in the long run.

Adapt or fly. Be responsive. Just like our websites.

On Gowalla, Facebook, Instagram, Path, and Storytelling

I was meaning to write a blogpost on Gowalla 4. About how I used it less than before. But also about that when I use it (which I still do from time to time), I use it in a more engaged way.

In the blogpost on Path 2, I was going to state that “Path 2 is what Gowalla 4 and the new Facebook app should have been”, yet left that out because I wanted to save that for the Gowalla 4 post.

Now that Gowalla has apparently has been bought by Facebook, and after Inferis coined a likewise phrase on Twitter, I think it’s time to dig up that statement again and go a tad more in depth.

Gowalla 4

A much disputed move that Gowalla made in their fourth version was the removal of the items, even though a few months before that changes to the items were made to actually promote them.


One of my Gowalla items I was most proud of: received in Madeira at the top of the island after a five hour hike.

To me, the item hunting was the feature that made Gowalla unique (you’d get no standard points or badges, but nice items) and — above all — fun: Gowalla was a game.

Next to letting people know where you were, the items in Gowalla were the real incentive to checking in:

As some have written before, the possibilities with items were endless, and could’ve have helped further shaping Gowalla.

Now, Gowalla 4 wasn’t all bad. One core feature defining Gowalla 4, next to the city guides for example, was the introduction of stories. With the stories one, instead of saying “I am here”, is now saying “I am here with my friends X, Y and Z” making it all more social (one could even tag friends from other platforms, such as Facebook).


A typical Gowalla Story: Me and some friends out eating.

Each story one made can be compared to a journal entry, and that’s how I ended up using Gowalla 4: only if there was a worthy event I’d check in, add my (Facebook) friends, post some photos and add some comments. After an event was done, the story would serve as a memory one can share, whereas a check-in before would only serve as an entry in a check-in log.

Some memories/stories I now look back at are the surprise party we had when my brother turned 30, a beerfilled party I attended, taking my son to a meet and greet with a childrens’ character, etc.

Technically related: A technical point worth noting regarding the Gowalla 4 release was the API breakage. Some stuff just stopped working, without prior notice. And it wasn’t the first time this happened. My advice to anyone upgrading their API: please notify your developers before making the changes (*), or — even better — version your API to prevent stuff from breaking at all. Will spare you some sad/furious developers.

(*) When the new check-in API was released, Gowalla did notify developers. With version 4 that unfortunately was not the case.

~

Facebook’s Timeline

Facebook is currently rolling out a new feature called timeline. People who have a developer account most likely have already enabled it.

The Timeline not only represents your profile/wall in a timeline, it also allows you to back-log some important events you’ve encountered in your life.


Next to status updates and photos one can now also add a new “Life Event”

Just as Gowalla has shifted towards storytelling with their Stories, Facebook will be also be shifting towards this, and a rather big story too: the story of your life. When were you born? When did you get your driver’s license? When did you buy a house? It soon will all be on Facebook (if you choose to do so).


Facebook’s updated mobile app, also works on iPad

It should also be noted that Facebook has recently released an update to its mobile app. Although it’s technically a very interesting app, the Timeline feature is nowhere to be found in it.

~

Instagram

In September, the second incarnation of Instagram landed upon us. In a year time this app went from zero to hero. Mainly the fact that it is really easy to post photos quickly, even with some nice filters applied made this app fun to use and thus an instant success (Maslow at work fellas: Functional > Reliable > Usable > Pleasurable).


Instagram (version 1) quick demo

In version 2 no crazy new features were introduced to: next to sporting a higher resolution and some new filters that was about it. And even although some filters in Instagram 2 where kinda FUBAR, Instagram took the hit standing as people already were in love with the app.

~

Path 2

As mentioned before, Path 2 has hit the jackpot with its new version and has become quite the storyteller: from telling where you are (cfr. Gowalla, Foursquare), what you are doing (cfr. Twitter), who you are with (cfr. several others), to what you are listening to (cfr. Last.fm, GetGlue), posting photos with filters (cfr. Instagram), and posting videos. A pity Path doesn’t support movies/tv series though (cfr. GetGlue), or it’d be a true digital polyglot.

~

Piecing the pieces of the puzzle together

Having used Path 2 the past few days it’s become clear that this app is about as close as it can get to being a Swiss Army Knife and might ultimately replace several apps you’re already using. For example when Instagram came around it replaced Camera+TiltShiftGen+CameraBag+Flickr/Twitter/Gowalla (part of ˜) in one go for posting a filtered photo at a given location.

Comparing Path 2 with the other mentioned apps (Gowalla, Facebook, Instagram) it’s also become clear that the other apps have some catching up to do, in order to remain fresh.

  • The UI of Path 2 just stands out. The rest has fallen victim of an overused mobile pattern.
  • Although Path 2 still has some work to do fine-tuning the home page (with the time of all your friends’ activity), it’s a feature that should’ve been in the Facebook App update.
  • Although the filters in Path 2 are not as good as Instagram’s, Path can become a worthy contestant.
  • If Path does some tweaking allowing several photos to be grouped in one story, it can easily push Gowalla out of the niche it has located itself into.

~

Storytelling

I’m pretty sure it’s become clear by now that apps/services will always have to push forward (*) in order to remain fresh, around each corner a contender can pop up and hit one hard. An aspect I see returning in most of the apps is storytelling. Without storytelling, I’m quite sure, no app will survive in the long run.

Is Path then such a treat to others? No. But it has potential; The ideas are there. It plays the storytelling card, which is directly linked to emotion, rather well. With some tweaking, I’m pretty sure it can outwin some apps. I hope the other apps find energy in this and re-invent themselves; again, if necessary.

(*) Beware, change isn’t always good though: Don’t kill features people really love, even if it’s only a small portion of your user base who might just be your platform advocates (cfr. Gowalla); and don’t make big changes too swift (cfr. Facebook’s layout changes).