In a recent article, we asked you to send us your most frustrating Web development experience. Those experiences chosen as most frustrating by our panel of judges received some free stuff from Builder.com.
Check out the original article, "Turn your most frustrating Web development experience into free software," to read the contest rules.
Placing fifth in our contest was Juan Romero and his story of developing a Web site for an adult video distribution company. Juan had to make several decisions during development that can be applied to any Web site development and, as such, can be used as a case study in problem solving. For his story, Juan received a Builder.com T-shirt and a hearty well done from the staff. Here is his story in his words:
Juan Romero's story
The toughest project I ever had to work on was designing the retail and wholesale Web sites for an adult video distribution company. I used Active Server Pages (ASP), with an SQL Database back end.
The product was very difficult to work with, since it had to be categorized by multiple qualities, such as producer, format, type, genre, category, price, and background. Assigning actors to each movie was tough. Every movie had its own set of actors, so I needed to create a link table that would hold the relationships between movies and actors. This might not sound tough, but try to design an interface to deal with this and you will see what I mean.
As for design, I used Visual Interdev with other graphic tools such as Fireworks and Photoshop. Web sites of this nature require dazzling graphics and appealing images, so it took me months to design the layouts; changing them over and over again.
We wanted to use the same database for retail and wholesale and display only pertinent information to each group of users, so both sites had to be together, but they would have to be accessible by both addresses.
I didn't want to welcome the wholesale customers with a retail page; neither did I want the retail customers to see our wholesale page. How would I do such a thing? I registered both domains to the same address, so both pointed to the same server. Then I made a redirection system on the home page, so the headers would be checked and the user would be redirected to the appropriate home page, based on the address requested.
Once the layout was designed, I faced another problem: data entry. The owner did not want to expose his database to the Internet, so he had the Web sites hosted somewhere else. This meant someone had to upload the products to the Web database every day. The problem: They received as much as 80 new products per day. The task quickly became overwhelming, so I had to come up with a solution.
I created a site manager application in Visual Basic that would serve as an interface between their existing application (Visual Accountmate) and the Web server. I made a couple of modifications on Visual Accountmate (luckily, they own the FoxPro source code) so that my application could retrieve data from it. All the new products were pulled out automatically and uploaded to the MS SQL Web server in a snap. It worked like a charm!
Creating the pictures, thumbnails, and full-size views of the products was another headache. I had to come up with a solution for that too. I created a script that would take the scanned pictures from a folder, create the full-size and thumbnail pictures, and store them in two different folders. Then the site manager would upload them via FTP to the site.
Once all that was taken care of, I had to make the search engine for the sites. It took me a while, because of all the filters that I needed to work with to generate the SQL query. Eventually I was able to pull it off, but I faced a different problem: The site was too slow.
By then, the combo boxes that held the different qualities of the products on the search engine were too long. The actors box alone had 3,600 items! Imagine the stress on the SQL server every time someone looked at a page (the search engine was embedded all over the Web site).
I solved this problem by caching the combo boxes' contents into application variables and setting up a system that would refresh the application variable after new items were entered. That way, the page would actually query the SQL server to retrieve combo box information only when it detected a change; the information would be cached and subsequent calls would display information contained in the application variables.
Finally, I implemented the shopping cart. Everything worked great in the beginning, but after a while it became evident that it was harder than expected to keep up with all the sales. The hassle now was to enter the orders that came in from the Internet to the local application. So once again I modified my site manager to retrieve orders from the Web server and import them automatically into Visual Accountmate.
I had to create some additional reports and all that, but in the end, everything worked out. The sites were up and running, and I was the happiest Webmaster on earth (and the most exhausted too).
This project took me about seven months, and it was the most challenging one I have ever taken on because of all the side problems and inconveniences that I encountered along the way.
Sadly enough, I eventually left the company for a better opportunity, so I no longer take care of these Web sites. I say sadly, because it's kind of tough to let go of something that took you so much effort to build.
I somehow become attached to my programs. If there is one thing I can't stand it is to visit Web sites I have designed, only to find them destroyed or disfigured beyond recognition. But, hey, the customer is always right…I guess.
What does it mean?
Juan had to make several design decisions during development that were determined by the specific need of each site. Would you have made different choices? What about the use of Visual Accountmate? Do any of you have experience with products from Softline Accountmate? Let us know what you think of Juan's story.
Mark W. Kaelin has been writing and editing stories about the IT industry, gadgets, finance, accounting, and tech-life for more than 25 years. Most recently, he has been a regular contributor to BreakingModern.com, aNewDomain.net, and TechRepublic.