In the coming years another billion people will get online. They will do it with their smartphones instead of what we consider computers. And their experience will be quite different from ours when we initially started using the internet.
Despite its promises, it looks like the post-PC ecosystem will be a lot more restrictive than the PC one was even in the worst days of the wintel duopoly. For a while it looked like software freedom might be one of the cornerstones of the new world, but since then it has been shown that the tech giants Apple and Microsoft, together with the American content industry, will ensure that this new environment is more tightly locked down than anything we've seen before.
These companies will have a say on who gets to create something, who to distribute it, and who to use it. Users will be 'protected from themselves' by enabling these devices to run only code approved by the company. We've already seen that this approval can be declined, or even retroactively withdrawn on a whim, and on grounds more political than technical.
If we want to ensure digital freedoms for ourselves, and for the people only now reaching across the digital divide, we must act. We must find ways to enable creativity to happen on these new devices. We need to find ways to enable people to create, distribute and use any software on their phones, regardless of what locked-down ecosystem their mobile operator pushed them into.
- CommonJS is a specification for writing interoperable JS modules. There is a tutorial on writing modules that work both on the browser and the server
- JSLint is a good way to check your code for hidden problems