Skip navigation

So there’s two ways to use the myki ticketing system, you can add myki money to your account, or you can purchase a myki pass for a fixed amount of time. Here’s my advice for young players:

If you’re used to buying single trip Metcard tickets (including 5x daily / 10x 2 hour), stick with Metcard. Not having to touch off at the end of each journey, there’s no chance of being charged a default dare, and you wont have to be one of those awkward people holding everyone up when exiting their suburban station. Also, we wont mention the overcharging that occurs using myki money, which is not an issue with the Metcard system.

If you are someone that uses a fixed term pass, there’s some advantages to using a myki pass. If you lose a Metcard pass, you’re out of pocket for the remaining balance of days. Using a registered myki, your replacement card will have the remaining balance of your pass transferred to it. The other main advantage is that the myki smartcard is more durable than a paper ticket, meaning that you can avoid the problems of bent Metcard tickets not validating in machines.

There’s a cool program that’s been around for a few years made by the MIT Media Lab called Scratch. It’s an interface for creating basic animations with sprites and sounds. Rather than writing scripts using code, the user connects ‘blocks’ to program the sprites to move around the stage. It’s like being able to program without having to learn the syntax of a specific language. Not surprisingly, there’s a lot of interest from educators (both secondary and tertiary level) in the software, as it makes learning about computer programming much more accessible to students.

Enchanting is a modification of Scratch that allows you to program the Lego NXT robot using the same interface. I’ve been involved as a contributor over the past few months, and we’re using the software with the year 10 students this semester at the John Monash Science School. The reason that we’ve opted to use the Scratch-based interface for controlling the NXTs is that it more closely resembles a real programming language when compared to the Lego Mindstorms software.

Here’s a comparison showing the same program written in both interfaces… you can see that Mindstorms is quite blinged up with pretty pictures and symbols, but lacks any resemblance to a control structure that you’d find in a typical programming language.

LEGO Mindstorms

Scratch

*

The students took to it very well, and I’m currently working on another mod of Scratch that will allow the students to simulate natural systems using the same interface, similar to the core concepts of Star Logo TNG. The Enchanting team are currently porting the software to the BYOB mod of Scratch, which provides the functionality to create custom blocks (functions) and list data structures.

If you aren’t from Melbourne and haven’t heard of myki, it is a public transport ticketing system that has been the subject of a lot of criticism, mostly because of cost blow-outs, technical issues and general customer dissatisfaction. I wont go into the details, but rather point you at the wikipedia article which summarises them well.

If you don’t know what MykiLeaks is, then I encourage you to check out the website. It consists of only 2 pages, so it wont take you long.

How did MykiLeaks come about?

I began using a myki card in mid 2010 on my travels around Melbourne, and after a number of weeks decided to check over my statement to ensure I was being charged correctly. The first thing I noticed was how poorly presented the trip data is. More on this in a separate post, but the bottom line is that it’s very time consuming to determine what fare you were charged on a given day, and hence difficult to ensure you’ve paid the correct fare.

After discovering that I’d been overcharged a small amount (and successfully applying for reimbursement), I decided to write a Python script to check over my statement automatically, in order to save myself the trouble. I then began to wonder if other people had been overcharged, and canvassed my friends, asking the myki users among them if they’d be willing to send me their statement for analysis. I received a small number of myki statements, and soon realised that I wasn’t an isolated case. In two evenings MykiLeaks was created, and a small press release to MX magazine had the statements rolling in.

How does MykiLeaks work?

The website accepts myki statements in PDF form, and immediately extracts the travel data into a plain text file, deleting the original PDF and the user’s personal information therein. For each day of travel in the statement, MykiLeaks determines the maximum fare payable by the customer, based on the zones travelled through and the trip duration. Then, a comparison is made between this maximum and what the user actually paid. Detected overcharges (if any) are presented to the user, as well as some copy-and-pastable text for the user to apply for reimbursement with. Check out the sample statement assessment and see for yourself.

So how many people are being overcharged?

In April 2011 an estimate was made using the relatively small sample of statements (roughly 270) that had been submitted up until that time. The results indicated that as many as one third of customers had some sort of discrepancy on their statement. Now this statistic seems very large, and it may well be exaggerated due to the higher probability of a myki user submitting their statement if they already suspect an overcharge. Nonetheless, a proportion larger than 1% is completely unacceptable by any reasonable expectation of system quality, and considering we’re dealing with money, my belief is that there should be an expectation of a 0% error rate. After all, we expect that from our financial institutions, and myki money is still money.

Since this statistic was published in The Age, a further 3000 statements have been submitted to MykiLeaks. A press release is forthcoming on the results of these statement analyses.

How are people being overcharged?

I plan to answer this question in detail in a future post, however the most common overcharge patterns are:

  • User travels within zone 2 and zone 1/2 overlap, but is charged a zone 1 fare
  • User travels on a Saturday or Sunday and pays more than the $3 weekend cap
  • User forgets to touch off on a train journey, and is charged a default fare, however the total amount charged for the day exceeds the maximum daily cap of a daily zone 1 and 2 ticket

Why are people still getting overcharged?

Good question! Considering that overcharging has been a problem since the early days of the rollout, there’s no satisfactory reason why a suitable fix or workaround has not been implemented. Even if the cause of the overcharging cannot be fixed without significant hardware changes, a satisfactory workaround would be to regularly audit all statements (similar to how MykiLeaks functions), and automatically reimburse the overcharges. Currently, the onus is on the end user to detect an overcharge, and then request reimbursement.