Tuesday, 1 June 2010

HTC Desire is iPhone killer

I was lucky enough to get a new HTC Desire on Friday. After suffering from iPhone envy for the last couple of years I can safely say my HTC kicks it all over the shop. The Android OS is totally customisable and expandable by anyone; it comes with free satnav via the Google api; there are loads of funky apps and plenty of options when it comes to mail, sms and the web. This is what I have wanted for the last five years and now it is here.

Monday, 14 December 2009

SWIFT Gazetteer

We were commissioned on Friday to look into matching the SWIFT gazetteer (which is one of the databases used by social / wellbeing services) against the Local Land and Property Gazetteer. I was given a file that contained just over 110,000 address rows from SWIFT and started doing some of the investigation work today.

Happily about 80% of the SWIFT addresses had a UPRN (Unique Property Reference Number) next to them and I was able to match these pretty easily to the LLPG UPRNs; all of the values that were on the Knowsley LLPG file looked right apart from some postcode discrepanicies. Some of the UPRNs in SWIFT are out of borough (mainly Liverpool / Sefton addresses) and I'll need to get a copy of the Merseyside - wide gazetteer and repeat the process.

This leaves about 10,000 rows (ish) that need to be matched 'by hand' and I'll continue working on the routines this week. Doing work like this is pretty tedious but it's important to be thorough and to have a clear step - by - step process so that the work you do is transparent. We've done data matching exercises in the past so now I can use all that experience and write a clear, concise document explaining what I have done, what the results have been etc. (it's almost like writing up a science project at school). Someone else could easily follow my work and recreate what I have done, or use it as a basis for matching a different data set.

SWIFT doesn't follow the BS7666 format for organising address and there is data randomly strewn across multiple columns - you can see the house number in as many as five of the columns. So I'll need to do some work which standardises all the data into just a few columns and then try to match on these. The important thing is being able to explain why each row didn't match and this could quickly become labour - intensive. I'll post some more updates this week.

Wednesday, 25 November 2009

PLINGS and QlikView

Spent some more time working on the PLINGS app today. Tidied up the 'Create New User' form and improved the way it worked. This is probably the last application I will ever write in ASP.NET; having seen what DOJO can do I find the whole thing slow and unresponsive.

Also expanded the eClaims dashboard for QlikView with the help of one of our potential customers. The functionality that you can create very quickly was amazing and it has received a very positive response.

QlikView Reporting

Stumbled across an article in Time Magazine about a company in the US that makes a product called QlikView. It's a really, really good development suite for building data dashboards. It allows you to import tables of data and it automatically finds relationships between data. So if you load data about mileage claims (I've used this to put a demo together) you can quickly show the sum of all the unauthorised claims for a specific department in September 2009 by clicking a few controls. There are no complicated SQL scripts, no VB to change the data - it takes no time at all to get something up and running. There's also a full suite of controls - graphs, charts, dials, lists to make everything look neat and funky.

Did I mention it was fast! I can achieve in two hours something that would have taken me days of boring development time. Plus I know that I can easily train this out to other people on the team.

The sales team is coming in to see us on the 7th December and they have offered some free time to use some of our data and put together a polished demo. Hopefull we can convince customers that this is the way forward in terms of reporting / data dashboards.

Monday, 23 November 2009

GIS Dashboard Replication with STRATUS RIA tools / DOJO (8)

This morning I had a look at the different 'sub layers' available to me. Each map is built from a base layer (of which we have two, an OS map that shows streets, houses etc. as coloured polygons and a satellite map which shows cars, trees, phone boxes etc.). You can also add extra information on top of these such as plotting the location of libraries, one stop shops, bridges, bus stops and ward boundaries.

This is pretty useful because I now have a map of the borough with all the ward boundaries and the user can click inside one of the boundaries and see the stats for that ward. Now I need to figure out how to plot the geographic location of individual instances that occur in the ward which shouldn't be too difficult because the API has a method for doing that sort of thing.

GIS Dashboard Replication with STRATUS RIA tools / DOJO (7)

I have now (sadly) gotten into the habit of writing this a day late. I spent Friday morning doing some more work which involved getting the application to dynamically output a table of data and a line chart that summarised the data on every click of the mouse. The charting element is included in the DOJO library and took a little bit of figuring out while the table is just building and injecting a string of HTML into a DIV on the web page which is easy enough to do.

Friday, 20 November 2009

GIS Dashboard Replication with STRATUS RIA tools / DOJO (6)

Another successful afternoon (yesterday, I'm writing this a day late). Now I have the web application displaying both east / north / ward info when the user clicks as well as displaying enforcement statistics for the specific ward. Had a bit of a crisis over the mouse click - for some reason the app was only displaying the stats info on the second click - but I fudged it in the end by nesting a function within a function on the OnMapClick event. It works so I guess that's the main thing - I have a suspicion that the problem was being caused by the search results that were coming back. I use two different search functions and both were returning an object called 'results'; need to investigate this further.

Today I need to work on the following:
  • Replace the standard layer with a layer that shows the ward boundaries
  • Add a date filter that lets the user decide how much data they want to see
  • Figure out how to display graphs of data using the DOJO framework