Déjà vu (Back To The Roots of Evil)
In an earlier life I was designer and developer of Internet shops. This was a time when Perl-o-saurs roamed the planet and the only game in web server town was "Apache with CGI". No mod_perl2 goodness, no MVC bloat, just good-n-old-n-slow CGI. And MIIS at that time was exactly as a german pronounciation of the word would suggest.
And since most of our customers were not very IT-savvy I actually spent much of the time getting the product data into shape, mostly to beat it into SQL tables. I have vivid memories of wading through plenty of Excel sheets.
With some trickery we managed to push our trophy website further up the Google PageRank. Something which has had some modest success in converting web page requests into actual sales.
As I have wisely foreseen (being always right sucks big time), the next logical step is to offer some of our portfolio also via a web shop.
While other business dominated, last week I did the unthinkable, namely to program another shop, one after a 15 year break.
While there are several thousands of shop packages out there, I spared myself the pain to evaluate them. The huge concern I have is that most of that software has many implicit assumptions about the maturity of the data. Which is inappropriate as our data is not mature.
And they also seem to have some constraints on the workflow. Here I would not care, but the CEO (aka my wife) does want to have full control over the process.
So I rather choose to implement a 6-step shopping workflow from scratch with a few hundred lines of Perl. Including HTML and all that, but without any classical database behind it. Because we have none.
And to regain the warm, fuzzy feeling to be in full control I used again the trusty, rusty HTML::Mason for it. It has never let me down all these years, and I have done unspeakable things with it.
The Familiar Customer Feeling
15 years ago, the problem I had with my customers was that - once they had eventually seen a working prototype - their understanding about the final solution evolved quickly. That, together with my unstoppable flow of ideas and suggestions, always led to rapidly changing requirements. My sales people at that time tried to manage this away with forcing customers to write upfront specifications. I found that pretty silly.
But now I experience the very same effect with our new shop: There is always one more unhandled product category.
But at least now I have a stake in the business itself. Maybe that is the trick.