Why AgileWiki? What advantages does it bring to the table? And why have a desktop UI for AgileWiki? There is a lot of work here, and a big learning curve for developers, so these questions are important. I also believe now that the answers to these questions are intertwined.
From a user's perspective it is all about good presentation, easy navigation, appropriate functionality, configurability and flexibility. AgileWiki provides the basis for this with a flattened implementation model, implementing user objects directly in a uniform way without constraints on size, complexity or function. This means that developers are working very closely to the user's own model of what the software does, resulting in a much more natural implementation.
The current web UI focuses on a single user object at a time. Various relations with other objects are listed, together with the state of the object and its journal. Supporting views are also provided for various operations the user can perform on that object. But the focus is all about a single object.
Navigation from object to object with the current UI can be problematic at times, especially as the number of objects grows from hundreds to hundreds of thousands of objects. From the sidebar there are links to a few top-level objects, but navigation is from object to object, tracing various relations between the objects. A clever user can use keyword tags and links from the user profile rolon to assist in this process, but for a new user it can be tedious, especially if several tasks are at hand and there is a need to switch between locations. A single rolon focus can make things very awkward.
What would an AgileWiki desktop look like? A new user would see icons for the ark (the top-level rolon), users, groups and the user's home rolon. These icons can be thought of as shortcuts to the rolons in the database. You can drag them about the screen and if you delete one, you have not deleted the underlying rolon. Double-click on an icon and you open a window. Among other things, the window can show the icons of other rolons to which the rolon for that window are related. Now you can double-click on an icon in the window to open its window, or you can drag an icon to the desktop, creating a shortcut for easy future reference.
The difference now is that a user can rapidly switch contexts from rolon to rolon, opening/closing/minimizing windows as needed. The point here is that AgileWiki can better support the normal work processes of a user, quickly switching contexts to provide a quick answer to a question from the boss.
A final question in closing. I need to implement an application suit and I want to use a desktop to make it easier for users. Why should I use AgileWiki? Because AgileWiki allows you to directly implement all the user objects represented on the desktop, be they content, access control, or processes. The same interface then can be used for running the applications, managing the system and for operations.
Bill