OK, so they have finally released the T-Mobile G1, which is also know as the Google (g)Phone, and was previously called the HTC Dream.
What is that you say? Well it’s a revolution in mobile phones.
The phone itself is touted as being an iPhone killer, it has a big touch screen, GPS, Wi-Fi, expandable memory slot (up to 8Gb), and even a full QWERTY keyboard. But that’s not the ground breaking bit. The revolutionary thing is that it is the first mobile phone created to support Android.
You know how computer have operating systems? Windows XP, Vista, Apple Mac, Linux, etc ? Well phones run similar things, such as Symbian, or Microsoft Windows Mobile, finally the newly released Android platform.
Android has been created by Google along with the Open Handset Alliance, and is designed from the very start to be open source.
This means that the actual computer code that tells the phone how to work is not just released, but is available for anyone who understands it to fix, edit, or make better as they like. I’m not just saying that people can write some programs for this, like they somewhat can with the iPhone, but people can tailor the phone to exactly the way they work, not vice versa.
Don’t like the way the dialler works, or maybe how you listen to music? Write your own program to do it (in Java).
Don’t want, or know how to write your own? Then download or buy one off the Internet that someone else has already made.
Because of the beautiful way Google has created the whole operating system, it gives developers an amazing opportunity to do things with a phone that may not have even been dreamed of yet.
Now that the introduction is over, here are my suggestions for some Google Android apps. These are the ones I’d like to write if I had the time, and Java programming skills.
Silent geography – This app would tie into the current GPS location, or maybe the wireless networks in range, to work out where you are, so it could automatically put the phone into silent mode. This would be great for people like myself who need to constantly put their phone onto silent when they are at work, or when they go to the movies. Of course, when you are no longer in the designated area the phone would go back to the previous mode.
You could also set it to have different settings according to the current zone. Maybe when you are at home the phone would ‘ramp up’ the volume, while if it detected you were going >15km/h and didn’t have a headset plugged in then it would assume you are in a car and would go straight to voice mail, or speaker phone.
Obviously you’d be able to manually over-ride the options, and could do it for the current geographical area, a certain amount of time (e.g next 2 hours), or until you set it back to automatic.
You’d also have to have a way to select different area’s and apply different settings/profiles to that area, likely using mash-up with Google maps.
Picture code – The idea is that using either the camera attached to the phone, or some sort of external barcode, or even RFID scanner, you would associate the barcode (or tag) with a picture, and possibly some extra data.
The main use for this would be to take a photo of the contents of a packing box before sealing it up, you could then have a pre-printed sheet of sticky barcodes. I’d personally have two copies of each barcode. One you put on the actual box, another that you put on a wall or suitable location in the storage room.
You would then be able to scan the barcode on the box and see the associated picture and anything else you have written about it. This means you don’t need to open 50 cardboard boxes to find that one you hid the Million dollars in. Or, if you are looking for something, but don’t know which of the many stacked boxes it is in, then you could scan the 2nd set of barcodes all in a group on the wall to find out which one your item is in, and hopefully you’ve entered some positioning data along with the picture, or you’ve properly labelled the boxes.
Of course, the program doesn’t have to stop there, you could have barcodes in a store that are associated with different items, which could contain links to more information, or they simply show you the products webpage. Although this would require the information to be streamed wirelessly.
My current idea is that as you are tagging your photos they would be stored on the phone, however they could be transferred to a server (local or online) that would synchronise the updates, and also allow other people to pull down the dataset, alternatively if there were LOTS of barcodes and pictures, and you were connected via wireless, then it would upload or download the data as you went.
There’s also no specific reason that you need to use barcodes. If the software used some sort of optical character/object recognition, then you could use symbols, or whatever you liked (that could still be scanned, and turned into a website GET or POST request).
The most practical way of sorting everything out would be to have a cloud computing setup (Amazon S3, or Google Apps) which contains a database of the barcodes and an associated website address. The phone would make a lookup, and could then be redirected to the site, almost TinyURL style. The beauty is that you could have your own webserver that only allows local access, and could simply have the URL as an internal IP (e.g http://192.168.1.24/pcode.php?bcode=5644198722 ), while if you were browsing at a shop they would direct you to their products page.
Where is you?
The aim of this app would be to determine where someone is, by asking their phone where it is.
Say your a caring parent who wants to know why their child isn’t home for dinner. You send out a location request (likely as an sms), and assuming your childs phone has been configured and is working properly, it would respond with it’s current location and maybe even speed, elevation, system status (low battery, playing games, on a call, etc). The parent would receive this response with the location and details overlaid on Google Maps (or similar service).
The sender of the request (the parent in this example) would use the program to send the ‘Where is you request’, depending on the setup this could try sending a request via IM (Gtalk?), email, or more than likely sms.
The recipients (childs) phone would interpret this request, and depending on the pre-defined relationship with the requester, it could either send out the response straight away without notifying the recipient, send it and notify the recipient, or most likely it would present them with a notification allowing them to accept, reject, or blacklist the request.
Because of the way this system could possibly be abused, it would only reply to such requests (esp as sms which cost money) once every few minutes, and only to those that are white listed. Actually there would be a number of different lists. By default, if you aren’t listed as a contact in the phone, then the person won’t even get notified about your request, and they would have to manually go into the program and accept the request. If you are on the phone’s address book, but not in the explicit white list, then the user would receive a notification that they could action (accept, reject, whitelist, or blacklist). If however you were on the explicit allow whitelist then the phone would automatically reply and only notify the user that it had done so. It would be expected that only a small number of people would be on the explicit allow whitelist, and adding someone’s contact details to the list would require the phones user to enter a password.
If the request is accepted then hopefully the childs phone know where it is by using the build in GPS (and then send the lat/long co-ordinates), local wireless SSID(s) geolocation, or at least which cell phone tower it was connected to (and maybe even how far away it is from it).
The program can also have a number of other uses.
You could send your location to other people (who are also running the app), along with a message, such as ‘Hey, I’m here at the party, come along’.
You could also have an ’emergency mode’ where you can select Police, Fire, Ambulance, Next of Kin, or some custom ones like ‘Pick me up Mum, please..’, to let the associated people let you know you are in trouble, and where you are.
Bluetooth talk :
This would simply use the bluetooth connection to allow you to talk to an associated friend like a walkie-talkie. I know I’ve had a few occasions where I am stuck just beyond ear shot of someone, but would likely still be within bluetooth range.
Currently the bluetooth API has apparently not been released with the v1.0 code for Android, however it will likely be released before I actually get my hands on an actual phone.
If someone likes one of the above ideas, please feel free to contact me, as I would love to be a part of a project to help it come to fruition. I would also request that should such an app be available, it would be so for free, or as near to it as possible. The project(s) would likely be earning money through donations, funding and such instead.