Software Application

Some applications and open-source projects, I have created

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