You may already know Web OS, like eyeOS. In fact, those web OSs are web desktop + web services. And there are lots of web desktop styles. And here we introduce Java2Script Desktop, basing on Java2Script SWT technology:
There are four elements on the above screen shot: Tray Bar (left upper corner), Task Bar (left side), Quick Shortcut Bar (bottom), Window.
This is a prototype design for Java2Script Desktop. Please check it out at http://izuz.net/gtalk/ . Hope to hear your feedback.
Another demo about Java2Script SWT. It also show the coming features of exporting static HTML codes from the J2S SWT window besides showing abilities of reading web pages in AJAX way.
or ajax-web-pages at j2s.sourceforge.net
For a much faster view (HTML + CSS + a few lines of JS), please visit the exported static demo page
I spent sometimes on converting Eclipse’ JFace codes, and got something like TitleAreaDialog:
But it took about 2+s(4s for IE6 on my machine) to do such layout (this time does not include the 1+s loading the *.js). It was just an experiment for things. And J2S JFace won’t be released in J2S 1.0.0.
Someone said the pseudo SWT window inside browser is so different from the common browser application, which may cause a bad user experience. So I began to think about user experience. In fact, I thinking pseudo SWT window won’t have big effect on user experience, but something else are important on user experience. Here follows my opinions.
There are three aspects about user experience: History action, current status and future data.
User will always keep the history in his/her brain. And good UI interaction should always keep all possible history from the user. Don’t break or change the history. For example, browser has already implemented the navigation history. If your page switch to a new page, your page must can be backward-forward-compatiable. Once your page support editable, you should implement the undo-redo actions and keep the modified history.
User will understand the current status of the page. User knows whether the page is correct or incorrect status. If the page is in incorrect status, he/she will do something to correct them. You should never limit the user from actions that will leave things in incomplete status. Incomplete status must be kept. For example, application provide ways for user to input Java/C/C++ expression/statement, the expression/statement will always in incomplete or incorrect status until all codes written and reviewed.
User always want to do something, which is still incomplete. For example, user try to type in name “Josson Smith”. Once he/she type “Jos”, if the application is smart enough to provide the possible future options “Josson Smith”, “Joshua Clinton”, it will improve the user experience.
So sugguestions of improving user experience is
- keep all possible actions from the user, and provide some ways for the user to move backward or forward.
- keep the possible incomplete status until user finish it.
- try to fetch data that is useful for the user, show them.