Post-mortem: 10 years in the vertical - Part 1

Underjord is a tiny, wholesome team doing Elixir consulting and contract work. If you like the writing you should really try the code. See our services for more information.

Before I did the independent thing I was a developer at a few different companies. I worked on multiple things but one of the main things I worked on was a series of products in the preschool education segment here in Sweden, that’s the titular vertical. The products have since been shut down. This series of posts will cover my trajectory as a professional web developer as well as the evolution of these systems. The series has three parts (they are already written) and will likely receive an addendum.

Content warning: Contains poor technical decisions, inexperience and stories of a developer just starting out and up to roughly present day. Be kind to who I was, he gets enough shit from me.

I will cover some different iterations of the same kind of product/system along the way and I will go back to a few questions as we consider each system.

  • What did it do well?
  • What technical flaws contributed to its end?
  • What did you learn from working on it?

The first system (2009)

During my first job as a professional web developer, not as my first project, a few projects in, I ended up technically responsible for building a web system to support the preschools in an entire municipality. I was a very cheap contractor. I think I pulled my weight overall.

It was a fairly tight budget project, I was at a stage of my work where I had three hammers in my belt, they were named Joomla, WordPress and Drupal. I liked Joomla because it had a lot of GUI for admin and looked sharp by default. I liked WordPress for simpler, bloggier sites. I had just started looking into Drupal and found the way of Drupal 6 a lot clearer than all this intricate MVC-stuff I’d never seen before.

So for building this rather custom system I knew WordPress was a bad fit, Joomla would only work if there was a ready-made extension or something for Swedish preschool systems. I picked Drupal. From this point and for several years to follow Drupal would be the hammer to most nails I encountered. I have feelings about this. But at least its funny to me now.

I started the work on this. We brought in another developer for the project. I recruited him by recommendation from a conversation in a locker room at the Muay Thai club I trained at then. He left a not-so-lucrative gig at a cheese factory to try his hand at actually working with the computer stuff he knew. Great guy. I never regretted bringing him on and I hope he doesn’t miss the cheese because he is still in tech.

I think we delivered pretty well. It was all very exciting. To our advantage, the needs were quite basic. Each preschool needs a blog/newsfeed. Each preschool needs to be able to write portfolio posts for the different children. All posts could have pictures attached. Teachers could set up reminders in the system to remind parents about things. This was fairly simple in Drupal and if we had more experience it could’ve been quite clean. It was not that, but it worked fine and did well enough. There were no apps, no videos, maybe some mail-notifications, I forget. iPhones were not a thing in education and iPads (2012) hadn’t even been conceived of yet.

I don’t think there were any additional development efforts on the system, I don’t recall much beyond some post-launch fixing. But it did introduce me to the audience of preschools. Preschool teachers at the time were not tech savvy. We got a lot of praise for our system being simple to use. Not too complicated. This would be a thing going forward. Customers that were generally pleased and a system that strived for user simplicity.

What did it do well?

It was pitched to provide a blog-style newsfeed and portfolios for the kids and their parents. It did. It worked. They could be exported. It did what it should and was very straight-forward. Simple design, simple execution, probably not particularly performant. I couldn’t really say from here. But I know I didn’t know enough to make Drupal fast at the time.

What technical flaws contributed to its end?

Not really any as far as I know. It was mostly a bunch of custom modules in Drupal along with a bunch of configuration. It ran its course and was probably never updated as the smartphone-age hit. I know the municipality was later a customer in the next version of the system.

What did you learn from working on it?

Tons but all of it somewhat basic. A lot about basic Drupal development, a bunch of polish on the ol' PHP skills (this would be PHP 4 I think, definitely LAMP). Lots of CSS-fighting to get a decent cross-browser look according to the pixel-perfect cartoony design.


Thank you for reading. I expect to publish the next part of this in two weeks. While you wait, if you want more of my writing, my newsletter contains things that the blog does not. You can sign up for that at the bottom of the page. I also provide an RSS feed for this blog. If you have questions or want to get in touch you can reach me via email at lars@underjord.io or on Twitter as @lawik.

Underjord is a 4 people team doing Elixir consulting and contract work. If you like the writing you should really try the code. See our services for more information.

Note: Or try the videos on the YouTube channel.