So, here you are, a working manager of a very small but dedicated web team serving a large institution. Over the last six years, the group’s responsibilities have gone from maintaining a handful of static sites to running the institution’s online presence, soup-to-nuts. Your people are talented and have done a lot with very little. They know their chosen programming language like the back of their hand, are comfortable building dynamic apps tied to common databases and have good visual design skills.
They’ve even custom-built a very reliable content management system for handling the institution’s daily news and events and made it flexible enough to syndicate content to many different departments simply by changing the arguments passed to a common function.
It’s the only thing that has made it practical for a group of three people to keep up with the demands of pushing out large quantities of daily content. Great.
So, what’s the problem? Just a little one: it’s all built in ASP. It’s the only language the group knows.
ASP is a dying language and has been for years. Soon, it will be completely extinct when future versions of IIS do not include it. Therefore becoming fluent in ASP.NET, the follow-on technology created by Microsoft, seems like an obvious and logical move. However, in terms of complexity and sophistication, ASP.NET is a quantum leap above classic VBScript-based ASP.
While its name implies a simple improvement upon the foundation of its older sibling, it’s really nothing like ASP at all. Where ASP can be learned in a few weeks of study and used by anyone who has the basic desire to learn, .NET is far more complex and takes far longer to learn.
Where ASP can be considered a scripting language that can be successfully used by the casual practitioner, .NET is a super-robust software-level programming technology that’s most practical for individuals who do nothing but code in what I would call “hard-core” languages like C# or Visual Basic. Most importantly, For the jack-of-all-trades web designer/developer, it’s a bridge too far.
What to do? I’ve looked at a lot of industry trends and tried to compare the skills of this team of designer/developers to those of similar organizations in order to chart a new course. What I find is that indeed, .NET is not a common choice for our breed of a web developer.
Neither are contemporary model-view-controllers (MVC) frameworks like Ruby on Rails, ASP.NET MVC or Cake PHP. Based on what I’ve read so far, it seems to me that they require a similar level of professional programming specialization. Therefore it’s a poor fit.
Enter PHP and the commercial CMS
So, when I examine our online product offerings, I see a few basic things that we’re asked to produce again and again:
- Visually attractive static sites
- Sites with forms that can collect and store information in a database and
- Dynamic sites which rely completely upon a database to supply page content
- Skills needed to supply these services:
- Graphic design talent
- XHTML and CSS proficiency
- Fluency with a web programming language that is easy for “casual” programmers to implement
- Ability to build a database and insert, update data into it from a web page using a relatively simple programming language
My conclusion is that a commercial CMS that can be customized with an easily understood programming language is what’s needed. One language that I consider as easy to learn and use as classic ASP is PHP…and there are several common CMS’s out there that are based on it.
Okay, so there’s a possible path forward — a debatable one, but a reasonable one nonetheless. The next challenge: adopting a completely new series of technologies without bringing on new staff who are expert with it. That’ll be a topic for a separate post.