Coding, is? Fun!

Sunday, June 29, 2008

A wakeup call for IT Architects and Leads

(This article is cross-posted in http://www.photoninfotech.com)
Sometime back I interviewed a senior technical architect for Photon. One of the standard questions I ask is if such senior people have worked in developing or maintaining a public website.
Invariably this question leads me to define a public website. A website that is available on the DMZ for entering timesheets around the world is not really a public website. What I usually mean is a website that does commerce on the internet or more generally has something to offer to random users.
Such a website is different from internal web applications because of their broad usage patterns, traffic, marketing needs, analytic needs, usability and so on.
Anyway, this particular architect said Starbucks contacted his company to develop such a public website for them. He also volunteered that he had suggested using a "smart client" based approach for that.
I was taken aback - "Smart Client" is a Microsoft term used to describe .NET based WinForms applications that run in Internet Explorer. To run a smart client app in your computer, you need the .NET runtime installed.
I asked him if that is what he meant and he confirmed it was. I asked him what kind of marketing you could do on a website that only allowed people who had .NET installed. He had no answer - obviously he had no idea about public websites and it is probable that the whole Starbucks account was fictitious.
Another candidate (again, from a reputed company with 11 years of experience) said HTML was dead because Visual Studio was available. I have no idea what he meant by that - and was afraid to ask.


Most senior people (tech leads and architects) I meet from the Indian market have no clue about the whole wide world of public website development, its special set of concerns and even about the niche world of Rich Internet Applications. I can actually find college kids who know more about social apps, widgets, Open Social and the mobile web. This is a matter of concern because some of the coolest, cutting edge technological developments in the past few years have been in that domain.
For the offshore services industry, we need more architects and leads who have worked with a set of technologies that I list below. If you are out there and have a good idea about these, give us a shout out.

1. Most clients who come to us start with the traditional web requirements - enhance the search engine ratings for their website. This is the area of Search Engine Optimization. From a technical perspective, it requires the knowledge of web standards; the optimal usage of Javascript and CSS; Cascading Stylesheets 2.0; Keyword analysis; the application of analytics to figure out usage patterns.
Clients also request us to build their sites to be compatible with various browsers; and be XHTML compliant.
Sometimes they ask us to analyze the site from a usability perspective - do users prefer a certain color over another? Do the right hand navigational links work? This is the area of usability engineering tied in with accessibility for the disabled.
(As a side note web accessibility guidelines are mostly ignored by website builders. Soon, such guidelines may be mandatory. Read this link for more information on accessibility)
Clients ask for the addition of rich internet features such as partial page refreshes or drag and drop. These require an architectural knowledge of Ajax and also the several Javascript libraries of effects (starting from prototype and scriptaculous to Dojo).
Optimization of the browser rendering time is a priority for many clients. This requires knowledge ranging from the HTTP protocol to DOM traversals in Firefox.
That is just the range for traditional requirements.

2. Clients then transition to what are called "Web 2.0" features - primarily User Generated Content (UGC) and User Generated Categorization (taxonomies).
Clients at this point need help on prominent Content Management Systems (for web content management). They need the ease to integrate different "Content Types" such as blogs, wikis, photo albums and yes, video sharing to their websites. They want tagging support. They want to easily add a comments module or a rating module or a polling module to a blog or photo album. Some clients even want video editing features added to their websites.

3. The marketing guys then kick in with the need for Social Networking to be added on to each website. This is such a huge topic in itself that I will write more later. The design for a social networking schema is not trivial. Add 100000 users and you could have a mess in your hands.
Since Facebook started allowing third party applications in their profile pages, there has been a flood of initiatives to build a "widget" framework. One of the most popular is "OpenSocial". OpenSocial is so cutting edge that the open source community is still working on a Open Social Container. Go, check it out.

4. Then the website goes Mobile - the request that a website display a good usable version on all the mobile devices around the world. There are so many models and so many standards around this. To design an appropriate solution is a challenge.

As you can see, there is no dearth of challenges here. Yet, I do not understand why our senior technical personnel won't step beyond Object Relational Mapping or Service Oriented Architecture. Let alone step beyond, why do they not even have an awareness about the challenges of public websites?

The two trends that I have seen of these domains is that
a) more work is done by the open source community and startups and

b)if you have been USING websites from these domains, it helps you give a headstart.

The second point is probably why college kids are better informed about social networking, mobile applications or blogging - because they actually use Orkut or MySpace; and harass their family for newer mobile models with better online features.

Meanwhile, I am going to keep looking for an architect who understands the term "Social Graph".

Labels:

1 Comments:

  • Not sure from where you pick the senior technical leads to talk to. But I'm certain that you've been meeting or choosing to meet the wrong set of people or go with a fixed mindset to talk to people. I've worked with asian,american and european team members and have had all kinds in all groups. I've have even worked with some folks who had over 10 years of n.american development experience who did not understand simple concepts presented in OOPS and were working with the fortune 50, I've also seen similar instances with some asian guys. But that said, When I interview I do not look for defined terms or specific explanation in which i have my experience in, but for conceptual understanding and their ability to learn and perform. Most technical guys who have lived in the development world regardless of the title they hold have managed to learn the concepts, so as a leader if you can handhold a couple of days they can leap over you easily in terms of implementing technicalities. Its probably the leader and not the member that needs to be more adaptive and less judgmental.
    Jason

    By Blogger Jason, at 2:36 PM  

Post a Comment

<< Home