April Fool

Last week was Aprils fools day, which means that for the days before and after you tend to be especially skeptical about the things you read on the web. So when I read that Redis had added one of my favorite algorithms the HyperLogLog I was in two minds as to whether this was real or not. The detailed analysis that Salvatore put together was very convincing but the date of the post was really off-putting.

If you haven’t heard of HyperLogLog before, it’s a method to work out the cardinality of some measure. Which in non-set based terms means, being able to efficiently count the number of unique items. One of the best implementations I’ve seen is the HyperLogLog Postgresql extension. This lets you define a new native data type. To use it you must use the various hash methods when inserting data, this is a required part of the HyperLogLog algorithm. The examples used in the readme.md page of the Github repo shows the real power of the extension.

Consider a data warehouse that stores analytic data;

-- Create the destination table
CREATE TABLE daily_uniques (
    date            date UNIQUE,
    users           hll

-- Fill it with the aggregated unique statistics
INSERT INTO daily_uniques(date, users)
    SELECT date, hll_add_agg(hll_hash_integer(user_id))
    FROM facts
    GROUP BY 1;

Imagine that we have inserted a number of items into this table from some fact table. We can then query the table:

SELECT date, hll_cardinality(users) FROM daily_uniques;

Now the queries will look like:

SELECT hll_cardinality(hll_union_agg(users)) FROM daily_uniques WHERE date >= '2012-01-02'::date AND date <= '2012-01-08'::date;


SELECT date, #hll_union_agg(users) OVER seven_days
FROM daily_uniques

Remember as well that the amount of storage space used here is absolutely minimal, Often in the order of bytes.

So as you can see HyperLogLog is really cool and it’s a great credit to the team behind Redis for bringing this into the product. Even if they do publish the announcement on April Fools day Smile

Redis is a fantastic tool, it is so much more than just a memcache replacement, I like to think of it as Comp Sci in a box. It has all of the goodies: Lists with set based operations, sliding caches, queues, single threaded event based goodness. It’s a very exciting tool and I’m very glad to see it evolve.

Fold That Story

Late last year I put together an Edmodo app called Fold That Story. If your not familiar with the concept of a folding story, it works like this. Students write a story one paragraph at a time, the catch is that students can only read the last paragraph that has been written. So the context of the story can twist and turn. It’s a really engaging concept for students and promotes creative writing in a positive way.

The app follows the same principles as Backchannel Chat where the teacher of the group has complete control of the environment. Students also join with minimal personal information via a join code system.

All of the interaction is done in real-time, so when a student or teacher creates a new story it will appear on the screen instantly.

The UI has all of the participants on the left, clicking on each name will show the stories that were initiated by the selected user. Clicking on the group name will show all of the stories and depending on the selected tab will filter by open and finished.

Clicking on the view button will open the story and will allow you to read the last paragraph and if you didn’t write the last paragraph you will have the option to continue the story. The teacher can set the number of ‘folds’ (paragraphs) and characters per entry.

Teachers and students can stay up to date with what’s happening within the class group by watching the activity feed.

Teachers have a number of options to control any story content and to block students from participating should they need to take a break.

Fold That Story is free for up to 5 students and is $15 USD for as many students as you need, plus it unlocks some extra features. Fold that Story doesn’t have any advertising and uses the $15 to help provide great tools for classroom use.

iOS Grid Finder

I previously blogged about Grid Finder which is a web application that can be used from the Edmodo app store. Well I’ve now released Grid Finder which is a native iPad application. It has most of the same features as the web application, students have the ability to play a quiz of 10 questions, which can consist of three different question types. Students can also play practice mode where they select an item on the grid and the application will highlight the column and row headings to show how the position was obtained.

The app collects stats on how well the student is progressing and will use a 5×5 then a 7×7 and a 10×10 grid as the student gets more answers correct. Parents can view the stats at any time and explicitly set the question type should they think the student needs more work.

It’s an iPad app that requires iOS7.  Grab it from the iTunes store now.

Fun Maps with Place My Past

I’ve mentioned before that Place My Past is a new project that I’ve been developing, it’s a tool that can plot your family tree onto a map which can be combined with other spatial information such as historic maps and datasets.

One of the maps that we currently have is a historic map of Brisbane which shows in great detail the streets of Brisbane in the 1920’s.


This map was added to Place My Past via the web interface which provides anyone with the ability to upload a historic map. The user selected three control points, which help line up points on the image with real locations on the map. These lat / long and X / Y positions were used to work out how to warp and translate the image to fit onto a real map. Once this was done the image was sliced up into layers that could be shown at the various zoom levels. The end effect is a nice interactive map with enough detail that a family historian can use it to locate places from ancestors past.

So if your interested in how Brisbane looked back in the 1920’s, feel free to play around on the map. If you have Brisbane ancestors and want to plot your family tree onto this map, be sure to take a look at the features and tools that Place My Past offers.

Grid Finder

I’ve put together a new web application for the Edmodo app store called Grid Finder. It’s designed to introduce students to a grid co-ordinate system.


Grid Finder Logo - 2 - 512x512

This app has three different question types:

  • Match the image to a grid position.
  • Match the numerical grid position to an image.
  • Follow basic instructions to discover the location of an object.

The app will ask the student 10 questions for each game and will progressively work through grids of 5×5, 7×7 and 10×10.

Teachers have the option to set the game to any of the available grid sizes or game types.
Teachers can also keep track of student progress by viewing the number of games played and the average score of each student in the group.


The app is built with HTML and JavaScript and works on large screen devices (Desktop, tablets, not phones).

I’m really happy with how this turned out and plan on releasing the iOS version soon.

Time Teacher

The first new app that I’ve put together this year is a remake of my iOS Time Teacher app which has been made into a HTML and JavaScript version for the Edmodo app store. It has the same basic game play: a student is asked 10 questions about the time, a question can be one of three types:

  • Do the digital and analog clocks match?
  • Set the digital clock
  • Set the analog clock

The game starts at one hour increments and progressively gets harder by asking questions in 1/2 hour, 15 minute, 10 minute, 5 minute and 1 minute increments. Of course a teacher can setup the game to ask specific game type questions or set the increment level.


Creating the game was fairly straight forward, I made use of the Dojo JavaScript library for the clock and moving the hands.


The app is currently being featured in the Edmodo store.

2013 In Review


It’s been a pretty big year this year, I thought it might be worthwhile to reflect over my achievements for the year:

Home Reader

This was the first app made for the year, it was a combination of a web application and a mobile application. The mobile app was written with PhoneGap (Cordova) and used the JQuery Mobile toolkit. The idea was that teachers could use it to manage a classroom library of leveled books. This was also the first app to be discontinued, the HTML UI was ugly and slow. Also some of the options weren’t flexible enough for teachers to be able to effectively use it. A future version is being planned and it will be a native application and be focused on things that teachers have asked for. Overall it was a good learning experience and helped me understand the limitations of HTML 5 application.

Backchannel Chat

Backchannel Chat started as a web application in early 2013. It’s a real time chat application that has been designed for educational use. New features have been added over the past year at a fairly solid pace. Some of the highlights include:

  • Added to the Edmodo App Store
  • Added to the Schoology App Store
  • Integration into Google apps and listed in the App Marketplace
  • Added to the Chalkable app store
  • Added school options that allow school admin staff to view all chat rooms and contributions by all members of their school.
  • Added a native iPad / iPhone application
  • Raft of smaller features such as, banner images, auto responders, file uploads, better support for larger screens, Google logins, Student access sites and more.

I’m quite fond of this application, I think it really offers some valuable tools to teachers who are looking to use chat rooms or backchannels in their classroom. When combined with an LMS such as Edmodo or Schoology that take care of a student login, this application really shines.

Some other interesting stats:

  • 39 blog posts written and published about Backchannel Chat.
  • 493 Tweets with 428 followers.
  • 12 email campaigns written and sent to users and subscribers.
  • 1 Academic paper published which involved Backchannel Chat.

Sight Word Apps

Sight Word Apps are iPhone / iPad apps that help students learn and understand the common sight words that are taught in the early years of primary school. All of the apps are categorised into the colour groups, consistent with how they are used in the classroom.

The apps that have been built are:

  • Sight Word Match – Students must match the spoken word to the word on the screen.
  • Sight Word Speak – As Students select words, they are spoken to the student.
  • Sight Word Spell – Students are given an audible sentence and they must spell the word.
    • Sight Word Find – This is a word search application that makes use of the common sight word apps.
  • Sight Word Recall – A memory game where students must remember and match words.
  • Sight Word Jumble – A sight word is jumbled up and the student must spell it out to make the common sight word.

Each of these applications will keep progress scores and unlock levels as the student progresses. An enormous amount of effect was spent recording all of the voice overs and creating the word lists. The apps have been well received from teachers and have been a great learning experience.

At the beginning of the year I developed three of these applications as HTML / PhoneGap applications but they were rewritten as native applications. The before and after is really striking as the quality and enhanced user experience of the native apps is an order of magnitude better than that of the HTML apps. This experience has given me the opinion that native first is the only way forward. I did take some of the code for the original PhoneGap apps and made them playable on the web, so it wasn’t a total loss.

I also ported Recall, Match and Speak to be native Android applications, this process was really smooth, apart from a few layout issues across different device resolutions it was really easy. The interesting thing from this experiment is that the Apple App Store produces an order of magnitude (or more) more sales than Android. This might be an artifact of the fact that Apple is used more in education, but its enough to justify being iOS only for other apps.

Some other interesting stats:

  • 14 number of blog posts
  • 30 tweets, 50 followers.

Time Teacher

Time Teacher is an iPhone / iPad application that helps students learn to tell the time. It’s a high quality native application that has high quality artwork and game play. Students work towards unlocking a number of jigsaw puzzles. The game starts off simple and works up to more complex time equations.

Two versions of this app have been produced:

I’ve experimented with in app purchases with these apps so that students can unlock new puzzles, but dropped them when the new kids category came along. The lite v pro version is also a nice little experiment, one that I think has been successful.

I’ve also developed this into a web application that will be submitted into some of the educational stores in early 2014.

Teacher Word Games

Teacher Word Games is a combination of two applications:

  • Find That Word – Which is a tool that creates word searches for teachers.
  • Bingo Card Maker – Creates bingo cards that teachers can use in the classroom.

The above two applications can be found either via the teacher word games site or in the Edmodo app store.

Two companion iOS apps were also added:

  • Teacher Word Games – An iOS7 app that lets teachers create word lists and download printable word searches or bingo cards directly on the device. It also offers in app purchases so that teachers can buy individual word searches or bingo cards without requiring a full teacher word game subscription. This app also has tools so that a teacher can run a bingo game directly from their phone with call sheets.
  • Student Word Games – An iOS7 app that students can use to play word searches or games of bingo. A teacher can eliminate the need for paper completely with this app.

Student Stock Trader

Student Stock Trader is a simple stock market simulator that has been designed for classroom use.

It’s both a web application and an iOS application. it started as an Edmodo application but was extended to the mobile and open web.

As an educational app it can be run without collecting any personal information from students, this has proved to be very challenging. A Stock game will have an invite code that teachers give to students, then after students have joined the game they then need to use another code to rejoin the game at the same spot. This process needs to improve and will be reviewed in 2014.

Pay with Pin

Pin Payments is an Australian payment service much like Stripe in the US. I use this service for payment processing across all of my subscription sites, they are really great, I can’t recommend them enough. I found myself logging into their dashboard all of the time, so I pulled together an application that gave me all of the information and tools in one place.

I’ve priced this a little more than the standard 99c as I think it offers business owners a lot of value, I know the time spent building has paid off for me alone.

Fold That Story

Fold That Story is an online game that classes can play, the idea is that a student writes a paragraph of a story and then the next student comes along and writes another paragraph. The catch is that the student writing can only read the processing paragraph. So it ends up being a little like Chinese whispers. The story will take twists and turns. It’s very fun and engaging for teachers and students.

At the moment the application is exclusive to the Edmodo app store, 2014 will see significant investment in this application.

QR Code Maker

Teachers love QR codes, they help students navigate directly to complex URLs and can also be used to create fun classroom games. I put together a nice little application that runs in the Edmodo app store that lets teachers and students create and keep these codes.

It’s a simple web application that largely writes and reads data with some QR code generation.

Place My Past

Place My Past is a major web application that I’ve spent a lot of time working on this year. It combines mapping and family history.

It’s in private beta at the moment and will be open to the public very soon. There is actually a lot of technology that sits behind this application.

2014 will see lots of new features and growth of this application, I see 2013 as the year I invested time into it, 2014 will reap the rewards of that effort.

Failed work

It wouldn’t be right to bring up all of the successes, there was one failed attempt at an application. I wanted to build a real time educational game that a whole classroom could play. I had it all working (minus styling) on a desktop browser with a good internet connection. But I really struggled to get it to work across tablets and desktop as the tablets ran a little too slow, timing was critical in this game, so even a few seconds delay between the desktop and tablet was enough to be a problem. In the end I decided that my time was better spent on other applications than working out a way to synchronize all of the devices in real time. It was the right decision to make and I’m glad I deferred it.


2013 was a productive year and a lot was learnt. I expect 2014 will be another year of significant investment into existing and new apps. I’d like to have a few apps that focus on solving problems for people outside of the educational vertical a little more in 2014. Place My Past is a good start here. I haven’t touched on topics such as marketing and sales, but I have a lot of learning’s here that will be helpful for 2014.

I was really blown away when I found that an academic paper was written in the Teaching English with Technology Journal about Backchannel Chat.

It’s been a great 2013, really looking forward to making 2014 even better.