We have spent the past few weeks, and the latter part of last year, teaching programming to non-programmers. This is really something that has been great fun for all of us (teachers and learners alike). Imagine teaching someone who knows nothing about programming, you're given five days, and they're expected to have made notable progress in the end. How would you do it?
Recently I have found myself having an incredible amount of things to do. This might have also been somehow noticeable in my blog here. But despite having my head torn around in different directions, there is one consistent thing that I've been wondering that keeps me going when I move from place to place, from meeting to meeting, from convention to convention: How is it that the software development industry is so very deeply committed to the concept of virtual machines, interpretation and/or JIT, and automated memory management through garbage collection?
Just a couple of years ago, Symbian was the coolest thing in the mobile industry. Then it got old and was succeeded by Maemo and then Meego, and then they were all discontinued. Before there was Windows Mobile, and then it was also discontinued. That was replaced with Windows Phone 7, which was also discontinued, replaced by the technically completely different Windows Phone 8. Windows XP was the king of the world, and was recently discontinued as well. Eight years ago there was no Android or iOS, but now they rule the mobile market. Very recently, Blackberry was the king of enterprise mobility, but is now struggling for its very existence. On a regular cycle, the industry keeps changing and changing. And it does not seem like this is going to end.
Flappy Bird is very visible right now. Whether we want it or not, it jumps to the top of our news feeds and friend feeds, and our friends are sharing Flappy Bird related links, videos and articles all over the place. I am no different: The game has popped up on my feeds for some time now, but up to today I've been fortunate enough to be able to ignore it. Because, well, let's face it: It's ugly. It's uninteresting. And I rarely take interest in uninteresting things. But this morning it came "closer to home" so to speak, when my son showed the game to me on his phone in the breakfast table. Immediately I knew what it was because it's all over my news feeds and being talked about and blogged about all over the place. So the time of being able to ignore it was over, and perhaps it was about time.
Like many technologically oriented people, I am a big fan of high resolution screens. Instinctively I feel that the more pixels there are on the screen, the better (who feels the same way?). And that's definitely a big reason why I've been happy when using the Macbook with the 2880×1800 pixel 15″ screen. While I would have a number of things to say about the overall software experience (some good things, others .. not so good), in this writeup I will focus on screen resolution matters. Because that one alone has been a fun and educational experience ..
When I was somewhere around 7 or 8 years old, my father brought home a computer and introduced me to it. It would be an understatement to say that this had a profound effect on the course of my future life. First he borrowed a Commodore 64 from his friend, then later he bought us a shiny new Amiga 500. Being a kid, I was of course immediately hooked to playing the games. But since we shared the computer, I also saw my dad doing his stuff, and I remember seeing these "beautiful graphics" on the screen, which he explained to me were "sine curves" (he was a math teacher by profession). I didn't know what a "sine curve" was, but it looked amazing to me. And no, he didn't "download an app" to do that, as many would probably do nowadays. He programmed a simple plotting program using the Basic programming language. And then he taught me how to draw using Basic. Like draw a circle of this radius in these coordinates, then a line from these coordinates to these coordinates, etc. While I didn't really know what a radius was, I did know what a circle was, and before I knew it, I was writing code to draw a stick man. It really wasn't that big a deal for me, and I really didn't think that I needed to graduate with a Computer Science degree first, or that I would need to be specifically trained for this by some professional organization. And I didn't know it was called "Basic" either. It was just simply cool to make the machine do what I wanted it to do.
Eqela was first launched in Mobile World Congress 2012 in Barcelona. Since the MWC is starting again today, it's a good time to look back to how it all went so far.
As promised before, I will be saying some more things about the different approaches to cross platform development. As we know, the current state of the industry is happy in a way that we have a lot of competing operating systems and software development platforms. It is sad only because it is somewhat difficult for software developers to cope with a lot of different platforms, but this should not be a cause for permanent concern: Cross platform development is supposed to be the key to solving the issue. And when I say cross platform development, I am talking about having a single codebase that can be used to develop applications for different platforms.
Now that the Blackberry 10 platform is "out", all developers who have caught up to the hype are probably pondering if they should take some action with regards to developing for this new platform. I believe the practical considerations going through the minds of potential future Blackberry 10 developers were well crystallized on the SGEntrepreneurs site in the article titled "Should you develop for the Blackberry 10?".
The other night I noticed an intriguing blog post in my Twitter feed titled "Why founders shouldn't be the developers". In its context, this is obviously referring to founders of technology companies, and is of course so very wrong! How can you start a technology company without those who are experts in the technology? So I clicked on the link, mainly because since I absolutely do not agree with the statement, I was looking to see what it was that I was disagreeing with. I found out that while I really cannot agree with the title, the article does indeed capture very vividly the spectacularly painful life and challenges of a technical founder of a technology company. While I was reading, I was preparing to post a comment to explain my solution to the problem, but in the very end of the article, the author wrote it down himself ..