One thing we have right now is a "web prototype" which consists of:
- An .ec module for the server side code
- An .ec module for the client code
Both modules initially reside on the server, and when the client access it using a "special Ecere web browser", both modules get compiled on the respective side. One improvement would be to make use of libtcc, which could be embedded in both that special browser, and also in the web server, so as to not required gcc to be installed, and also not require temporary folders (libtcc can compile programs on the fly and produces callable functions with the newly compiled code, this is how I want to do eC scripting, and will have applications in other things than web dev!)
Now this prototype lives out of a browser, which is in my programming philosophy how web apps should be going (I have big ideas for this hehe). As you said the gaps between web and desktop is narrowing, and saying bye bye to the browser on desktops is part of completing this.
But in the meantime, everybody loves their browser. So this is where NativeClient comes in, to let us run native .ec code inside a browser for the client side code. I'm hoping for 2 things:
- A way to run these eC web applications inside a browser with NativeClient, as a solution for people who do not wish to or are unable to install any plugins
- A way to install our special browser as a 'plugin' so the browser detects our web apps and can run them in our special browser (or, effectively 'outside' any browser, as our special browser is just a very small loader that leaves the application alone once it's started)
Something else that must be implemented is a caching mechanism for the apps, which will check the last download dates and last modification of the apps, and only re-download/re-compile when out of date. It will also be possible to run all applications offline from this cache. The idea is that all these web apps are live and auto-updated, therefore removing the burden of app-updating. They also have all the connectivity of web apps, and the possibility to store or access information on the server-side, with the potential for selling such apps on a subscription basis for online features (assuming you're connected). But in all other ways they will behave like real desktop apps, getting 'cached' being the equivalent of being 'installed'.
Further down the road, I see this whole web system as a Desktop Environment, with a dock where you can pin such web apps, and this is all you need on your system. ( I want to make some thin Linux distributions with this! )
If anyone likes these ideas and would like to contribute to this Ecere web revolution, please let me know!
If you have GoogleTalk/Jabber, you can add me so we can have LiveChat when we're both available.