HOME BUILDER
A cool coding approach, but what about maintainability?
JAMES HEIN
Let's take a breather from the coding for this week and take a look at a number of issues surrounding both web development and programming.
Recently I was watching a friend of mine coding in the latest version of Visual Studio. Anyone who has done database programming will be familiar with using SQL to access data and then stored procedures to speed up the process and to provide a more consistent interface.
Stored procedures can be optimised and compiled in some cases to make this even faster. The latest version of .NET allows you to use Visual Studio to build native code blocks that will access SQLServer by directly coding to the SQLServer procedures.
By using this approach access can conceivably be faster, you can write web service code to perform data retrieval tasks and do other neat programming tricks. On one hand, in programmer terms, what I was seeing was way cool. But, after getting a little of the background from the person concerned about the new approach to accessing data in the SQLServer, I asked the question: "How about maintainability?"
Given that most people know SQL and a smaller group of those know about stored procedures, particularly database administrators (DBAs), what about this new approach when it came to problem-solving and optimisation?
The answer was somewhat as I had expected. The ramp up time to use this approach was "a while" and the knowledge was very specialised. If your organisation has different departments it also involves some cross-department security issues. In this particular case a number of people were engaged in the whole process to open up access, compile some pieces and so on.
The only person in the organisation who understood how it all worked and how to fix it was the programmer involved. If, for example, he left then it would take some time to replace him with someone with knowledge in that very specialised and Microsoft-only area.
Now, as I mentioned earlier, the coding itself was very cool and it did use the leading-edge proprietary Microsoft development tools and their database. However, after a couple of decades of working in large organisations on large projects, a little red internal warning flag popped up and from that perspective it is wise to consider how such things would be taken care of in the future.
In this case, the DBA could no longer solve a database access issue unless they also went through a long training process and learning curve.
I was ordering a movie ticket online at my favourite local site, http://www.sfcinemacity.com, and realised that apart from a new welcome screen nothing had been changed. To be fair, web sites like this one don't need a lot of changes but at the same time all of those navigation problems I mentioned in previous articles had not been addressed, particularly for those wanting to see the English parts of the site.
At least SF supports a generic payment system and you can pay with a Visa card. The local Major Group cinema site allows bookings but payment is only by Major-specific methods like prepaying some money into a Major account then using those funds to buy your tickets.
When designing online ordering and payment systems, remember who your customers are, not what you want them to be. While I can take the Major Group perspective and understand how they might want to build up a little community of movie goers, there are still a lot of people out there who never join such communities and then there are those who are just doing the one-off approach to see how easy it is - or isn't.
In my case instead of switching my preference from SF to Major I accept the inconvenience of the navigation system for the convenience of being able to get my product and pay for it online.
If you want to create communities with your sites go right ahead but remember to allow for the majority of your potential customers by offering an alternative payment method or by making it both easy and obvious how someone can join and start ordering. With Major, this was not the case so they lost a potential regular customer.
Next week we will return to some more of the internals of .NET web programming
Email: jhein@inet.co.th
Bangkok Post
Last Updated : Wednesday April 11, 2007
No comments:
Post a Comment