Nowadays, computers come in all shapes and sizes.
We have a lot of them. One in every room. Perhaps some more in the pockets.
However, the more computers we have, the more inconvenient they become.
Our files, and the apps that understand the files, oftentimes are not in the computer where we need them.
Use web apps and online storage, you say?
No. Web apps suck. I am not fond of putting files in strangers' computers either.
I like to keep my stuffs in my computers, and use native apps.
But as a result, my stuffs are all over the place, in different computers. Messy.
I want to change that.
It started as a fun project written in 3 months. To both of our surprise, the business keeps growing ever since.
I managed to make it work, but only just. The protocol is quite difficult to handle, which results in poor performance.
I had to either ditch the protocol to make the product work, or ditch the product to make the protocol better. I chose the latter, partly because Acer showed little interest in the product, and partly because I believe that the protocol, if done right, can profoundly change the world.
I started to realize that the simplicity I was looking for can only be achieved by a new programming language. The language compiler needs to understand the protocol.
The company is much more profitable after this change.
During my PhD, I took the plunge to create my own programming language, and successfully built a proof-of-concept compiler and a runtime system. Seeing something that I envisioned for so long coming to life is very satisfying. I am proud of it.
My papers on the language and the protocol have been accepted by an ACM conference and an IEEE conference, respectively. Both will be held in 2013. Hopefully they will arouse some interests. I have also filed a US patent for my final design.
I soon realized that I don't like it. Files can't be opened by a native app is a major drawback. Moreover, browsing files by computer names feels so last century. There must be a better way. So I threw the whole thing away. Again.
I call it TildeSpace. I have built a working prototype of it, and I am in the process of turning it into a product so that everyone can use it.
I love it. You will love it too. Stay tuned.