The Future of Software Development

The future of software development is not found in a language, technology or technique but dependant on having a critical mass of educated individuals who apply themselves to the discipline.

I like to romanticise the history of computer science, the days where everything you could possibly need to know about a computer was printed in the included manual, from the schematic from which it was built right up to user guides explaining how to use the included software, if any. I envy those were lucky enough to be there when computers first became affordable to the general populous and they could know everything there was to know about the machine they had purchased.

As times marched on and graphical user interfaces became the norm, abstracting users from the tangled mess of syntax familiar to those using the command line, and I was born. Microsoft Windows 2.0 was just about to roll off the production line and Apple was introducing multitasking into their operating system, System 5, for the Macintosh SE and Macintosh II. Both companies laying the foundation for the computers people know and love (or hate) today.

Here in the UK, the government had been focusing of the computer literacy for around 5 years and a series of BBC programmes introduced the population to software development on the BBC Micro which was available, due to government grants, in every school and in high street retailers across the land. While I was a little late to this party, a suite of these machines were available for my use in the school computer lab and I cut my teeth on BASIC while everyone else was drawn to the pretty pictures available on the successor computers running the graphical operating system RISC OS.

There are no such drives today. While there are some general technology policies for a so called ‘Digital Britain’ concerning itself with accessible broadband and access to information there is little in the way of encouraging youth to look at computers as anything other than social entertainment devices. While I applaud the efforts of companies such as Apple to create ‘technology for the rest of us’ the increasingly limited access to the hardware will no doubt negatively affect the skill of the software developers of the future.

As computer science as a whole progresses so does it’s development tools. What was once a simple power-on prompt where the words

PRINT "Hello, World!"

would elegantly demonstrate the innate power and infinite control of the machine avaliable, users are now instead presented with ostensibly easy-to-use, but exceedingly imposing and complex environments each with their own preferred conventions in which to work. Scripting languages like Python rekindle this spirit but at the expense of  being totally incongruent with the interfaces to which users have become accustom.

One area in which Microsoft should be commended is their continued high quality support of software developers. Not only does Microsoft have a comprehensive press for their extensive library of developer references but provides high quality, accessible, and often free, tools and resources. Microsoft actively target potential developers with their Beginner Developer Learning Center and specifically Kids Corner and Small Basic.

Microsoft, here, dare to fail. Small Basic is not a finished product. It has it’s flaws. The hodge-podge of objects and parameterless sub-routines makes Small Basic a little confusing for new and experienced developers alike, but in a spirit of openness the lead author has ensured solid interaction with a community of developers resulting in gradual improvement to the fledgling product. It is, no doubt, a great effort in making computing, the way I want to remember it, accessible again. While I can understand efforts like Alice and Scratch, essentially the Lego of programming, their relation to ‘real world’ development is questionable at best. In holding this view I have to question Microsoft’s own choice and the value of yet another (intentionally hobbled) language, but here the ‘Graduate’ functionality is standing by for those ready to move on.

Without drives like Microsoft’s to bring development tools, most crucially at an appropriate level, to the masses students will continue to confuse computer science with ‘IT’. As the potential of those who, had they been able to overcome the initial hurdles of development, would have gone on to create great software is wasted the true power of technology will be limited to a smaller and smaller elite who were lucky enough to have been exposed to development in the right way and at the right time. While technological dictatorship certainly has its benefits, democratisation, the freedom of knowledge and open participation is the driving force behind the computer revolution of today.

Slower Computer, Higher Productivity

While good enough computing maybe the future of the tech industry, the unfortunate failure of one modern machine has seriously improved productivity in an age of constant distractions.

My MacBook died. Again. The nice man at Apple Care tells me it’s a hard drive failure. Again. You might think I lob the machine around, no consideration, just chuck it in my bag – but no; for the last month it’s been happily sitting, safe and sound on a laptop stand on my desk. So I’m sitting there, listening to Leo Laporte and the machine just stops responding, pin wheel and everything. I hard-reset it an no OS X for me. Great. No machine, and to top it off as of next week it’s exam season for me.

PowerMac G3Fortunately, being sat on the desk full time, I have a Time Machine backup of the drive so my files, in particular my class notes, are safe. With any luck the restore functionality works wonderfully and I’ll have my machine back in no time at all and restore it right over the top. In the mea- time, however, I’m on my Blue and White PowerMac G3. For comparison: Black MackBook, 2.16 GHz Core 2 Duo, 2 GB DDR RAM, OS X Leopard, vintage 2007 vs PowerMac G3, 450 MHz o/c, 512 MB SD RAM, OS X Tiger (slowly), vintage 1999. The machine is 10 years old. While its a beautiful machine and my first Mac (kept for sentimental value), obsolete is a generous way to describe it.

Yet, my productivity is up.

As I mentioned, it’s exam season for me right now and my revision has been almost non-existent; I am easily distracted by the vast amounts of interesting content to be found on the information superhighway. Not being able to open more than 4 tabs in my browser without it slowing to a state where I can no longer scroll coupled with a total inability to watch video at a frame rate higher than 4 frames per second has made me really consider the way I work with my computer.

Email drives me, for a student I get a fair amount, and as such I really appreciate a good desktop client, like Mail.app on OS X – but there is no way I’m going to set that up on this machine, it’s only temporary and I have GBs of the stuff which will have to be synchronised before the barely usable spotlight search can provide anything like accurate results. My new found tab limitation has really killed my obsession with this killer app of the 21st century.

My two favorite time killers, Digg and Slashdot, are also stemmed by my browser’s limitations. Where as before I’d browse down Digg or Slashdot and open 50 pages of trivial information, audio, photos and media. Now I have to seriously consider every page. Video of dancing hamster? No point. Photo stream of worlds cutest cats? Only if I want to reboot the machine two photos in. Want three different options on a particular current affairs issue? Not all at once. Flipping back and fourth to open links, it’s just not the way I browse the web. I like to cue my content up.

So I spent the entire day on the university website doing quizzes and practice tests, reading materials and browsing the student discussion boards for tips and reviews of exam questions. Not only do I feel like I’ve made serious progress in the last few hours I’ve unlocked reams of additional content to review which should help me tie up my studies over the next few days.

But make note: once I realised this old beast could handle one page of text at a time, notice what I had time to do… oh well, maybe I’ll pass next year.

Windows DRM from a Mac User’s Perspective

Trying to recapture a classic soundtrack results in hours of anguish when DRM is added to the mix.

So, recently I have been re-watching some classic films from my childhood, The Flight of Dragons and The Prince of Egypt to name but two. Turns out I am quite attached to the soundtrack from the latter but iTunes was a bust – I even tried to buy it from a real shop but it was no where to be found.

A few Google searches later turns up 7 digital, a relatively small and unknown, but well backed, digital music retailer of both protected WMA and the unprotected MP3 formats. Unfortunately for me, The Prince of Egypt soundtrack only comes in protected WMA. “Never mind” I say, “I’ll burn it, and rip it into iTunes!”. So I fire up Parallels and hand over my £8.

After a rather nice page which automatically licenses me for these tracks I think I’m well away and progress to the download page where I try to download the album. 96%… 97%… 98%… 99%… “Error, the connection was reset by the server.” – great. I try again. 96%… 97%… 98%… 99%… “Error, the connection was reset by the server.” – Grr! 4 tries later I give up and download the files using Safari on OS X only to copy them back into Windows to actually use them. At last.

Connect my DVD-RW to Parallels. Pop in a blank CD. Open Media Player. Click burn. “Please attach a burner and restart the player.” – What? It says it’s a burner in My Computer!? Three virtual reboots later and a quick scan of the parallels forums indicates that CD burning from media player is not supported. Great.

Reboot into Windows on the hardware. “Windows needs to be activated to continue.”. OK. Activate over the internet. Nope. What? Why not! I bought this copy of Windows (I really did) – why can’t I activate!? Call support? It’s 10:30 PM, not now. Reboot into OS X, fire up Parallels.

OK, so as you can see not a happy experience so far. So I hunt for some software to remove the protection without burning to CD – which if you haven’t ever done so, while possible requires very specific version of Media Player to even work, I tried three different tools until one finally spat out untagged MP3′s. Good enough. I’ll add the tags myself. Finally, in iTunes and synchronised to my iPhone.

Lets catch up on some TV I’ve missed messing around with this using 4oD (Windows only). What’s that? Automatic updates are turned off? I’ll turn them back on… on. On. On, err, I said on! AVG: “You are infected!”

Yes, I got a virus. A virus. Which I was still trying to remove 18 hrs later. All this for a few minutes of music which I can play on my iPhone!?

Eventually I gave up and blasted Windows away.

The amount of ridiculous access controls and limitations added by Microsoft to this process have ensured I’ll never buy WMA protected music again – even for a Zune. Sometimes I think I should give up – pirating my music and software would be easier!

Disclosure: this incident happened about 5 months ago, but I’ve only just got around to publishing the draft!

What Apple’s iWork Could Learn from Microsoft Office 2008

iWork ’08, Apple’s latest attempt at an office suite, is an amazing piece of consumer software. However, Pages, the word processor and publishing application of the iWork suite has one particularly disappointing feature.

While there are many gripes about it’s functionality from professional users who until now had little option for commercial Intel native office applications and software to read Microsoft’s new XML Office formats iWork is an amazing piece of consumer grade software. Despite the irritating export for Microsoft Office compatibility and Numbers annoying import inconsistencies iWork is a solid suite for the average iLife user.

Pages introduces a new mode, specifically for word processing to accompany the long standing page layout view but this is a choice for the life of the document. Microsoft Word 2008 also offers similar range of options allowing the user to change between modes. One of my favourites, simply for aesthetic reasons, is the notebook view which gives very similar functionality to OneNote for Windows. What makes Word stand out is I can switch modes and the text is seamlessly re-presented to a format more appropriate to the mode.

If Pages offered this seamless movement between it’s editing modes it would go along way to moving me from the rigmarole of word processing learnt from years of Microsoft Office use to the more creative page layout’s available in Pages – or maybe Microsoft will save Apple the trouble and help it’s users display a little creativity in their documents without ever taking them from the comfort of Word.

Why Apple is Charging for the iPod Touch Update

Apples decision to charge $20 US (£13 here in the UK) for the recently announced updates to the iPod Touch has caused outrage among certain users, but there are underlying reasons to charge for new features in a product, primarily the fact that they are a business.

The Unofficial Apple Weblog is currently running a story about an online petition to have Apple release the new applications for the iPod Touch free of charge. The issue for these users stems from three individual things:

1. Free on a new iPod Touch
All users who buy an iPod Touch today get the new features free of charge, pre-installed. I took the opportunity to visit the Regent Street Apple Store here in London today and witnessed the sale of an ‘old’ iPod Touch. If a user purchases a new iPod Touch which does not have these features they are being discounted the £13 on the sale as to offset the cost of buying the features. Why are current owners complaining? Well, honestly no one is sure. Mac users have long bought Mac’s only to find out they have a new version of iLife or even a new version of OS X issued a few weeks later. These users have never professed entitlement to the new features – they have stumped up cash to get them. What makes the new applications, yes, full blown applications, for the iPod Touch software any different from Mac software from this business perspective? Nada, nothing.

So we have successfully debunked this. People got what they paid for and are happy until a new version comes out…

2. iPhone Users got it for Free
Sorry folks. We didn’t. Various sources all agree that Apple is making at least some money from a revenue sharing agreement with AT&T current estimates average around $10/month US per iPhone contract and while figures are unavailable for the UK considering Apple’s general regard for pricing in the UK market I’d wager around £7/month per iPhone contract from O2. So each iPhone owners have paid for, and are still paying for each and every upgrade. Tell me again why iPod Touch owners should receive the fruits of my hard earned cash for free?

3. But the Apple TV got [er, will get] a Free Update
First up, this is a totally different product and so a bad example to give, but we’ll roll with the argument. For the most part the huge re-engineering of the Apple TV software is all to add one feature: Rentals. Rentals provide revenue, long term, consistent revenue. Allowing an iPod Touch owner to access their Gmail account does not. While Apple has decided to include additional features such as Flickr photo viewing this is primarily to improve sales, and sales mean more rentals and more revenue.

What Apple users, myself included, sometimes forget is that Apple is a business. You get what you pay for and users shouldn’t expect something for nothing.