From 2000-2004, I worked at Ariba Corp - one of the early pioneers of B2B software. I worked on a variety of projects, but for most of the time there I was lead designer of Ariba Enterprise Sourcing (Versions 3, 4, and 5). Ariba Sourcing is a product for conducting Sourcing Events (e.g. RFIs, RFQs, Negotiations, etc.) over the Internet.
Below is a screen capture from the prototype for Ariba Enterprise Sourcing. It shows the dashboard for an online Request For Quote (RFQ). An RFQ is essentially a reverse auction where the buyer tries to get the best price and terms from potential suppliers.
The prototype for Ariba Sourcing served many purposes. It was used in early customer walkthroughs, and in usability testing. Development used it as a specification for the user interface. Quality Engineering used it to understand the correct behavior of the product and to create test cases. The prototype was used to create marketing material and was shown in sales engagements. It was also used by Publications, Training, and Customer Support to create support material for the product.
The next example shows the supplier user interface. This is where suppliers answer questions and "bid" the price they will charge for the goods or services asked for in the RFQ. An RFQ may be very short or very long (dozens of questions and perhaps hundreds of line items). The user interface had to accommodate both extremes and everything in between. The supplier also had to be able to monitor the progress of the auction and revise their bid when necessary.
The next example from Ariba Sourcing is a cost model. Here the buyer can compare different alternatives and determine which one is he most advantageous.
Below is an example of a div window being opened that allowed the supplier to send a message to the buyer. This sort of thing is pretty common place now. At the time this was developed, however, this was revolutionary (most products at the time would have taken the user to a separate page).
Ariba Enterprise Sourcing was a Web 2.0 product in every sense of the word. The user selects actions using DHTML popup menus. New information is presented by dynamically updating regions of the page whenever possible (as opposed to navigating the user to a new page). Information presented in tables is dynamically loaded as the user scrolls using AJAX (there is no pagination). At the time this was done, these techniques were all pretty revolutionary.