We recently completed the implementation of a Web Portal, based on a Microsoft Dynamics CRM system, which is used by approximately 5,000 suppliers and customers. Given the volume of users, one of the key acceptance criteria of the project was that it should require minimal training for the users.
Whilst considerable time was spent working on the look and feel of the Portal, one of the critical factors in building a successful user experience was ensuring that the Portal performed quickly. There’s nothing more frustrating than waiting 5-10 seconds for each page to load – users want to be able to navigate quickly through information. That way, the software feels precise and responsive and, importantly, does not penalize a user who opens a wrong record or wants to navigate between different data sets.
To address this, a key design decision we took was to provide all information ‘in-line’. Records are presented within a series of grids all contained on a single page, with a choice of navigation methods to move between them. Detailed information about a specific record can expanded and collapsed from within these grids, meaning that users do not have to wait for a completely new screen to load. The existing screen simply expands to show the additional details.
Furthermore, the user does not need to wait while they navigate back to the initial screen. All they need to do is collapse the details once they have finished reading them. This ‘in-line’ approach also meant that a user could expand several records at the same time, allowing them to compare data or find the correct record.
This design also enabled us to populate the grids, asynchronously, when a user first logs into the system. This meant that the user can be reading headline information on their dashboard, whilst detailed information is loaded in the background. The majority of the ‘heavy lifting’ of data is performed without affecting a user’s experience.
As a user begins to navigate the grids the information is all available, allowing them to perform tasks such as quick searches, scrolling between pages of records, sorting or increasing the number of records per page instantly. These types of task are performed at the client end, with no further fetches from the server.
If new records are created once a user has logged into the Portal, they are shown a small notification (via a badge icon) to inform them. They can then chose to refresh the relevant grid with the new data at their convenience.
Obviously, performance was only one aspect of the user experience. However, the ‘in-line’ interface and associated quick speeds immediately gained users’ confidence and approval.