Shopping Cart Extension (2005)
Note: for confidentiality reasons, parts of the interfaces have been obfuscated.
ProcessThe company's shopping cart application was designed to help small store owners put their stores online. When I was brought in, their software wasn't doing as well as they had expected it to do. The President of the company thought their application had all the features it needed, but didn't know why it wasn't selling very well. He asked me to work on the application and see if I could improve its standing in the marketplace.
The top priority was to analyze and stabilize the software. Because there was little or no documentation and the scripts themselves were a mess, I started by mapping out the scripts within it. Once this was done the software could be re-architected to fit the standard patterns and bugs fixed with no side effects.
While stabilizing the software, new features to add were discovered through expert evaluation, brainstorming, and competitive analysis. While many features were added, the two main ones I determined were reporting and customization.
The customization options proved to be difficult to figure out how to add, but a crucial one since it would allow non-developers to establish the identity of their own stores. Our users were by far and large a non-technical crowd and because of this virtually no computer terms or language familiar to web developers could be used. However, we also wanted to make sure that the store owners who did know HTML could still utilize their skills to modify their store designs, if they desired.
To meet the customization needs a large number of parameters had to be added. These parameters were divided into several sections: general, front page/entryway, and product pages. For those that knew HTML, the ability to add their own design was added.
But while customization proved to be an incredibly difficult to add, it proved to be one of the most crucial features in having companies adopt our software. As can be shown, our software allowed for a staggering number of different storefronts to be created.