Services

Web development, software engineering, systems upgrade management, existing systems support, systems architecture and code reviews...

more about my services
Portfolio

Full details of previous projects, in-house and remote work. Including web and Windows services, solutions architecture and project management...

see my full portfolio
Clients

A wide range of clients from small businesses to multi-national corporates and digital, creative agencies...

see all clients
Contact me

Get in touch to discuss requirements, rates and availability. It's also great to hear from anyone who'd like to share ideas and opinions about my site and services...

get in touch
Back to My Portfolio

Myki Ticketing System

Architecture
Windows CE
Sockets
TCP/IP
UDP
Windows
Services
Mobile
Communications
Performance
Processing
Reliancey

A completely re-written Compact Framework based front-end for a Windows CE based ticketing systems used on buses and trams in Melbourne, Australia.

The project suffered from very poor responsiveness in the GUI, and our goal was to use the existing back-end infrastructure, available though a Service Broker, to replace the GUI with a new, more manageable, responsive and future proof version.

We elected to develop an MVP (Model-View-Presenter) framework for the new GUI, this pattern allowed us to write a wrapper around the original views which would facilitate a phased replacement of the old code.

Using our MVP framework, we could provide a weekly build to the client allowing them to see the new more responsive views as they were completed. Once we had replaced all of the views, the old ones were removed completely from the current build saving the limited resources of the device.

Because this project worked so well, we were then tasked with developing a master/ slave system for the trams. This involved one primary console that maintained the database and communications to the back-office system, and a secondary 'dumb' console. The secondary console communicated with the database and back-office via UDP messages, simply by replacing the services provided by the Service Broker with ones that used UDP messages to communicate with new server based replacements on the primary.