In a quest to tell the stories of the people and the projects that make the iHub community what it is today, we started a series of blog posts that have been running every week. These are stories about The iHubber -The People and The Projects we see at the iHub on each passing day! This week, we talked to Michael Pedersen, A red member, a tech enthusiast and an innovator at the iHub.
How does your day start and How do you get your inspiration?
I wake up in the morning, check email and news – then when I feel ready I head for the iHub, once in a while I stay at my house to work on an idea I might have gotten in the night. Over the years I have noticed that many of my best ideas come just before I fall asleep, it must be something about my mind being calmed down so that I can hear new connections/concepts being formed.
Getting inspired is very easy for me as a foreigner in Kenya, in every interaction I have with any business, person, entity here, I naturally compare it to how the same interaction would occur in Europe – not because it is better or worse, but because it is different, this always leads me to consider how things have lead to this particular interaction forming the way it is – from here comes inspiration to do things different.
When and how did get into programming?
I have a background in both computer-science and business administration – mostly I think of myself as an entrepreneur. I have a wide skill-set and a very curious mind who is almost always seeking new knowledge. Currently my main focus is on building Uhasibu (a cloud based accounting system for East Africa) as well as the business to support it, the current goal is to have it officially launched summer 2011.In addition to this I do a little consulting, as well as involved myself in a few open source projects and various other little projects that are just too interesting to say no to.
I got my first computer (C64) when I was 12 years old (22years ago), and have been programming since then. Then I got involved in the “demo scene”, where I really learned programming, spending countless hours developing multi-media presentations in M68k assembler ultimately winning a programming contest in 1995 as lead developer in a team of friends. Till this day I keep relying on knowledge obtained in this period of my life, e.g. A University course on operating-systems/multitasking is extremely easy when you as a teenager have had to develop multitasking applications running directly on the hardware without the support of a operating-system (i.e. Building your own mini-operating system).
But before I started programming I was an entrepreneur, my father was a mechanic who had his own garage, at the age of 8-10 I spend my pocket money (investment) buying beer at a local store and reselling at a premium to the workers in my fathers garage.So entrepreneurship within the technology space is really my strong side, having recently incorporated my 4th
company, this time in Kenya.
Tell me about you latest projects
I'll tell a bit about one of the projects that I have not spoken about much while in Kenya: Taesk CMS – the best CMS for mobile-web.
There are hundreds if not thousand of content management systems, but few that are as “polished” as Taesk. Taesk CMS is an open source project (www.taesk.org
) that was originally conceived in 2001, that is before there was anything called Joomla & Wordpress, back then CMS's sucked. The first many years we kept it closed-source, and sold licenses for it to our clients, it worked fairly well – whenever we signed on a project to develop a website with a feature that Taesk could not do, we would enhance the system with that particular feature. This way the clients paid for, and in many ways shaped the development of Taesk.
Some years back we decided to open source the system, something we should had done right from the start.
My business partner and I used to work at a large consulting agency, where we had the joy of working with some of the very expensive commercial CMS's available. Implementing these systems (Interwoven comes to mind) the main task was to remove functionality, so that the system would be useable by normal humans – they were simply too advanced, had way too many (useless) features, and all in all was a pain to use.
Hence Taesk is build upon a simple philosophy base upon minimalism, focus is on providing few but well designed features. Quite often it is the managers of a company who decided to buy a website (with a CMS), but it was the secretaries who were left with the job of actually using the CMS to keep the site updated. As such it has always been the focus that these (already overworked) employees should have a very easy time maintaining the website.
This would result in more updated and therefor better websites, which again would make the managers more satisfied with there purchase, and thereby make it more likely they would A: buy from us again, and B: refer us to there network.
In Kenya I have used Taesk CMS to build:flix.co.ke
(cinama guide on your mobile), eatout's mobile solution (Pivot 25 finalist), and also the website for Uhasibu (yet to be launched). An it has been used by Dotsavvy to develop regular websites for a series of their clients.
In my latest development version, I am refocusing Taesk CMS to be the best CMS for mobile-web development. Adding several features that will make it extremely easy to build mobile-web solutions.With the input from mLab just below the iHub, I am sure that if a wider support for Taesk CMS is established then we can make it world leading in mobile-web platforms.
What Inspired you to design a CMS?
Back around the millennium I worked at Icon Medialab (now Lbi) in Denmark, content management systems were a mess back then, and i'm sad to say that at Icon we almost always created a new “admin-system” for each project. At Icon I analyzed several CMS's at time, none of them impressed me very much, and so I went on to develop one internally for Icon – developed in ASP with a MSSQL database, one of very few Microsoft based projects that I have done.
At some point a colleague and I decided to leave Icon and start Pluspeople, with the vision of delivering a better product than Icon at a lower pricepoint, due to a much reduced overhead.Pluspeople needed a technology platform to deliver websites to its clients. And based hence we created Taesk CMS. For the last 9 years it has been the basis of almost all Pluspeople produced websites, and it has improved greatly over the years.
or come see me at the iHub for more information about Taesk CMS
What made you decide to make it open source?
The system is written in PHP, and since PHP is an interpreted language, the source is pr. Definition always available. However for many years we only sold the system on a commercial basis, charging for each license – this was a mistake.
Meanwhile we noticed Joomla and the likes grow very fast because they were released under an open source license, despite the fact that we feel they are inferior from a usability point of view. So a few years back we decided to also release Taesk under an open source license, in the hope of attracting some external developers.
Have their been any implementations or cool uses of Taesk? What has that looked like?
As mentioned Pluspeople have used it for a decade on almost all productions, but more interesting to the audience, I think is the Kenya based solutions.
What are your guiding principles?
- Flix.co.ke – Mobile-web, facebook, and normal web cinema guide for Kenya, is based on Taesk CMS
- Eatout mobile (pivot 25 finalist), Mobile-web is based on Taesk CMS
- Several regular websites developed by Dotsavvy are based on Taesk CMS.
Two things. First always have a plan before you start – that is a diagram, a model, a prototype, something that can give you a clear overview of the task ahead of you. Secondly, user-centric-development. Always try to imagine how the user would use the system, try very hard to understand what motivates the user to use your system, and how they go about it (observation is a great tool).
Whats the one aspect of Programing you give the highest priority to?
Code is Write-Once-Read-Many (WORM), meaning that you have to come back to the same piece of code over and and over again – to extend it, to fix bugs, in short to maintain it. As such it is wise to put an effort into writing the code so that it is easy to read a year later when you see it again.
Unfortunately not many do this. As an example coders very often shorten there function and variable names, so that they save a few characters when writing the code, this unfortunately makes it much harder for yourself and others to read and understand the code later on.
Whats the one thing you wish Programmers would understand in this industry?
You must keep learning – and the best way to do that is to read. I see it time and time again, someone gets an education in IT, then gets a job, and then thats it – in terms of learning.
I don't know why, but I suspect it must be some kind of society-wide form of institualization where people get the (wrong) impression that “we were taught a, b, and c”, then this must be what we need to know. Wrong if you want to be good/great in IT you need to have the full alphabet at your disposal, in addition you were not taught all about a, b and c in you education, most likely you were only introduced to the concepts – as with most things in the world, there are more to it than you first suspect.
The best way to keep learning, is to keep reading – how many (full) books about your field have you read since you finished your education?
What do you love the most about being a programmer? And what led you to start using the iHub?
The creativity – being able to get an idea, and then build it all the way gives me great satisfaction. Not only that but also they way it can be build, how “nice” you can make the final product, just because you figured out a way to structure you code beneath it.
In regards to the iHub, its simply the people – its the people/members who make the iHub what it is. I first heard about it when Eric Hersman introduced it on his blog
, knowing that I was planing to relocate to Nairobi – it seemed like it would be the obvious place to expand my network as well as a place to operate from on a daily basis.
What can other programmers do to take advantage of the iHub space?
Talk more with the people around you – figure out what they are doing and keep them in mind. I am a strong believer in “givers gain” - if you can help them in there project then it is very likely that they will help you with your project in return....
What one piece of advice would you give someone wanting to start a career in design/programming?
Learn about usability – and how to develop something from the users point of view.
What trends do you see being big in 2011?
Mobile-web – hopefully on Taesk CMS ;-)