So I’ve just moved house and I’m without Internet. It seems I have to pay a total of £384 ($729 USD) for the priviledge this year. Unbelievably only £120 of this is for 16mb no-monthly-limit broadband from Sky, but the rest is on an obscene £124 activation cost to get a BT line set up in this place (I was told it has been 7 years since one was active), the rest is line rental for said line from BT. So that’s all going to take at least a month, because living in a town of several hundred thousand people counts as being “in the sticks” when compared with London, and they just don’t make enough phone engineers…

Either way, I’m currently using my mobile phone with my laptop as a stop-gap and I’m documenting the process as there wasn’t enough information online to get it sorted quickly.

My phone’s HSDPA connection is labelled as “3G+” apparently giving download speeds of up to 7.2mbps. Totally unrealistic, but it definitely feels a lot faster than a 56kb modem, and individual file downloads are certainly in the tens of kilobytes per second.

I found a site containing modem scripts for OS X for a variety of devices (thanks to Ross Barkman for his work). These are very well written, with plenty of automatic re-attempts and checking to save you the hassle of trying out many combinations of dialing numbers, CIDs, access point names, usernames and passwords.

I’m using a Samsung Z720 via USB, although bluetooth works as well. So I opted for the “generic HSDPA script”. There are of course scripts for Nokia, Motorola and other manufacturers as well as a bunch of generic scripts like the one I am currently using. Then I ran through the Network settings in System Preferences, establishing a dial up connection over USB with the following entered into OSX’s Internet Connect wizard:

username: web
password: web
telephone number: internet

Also all header encryption/compression is turned off, and I’ve not specified a proxy server, even though one is specified on the mobile itself.

Normally you see people enter something like *99# or even *99**3# for the telephone number, the latter variation is for people entering a CID (the 3 in this case), but the modem script I’m using takes care of that for you, trying out several combinations, and leaving the telephone field free for you to enter your access point name, which you can get by looking at the settings on your mobile.

On one occaision I had to attempt the dialing a few times before it authenticated. A quick “tail” on /var/log/system.log showed the reason, Vodafone wasn’t happy with my hopping on so frequently and using up a bunch of “config requests” which were apparently maxed out, but a few minutes gap saw to that.

3 (Three) in the UK offer a broadband USB 3G modem for a one off cost of £99, plus £10 a month for a 2Gb limit (also available pay as you go), I think they have other plans with more and less of a limit which varies by price. Vodafone on the other hand offer a less friendly limit of 120mb/month when using your mobile phone, or £1 uper day for 15mb both available on contract or pay as you go. If you go over the limit you start paying by the day. Archaic but do-able.

For now this will do but I wanted to include one quick tip… a freeware application called SurplusMeter. You may remember these from the days of dial-up, you specify your monthly limit, the day the month starts on and it monitors bandwidth, archiving and reporting it to you so that you can keep tabs on usage. All in all an essential app if your operator is still enforcing capped monthly limits or operating a rather strict “fair usage” policy.

Update:

I’ve also got this working on my eee PC (Xandros Linux).

The other week I picked up an ASUS eeePC Linux based laptop from, believe or not, Toys ‘R’ Us, for an incredible £220 GBP ($429 USD). I have recently started commuting to London on the train with around a 40 minute journey time, so for me this was a purchase that would save my sanity and hopefully my (considerably more costly) MacBook Pro from being stolen. It’s small enough to have on one knee so don’t worry about a table and I’m currently using it to surf, code in Ruby, read books and watch videos.

The strange thing is it seems to be marketed at kids (Toys ‘R’ Us are one of the few places you can pick it up), it contains some educational software and a dumbed down interface (more on how to change that later). Once you boot into advanced mode, it’s a very capable machine with a familiar looking interface (KDE). So without further ado, here’s some more detailed info.

Asus eee PC

Hardware

This thing is tiny. The LCD is a mere 7 inches, weight is under 1kg. In this shell you can find an Intel 900Mhz processor with hardware accelerated graphics (runs Quake 3 fine), 512MB RAM and a 4GB solid state hard drive (which I have expanded using the built in memory card reader). There’s 3 USB slots for external drives or devices, and of course 802.11b/g WiFi. Battery life is around 3.5 hours.

Asus eee PC - OS

Software

It comes pre-bundled with a lot of good stuff, and no crap. This includes Open Office, Adobe Reader, Firefox and Thunderbird, Skype, Messenger (Pidgin), Anti-Virus, Media Players and converters, eBook readers, image editors, and general utilities for doing most of the things you need to, I was actually suprised at the collection of things it comes with, even compared with OS X. They seem to have identified a lot of common tasks even if some of this is hidden away in the realms of command line programs. I’m going to attempt to run the Flex SDK on there, I think Eclipse might be pushing it but Linux has its fair share of decent text editors.

Operating System

Pre-installed is a branch of Xandros Server 2.0 (which is in turn based on Debian). This means you can use something like Synaptic (sudo synaptic on the Terminal) to install applications and games from the internet. It also means you can generally find help on advanced topics on Xandros or Debian forums. You can install Windows XP from external CD drive or memory stick, but I love the fact that my OS is taking a mere 30MB of ram when idle, and I’ve been wanting to learn a little bit more bash since I last dabbled as a kid. Alternatively there’s an Ubuntu branch.

Help and Community

The eeePC has a thriving community including a Wiki and forum. On there you can find introductory tutorials to Linux, to gaming, installing other operating systems, using mobile phones as modems and so on. There’s something about the little device that seems give its users an affinity with it, and that’s reflected by the sheer amount of blog, forum and wiki content you can find out there. Ease of use is never going to be on par with OS X or Windows, but it’s really not going to affect you unless you are a power user, and then you deserve it. ;)

Conclusions

So as you’ve probably guessed I’m really happy with this. It’s definitely not gonna make a dev machine (unless your an old skool hacker), but it will let you do 90% of what you need when you’re away from your home or office and in my case it’s forcing me to learn some new languages. My recommendation is run out and get one today. :)

I’ve just finished reading a paper I picked up over at BoingBoing titled “The physical world as a virtual reality”, by Brian Whitworth. It’s a very interesting read so I’m recommending it on here. It’s not a long read, but it does help stop that grey matter seizing up. As a result I see the word “computer” in a whole different light.

The paper doesn’t try to say that the world we live in is a virtual reality simulation, as we see in the movie “The Matrix”. Instead it examines several theories, including one that I find very pleasing for some reason; which is that the World is not necessarily a virtual reality, but it *is* calculating, and the mathematics we continue develop year upon year simply unfolds these calculations piece by piece.

Having said that, there is something rather intriguing about the fully virtual reality argument, the “Calculated Universe Argument” (in which we *are* actually in a computer simulation). It handles some of the biggest mysteries very neatly indeed. These include things that we have the math for (and make use of in phones, CD’s, transistors), but not the reason, not the “why?”. This includes higher dimensions, the big bang, and quantum theory (wave function collapse). For example how do quantum particles seem to “know” what to do, even when they are totally separated from each other. Of course it opens up even grander questions about what is running the simulation, and how complex is the “real” world if the world we are in is not self calculating.

That’s just a little of what the paper covers, it’s not taxing at all so great for the morning commute.

Link to the original BoingBoing article here.

For the “cyber nomad” (cyber-cafe frequenter), Jooce is a new web-based venture which aims to give:

  • Multi-network-chat – instant message your friends from your jooce desktop, no matter which IM client they use
  • Instant file share – share files instantly with your friends just by dragging and dropping
  • YouTube upload – upload your favourite YouTube videos to your jooce desktop and share them instantly with friends
  • Public desktop – express yourself with your fully customizable public face on the internet
  • Media Player – play music, watch videos, create playlists;
  • File Storage – secure online storage of all your files – accessible from any internet connection anywhere in the world.

This reminds me somewhat of Wallop, a kind of MySpace evolved. It’s probably important to remember that you or I might not be the target audience for this sort of thing. Generation Y (and later) eats up the sorts of features on offer by the bucket-load, and the not-so-tech-savvy of all ages could perhaps enjoy the way it brings together a lot of functionality into one manageable entity. Geeks like myself might prefer to use other disperate services that are potentially harder to use but offer extra functionality or features, and this can make it easy to pick holes in these sorts of things, but in reality I think there’s a lot to be said for this sort of thing. For one, having your music collection online (ignoring the issue of DRM for a second) would mean that you can hotdesk or visit a friend and not worry about where it lives. It’s one for the “coffee shop generation” perhaps.

Jooce

An interesting feature of Jooce is the split between public and private “desktops”, where you can organise your content and publish it or keep it secret by dragging it between the two. The duality of public/private personas when online is something I spoke about in my recent presentation “Touching the Future”. I think it’s something that people growing up with the internet now will have to learn early on in their development, so Jooce’s implementation helps to make this easy, making it very clear what you are publishing about yourself.

Jooce Desktops

It will be interesting to see how successful Jooce is, one thing is for sure, giving people methods for hacking in extra functionality (Facebook), and building in transparency (linking/searching), is something that bolsters any social network. It’s something that is traditionally harder to achieve in all-Flash affairs, but with good APIs it is definitely achieveable. Let’s hope these concepts are core to Jooce.

I have 8 Jooce invites to give away, first come first served…

That means iTunes’ current model will be due for some drastic changes, no more downloading things “to keep”. Someone asked me the other day whether I really thought all our media consumption (music, video, insert-other-media-here) would be entirely subscription based in the near future. I gave a definite YES in response.

This is something I’ve had on my mind a few years, and personally I’m of the opinion the only viable solution to the increasingly complex problem of content management and ownership -whilst maintaining the rights of artists and authors- is to consume all of our content as the result of a subscription to a media conglomerate or third party broker.

The stepping stones to this are coming, one at a time. Nokia today announced the “Comes With Music” service, which allows customers purchasing a new device, unlimited free downloads of a million songs from (initially) Universal’s music library. On top of that the downloads will remain accessible and playable after that year is up.

That’s a good first step, and it’s not as if Nokia is the only one providing subscription based music services. But what I’m talking about here is entirely subscription based models, where you don’t ever have a file to “keep”, you just obtain the media when you wish to listen/watch/interact with it. This means that to the company facilitating the transfer, you cease to be a user that has paid for X, Y and Z. Instead you gain a “role”, your role specifying what sort of access to the content library you have, and in what circumstances you can consume that media.

Added to this I very much think that we will completely give up ownership of our content. Not only will we not be able to say “yeah, I own a copy of XYZ”, to me it seems sensible that we will also not be storing our content anywhere near our physical locality.

When speaking about this topic there are always throes of despair from people that are used to owning physical copies of original content, and that’s understandable, many people have grown up collecting music or films on physical media. I imagine you’d get a very different opinion from the current generation of children with regards to the importance of owning content. The BitTorrent/YouTube generation has very little interest in collecting media when its all there, all the time anyway.

The subscription/no-ownership model is a big shift in how you see media. It also requires a great deal of trust in the stability of the companies offering the content, as well as the speed and reliability of your internet connection with regards to whichever device you are using to consume the content. But all in all I think it’s a sensible proposition, and nothing new, but thankfully companies like Nokia are not afraid to dip their toe in the water and examine new ways to deal with media to make the necessary baby-steps toward this goal.

But will the subscription model be successful? I think so, and in other markets it already is. It certainly checks all of the right boxes… To me one of the keys to the success of a new technology or any mechanism that uses technology is that it must make things easier than before (or at the very least bring with it new abilities that far outweigh any new inconveniences.) Related to this the subscription model deals with the problem of piracy in the only way possible, by making it *easier* to consume your content by paying for a subscription, than going through alternative channels.

Tink has just uploaded a video of my Touching the Future presentation. A big thankyou to Tink as always for the vast amount of effort it takes to organise LFPUG every month. The video itself is very small but most of the presentation is verbal anyway and the sound is not too bad at all. However you can still download the slides if you wish.

See the video here.
Download the slides to follow along with here.

Also I mentioned a PDF on the night created by Tom Klinkowstein, Irene Pereyra et al(with no less than Bruce Sterling acting as an advistor to the project). It is in the form of a diagram illustrating “A DAY IN THE LIFE OF A NETWORKED DESIGNER’S SMART THINGS OR A DAY IN A DESIGNER’S NETWORKED SMART THINGS, 2030″ (apologies for the caps). I thoroughly recommend taking a look if you get a chance, there’s a wealth of interesting information in there, the blog entry related to it gives some background. You can view it here.

Just a quick reminder to say I’ll be presenting my talk “Touching the Future” at LFPUG tomorrow night. All the details can be found over at the site.

Subjects discussed include:

  • Media management/subscription based models
  • Matured DRM (DRM that works)
  • Convergence of devices / desktops
  • Resulting paradigm shift (Google “Android project” mentality)
  • Surveillance, the future of tracking (Amazon)
  • Privacy when always online (public/private “personas”)
  • Proliferation of sensors in devices (enabling “magic”)
  • Augmented reality (advertisting)
  • Cloud Computing (Information/Media Piping/Mashups for the many)
  • Ubiquitous computing (social/physical impact)

You can find the slides and source here.

Elmer will also be presenting, on the subject of “Collaboration in Education”. This looks to be a really interesting view on how technology can be used to provide better face-to-face
communication between individuals, such as pupils in schools, amongst other things. Look forward to seeing you at Cosmo bar.

I try to remain open about technologies, particularly when speaking about technologies that a lot of my colleagues use for their “bread and butter”. But I’ve made it no secret the last couple of years that for me the writing has been on the wall for AJAX. Really this has been my view since the first JavaScript/HTML menus appeared. I’ve felt there’s something very wrong with this picture. The sort of “innovations” you find on JavaScript related blogs feel a lot like taking a trip into the Computer Chronicles. It seems like the blind are leading the blind into a stagnating, crumbling mess of a future, desperately clutching onto the past rather than accepting new paradigms and making the web better for everyone (we’ll come onto accessibility later).

In my opinion one of the main reasons for the popularity of JavaScript is that it’s more accessible to the web neophyte. By accessible I mean you can start out with minimal effort and zero cost, merrily copying and pasting from someone elses pages and have your site looking like a teenage girl’s MySpace page in no time at all. Ok, so that’s a little tongue-in-cheek, but another reason is that you can mix JavaScript into an existing HTML website to improve or add to the experience, and HTML is great if you are after a semantic web, no-one can deny that. All in all it has been very successful, but it is showing signs of age and there are quite a few major obstacles in its way…

Stop the Emulation

Over the last few years, DHTML applications have imitated more and more of the sort of things we find in richer web apps; such as eliminating the “page” metaphor where sensible (and therefore the meaningless refresh), more efficient data loading, drag and drop, transitions, and so on. But that progress (or “catch-up”) is slowing rapidly. We are reaching the limits of what various browsers can do natively, and it’s no good hoping they’ll bolt on lots of shiny new features, all in agreement; that would destroy the value a browser gives in the first place. What best of breed AJAX applications like Google Docs currently offer it isn’t even close to what people are starting to expect in a modern RIA. Isn’t time to stop crowbarring the proverbial round peg into the square hole, there are easier ways to do things that won’t cause you to lose your hair.

Problems Facing JavaScript/AJAX

The problem with AJAX is two-fold, at the very least. The first problem is browser fragmentation. Open web standards are a good thing if everyone adheres to them, but that is never going to happen (“purists”/”standardistas” should all take a reality check here). Microsoft’s Internet Explorer is still the most popular browser out there, but people are carrying on, blissfully unaware that Microsoft is investing a lot of time and money into more facilitating platforms, namely Silverlight and WPF. Like Flash, I refer to these as enabling technologies, their conception makes forward momentum possible. In version 1.0, Silverlight applications and games were driven by JavaScript, but let’s not be fooled here, the preferred way of developing with Silverlight will undoubtedly be via .NET (specifically the DLR). They aren’t doing this for fun, they don’t make tools to support JavaScript development, they make one kick-ass .NET dev environment. Of course AJAX.NET is the middle-ground that allows them to maintain the dependency on VS when doing any AJAX work by providing a value added offering. So with Silverlight I think supporting JavaScript is a smart business move, more marketing than anything else, particularly when you consider that they were competing directly with Flash, with all the DHTML/AJAX people as fair game. So as they have shown by not implementing a standard JavaScript VM (sorry, JScript!) in IE, and are wavering at the sound of JavaScript 2.0 (sorry, JScript.NET for IE8), things are not looking rosy for everyones’ favourite scripting language.

The second problem is that the combination of JavaScript and HTML is simply lacking in what you can actually do, the web is evolving much faster than the browsers can. To make up the shortfall people are using Flash for small specific tasks that the browser cannot do, like showing the right font, or half decent uploading of files. HTML wasn’t made for this purpose, we are hacking the hell out of HTML to get it to do the things Prototype/MOOTools/<insert-1-of-147-potentially-incompatible-variations-here> allow for. Some might argue neither was Flash, that’s true for the first few versions, but that’s not true any longer (the reason it has been able to shed this baggage is discussed later). Application development has been core to Flash and Flex for several versions, indeed, Flex was specifically created for that role. The browser is not the be all and end all. It is just one way of accessing “web” content, albeit the most popular one right now.

Limiting Factors

The browser is very limiting. This is primarily because *it* is actually *them*, and *they* have to move at the pace of the open standards or make an entire community of developers suffer even more headaches. Backwards compatibility is always a sore-point, but that’s usually delt with through a layer of abstraction (bytecode perhaps). Flash and Silverlight on the other hand benefit hugely from being (to some extent) “closed source”, they can improve and evolve year on year without fear of revolt from the development community. Flash 1.0 content still runs as it did 10 years later, I found some Flash 3 content on the BBC website the other day, it doesn’t know that there have been countless browser releases since its conception… it doesn’t need to, that’s a big difference.

Anything that is “open” or led by committee moves very slowly. This is again a generalisation, there are several open source projects that have kept up the pace, but to be honest these are usually funded or motivated in some form by a commercial interest. This slow pace and time spent debating really goes against the grain when it comes to how fast technology evolves. Things simply get left behind and replaced with a better offer, and when the thing being left behind is your skill set, it’s time to take note.

But people are taking note. Finally I read an article on Ajaxian that took the issue seriously, yet almost none of the commenters did, heads buried in what they know they tried to dig the poster out of the hole rather than making the realisation themselves. It’s definitely worth the read for comedic value at least.

Solutions and Alternatives

So what tools do we have to build the new web? Flash, Flex, Silverlight, Air, Widgets, JavaFX, to name a few. When you see massively successful and future thinking companies like Microsoft, Adobe and Sun all investing heavily into something you should pay attention.

Still people think Flash is bad. There are some crazy misconceptions out there. Some of the more popular include…

“AJAX is testable, Flash isn’t” – Tell me that again when my unit tests have finished, or do you mean testing it in various browsers? ;)

“AJAX is SEO friendly because it gracefully degrades” – Fallacy. Here’s one of our latest sites, check it out without Flash or JavaScript enabled, Google likes it too, Flash deeplinks and all. Gracefully degrading is a bit of a misnomer. What we really want to do is make a site accessible to people and search engines. People with disabilities are usually served the search engine friendly version because most of the tools available are designed to work with HTML, just like current search engines. But this is not a problem, with a CMS this is easily achieved and as a result you get a more manageable site as a bonus.

“Flash is not as accessible” – I wonder if people are still reading Jacob’s 7 year old entry and thinking it still applies. Even complex Flash applications can be screenreader friendly (can DHTML?), alternatively offer a HTML version if it’s really suitable (sometimes I wonder why people want to make certain content accessible in the first place).

“AJAX doesn’t require an expensive IDE” – There are countless totally free pieces of software for all major platforms to enable professional Flash and Flex development. The SDK/compiler is also free.

It’s not just the aforementioned companies that know this. Google knows this, and is introducing more and more Flash into its web apps and services. But it’s not all about Flash. Let’s look at Google Android for example (something really groundbreaking in my opinion). Google’s Android OS uses a custom layer on top of a Java syntax to provide its UI and interactivity; you’d think that the king of all AJAX applications would have opted for DHTML if it really was the best choice. It’s not, it’s fast becoming one of the worst choices for applications unless you are an industry behemoth that can write perfect code and don’t want to make your clients hate you as you continue to charge them for needless maintenance year on year.

What Lies Ahead?

In all honesty I don’t want this to sound like a JavaScript (read: DHTML) bashing entry, I have spent a lot of time coding JavaScript and I think like many other technologies it serves a purpose and has been a real enabler in the past. On the flipside don’t let its current popularity fool you. COBOL remained “popular” (in one sense of the word) long after its hay day. Perhaps “JavaScript/DOM” guru’s will be able to eek out a rather obscene living in 5 years with the swath of legacy web apps that break when IE 12 comes out. Or maybe they will just replace them and be done with it.

Recently I was speaking about this subject with a fellow developer and they said -regarding the current lack of Flash developers- “it’s great for us though right?”. In a sense yes, but there’s such a demand right now for good Flash and Flex developers that we could quadruple the number and there’d still be plenty of work for everyone. Interestingly I’m noticing colleagues that haven’t touched Flash before are downloading Flex Builder, and really enjoying it, perhaps Flex has finally made Flash seem more serious, maybe it’s just to avoid the confusion of an uncertain future.

As always, the most important thing has to be to choose the right tool for the job. But it still leaves the question, will AJAX and JavaScript be allowed to mature, or will its growth be stunted for the reasons discussed?

This is a must read for those of you fighting your inner nerd. Sometimes I feel really guilty for spending too much time on the computer, particularly when my girlfriend is looking over at me and I get the impression she might be a little bit bored, in my head I’m having a great time hacking something together! Well this article pretty much sums it up. Do I feel less guilty? Not really. But it does explain a few things…

The Nerd Handbook

What a great event, I only feel bad that I couldn’t have been around for more of it. As has been seen many times already, John did another amazing job of giving this conference a unique feel, where content comes before all else (as well as looking after the speakers very well). So here’s a big thanks to John, and also a hello to everyone I met, there’s now way too many people in this community to list individuals. I would like to say an extra thanks to Tink for being the guinea pig for my presentation!

So at the end of this post you can find my slides, and I’ve included the notes I used to build the presentation at the end of the PDF. There’s also the example files for where the word “DEMO” appears in a slide. The Quartz composer file needs an IBVA device and the relevant Quartz plug-in to work of course.

I received some great feedback, so thanks to everyone that came along, the room was full and I appreciate that. Anja Merret has an excellent commentary (thanks Anja), and Pedro posted some interesting related material in the comments on this post.

Here’s a rough overview of what was covered:

  • Media management/subscription based models
  • Matured DRM (DRM that works)
  • Convergence of devices / desktops
  • Resulting paradigm shift (Google “Android project” mentality)
  • Surveillance, the future of tracking (Amazon)
  • Privacy when always online (public/private “personas”)
  • Proliferation of sensors in devices (enabling “magic”)
  • Augmented reality (advertisting)
  • Cloud Computing (Information/Media Piping/Mashups for the many)
  • Ubiquitous computing (social/physical impact)

And here are those links:

Slides and notes (PDF 3.5mb)
Slides as SWF (SWF 1.7mb)
Supporting material (ZIP 21.4mb)