Clive's Blog

Hi. I'm Clive Haworth. I'm the CEO of Robots in Schools and I spend some of my time developing the Edbot Software that lets you code your Edbot in Scratch, Python, JavaScript and more.

Support for Mac OS X

The Edbot Software is now available for Mac OS X.

Visit the download page for full details.

It seems the early design decisions are paying off. The software is written in Java which is a great choice for a cross-platform solution and JavaFX provides a modern GUI based on the native Windowing system. So It looks like a Mac app on OS X and a Windows app on Windows and so on...

However it hasn't all been plain sailing! The missing components are Bluetooth and Speech support. The Java architects seem to excel at publishing API frameworks to extend Java whilst leaving the actual implementations to third-party suppliers :-)

There is a Java Bluetooth implementation called BlueCove which follows some of the standard APIs, but it was written years ago and seems to have been abandoned. Speech is covered by the JSAPI framework but I couldn't find a viable implementation other than FreeTTS which doesn't have the best voices, to say the least.

So where to go? Fortunately we have the Java Native Interface (JNI). This allows Java to interact with native C / Objective C code for full access to the operating system. I've written JNI libraries for both Bluetooth and Speech and ported them to Windows, Mac and Linux. The Bluetooth library gives access to the underlying RFCOMM link and the Speech library uses the native speech synthesiser. These libraries can be seamlessly bound to a Java app to give the same user experience on different platforms.

I may open source these libraries if there's any interest and I get some time! It would be good to get contributions especially on new platforms.