Coming Soon: xTuple Smart Desktop
Are you an xTuple user who ever thought it would make sense to put something in that huge blank space below the toolbar? Yeah, I know you can put wall paper in there, but surely we can do better than that. Well, we've been thinking about it too. Read on to learn what's coming in the new "xTuple Desktop."
Thus far we have not put anything in the big blank space because if we do, it becomes incompatible with the legacy "Workspace" mode xTuple can run in. This is a behavior controlled by user preferences that makes all the windows bound inside that big open space act like old Windows '95 era programs. That mode is essentially deprecated by all operating systems, Qt and us, but we do have to continue to support it because it does serve a useful purpose in certain testing situations That said, we have recently quietly shifted application behavior to default to "Free floating mode" where all windows open outside the xTuple workspace.
That now gives us an opportunity to put something useful there... like this:

The first thing that probably grabs your attention is the graphical menu system with workflow cues. Basically these are a collection of buttons with images and labels that will launch a corresponding window. The idea of this is to help people that are new to business systems better understand the relationships of various windows in different functional areas and how they relate to each other. The Desktop shown is for the Sales cycle, but we will also include Purchasing, Manufacturing and possibly a couple more functional areas in the first release of xTuple Desktop. You can control which desktop you want to see by selecting from the list of items on the left.
One of the neatest things about these desktops is that there is absolutely zero code behind them. They were completely built with the embedded graphical screen designer that comes with xTuple using a new "Menu Button" widget. You just drag and drop a Menu Button on your window, set the action property (the name of the window to open) a label, and an image and you're done. What this means a non-programmer can easily customize the desktops that come with xTuple, or build their own. For example see the sales desktop in xTuple Designer pictured here:

xTuple Desktop will be distributed as an Extension package that will include over 3,000 pre-loaded icons to choose from when making your own desktop.
You may also have noticed the other lists surrounding the desktop. These are called "Dock Widgets" in Qt lingo. They are simply a collection of business intelligence tools that help give you insight of what's going on in xTuple. Note one pictured is a list of Sales Activities that will show you the value of Sales Orders in various states, and the one on the tab behind that will show you historical Sales summary information. Of course you can just click and drill down into the details. Similar tools for other functional areas will be included for Purchasing, Manufacturing and Accounting. Also on the bottom of the window are, if I may coin a new term here, "Personal Intelligence" tools. These are your lists of To-Do items, Contacts and CRM Accounts of which you are either the designated owner, or are assigned to you, again with clickable drill down.
It's hard to describe this in a blog, but you can drag and drop these dock widgets any where around the desktop or on top of each other and the screen will remember that configuration. You can also drag them out to a free floating state, as pictured below, which will also be remembered:

Some dock widgets, such as sales history will also be user configurable to summarize on different categories or time frames.
This has all been implemented in modular way so that users or partners can build additional dock widget packages that can snap into the Desktop to satisfy requirements for vertical industries or local cases. These dock widgets actually do require some code work, but it's all JavaScript and the ones provided will be open source and well commented to help make it easy for a would-be coder to figure out how to make their own.
The xTuple Desktop will be an Extension of the PostBooks project hosted on Source Forge that will work on xTuple 3.5.1 due out late spring. We're very excited about this development and hope our users will be as well!
- jrogelstad's blog
- Login or register to post comments


Nice Idea
Very Nice Idea. Our users always comment on the not been able to find screens they have used before quickly. Most of them use a small subset. Will it be possible to set up different desktops for each user and create desktop templates for users groups/department?
Yes, the idea is you can have
Yes, the idea is you can have desktops by department. Notice on the screen shot that there is a list of available desktops to the left that you can switch between.
Also note that the Menu Buttons automatically honor privileges for the corresponding menu items they launch (the button is disabled if you don'thave the priv.) so there is no need to implement additional privilege controls.
Finally I should note that this notion of desktop is really just a particular implementation of a screen. You can add ANY core screen that exists or custom one you have made in as a desktop item and control access however you like with scripting. As is typically the case, however, the more complex your requirements are the more coding work will be involved.
In pracitce, the easiest thing to do will be to simply alter the preloaded desktops to suit your needs, then re-save them as a higher grade (revision) so they over ride the default. Using that technique will require no coding. This is very similar to how OpenRPT report definitions work.
Tab Browsing
You UI is becoming great with this new feature. Will this "Smart Desktop" be implemented in version 3.5?
2 years back, there was a small discussion about tab browsing. Tab browsing is a feature similar to firefox and IE7. Based on the your screen shots looks like this is now possible. But of the course I feel what you have is more than of a tab browsing!
RTL Languages
I have checked the new great desktop design , go go go go XTUPLE , it is nice step , but , still the application missing support of RTL languages direction and i dont mean only mirroring , i mean real support for RTL languages including of course the current mirroring but not through online directive
also i encourage thinking about the TAB BROWSING or we can all it " TABBED DESKTOP"
still i look forward for grid based entry in details of all screens (( something like famous windows based componentone DBGRID ))
so my dreams is simple but needs hard work
1. details grid entry
2. RTL ((Right To Left)) languages support
3. TABBED DESKTOP application frontend
dreams can come true , i believe xtuple can achieve this , waiting for ur coments
Are you aware that xTuple can
Are you aware that xTuple can be run in Right to Left mode? See the topic here:
http://www.xtuple.org/node/2144
I'll add that for windows users you can just set up that command line argument in your short cut so there is no need to make users actually launch from a command line.
I actually did originally have the desktop set up as tabbed. The trouble with tabs is you quickly wind up in the same box we are already in with the horizontal by function menu bar which is that you quickly run out of horizontal tab space. Then what happens when you add more is the tabs either get all scrunched up so you can't read them, or they run out of the window so users don't see them unless they scroll horizontally which is kind of unintuitive. So for now the desktop options are displayed as the vertical and scrollable list. Of course since the app. is in free floating mode, all the application windows launched open outside the desktop.
I think the larger problem is that so many windows have to be opened to get work done that it can be confusing and hard to manage. We have some ideas brewing about consolidating windows to reduce that problem. These dock widgets deployed in other areas may be part of an answer to that issue.
Brilliant
I cant wait for this extension. Great work
Beautiful idea. I would
Beautiful idea.
I would suggest one more for smart desktop:
Could it be possible to allow user to track a particular (say for example) Sales Order related activity visually on desktop. When I say visually I mean it should list all activities performed to full fill that particular sales order.
Let me expand a bit. If to full fill a particular sales order it is required to purchase raw material, do manufacturing, ship goods, etc. then there should be a way to show all these activities that are related to a particular sales order.
This is just an example. It should be for anything. Like if an indent has been raised for purchasing some item then the person who has raised the indent should be able to see as to at what stage has it request reached (or stalled for some reasons).
I hope I am making some sense here?
That does make sense, but
That does make sense, but that's more like adding consolidated information for a specific sales order on the sales order window. The idea for the Desktop it to provide general and aggregated information for either the organization as a whole, or the individual logged in.
User based data
Looks great and I agree that it should be a generalized set of data. Unless it's configurable it seems like it would be hard to target the information in a specific way, but think that being able to filter (meaningfully in context) by a user would be beneficial. I have one client that, prior to this being on the table, was complaining that their sales people couldn't go to one concise place to get an overview of what they needed to follow-up on. So a list of sales orders, related purchase orders, etc. since, in their situation, their sales people are responsible for following-up over time on the delivery of the services after the sale. This is pretty specific workflow and probably not something you'd want to build directly into the product, but being flexible enough to bring these together and into the desktop presentation would be a big win.
Documentation
Is there or will there be documentation specific to the Desktop? We have not been able to find any on the xTuple site.
Customizing the Desktop
Hi, John:
If you're looking for more information about how to customize the Desktop, there has been some recent forum discussion you might find helpful on the subject:
http://www.xtuple.org/node/3217
Regards,
Pierce
Desktop docs
Hi, John:
We do have documentation available for our QuickStart Wizard, available on the xChange: http://www.xtuple.com/xchange/product/quickstart-wizard. As far as the Desktop goes, we didn't create any documentation specifically for it. Our assumption was it wouldn't need documentation. The various buttons open screens which are already fairly well-documented in the Reference Guide: http://www.xtuple.org/sites/default/files/refguide/RefGuide-3.5/index.html.
Regards,
Pierce