Friday 28 March 2008

RFID Tagging

RFID is a near-field communication method. In essence, an RFID tag is a very simple circuit that beams out a small amount of information over weak radio frequencies, when prompted to by nearby scanners. The idea is that things don't need to make actual contact with anything else to be identified. For example, a car parking pass that you could sit by the windscreen in your car, and would automatically open the gate and clock you in as you drive up.

RFID technology is very real, and it's happening right now. An increasing number of everyday things are starting to become RFID-based, including passports and driving licenses, ID cards and permits of various descriptions, even commercial products tagged for security reasons. In a world where a primary focus is on convenience, this seems like a pretty good idea, right?

The technology is not without it's drawbacks. For example, RFID tags are very easy to read, and anyone with the right bit of kit (not expensive, I should note), can read an RFID tag. Yes, including someone who is walking down the street trying to zap your driving license ID number as you walk past. It goes without saying that radio technologies are inherently insecure to a certain degree; after all, a radio transmission is broadcasted to just about anything in the broadcast vicinity. If there's a device in that vicinity capable of receiving and interpreting the transmission, that's pretty unfortunate.

Reading an article on theregister.co.uk brought it into perspective a bit, where a US state feels it is important enough to make data theft by means of RFID illegal, and punishable by up to ten years in prison. For something that is supposed to make our lives easier and revolutionise the way we identify ourselves, that's a pretty big protective step to take, albeit, a necessary one. RFID data theft will be a pretty big problem if one day, we all find ourselves having an RFID identity chip injected into us at birth.

Tuesday 25 March 2008

The Browser Battle

One of the biggest constantly on-going battles on the Internet has been going on for a number of years, almost from the start of the Internet as the average person knows it. And that, is which Internet browser should we use while online.

The problem dates back some time. At the beginning of the Internet's popularisation, there were only very few browsers that were actually fit-for-purpose. The leading browser of the time, NCSA Mosaic, shaped our modern browsing experience by providing a graphical page, with common page navigation functions such as Back, Forward and even bookmarks/favourites.

Later on, our story draws the spotlight towards Netscape Navigator, and Microsoft's own Internet Explorer browser. At the time, Netscape Navigator was the de-facto standard for surfing the Internet. It was a user interface that people were familiar with and would find almost anywhere that they wished to get online. Microsoft, wanting a slice of the market share, released Internet Explorer as a direct competitor to Netscape. The trouble came when Microsoft started bundling Internet Explorer with their Windows operating system, quickly meaning that the typical computer user at home would already have Internet Explorer on their system without having to install Netscape. As such, people started adopting Internet Explorer as their new standard browser.

But there's a very good reason now why Internet Explorer still struggles for standards compliance and never quite reaches it; back in the Netscape vs Internet Explorer days, the IE development team added certain features quirks into Internet Explorer that would make pages render slightly differently to other browsers. Since Internet Explorer was so widely distributed, the average web developer would develop using Internet Explorer and expect their target audience to be using the same browser (hence the "Page designed for ..."-type things that you would commonly find on webpages). In making your page fit the IE quirks, the page would then look broken in other browsers. This was fairly integral to Microsoft's game: make the page look broken in other browsers so people would look at it in IE instead.

Microsoft even had an agreement with Apple, which made Internet Explorer the dominant Mac browser at the time, which was shipped with all Macs for five years. For a while, Microsoft had a huge juicy portion of the browser market share.

Just like that, the dominant browser became Internet Explorer. It was widely available, and it was easy for people to find. It also became used frequently due to the amount of pages on the Internet that were designed to be viewed in Internet Explorer. But some years later, we are now presented with another browser battle.

A lot of recent discoveries found Internet Explorer to be very potentially unsafe, and other browsers started to pop up as competitors. Examples are Apple's Safari browser (originally on the Mac platform, but these days ported to Windows also), Mozilla Firefox (originally the Mozilla Suite project, which is cross-platform), and Opera's browser (also cross-platform), all boasting superior performance, compatibility and security.

Firefox recently has gained a lot of media interest as the "perfect browser", which is standards compliant and secure, claiming to be stronger against threats on the Internet. Because of this, the competition between Firefox and Internet Explorer has soared. Millions of people have chosen to adopt Firefox instead.

Then there's the Mac world, where the relatively new Safari browser has taken a stand. Based on the WebKit (KHTML) engine from the Konqueror project, Safari claims to be one of the fastest and most standards-compliant browsers available. For Mac users, it is certainly the most reliable browser, although it has just recently found itself brought over to the Windows platform also to compete with Firefox and Microsoft Internet Explorer.

But the browser battle isn't just limited to desktop and laptop computers as we know it now, but it's also extending to mobile devices. The iPhone boasts complete Safari compatibility - that's a pretty high standard web browser for a mobile device, as well as Nokia adopting the same WebKit functionality for their browsers. Microsoft have stayed to their own in creating a mobile version of Internet Explorer for it's Windows Mobile devices, and Opera have taken a pretty good stab at taking their browser to every platform they can get their hands on.

The iPhone actually brought a huge amount of interest towards the Safari browser, with hundreds of web-based applications being designed for the handset that work perfectly in Safari, but not in other competing browsers. Likewise, other software vendors are writing software that works perfectly either in Internet Explorer, or in Firefox or Safari, without always being able to support all of the major browsers.

This is no surprise; every browser works differently and uses different rendering methods, which often means that the same web application must be edited four different times to support each major browser. Just imagine how wonderful it would be if every page on the Internet worked in every browser. It's here that the possibility of rendering engine solidity comes into play. Is it possible that every browser in the future will use the same rendering engine, meaning that the entire Internet is compatible everywhere?

A number of people suspect that WebKit could become the basis for future Firefox versions, which creates a huge stand against Microsoft Internet Explorer in terms of compatibility. And in a world where web applications work on Safari and Firefox but not on Internet Explorer, will people continue to use IE, or will Microsoft have to take the same type of action, accept defeat and use a foreign rendering engine in their browser also?

The browser war is an interesting one, and there are so many arguments for and against each browser, but with mobile devices heading straight into the spotlight and web applications becoming a Web 2.0-style must, the fight for which browser will ultimately prevail will be a long and active one.

Sunday 23 March 2008

iPhone SDK

Just like six million other bloggers out there, I feel it is important to discuss the iPhone SDK. Since it's finally giving people the opportunity to write native applications for the widely anticipated handset, I think it's worth a look just at how Apple have approached this developing perspective.

To start with, I log onto the iPhone Dev Center website at http://developer.apple.com/iphone/. Fair enough, it's a page that says "Hi, you can have the iPhone SDK", but not before "registering to become an iPhone Developer". As if having to log in with an Apple ID wasn't bad enough, they actually expect people to register their interest as a developer before they will be allowed to even read the introductory documentation. A typical hobbyist developer with an undeveloped interest in the iPhone SDK would immediately be put off at this point by the need to hand over their details. What's the deal? And as much as people like to complain about the Windows Mobile platform, let's face it. There's none of this registration rubbish. MSDN openly provides documentation about the Windows Mobile platform, the programming APIs and whatever you need to get started.

But then we move onto the following problem. After you've learned how to write your program, deploying it is the next step. As well as your application being only available through the iTunes Store at Apple's discretion, Apple also want to make sure that you aren't making any programs that include IM functionality (goodbye, MSN and AIM), voice chat functionality (goodbye, Skype) and anything that interprets anything else (goodbye, Java). Now, let's think carefully about this. Where's the interest in a "breakthrough Internet device" that doesn't let you send or receive instant messages, or place internet calls? These are two vital parts of modern Internet use, yet Apple don't want you doing those things.

The bottom line of it is that if Apple don't want you to, you aren't in a position to argue, since your offending program will be taken off the iTunes Store like a shot when they find out it's violating the "agreement". Because it's no longer on the iTunes Store, nobody can download it and use it.

It's important to understand that the whole iPhone relationship from consumer to manufacturer to mobile operator is a very fragile one. Apple have a very expensive handset that they want people to use. This means the network operator needs an incentive to carry the handset on their network. Now what better incentive is there to a network than to make them money? Why let people send IMs when they can send text messages instead? Why use Skype when they can make phone calls? It's all a part of the greater plan, and without these benefits to the network, it's not in their interest to carry such an expensive fashion utility. By letting people distribute their applications outside of the iTunes Store, this means that people can invent IM software and get away with it - Apple aren't a part of the chain so they can't stop it. If Apple can't stop IM software from being produced, operators won't even consider taking on such an expensive product.

But surely this is true of Windows Mobile handsets too, that come preloaded with Windows Live Messenger? Not quite. Y'see, the Windows Mobile approach is quite different. Microsoft create the Windows Mobile OS and release all the specs, and say to the manufacturers, "there you go, create something". The manufacturers then create the handset and market it to operators just like any other phone. They aren't so expensive as to require extra subsidizing like the iPhone does. Because the typical Windows Mobile handset won't come with an "unlimited" data plan, then people's use of Windows Live is at their own expense. If they want the privilege of "unlimited" use, they have to pay for it. Because the iPhone is religiously marketed with unlimited data plans, though, people realise that there's an opportunity for abuse there. Why send expensive text messages when I can send IMs for free, for example.

What's better about the Windows Mobile approach is that the operator doesn't need to maintain a relationship with the manufacturer; if someone wants to install a program on their handset, it is the customer's responsibility. End of story. It's for this reason that the freely available documentation and resources approach works for Windows Mobile, and that's because the operator and the manufacturer don't need to get involved for it to work. Providing the handset they create can run the Windows Mobile OS, they've already done everything they need to do to accommodate the installable applications too. Now, let's imagine that iPhone SDK users were allowed to create and distribute programs as they please. Would this reduce the interest in the handset because it would be costly to operators, or would it increase the interest because it's that extra bit of personal freedom?

The iPhone SDK programme is a strange one, and let's face it, it's a totally undesirable solution. But unfortunately, because of it's symbol status in the phone world, punters will fall to it's feet and obey. The iPhone has a long way to go before it will ever match up in terms of market share, but in the mean time, at least Apple have inspired other manufacturers to create equally innovative and more affordable alternatives.

It's not very often that I would put Microsoft above Apple, but this time, Microsoft have got the right idea whereas Apple have got it all very wrong.

Saturday 15 March 2008

Location-Based Services

Location-based services are inevitably going to become a part of our daily lives, where you can access rich data of various descriptions just based upon your physical location in the world. Sounds like a pretty convenient idea. After all, just think of the possibilities.

Your mobile phone would become the center of this location-aware universe. The clock hits 7 AM, and the alarm goes off. You get up, have a shower and get dressed. Having had breakfast, you go to catch the bus. You're stood at the bus stop, and the bus is late. You can tell because your portable device already knows which bus stop you're waiting at, and downloads the appropriate timetables. You also know how imminent the bus is because you can see it on a realtime digital map. You step onto the bus, and your phone changes to vibrate mode instead of the obnoxiously annoying loud profile we so frequently encounter on public transport. You arrive at your destination and you step off the bus, and into the office. Automatically your calls are diverted to your office phone until you leave again. It reaches lunchtime and your handset knows your favourite lunch spot, which is why your messaging presence status is automatically set to busy while you're there at midday. It's been a long day in the office and you return home to get a bite to eat before going out with some friends. They're coming imminently, and you are optionally alerted when they are a couple of minutes away. You go out looking for a nightclub. Walking down the highstreet, your phone alerts you about geotags people have previously placed. "Five star club. Recommended." Nice one. You take some photos while you're there, which are not only tagged with your location, but can also be added to the nightclub's location album that anyone can access while they're there. Oh, and another friend of yours is in the nightclub; you're alerted so you can go and say hi.

This is the sort of technological future we could look forward to. One where you aren't asked for your location before you can be given any information. One where your location can automatically bring you practical information, social data and convenience controls.

Of course, the problem is that the big media zealots would try and push context advertising. But we can dream about the ad-free location-based world, right?