Wednesday, 10 September 2014

Quick WiFi v1.0

QuickWiFi aims to make connecting to a WiFi AP easier, especially when WiFi keys (WEP or WPA2) are usually annoyingly long random alphanumeric strings.

Using OCR (Optical Character Recognition) Quick WiFi parses in the SSID and Key of a WiFi network from an image, and connects to the network automatically. The whole process (when it works), can take much less time than it takes to read and type in a long password on the back of a WiFi router.

I started this project back at the start of summer. It is intended as a novelty use of the Tesseract OCR system, compiled for android. With some more work the app could in theory become useful for real world application, but at the moment it only performs well under "controlled conditions".

How it works
1. Quick WiFi uses the android camera library to create it's own camera instance 
2. The user takes a photo 
3. The user crops the photo to try and include just the SSID and Key text, using the android-crop library, in order to improve the accuracy of OCR reading (removal of extraneous text) 
4. Quick WiFi then calls Tesseract to extract the text from the cropped image 
5. Then the SSID and the Key is extracted from the text 
6. Quick WiFi calculates the hamming distance of the SSID against the SSID of each currently available WiFi connection (This allows space for error in the SSID but not in the key) 
7. It then connects the network with the shortest hamming distance using the acquired key.

Ideal conditions
On my travels I noticed that in the places I stay in (ranging from hostels to B&Bs to hotels) most places opt for the WiFi network name and password written on a piece of paper on the wall in the lobby or in your room. For Quick WiFi, these conditions are ideal as the text is normally large and clear. However when it comes to the back of a router, the text is normally very small and Quick WiFi can struggle to produce accurate results.

Further Work 
The reliability of OCR results on Quick WiFi are only as accurate as the Tesseract library will produce. OCR is still an ongoing research area in Computer Science.
The Parsing of SSID and Password in Quick WiFi is still very primitive, and It matches on only a few key words and arrangements of this information. NLP techniques could be implemented in it's place but it could also be overkill for such a small amount of text. A slightly more sophisticated algorithm would suffice.

You have the following options;
- Clone GitHub repository and compile using gradle
- Bleeding edge download 
- Version 1.0 download 


Monday, 14 April 2014

I'm Home is Open!

Just a quick one today. To recap, I'm Home is an Android Application from West Coast Labs which automatically starts up your computer when you arrive at home or work, and runs quietly and efficiently in the background of your Android device. I have used it pretty much everyday since I made it.

I first published it to the app store back in September and I haven't given it much attention since due to final year university work. For that reason really I'm making it open source now, In the hope that I can see it put to use and for it to flourish elsewhere. So please, if you want to take it and adapt into something new or collaborate on the actual app itself so that it can be published to the play store (with credit to you of course) then feel free to do so. Cheers!

Wednesday, 5 February 2014

Android Battery Widget v2.0 and + Version!

Android Battery Widget has been updated to version 2.0! Still for free, it's has had a complete overhaul from the old outdated looking widget, in order to give you a new higher resolution more aesthetically pleasing experience. And it's completely Ad free!
Get it on Google Play

We have also created Android Battery Widget Plus, where for £0.69 (about $1.12 (USD), €0.83) you get 5 different coloured widgets in two different sizes (1x1 and 2x2 cell dimension). Also when you click the widget, it brings up some useful information about your battery!
Get it on Google Play