Due to my grandma, macaroni and by accident. I’ve explained it on Quora.
Wow, just discovered that the story got 4000 up-votes. Cool, eh?
UI and frontend software design and consulting since 1991
Due to my grandma, macaroni and by accident. I’ve explained it on Quora.
Wow, just discovered that the story got 4000 up-votes. Cool, eh?
Last year it was a jubilee of my BlockNote editor – it is 10 years old now. Quite a serious age for software product I think.

BlockNote, in particular its HTML WYSIWYG editing engine, was the very first version of H-SMILE core that works now inside the Sciter. H-SMILE core was used in other software products, for example in EverNote. In fact I was one of four developers who implemented excellent idea of Stepan Pachikov (EverNote idea-monger and founder) and created first public versions of EverNote.
In parallel and after that I was designing various UIs and editing components. WordProcessor engine that I’ve created for Top Producer Systems (The move.com company). That WordProcessor still works in their flagship product AFAIK. Current stack of Web technologies still does not provide facilities for page oriented WYSIWYG editing so there is nothing to replace WordProcessor yet. I’ve got quite interesting experience implementing text layout and editing algorithms there. Ideas from there have found their way in Sciter code in one way or another.
At some point I’ve got an impression that C++ is not the best language for UI programming. In particular GC as a memory management mechanism is significantly better suitable for typical UI tasks – many small objects with quite non-trivial ownership graphs. I’ve started looking on Java but having dependency on installed Java VM didn’t look right at the moment. So I’ve created so called j-SMILE JavaVM (based on SuperWaba) that was tailored specifically for UI purposes – designed to be combined into executable of the applications together with bytecodes it is running. J-SMILE demo (buggy but works somehow) and sources of class files are available here.

In J-SMILE I started experimenting with HTML as a UI layout manager and sinking/bubbling event propagation mechanism used in Web browsers. These mechanisms were proven to be highly useful for desktop UI purposes too.
Pretty much at the same time with my J-SMILE development Sun-Microsoft “Java Wars” had begun. And this immediately put the end to my J-SMILE development. I realized that I have no chances on this front and started looking for other options.
Some time later D-language raised in the sky and gave me real hope for the best ever language-behind-UI. GCable, natively compileable so fast and with pretty sufficient functional features. So I’ve started porting J-SMILE to it under the name Harmonia framework.

For those who are interested to see Harmonia in action: Harmonia demo, Harmonia sources and class tree.
D is really very cool and convenient language but after some time I’ve decided to stop Harmonia development for the following reasons:
So I reverted back to C++ and created pure DOM and rendering implementation – HTMLayout. And started looking on embeddable languages that can be used with it as “language behind UI”. Here are languages that I considered for that purpose:
Needless to say that my investigation ended up in creation of first C-SMILE and then TIScipt. TIScript is almost JavaScript (JavaScript++ if you wish) but with modular system (namespaces) and classes. It also got built-in persistence. And it inherits base syntax and runtime library from JavaScript.
HTMLayout combined with TIScript became Sciter as you see it now.
Oh, and in parallel with all this I was working as UI Architect and team lead at Top Producer Systems (move.com company) on various desktop UI, Web and mobile applications projects. And yet participated in HTML5 and CSS3 specification development as invited expert in W3C HTML Working Group.
Whole epoch of perfect quality in visual design and art of its implementation has passed away. Sigh.
Puerto Valarta (Mexico, West Coast) last week:
My father passed away last week, at the age of 79. It happened 8 days after a prostate surgery he desperately wanted to have which turned out to be cancer.
I have many regrets now, not spending some time with him these last (very painful) months being on the top of my list.
I’m not telling you all these because I want to have an excuse for being such unresponsive to your requests; I’m telling you all these because I feel like doing so.
All I can do now is drink some vodka (palinca in my case), remember him in his best times and take care of my mother.
If you are blessed to have living parents, try to spend more time with them, because you’ll never know when they’ll no longer be with you; take them out to lunch, have a walk in the park, take them fishing. Do this for my father.
May God rest his soul.
PS: There are a ton of unopened emails in my inbox. I’ll answer each and every one of them within the next few days. I’m sorry and I hope you understand.