Taking on The Big Cluster

For several years now we've had a very large widget called the "Contact Cluster" that is used as the common interface to edit and search for contacts. 

This device was implemented when CRM was introduced into xTuple in version 2.0.  The idea was to preserve the previous look and feel of contact information which had been stored locally on each table but, with the introduction of CRM, was being normalized into a single CRM contacts table.  It made sense in theory because people say they don't like jumping around to a new screen every time they need to enter new information and we try when we can to reduce upgrade surprises by maintaining some consistency in the interface.  

In practice however, this strategy has been less than optimal. 

It has been prone to users making duplicates,  awkward searching, and it leads to some odd interaction with other widgets when the document a new contact has been added to has not yet been saved.  Finally, the darn thing consumes a lot of screen space and adds visual clutter.

Enter the new Contact Cluster revised for 3.5:

 

 

The first thing you'll notice is the new Auto-Complete feature that makes searching names a no brainer.  You just start typing and names appear on the list.  You can navigate through the short list with the keyboard using page up and down keys, hit the short cut key sequence to launch a more comprehensive search (more on this later), or just tab out of a partially typed contact and it will take the first closest match.  Once a contact has been selected it will appear like this: 

 

 

This presentation is a bit more compact and less visually busy than its predecessor.  As before, the blue linked fields will launch email and your browser respectively.    Note, however, that editing is no longer accomplished in the window which the contact reference resides in. The contact cluster, like other search clusters such as item, project and expense, is a reference cluster.

We have waited a long time to separate editing from referencing contacts because of the original concern users have about navigating to different windows.  We have tried to make that as painless as possible by providing complete access to the contact editing window from a menu on this widget.

 

 

Here you can see that not only can you launch search windows, but you can also launch the contact edit window or a new contact from the associated menu.  Also, the menu exposes the "mouseless" key sequence combinations that can be used to jump to these respective windows. Some of these, like list and search, were always there, but we found almost nobody knew that because there was no visual indicator of that fact.  The great thing about this new approach is that because the menu takes you to the full contact editing window, you can quickly access all the other pertinent information about the contact such as notes, comments, address, owner etc.

 

 

Also note where contacts currently show complete address information, the visual change is even more dramatic:

Auto-complete and the embedded navigation menu have been incorporated into several other clusters as well including Item, Expense, Project, User, Employee and Department just to name a few.  We plan on tackling the rest for 4.0 which will include the same treatment on G/L account, Customer, Vendor and all other remaining iterations.

Finally just to whet your whistle a little more, I'll demonstrate another benefit of the compact contact cluster as implemented in the new Parameter Widget upcoming in 3.5 Beta 2 which will be the subject of another blog. ...

 

John Rogelstad

Software Development and Professional Services at xTuple, April 2007 – June 2014

Forward-thinking strategist and visionary technology executive, with hands-on manufacturing and SDLC coding experience, conceptualizes world-class products and leads struggling companies to profitability and status as industry leaders. Consensus-building planning and development engineer exceeds customer expectations while continually analyzing growth opportunities. Empowering and approachable diplomat fosters strong relationships with clients, vendors and cross-functional teams while monetizing new services and optimizing operations to control costs. With a history of industry leading success and resourceful problem solving abilities, trusted mentor and natural leader coaches robust teams, ensures technical excellence across the enterprise. Business Analysis ▪ Budget Management ▪ ERP Engineering and Architecture ▪ Contract Negotiation ▪ Production Planning ▪ Process Improvement ▪ Strategic Partnership Development ▪ Project Management
Supply Chain Management ▪ Database Application Development ▪ Team Development ▪ UI Design
Object/Relational Mapping ▪ Root Cause Analysis ▪ Web Application Coding ▪ Agile Product Development