Archive for March, 2007

At interviews, technology executives are often asked about build vs. buy. The question would be better articulated as own vs. rent. See, building and buying in the true sense are often part of the same ideology: owning. For example, Google bought Blogger and YouTube. As a result, Blogger and YouTube programmers (builders) became Google employees. When people ask about companies buying software, they are almost always referring to leasing or renting software.

I consider using open source to be in the own camp, because you can withing reason do as you please with your copy of the open source software and no one can take it away from you. Open source makes owning even better. It enables owning and sharing at the same time, which benefits the community.

Often technology executives answer this question ambiguously. They claim they have no preference towards either owning or renting software. To me, when a person provides such a noncommittal answer, it means they might lack leadership, vision, a clear philosophy, or the courage to give an honest answer to a prospective employer.

I generally prefer owning over renting. This applies not just to software, but to other things in my life like owning a home and owning a car. There are other people who prefer to rent apartments and lease cars. Neither philosophy may be better in general than the other, but one of them is always better depending on the circumstances. Circumstances by themselves don’t make the own vs. rent decision. That’s where people come in. A leader does not manage their company or department at the whim of circumstances. A leader has a style, has preferences and applies them to the situation. Leaders who prefer either one of owning or renting can be equally successful in the same organization and circumstances.

Here I present my viewpoint on why sometimes a philosophy of renting software as much as possible runs companies into trouble. There are numerous examples of vendor solutions in search of problems. A vendor will often wow a team of executives with a product presentation and demo. The company will agree to rent the software at a high cost. Later, the company will find it wasn’t worth the investment, even though they may not admit it or even like to talk about it.

When a company owns a software product core to its business, it can use it towards a competetive advantage. When you own the software product, you also have control over your data. When a vendor hosts and manages your data, in most cases you have practically relinquished control of your data even though your contract may say on paper it is yours.

When you own the products you use, it is generally easier to integrate with other systems. Your timelines are less at the mercy of vendors.

However the future of software may be changing. With web applications becoming popular, even home users may be renting software on a pay-per-use basis. I’ll have more to write on that subject. Stay tuned.

Here are some tips for making better use of email at work and in personal life.

  • When you send an email to multiple people asking for a response or assigning a task, specify by name who you are asking for a response or action from. Otherwise people may read your email and assume one of the others will act on it.
  • Avoid using the bcc feature in a sneaky way to tell someone else (e.g. the main recipient’s boss) only your side of the story without telling the known recipients.
  • Give people reasonable time to respond to your email, even if they have mobile devices (like BlackBerry or other email enabled phones).
    • Realize that some people are overwhelmed by email and you should occasionally reach out to them in person or via phone for certain important matters. Email is not a replacement for all personal communication.
  • Avoid checking your email on a mobile device when interacting with other people in person except when absolutely necessary, for example in a meeting. It is rude and it implies you are not focusing on your job in the meeting.
    • If your job requires you to be on alert for certain messages, set up alerts via mail filters that will sound or vibrate the device to inform you of messages that require you to interrupt your current activity.

Managing blogs and news content with WordPress is a Zen-like experience. The inner-beauty of a product is felt when it becomes almost unnoticed, allowing the site authors and editors to focus on publishing content and providing useful interactive functionality to their readers and customers.

I say this as someone who has been immersed in web content management for major news media companies since 1995. I have spent over a decade leading teams evaluating, implementing, maintaining and developing content management and publishing systems, including some industry award winning ones. My teams (including me personally) have been working closely with writers, editors, designers, photo/multimedia staff, sales and marketing folks at companies whose livelihoods depend on publishing content. I’ve also maintained my personal web sites since 1994.

It is impressive how well WordPress has worked as a CMS for the blogs and pages on this site. It is simple to use and painless to configure, manage and upgrade. It minimizes overhead and maintenance work.

WordPress plays well with others. It doesn’t require you to convert all your static content and pages powered by other CMS systems and custom scripts into WordPress. This allows you to conveniently migrate content to WordPress over time, preserving the URLs and keeping your site functional.

No wonder so many non-technical people and technologists alike use it for their sites: I switched to WordPress inspired by reading the personal blog of a colleague and CTO at another major media company who had also switched to WordPress. It is one of the best solutions for personal web sites and small to medium size organizations.

WordPress also powers the blogs of several major media companies with millions of daily page views. It has an well-designed architecture that makes it an excellent choice for large-scale use. It is used by a large and growing number of sites, including CNN, Fox News, Wall Street Journal, Yahoo, General Motors, Southwest Airlines, People Magazine, Apple Computer, Sony PlayStation US, C|Net, NY Times, Ziff Davis, Xerox, Delta Airlines and many others.

WordPress is a great choice because

  • Simple to use for writers and editors
  • Quick and simple to install, maintain and upgrade for systems administrators
    • E.g. automated daily backups to remote systems using a plugin
  • Good architecture for programmers to extend functionality if needed
  • Search engine-friendly and people-friendly URL structure
  • Dynamic publishing model of content managed in and served from a relational database. Content management and delivery are seamlessly integrated.
    • Presentation, as in design, is well separated.
    • This is a superior approach compared to other blog / CMS systems that recommend publishing static files.
      • In the file publishing model, those files are then served directly by the web server or processed by a web application server / CMS. That architecture, used by other blog platforms does not scale well and has been found to be error-prone, especially under heavy publishing/editing/commenting use.
    • If needed, external caching1 can be used that provide all the benefits of static file publishing without the drawbacks.
  • Excellent content management in a relational database
  • Rich feature set for advanced web publishing needs
  • Large and growing user base, well-supported and actively developed by the community
  • A large and growing number of plugins that add functionality to WordPress
    • WordPress is used by so many people that it is often likely that someone has developed a good solution for what you require. The WordPress directory is teeming with plugins, themes and other extensions developed and given by the community.
    • For example, support for OpenID as a client and server, site usage tracking with web analytics.
  • Plethora of third-party commercial support options available if needed
  • Free of license costs. Simple to operate and operate. Low total cost of ownership. An economical solution.
  • Reliable. Good performance. Scalable. Secure.
  • Open source

What WordPress currently lacks

  • A simple, standard way to place a widget in the main content area of a blog post or WordPress page. Currently plugins that need to place a widget there require putting in some special markup whose syntax varies with each plugin. Many use an HTML <!–comment–> syntax in the Code editing mode. Some use a syntax of [commands in braces] in the Visual editing mode.
    • A good solution would be for wordpress to allow widget placement and manipulation completely within the Visual content editing mode. Behind the scenes, in the code view, all plugins would use consistent markup syntax and it would be editable using a menu option in the Visual editing mode.
  • A way for certain widgets to only appear in the sidebar(s) of particular WordPress Pages or particular blog posts.
    • A good solution would be to have the ability to place a widget only on certain URLs that match a regular expression. Also, the edit form should have an option to include a widget only on a particular post or Page.

Alternatives

Another excellent choice for a blogging CMS is MovableType. I’ve had extensive experience with it and like it a lot too. MovableType and WordPress are the two leading products in their category.

If you are looking for a full-fledged content management system, consider Drupal or Plone. After a successful run for many years, my own Java-based Cofax is heading towards retirement.

If you need to build your own custom CMS, build using frameworks like Python with Django, Ruby on Rails or Groovy with Grails.

  1. E.g. content delivery network like Akamai, an accelerator/cache like Squid or Varnish []