iPhone 4.0: Why can’t we all just get along?


There’s been a storm brewing between rivals Google, Adobe and Apple. Each day seems to bring news of some minor sparring between the software giants, but instead of looking on in mild amusement, I’ve started to realise how their actions are affecting the future of smartphone development.

The news that made me sit up and take note came only a day after Apple previewed their new v4.0 OS for the iPhone and iPad. At first glance the change was subtle; an addition to their developer SDK agreement:

Applications must be originally written in Objective-C, C, C++, or JavaScript as executed by the iPhone OS WebKit engine, and only code written in C, C++, and Objective-C may compile and directly link against the Documented APIs (e.g., Applications that link to Documented APIs through an intermediary translation or compatibility layer or tool are prohibited).

In a way, it’s a pretty reasonable request: that all iPhone applications should be developed and written in a C-based language, and link directly to the iPhone APIs. If I were to develop an iPhone application, that’s what I’d expect to do. However, I’m not an Objective-C or C++ developer – I’ve been a long-time .NET developer for the Microsoft platform, and my immediate thought was not about Adobe and Flash, but about a project called MonoTouch. MonoTouch allows .NET C# developers to work within the environment they’re used to, with all the benefits of the .NET framework, but write fully functional iPhone applications. In effect, it provides a bridge between .NET and the iPhone so that seasoned .NET developers can build multi-platform applications with ease (in fact, MonoDroid is in the works to provide the same bridge to Google’s Android platform). This makes sense from a developer point of view: One dev team can push out an app for the iPhone, Android and Windows smartphones relatively easily, and cheaply. Surely that’s a good thing for both developers and users? (more…)

HowTo: Ubuntu as a Time Machine Volume


Have you ever wished you could use Apple’s Time Machine service over a network? Since I’ve got almost 2TB of storage on my Linux (Ubuntu 9.10) server, I certainly did – but unfortunately Apple only lets you use physically attached USB or Firewire drives, or their own network-attached “Time Capsule”.

Well, it turns out theres a solution for us Linux folk (more…)

Setting Sail Across the C

I’m a Microsoft developer. There, I said it. I’ve grown up in a world of BASIC, from the early days of QuickBASIC through to VB.NET today. It’s a fantastic, easy going world to live in – particularly since .NET – as everything (and I mean EVERYTHING) is laid out for you. As a development environment, it’s so easy to get started – and often leaves you thinking “surely it’s not that simple?!” after writing a single line of code. (more…)

Ubuntu as a Home Server

For quite some time now I’ve toyed with the idea of setting up a home server. Actually, I’ve setup plenty of home servers over the years but since I moved house I just lost interest. I had a perfectly good NAS, so there seemed little point …

In the past I’ve downloaded numerous Linux distros, installed them on some small unsuspecting box and very quickly got bored. The problem is it was all very well having an old PC sat in the corner of my living room proudly displaying a logo of a penguin, but what could it actually do for me? (more…)