Software Application

Some applications and open-source projects, I have created

Text to Speech Synthesizer Service OS X

tts4restI have developed an TTS Server that runs on Mac OS X 10.7 or newer. It allows you to use your Mac as a Text-To-Speech server, converting text strings to MP3 voice sound files on the fly. You can request an mp3 sound file by either sending an HTTP GET request like:

http://localhost:8080/tts?text=Hello World

which would stream an MP3 back in return or send an HTTP POST request and receive a path to the mp3 file back, ready to be downloaded once or multiple times.

The TTSServer does not have a native UI but can be accessed through a Web Browser. http://localhost:8080 provides condensed documentation.
http://localhost:8080/static/admin.html opens the TTSServer’s administration page, providing you with the tools to configure and fine-tune the voice that will be used for the Text-To-Speech conversion.

More details about this project, as well has the downloadable installer package can be found here:

Wow. This is a great way to have a high quality TTS. Do you use this in any applications?
Very creative use of the Mac and its great TTS functionality.

John Moore, Urban Patch LLC

Artist on Android

Artist on Android

The display is the canvas and your finger becomes a paint brush. Simply use your finger to create beautiful paintings. Use the Menu to change color or brush styles and also to print or share your artwork via Email, and publish your best work on our flickr group, straight from the app.

Voice Recognition

Mobile applications like Artist on Android, are perfectly suited to accept voice input. Instead of accessing the menu several times, to select a tool (like a pen or a brush), its style (like embossed or blurred), and its color, you now press the microphone button in the Actionbar and say “Lavender Blur Pen”.

The application’s vocabulary include all menu topics like “Pen, Brush, Roll, Emboss, Blur, Blend, Alpha, Erase, Reset, Save, Print, Share Publish, Explore, and Help” and also over one hundred color names. To bring up a list of all those color names, simply say “Colors”. Read more about Artist on Android, which is also available on Google Play.

Android app on Google Play

Brilliant The voice command was a very unique touch so I clicked the button I said the color I wanted and it switched me to the color I said.

—Fernando Zaragoza


Tiffany Screens - Screen Sharing

I never really liked going to “PowerPoint Meetings”, sharing the screen content with others during a meeting usually required to connect a projector to the presenter’s Laptop. In a lengthy process, the Laptop’s screen resolution and refresh-rate needed to be manually adjusted to synchronize with the projector. The adjustment procedure was often followed by a single lecture style presentation, featuring slides being projected hugely magnified onto one of the meeting room’s walls.

Tiffany Screens allows you to share presentations (or any screen content) with your peer group, without requiring a projector.
Imagine a scenario, where every participant brought a Laptop to a meeting and watched the presentation on that Laptop’s display – participants would probably sit on a table facing each other, instead of the wall. No adjustments are necessary; images are scaled automatically on arrival, to best match the receiver’s display-capability. To support lively meetings, everyone participating can with a single button click, turn his computer into the presenting device.

Truly cross platform, Tiffany Screens runs and shares any screen content on Windows, Mac OS X, and Linux. Tiffany Screens is available for download here:

“…a really nice piece of presentation sharing software. I installed the application on my MacBook Pro and my Samsung Q1P UMPC; there was no configuration involved since Tiffany Screens auto-detects peer clients within the same local network. Within a minute of installation, I was presenting the desktop and apps between the two clients.”

Kevin C. Tofel (GigaOM Staff Writer)

Theodore Editor

Theodore - Visual XUL Editor For Thinlet

In fall 2002 I had played around with Thinlets, which I liked for its lean approach. However, because it lacked tools and extensibility, I didn’t want to use it for serious projects. Today, the Thinlet library might still lack an object-oriented implementation but at least there is a tool now .. meet Theodore.

After I had written Theodore 1.0, I was even more convinced that GUI resources belong into XML descriptors, to be evaluated at runtime, instead of using code generators before compile time. The significantly updated Theodore 3.0 supports (is built with and ships with) the classic Thinlet.jar

Find out more about Theodore at 3.0 is available in a Web-startable edition, as well as in the locally installable.


Just played around with XUL via the fabulous Thinlet authoring tool Theodore. Playing around with the Theodore tool is a great way to learn, or at least appreciate, the power and potential benefits of XUL

Paul Golding, listed on Who’s Who of Britain’s Young Business Elite

SwiXML - XUL Engine For Swing

In January 2003 I founded the Swixml open source project ( to combine the benefits of Swing (availability of models, extensibility of widgets etc.) with the lean XUL-approach, demonstrated by the Thinlet developers. SwiXML, is a small GUI generating engine for Java applications and applets. Graphical User Interfaces are described in XML documents that are parsed and rendered into javax.swing objects at runtime. SwiXML, used to be a project but like many other projects has been moved to GitHub after Oracle took over.

Last I checked, SwiXML was the best “XUL motor” available for Java.

Rather than try and port Mozilla XUL (as the Luxor project has done), SwiXML has created an XML vocabulary that will be much more natural for Swing developers.

So, if you’re looking for a way to define your Swing UI’s in XML, SwiXML is one of the best choices around.

Ben Galbraith