QR Codes are one of those technologies, if you haven’t heard of them, that you’ve probably already come across. And like most things that gradually become pervasive, you realise they’ve been around for a long time. QR Codes are simply 2D barcodes. Rather than scanning a line and extracting a short series of digits, you image a 2D array and extract (more) data. Of course the reason most people aren’t particularly concerned with barcodes is that they don’t have a barcode reader, but regularly see them in use at the supermarket. It’s also not much use either…. you don’t have a backend database matching the barcode so it’s use is limited. However the explosion in the availability of smartphones and inclusion of a camera means that large swathes of the population now have a 1D and 2D barcode reader in their pocket.
The QRCode was created by Denso-Wave way back in 1994; of course you’d have needed a dedicated reader for it back then and whilst its use appears to be far wider in Japan it has been more limited elsewhere. That is all changing simply because by moving to 2D….. you can store more data!! Not surprisingly the (ISO) specification allows codes of different sizes. The larger the code the greater the capacity. And clearly you can encode anything you to from plain numbers and characters to XML data such as vCards and URIs. As a result there has been rapid take-up by the marketing industry: stick a QRCode on an advert, put in it a URL to a website with a special offer and you have a great campaign for instant interaction.
So how do you create QRCodes? Well the standard is open and, as a result, there are a plethora of online services. There is a nice roundup of sites here, including a stand-alone encode/decoder for Windows. Perhaps more useful for online QRCodes is dynamic generation via the API for Google Charts. This website is a service which generates the QRCode and also shows you the code to paste in to your webpage (in an IMG tag). The power here is that the “message” itself can be replaced with dynamic code as I’ve done on the template for the pages in this blog. So the QRCode below is dynamically generated for the URL of this unique page.
One might argue there is less use in putting it on a blog because a reader can simply use copy/paste from the address bar of the browser. It’s the print world where it is powerful (let’s face it, who wants to write down a 50 character URL!). I am involved in typesetting at the Journal of Maps and we use LaTeX. And, yes…. someone has written a barcode generation package that includes QRCodes. Again we can dynamically enter the DOI for the article and have it automatically generated at document creation time. The code is so simple its unbelievable really:
This article shows how to use LaTeX to create a business card the embeds a QRCode vCard. If you scan this with your phone it will offer to add it to your contacts automatically; now that really is useful.
The opportunities really do start to open up…400 characters for a 57×57 QRCode is a significant amount of data. You can put paragraphs of text in or entire XML encodings. For neogeography you could run a geocaching quiz that encodes the next destination in the QRCode; encode in a Google Map URL and it will show you where to go. Remember, you don’t need a GPS for this, simply get the code and move on. Which means if GPSs aren’t pervasive then liberally spread out QRCodes could operate as spatial identifiers. For organisations you could have asset tagging where its not only the ID for the object, but the metadata about it as well. I’m sure there are 1000s more applications, so keep an eye out for them!
DLT and Autodesk have just published a small booklet, LiDAR for Dummies. It’s hardly a state-of-the-art textbook, but it does succinctly summarise the operation of LiDAR. At least worth a quick look at given its free.
Well it looks like ArcGIS is coming to the Android platform. The more general smartphone area shows that iOS and Windows will also be supported. Indeed to iOS version is out, Windows due imminently and Android to follow shortly thereafter. The mobile blog keeps things up to date. Not surprising the choice of platforms; difficult for any large-scale developer as the mobile space is so varied at the moment. It’ll be interesting to see how it develops. Smartphones are the modus operandi for alot of work the; integrated GPS and fast processors make it a no-brainer and if they aren’t careful, Google will very rapidly fill this spot.
Backup is critical for any mobile device so what’s the best way of making sure your Droid is recoverable should it get lost (or stolen)?? Well one neat starting point is Prey which is installed on your phone or laptop and allows remote activation to send reports back about where the phone is. It can auto-start your wifi, take photos with the camera, send back location information and lock the system. A great way to try to recover a lost/stolen device.
Your device will often have quite alot of data onboard so how to save this? Well the earlier post on syncing is a good start: contacts and calendar are two of the biggest areas you want back up.
Another one is apps that have been downloaded and installed on your phone. Google provide no simple (out of the box) method to save downloaded APK files (which are just ZIP archives), so if your phone gets mullered you have to download them all again. A great option here is to use Android Mate. This is an apps organizer that allows a multitude of useful things like installing APK files, navigating the file system, uninstalling apps and, yes, backing them up. If will extract the apps and save them in an APK file backup. This will be on your SDcard but thats easy enough to copy off on to a PC
The other main backup app is Titanium Backup; the free version requires root access. This is immensely powerful allowing batch operations for backup and restoration of apps, as well as removal of apps that come installed with your phone and can’t be uninstalled through “Manage Applications”. A great way to remove crap from your phone and backup apps and their data, as well as system data to your SDcard. And in case you’ve wondered, all base install apps on your phone are in the \system\apps folder. You need root access to see these.
The ultimate in backup is to create a custom ROM with all your base apps in it. It’s a bit like ghosting your device and means you can get back to a fully working base version should everything go wrong (or you just want to start afresh). More on that in another post.
One thing that is strangely absent in Android is an effective method for organising access to your apps. OK, you have five homescreens which you scroll between. Seems a bit of a faff to me and not a great solution. Or you press the apps button to list all your apps… but that is all of them and you have no way of filtering it for just the ones you want. On Palm OS you categorised your apps and they appeared on the screen for that category. It was an effective solution and so I looked for something similar on Android. Apps Organizer does this pretty well; I’ve hunted around a bit and I’m sure there are probably better app organisers but this does the job well. Create your categories, tag your app and your done. Then create a link from your homescreen.
The number of people that lose their phone and all their contacts….. too numerous to count. With PDAs, synchronisation was done to a desktop app (HotSync for Palm and Active Sync for Microsoft), but with a 3G access common and cloud computing pervasive many people now sync their phones to an online service. This is very easy to do out of the box for a droid device. Set up a GMail account and then enter the details in your phone.
I also wanted a desktop app and, of course, all my contacts and calendar were in my Palm T
The first step in starting to do more interesting things with your droid device is to connect it to your PC. For that you need some USB drivers. OK, I know when you plug the phone in a PC will automatically recognise the on board usb storage, but you actually need “developer level” access to the phone. Google’s software development kit provides this and an awful lot more…. in fact so much more that it’s a right faff to get it all. So to save some effort read this thread to see how to download and install just the drivers themselves. These will then give you the access to the phone needed for working with the ROM.
Note: ZTE also produce drivers which are specific to the Blade and can be used to tether it and use it as a modem.
The first steps to getting your San Francisco (aka Blade) to do what you want it to do are:
1. Unlock the device so you aren’t tied to Orange
2. Gain root (superuser) access to the operating system so you can add apps that rally get under the bonnet
So, without more ado:
1. To unlock phone:
Type *#06# to get the phone’s IMEI number. Then visit:
Type in the details and use the phone model SFR-341
Put a non-Orange SIM in to the phone, start it up and enter the unlock code.
(Note: the Orange help pages are actually quite helpful!! And… if you stay on PAYG for at least 3 months you can request an unlock code from Orange. Seems the simplest option!)
2. To root the handset, the simplest option (given the Blade is running Android 2.1) is to use Universal Androot
Download the app
Copy it to the SD card on your phone
Install either Linda File Manager or Ghost Commander from the Market
Use the file manager to install the application on to your phone
Run Universal Androot
All very simple; some useful apps that make full use of root access include Titanium Backup (the best backup app for your Droid) and AdFree (for removing app ads).
James Fee notes that ESRIs file geodatabase is finally to be (sort of) opened up with a beta of the API coming out in January (C++ based). The binaries (but probably not the source code) are being released and as the blog notes:
“This API is targeted for advanced developers who require access to the File Geodatabase without an ArcObjects license for purposes of interoperability.”
So you won’t need to buy ArcGIS by the sounds of things to read FGDBs, but it will be a Windows only solution (until its reversed engineered anyway).