I am a programmer, business owner, and artist. In my personal and professional worlds, I have managed to combine these interests into a career.
In the early decade of 2000, I opened music schools in the United States New England area. As the business evolved, I found ways to apply my technology skills to benefit my students, teachers, and managers. I also found ways to save money by directly integrating with my telephone, credit card provider, point-of-sale software, and existing email/contact/appointment software solutions.
((TwelveTone Application Overview))
I had the freedom to create my software in any way I wanted. And so as it was, I went through the process of rewriting my applications on better and better platforms. I would choose to start over when the platform could no longer support my need for extensibility and adaptability. After 15 years, I reached a point where there was no ideal platform for me to write my applications on. So I started my own operating system using a lifetime of knowledge and experience.
((Past Platforms and Pitfalls))
Here are the guidelines that steered my design decisions.
Vaandroid is a combination of Android and Vaadin. Between the Android devloper API, the Android user interface, and Vaadin (GWT + Server), many of our platform design issues are solved.
My system needed to update dynamically, as if changing the tires of a car while it is driving. I needed to be able to update the running system, without bringing it down, or even having the user refresh their browser. Thats where OSGi came in. Actualy, Karaf, a runtime that is build on top of OSGI.
The one missing feature in my platform was a bridge between operating systems, devices, users, applications, and data. I created an operating system of operating systems called Medusa to handle these issues.
So by combining several technologies, including Android, Vaadin, OSGI, and Medusa, we created an ideal system for our customers, employees, management, and developers.
Applications and services are built and used like an Android entity, but run on any device that hosts a web browser, and are more powerful than their native counterparts.
When I first started working on a web based platform, I was aware that there were limitations on running in a web browser versus a standalone native application. As my work progressed and the indstry technology evolved, I started to see that my efforts were resulting in a system that went beyond traditional systems.
Here is a brief summary of my journey through various platforms.