Saturday, March 29, 2008

Gesture Magic to be released for free next week

Gesture Magic has been sitting on my PC for the last few months and hasn't changed much*, but by the end of next week you'll be able to get your mitts on it - for nothing - gratis - free!

Gesture Magic allows you to start programs or batch files by painting gestures on screen - directly on top of the desktop. Whilst this may not seem amazingly useful (especially when you could just use program shortcuts), it looks cool and with some configuration and some crafty batch file usage you could probably accomplish some complex tasks more quickly.

* Regrettably the code isn't great and is unfinished (i.e. prototypish so not a good example of C# code :( ), but so it doesn't rot I'll release it as GPL as bug fixed as I can make it. Feel free to build on it, but remember to provide the source.

Here's the youtube preview of an earlier version.

Friday, March 28, 2008

LocateMe - Free J2ME GPS Tracking Software

UPDATE: LocateMe 1.1 is now available which you can get here

--- Original Post follows ---

LocateMe - Free Open Source GPS Tracking software for MIDP 2.0 mobile phones.

This simple application requires a Bluetooth GPS and will show you the direction to a given GPS location (a "target") without maps, using a pulsing direction arrow. You can request the location of other LocateMe users by text message, send your own location, or just simply save a location for directions back to it later.

The features:

  • "Target" other LocateMe users' locations via a request text message

  • Send your location to other LocateMe users via text message (can use your contacts list)

  • Record your last location as a target

  • View all the satellites around you on a "radar" style view

  • Display RAW GPS data (suitable for testing)

  • Connects to any bluetooth GPS

  • Saves your bluetooth GPS and last set target settings

For developers the fully commented source code is a good example of:

  • Design patterns, i.e. lazy initialization, command, strategy patterns

  • 2 Tier system

  • How to use PushRegistry (JSR 118)

  • How to use the Record Store (JSR 118)

  • How to use Bluetooth (JSR 82)

  • How to use Text Messaging (JSR 120)

  • How to use the PIM (and hack to minimise the security notices - JSR 75)

  • How to use the Location Based API (JSR 179 - Nokia lapi.jar included)

  • How to use simple graphics (not using a Game Canvas however)

  • How to multi thread effectively

  • Provide a basic understanding into Graphical and GPS trigonometry

Known Issues:

  • The application is not security signed (this costs money!), so you will be shown numerous security popups.

  • As your phone is not a compass the direction target arrow will only point to the correct direction once you start walking, and the phone can determine which way relative to North you are going, i.e. when you are stood still your phone doesn't know which direction you are facing! :)

  • On first run there can be some delay discovering the bluetooth devices in busy areas (i.e. it may display "Waiting for GPS..." on first run for some time). This is down to the bluetooth device discovery picking up a large number of devices and querying them. Once you have located your GPS, future connections to the GPS do not require this discovery period and will be relatively quick

This software has been tested on Nokia Series 40 3rd edition phones at a minimum resolution of 128x128 pixels and Sun WTK emulator at 240x320

The software is licenced under the CPL 1.0 licence which is included with the distributions.

Download LocateMe 1.0 JAD and JAR for Java phones
Download LocateMe 1.0 source code
Download LocateMe 1.0.1 Beta source code (with basic integrated GPS support) See this page for more info on the beta.

Wednesday, March 12, 2008

Holux M-1200 vs BlueNext BN-909GR GPS Small Receiver Review

The Holux M-1200 is far superior to the BlueNext BN-909GR.

I needed a Bluetooth GPS quickly because of a programming project I've been working on - "LocateMe", and I needed it quick.

I purchased the BlueNext from Ebay, primarily because it was cheap ~£20 - and it suffers for it. The device I received whilst newly boxed and unopened had light scratches on its very shiny plastic, in addition the power button didn't seem to work unless it was pressed very hard for around 10 seconds (the manual states 3 if I remember) - more on this later.

The performance of the device meant indoors within two metres of a window I got a fix within ~2-3 minutes - that is if the BlueNext didn't switch off of its own accord. The maximum number of satellites I found at any one point was 13 (note this is with my software - which includes satellites that have within the last minute just gone over the horizon out of sight of the GPS). 13 Satellites is quite good - as it should be for a new generation receiver.

The manual states that the battery should be initially charged for three hours and that the red light would go out when it was done. Well it did not - after 5 hours I disconnected it. The manual also states that when the battery is low the red light will flash - well it too did not - the device just powered off. Having said this, the battery lasted me around 12 hours of switching on and off. The manual states that the BN-909GR has a powersave functionality that will switch it off if no device connects to it although (if I remember correctly) it states after 10 minutes, not the 2 minutes or less I experienced.

Anyhow after using the BlueNext for a few days (remember I was desperate) I found that although the GPS can switch on if you hold the power switch, if you do not hold it long enough the GPS part of it will not switch on - and you just end up with the Bluetooth light by itself flashing. You then need to power it off and back on again to reset it. The Bluetooth functionality also seemed to have fail if the connection was lost - the phone (and my laptop) could not reconnect until I switched the GPS off and on again.

Disaster struck two days in - inbetween random disconnects and power offs (usually when it could not get a fix - often after a couple of minutes) the power button broke - it pushed in and snapped inside the case. Being of a technical mind and not having time to claim on the warranty I opened the GPS up and re-soldered a snapped push switch back in place that the plastic part of the case pressed - no problem, in fact it works better now as I no longer have to press so hard.

The case is pure plastic - ignore the silver "metal look" finish you may see around the edges, or the unnatural polish and shine you see in the publicity photos - it is shiny, but will likely have light scratches on like mine which you may find really annoying if you are anything like me!

On the plus side, the BlueNext also comes with a USB to mini USB power lead and a standard mains power to mini USB lead to charge with.

All in all a waste of money and not worth £21 (including postage).

Due to the problems with the BlueNext I went back to Ebay and bought the Holux M-1200 "51 channel" receiver for £37 (including postage). The Holux uses a newer chipset (i.e. its got different insides for the non technical :) ) and was a breath of fresh air. From the same distance inside my house it could get a fix literally within ~30 seconds from cold - it really is that fast, leaving the BlueNext to keep attempting and power off after a couple of minutes.

The power switch is a rocker type - i.e. you move it left to right, and there is no risk of breaking it from pressing too hard. This is much preferred to the BlueNext's push button. The battery required around 60 minutes to fully charge from new (the power light goes out), and in my first test lasted 5 hours 15 minutes constantly connected to my phone via Bluetooth - not the 8 hours mentioned (but I think this is rated for on "standby" i.e. not connected and streaming GPS data). Regrettably I could not perform this test with the BlueNext because of power save/randomly powering off by itself.

The case is made of metal and hardened plastic with a polished front - and my review model had no light scratches. The device is about the same weight as the BlueNext but as it has a smaller form feels more rugged - indeed I dropped it by accident onto concrete and has no scratches to show (it did not land on its face however).

The cherry on the cake was how many satellites the Holux M-1200 at its best picked up - 16 - yes 16 satellites.

The downside to the Holux is that it only includes a car charging power lead - although it's also possible to charge it using a standard USB to mini-USB lead (i.e. a cable you usually connect a camera or card reader etc. etc. to your PC with). Fortunately for me, because mini USB is a standard the BlueNext's mini-USB mains power and mini-USB leads can charge the Holux!

In conclusion it may be that I just had a bad BlueNext receiver, when it did get a fix the device was rock solid - as long as Bluetooth didn't disconnect - and was about on par with most other older GPS, but short of BlueNext contacting me and sending me another one for review I won't be investing in another with my own hard earned cash (and I do need to get another GPS).

Kudos to Holux - their product clearly shows the years of experience they have in GPS making and will not leave you disappointed, but they really should try and improve that battery life a little - but this is not a real gripe. The lack of a simple USB charging lead however is penny pinching. If you buy this device you should really ensure you have a mini-USB cable to charge it in the house.

Apologies for the poor photo quality shoddy Nokia phone cam because I was in a rush!

Saturday, March 08, 2008

Making 3D images out of 2D photographs

If you want to spruce up your photos a bit with some 3D have a look at Make3D. While some of the photos converted to 3D are a bit disappointing spend a little time with it and help highlight the 3D planes the results are spectacular. (Apologies 56K users the SWF below is ~300K in size).