Skip to main content

Letters and Press Button

We purchased an iPad last year for my son to use and in the year he has become eerily proficient with the touchscreen interface. The educational applications have been very good and still use it for this purpose; however more recently it is being used as a video player... Whilst I'm not particularly against this, I would rather he start creating content rather than merely consuming it.

One problem with being used to touchscreen is the keyboard and mouse paradigm is alien - it must be really weird to have to press a keyboard key located somewhere else. I imagine using a keyboard for the first time would be like writing notes on a piece of paper but the ink actually appears on a different pad.

Anyway, keyboards are here to stay and I want my son to learn how to use a keyboard as well as learn the alphabet (he is already pretty good at numbers). Therefore as part of my Raspberry Pi setup, I purchased a Duragadget keyboard for my son to use, this has large keys, lower case letters and coloured for vowels, consonants, numbers and symbols.



Since I've learned Javascript over the past few weeks it seemed to make sense to use this as a platform for the application. It is a simple program to display an alphabet letter using the same font face as the keyboard (apparently Comic Sans is easier for children to read). The letter is enclosed within a shape coloured the same as the keyboard and will change when the correct key is pressed.

The program will prioritise those characters which have been incorrectly typed already thus helping practice those. After three wrong attempts a new character is displayed, also holding a key down won't generate repeat attempts.

Some future changes include a mode change to allow the display to be driven by the keyboard - i.e. select a key and see it on the screen. Also when 3 incorrect keys are pushed, I'd rather replace it with a character which has had a higher success rate.

The scoring system is all in place, but isn't used for anything other than biasing key selection, I'd like some kind of reward system on the page - perhaps a space rocket lifting off or something...

I was very pleased that my son was very receptive to it, even this early version. I felt extremely proud when he wanted to play "Letters and Press Button" instead of watching Peppa Pig!!


The program is hosted on GitHub at https://github.com/bazwilliams/bazapp

A live running version of the program is at: http://bazwilliams.github.com/bazapp/characters.html

Comments

Popular posts from this blog

Howto: Ubuntu 8.10, Dell 5530, 3G/WWan and GPS

There is an updated howto on the Dell 5530 using my own python based monitoring tool at http://blog.bjw.me.uk/2009/03/dell-5530ericsson-f3507g-on-linux.html Introduction Here is a Howto document for getting the Dell 5530 wwan card working along with the onboard GPS under Ubuntu 8.10. This card does not work conveniently with the bundled Network Manager software, but replacing NetworkManager with other utilities will give the ability to get online using a pretty GUI and not have to resort to using wvdial and the command line... It should also work with the Ericsson f3507g as I believe the Dell 5530 is a rebadged version of this module. Check Hardware First you need to check the modem is detected correctly. On my computer, the modem is detected out of the box by the cdc_acm module and exposes three serial ports (/dev/ttyACM[0,1,2]) for communication. Check by running: dmesg | grep ACM Mine shows the following: [ 34.385302] cdc_acm 1-6:1.1: ttyACM0: USB ACM device [ ...

Linn DS Alarm Function

Update 2014 - An alternative to this is available on GitHub which uses Node.js and should be cross platform. Linn DS Playlist and Alarm Server Switching the radio on in the kitchen in the morning is a low priority amongst setting table, pouring cereals, carrying children, etc. The Sonos has an alarm clock facility which allows you to switch on the radio at a set time avoiding hassle of starting a controller. When I upgraded to my Linn Sneaky DS, I no longer had this function, though the remote control made it easy if I forgot to take my phone downstairs with me. Last week I decided to figure it out. I have a Linux machine which runs Ubuntu and runs all the media servers, backups and network shares. I decided to investigate how to control my DS from the command line. Conveniently, the DS can be controlled via a web api, so after reading the docs and a few examples I was able to switch off and on and change source via Postman (Chrome REST client). I then set about writing...

Howto: Node Red Subflow for Hue Bulbs

When writing some flows for Node-RED controlling my Philips Hue bulbs; I wanted to read from a bulb do some work then write that same colour back to the bulb. When you perform a GET on a bulb, you get all of the information, whilst good this means it is a bit more inconvenient to PUT that back into a bulb as that API has a slightly different resource shape where the colour mode is determined by which values are submitted. After using a group of nodes in one flow which did exactly this, I needed the same block in another flow. So I created a sub flow by selected those nodes, clicking the hamburger menu in the top right and choosing 'Subflows > Selection to Subflow'. This replaces the selected nodes with a single node which you can edit in a 'subflows' menu group in the left pane. Download this selection and make your own subflow: https://dl.dropboxusercontent.com/u/174818/HueInputToOutput.json?dl=1