November 19, 2009

Web 2.0 User Interface and Interaction

Here I summarize (and envision) some major features of "web 2.0" rich web user interfaces. The question is what features are usually considered to be rich and usable. Let us know if there are things missing.

  • Dynamic content changes and animations: auto-fill, marquee, slides, etc.
  • Traditional GUI controls and interactions: drop-down/pop-up, expanding/collapsing, selection, highlighting, etc.
  • Advanced user interactions using mouse: hold and move, drag and drop, and multi-touch.
  • Within page action: to complete a task, especially that with a number of steps, within the same web page: sorting, filling out forms, log in, add new or change content, seeing additional content, etc.

Technologies and tools that can be used to achieve these features:

  • Traditional and basic DHTML, JavaScript.
  • Client side embedded component: Applet, Flash, Silverlight.
  • Recent AJAX, JavaScript library (JQuery/Prototype).
  • Advanced UI language: XUL
  • Browser GUI integration

Here are some other good readings:

October 9, 2009

Web UI Integration via REST

My previous blog mentioned about web slice, which can be integrated to IE nicely. Now, can such nice web slices be integrated (mashed-up) to web pages? It's easy to do it on the receiving end, through manipulating XHTML DOM dynamically. What's difficult now is the publishing end. I am not aware of any neat way to just get a particular web slice. Maybe webpage scraping does work but not ideal.

Here is my imagination. Can we use REST and do some URL processing to get a particular web slice? For example, assuming there is a web slice with id "bidstatus", the a URL "http://example.com/examplepage/webslice/bidstatus" or "http://example.com/example.aspx@bidstatus" will retrieve that exact web slice. Maybe this is already there but I just don't know.

September 20, 2009

An analyst's problem

I read this from my student's blog: "as a technical person, stop telling me what you want and tell me what your problem is."

I think it applies more to an (system) analyst. So "as an analyst, stop telling me what you want and tell me what your problem is."

The quote is a bit dramatic but it's got a point, even in my daily life. One day after I wrote that comment - a Sunday morning - my wife compained that she wanted one of those stackable racks back in the kitchen. We did not really use it, and it was crowded there; so I moved it. I showed her the quote, and, she smiled - she's analyst, too; so she understands. It turned out the problem was just she needed a place to put the rice cooker - there were better solutions.

September 18, 2009

Free XML/XSLT Tools

I have tried and used a number of free XML/XSLT editors and tools (listed below). But none of them are completely satisfying. If you have a different view or a better free tool to suggest, please let us know.

  1. XMLPad: a pretty powerful XML editor with XSLT support; providing multiple views for XML content.
  2. Notepad++: a general editor for many languages including XML.
  3. XMLFox: a nice tool to view and edit XML schemas (and XML content); requires .Net 2.0.
  4. EditiX Lite: it's good to get XPath information for any nodes; based on Java.
  5. Treebeard: a open source XML/XSLT editor, based on Java.
  6. XML Notepad 2007: a basic XML editing tool. downloadable from Microsoft; requires .Net 2.0.
  7. XML Marker: very unique in visualizing XML data using tables, which is very helpful for editing structured data.

Online XSLT transformation tools

  1. http://www.shell-tools.net/index.php?op=xslt
  2. http://www.w3schools.com/xsl/tryxslt.asp?xmlfile=cdcatalog&xsltfile=cdcatalog

August 31, 2009

Multi-Point/Input Computer System

One computer supports multiple sets of keyboards, mice and monitors. Sounds cool. Just like 4 cursors on the Wii game screen. Why don't we make it widely available? (Well, then perhaps we don't need to buy that many computers because one computer can be used like two!) Imagine about these scenarios:
  1. While I am working on my paper, my wife wants to check her email. I don't want to stop because I am all on it, but she does not want to turn the other computer on!
  2. My friend and I are researching something online together. Constantly one person has to master the keyboard and mouse and the other person uses the finger to tough the screen. And constantly one of us will say "well, let me do it" and the other will reconcile the keyboard/mouse.
  3. Playing games together - just like Wii (see http://mymousegames.com/ but it needs specially programming).
I think the current computing powers can achieve these tasks easily. PC makers just need to incorporate them in the hardware and software infrastructure.

July 30, 2009

Web 3.0 in My Mind

Now web 2.0 is no longer a new trend. People are starting to talk about web 3.0. The features people imagine are usually: personalized, high speed, pervasive, smart, knowing everything, and do everything as told. There are different perspectives to view the evolution of the web. One of my perspectives is the people's need/want:

Web 1.0: the need for access - the need to find information and knowledge through the web; the need to accomplish tasks through the web.
Web 2.0: the need for interaction - the need to communicate and socialize through the web.
Web 3.0: the need for experience (personal or with others remotely) - the need to have real (well, might be virtual) life experience (all aspects) with other persons through the web. For examples: trying products in virtual-shopping (not just photos or videos); virtual tours to museums, deep ocean or battle grounds (not just encyclopedias); experiencing (not just watching videos) a live event scene (sports, concert, meeting, etc.), or a work environment (a trading floor, hospital, or factory), ; etc. (as you want and can imagine). Systems like SecondLife might be the direction!

These needs are not exclusive or absolute definition for each stage. They are just a way to view the evolution of the web.