Skip to main content

Hack Highlight #2: Mobile Data Terminal 2.0

Haje brought his knowledge and skills as an entrepreneur, a software developer, a writer, and a special constable to Hack the Police - and produced something extraordinary.

He's written about the design and the thought process that went into it in a blog post of his own: MDT 2.0.

What problem was he solving?

Haje demoed live intelligence
Haje tackled the issue of Mobile Data Terminals - often referred to as MDT.

These terminals are built into Police cars and offer a disappointingly '90s experience.

Police officers can use MDT to perform a small range of actions. They have access to some forms of police data from PNC (the Police National Computer) for running checks (ie. on IDs or car number plates), can receive jobs, and can type updates to their CAD (the emergency services' dispatching and incident management system).

Of course, nothing is smooth, so the mapping system uses an arcane and counter-intuitive selection of swipes and taps to move around, and the maps themselves are cluttered and difficult to use. Perhaps my expectation of what a map should look like is a high bar, but a good map with high quality directions can shave minutes off the time an officer needs to get to a call - and that can saves lives.

Haje's solution was to do away with the clunky PC built into each car - and to replace it with a mobile device: a tablet or phone would do. Having something truly mobile would free the officers up to take them to the scene of an incident, and free the force up to replace them quickly and easily. Forces are no longer tied to one provider and a single device - they can use what they need to get the job done to the best of their abilities. Modern tablets and phones are also a darn sight easier to charge from a car battery!

What Haje built was a proof-of-concept app. It showed just what's possible, and how quick and easy it can be to perform important policing actions through good design, visual indicators, and taking advantage of technologies that are now well understood, such as OCR, to save time.

Saving money...

Haje also produced an analysis of the costs (as far as is possible). Even with conservative estimates, it's pretty clear that using established commercial devices is much cheaper than the bespoke (and disappointing) systems available today.

In just 2 days, Haje showed just how many things you could do on a mobile device - and just how easy it would be to build something simple, useable, and smart.

Take a look at his blog post for more about this and his solution.

Think like a start up!

There's plenty more to see at his blog - but something that really caught my attention was the urgency with which many different people at Hack the Police, including Haje, urged the police service to start changing the way they think.

Unfortunately the thinking of the force's IT providers has always been to purchase a large system from a contractor and wash their hands of it - leaving behind a legacy of lengthy and expensive maintenance contracts - with minimal options for fixes and improvements.

Skilled staff

Something I'll come back to again and again is the issue of unplanned work. Right now, across the police service, that's next to impossible for software development - and that leaves law enforcement in a dangerous position.

Facing ever-more sophisticated gangs and crowds, the police service needs to adapt and to keep up with the changes in technology that keep handing advantages to suspects and trouble-makers - making it easy to commit offences and avoid detection. Often, protestors at large public order events have a better knowledge of the lay of the land than police officers both on the front lines and in command centres.

Change needn't be expensive

Not only is there no expertise available inside the organisation to help fix the issues, but there's a cost associated with every little fix - because all the work is contractually tied down. Those costs in turn mean that only the most urgent of fixes can be completed, and that all changes must proceed at a snail's pace to keep costs down.

And that - hopefully - highlights the stalemate the police services have locked themselves into. Contracts negotiated in the past have surrendered the ability to adapt and change. A lack of skilled staff means that the only work that can be undertaken must be planned, justified, and pay the costs laid down by contractors - rather than the actual cost of the work. That may seem like a disparate view - but it's by focussing on the weaknesses of current contracts we can help to prevent those same mistakes being made again.

In the meantime, the Commissioner's 100, and those folks who believe change is possible, are pressing forward with proposals for new ways of working and building the case for far better uses of technology.

Slowly, we're beginning to see results.

It takes time to build understanding - but we're in this for the long run. If the police service is to be seen as a serious force for good in the 21st century, it's going to have to learn to do things properly.

Popular posts from this blog

Google Play Services with Android Studio

Edit: This post is extremely deprecated -- with prejudice! It was written in an era when Google Play Services were not well integrated with Android Studio project work, and Android Studio itself was in its infancy.

This is a very quick guide to incorporating Google Play Services with your new Android Studio project.

Edit: [16:20 22/05/2013] I'll investigate the runtime NoClassDefFound error reported in the comments, and follow up later!

Edit: [23:17 27/05/2013] I'm coming to the conclusion that - as many have already pointed out - you really do need to include the entire library project in your solution. I'll post an update once I've fully tested this. 

In the meantime, please consider the advice below to be deprecated!

The first thing to say is: I fully expect the advice and guidance about how to work in Android Studio to change over time. Android Studio is in early access preview right now, and I'll bet my bottom dollar (is that a thing?) that over time it becomes m…

What's the best way to handle the Android camera?

This article is adapted from a response I gave on Reddit to the question "What's the best way to handle the camera?" in r/androiddev...

The Camera and Camera2 APIs are far from painless to use. If you've ever written an app that uses the camera (embedded in an activity or not), you've almost certainly come up against orientation issues, stretched previews, or weird quirks that change from manufacturer to manufacturer...

There are three good libraries out there that can save you from many common pitfalls:
Google's (unofficial) CameraView library.Mark Murphy's CWAC-Cam2 library.Dylan McKintyre's CameraKit for Android library. Each has different strengths. If you don't have time to read this whole article, here's a quick rule of thumb:
If you want to capture photos in a full-screen preview, but you don't want to have to rely on the native camera app, then use CWAC-Cam2.If you want to embed a preview into your Activity, use CameraKit. It's f…

Wriggler

It was 1998 and I was 17. My tool of choice was QBasic and this is a game I wrote based on a concept I stole from another game called Wriggler.

The original Wriggler is a race game through a maze of bugs and creepy crawlies - played against the computer. My game would have been a race, had I gotten around to writing the computer player.

Instead it pits you, a plucky young worm (comprised of 4 lines and a blob), against an army of anatomically incorrect spiders in your mission to see a duck and solve a single puzzle. Also there are some chocolate bars.

I fired it up once again to make a playthrough video. The game features some pretty old-school beep/boop sound effects, which really hit me right in the nostalgias!

Warning, this playthrough video contains spoilers for the puzzle... 😂


I don't suppose there's much to be learned from my code, but you can see it all on Github if that's your groove and you're welcome to have a tinker. I had some success running it with DOSBox