The Pareto principle (also known as the 80/20 rule, the law of the vital few, and the principle of factor sparsity) states that, for many events, roughly 80% of the effects come from 20% of the causes.

The original observation was in connection with income and wealth. Pareto noticed that 80% of Italy’s wealth was owned by 20% of the population. He then carried out surveys on a variety of other countries and found to his surprise that a similar distribution applied.

The principle has become a common rule of thumb in business; e.g. 80% of your sales come from 20% of your clients.

The principle is also an illustration of a Power law relationship, which occurs often in natural phenomena such as brush-fires and earthquakes. Because it is holds true over a wide range of magnitudes, it produces outcomes completely different traditional prediction schemes. It has been claimed, for example, that it explains the frequent breakdowns of sophisticated financial instruments. This is also likely true of any complex system, including social ones, and increasingly social and community dynamics are seen as falling under this rule in numerous ways, from participation pyramids to abandonment rates.

ColdFusion is 13 years old. That make makes it the daddy of the web world! It does not make it any less hip or useful than the relatively new kids on the block.

Take this scenario. A company I once worked for had what can be described as a business directory built upon a licensed, yet bastardised, version of a popular ColdFusion-based CMS. It didn’t work that well! The decision was made to redevelop the application in Java. It took two years to reach the same level of functionality! What happened next? Ruby-on-Rails is what! The rest is history and beyond the topic of this post.

So, in effect, the application almost went full-circle in its development paradigm — both ColdFusion and Ruby-on-Rails can be considered Rapid Application Development environments, Java, certainly not. Why did the decision makers not stick with ColdFusion and put time aside to actually build it properly in the first place? To put it simply, they lost faith in ColdFusion; it was largely mis-understood.

The weakness of every programming language does not lie with the language itself per se — albeit it can have an important influencing factor — but rather with the ability, or indeed inability, of the developer to leverage the language in the most efficient and optimal way.

ColdFusion, like every other programming language has had and I’m sure still does have its fair share of poor developers; those people simply working with it as a means-to-an-end, rather than those passionate about the language, those people programming without understanding the fundamentals of programming or the implications of their poorly written code. This is apparent from .NET to Java, ColdFusion to Ruby, JavaScript to ActionScript.

Let’s not dilly-dally, bicker or insult one another about which is best, which one is dying and which one is not worth the computer it is compiled on. What is important is to understand the merits of each language and decide which one best suits the application, not only in technical terms, but also in terms of time-to-market, cost of development, availability of a skilled workforce etc.

ColdFusion, whether rightly or wrongly in some people’s opinion, can sit proudly amongst its peers and provide a truly compelling alternative.

Here’s how (in no particular order):

  1. Low Total Cost of Ownership – frequently, ColdFusion is described as expensive, it simply isn’t especially if you consider the natively supported functions. But to put it bluntly, if your company cannot afford the cost of ColdFusion standard, or indeed ColdFusion hosting, you have bigger things to worry about regarding the profitability of the company; you won’t be able to afford much of anything! The problem becomes not the product. ColdFusion applications are quicker to develop and developers are vastly cheaper to employ than their peers in Java or Ruby, just look at ITJobsWatch for examples.
  2. Rapid Application Development – ColdFusion vastly simplifies tasks. What would take other languages numerous lines of code to produce is efficiently encapsulated either in a tag or function or as a setting in the administrator. This is a simplistic yet indicative example: where else can you connected to a database simply with one line of code or indeed simply by name? ColdFusion changed the idea of specifying development time in terms of months and years to weeks and months or small features a matter of hours and days. Simplicity is not the mother or all evil. To be pragmatic, simplification reduces costs.
  3. Rich Internet Applications – ColdFusion may or may not have pioneered the RIA paradigm, but it has played a significant supporting role to Flash and now Flex. ColdFusion natively supports Flash remoting, providing the all important data access tier.
  4. Platform Maturity – ColdFusion 8 is built upon the latest version of Java (1.6). Along with internal improvements to the ColdFusion application, this has afforded ColdFusion unprecedented speed improvements and stability.
  5. Language Maturity – with each major release of ColdFusion comes many language enhancements added to the core. This means that previous addons, for example image manipulation, which came at a premium are now standard. Adobe and other companies that produce CFML engines are now participating in a CFML advisory committee, which aims to set standards for the core language. This is not only a sign of maturity but a letter of intent by the industry that will mean your application will work on any engine, assuming no proprietary functionality is used.
  6. The Ultimate Middleware – ColdFusion sits comfortably between any backend and front end system. Be it interfacing with a host of databases, Java, .NET, COM, Corba or connecting to classic HTML or rich Flash, Flex and AJAX frontends with little or no configuration.
  7. Feature Rich – what other web technology natively supports PDF generation, charting, enterprise-level search, AJAX, image manipulation, Atom and RSS creation, Zip and JAR file manipulation, a server monitor, Flex integration, encryption libraries, all important database connectors, webservice creation, XML manipulation, inbuilt reporting application (similar to Crystal Reports), email, FTP to name but a few? I hazard a guess at none, unless you’re happy to pay a premium.
  8. Platform Independent – since ColdFusion 6, when Macromedia redeveloped the entire application in Java, ColdFusion has been platform independent. You can install it on practically any machine.
  9. OpenSource Alternatives – BlueDragon and Railo are both significant alternatives to Adobe ColdFusion and both have opensource alternatives, the latter of the two having recently joined the JBoss community. Adobe are also considering providing a free edition to academic institutions.
  10. The Future – many commentators have mentioned Hibernate as a significant addition to the next release of ColdFusion, version 9. But having seen the prerelease notes, that is not all that will be added. Alas I’m under NDA, but rest assured, there is going to be a significant intake of breath when developers get hold of the next release. ColdFusion 8 was firmly geared towards middle management with fuzzy additions, ColdFusion 9 is set to re-address the balance with compelling language and functionality enhancements.

ColdFusion evangelism needs to step up a gear! Adobe certainly doesn’t afford much marketing budget to the product, prefering The Community do the hard work. It is not always easy convincing the decision makers that ColdFusion is a good product of choice, without Adobe’s unnerving support, but we have to work hard, break down those barriers, encroach on events outside the comfortable sphere of the ColdFusion world and demonstrate ColdFusion’s match-winning ability.

ColdFusion isn’t dying, it’s simply niche. Every niche has its place.

UPDATE: If you would like to view the ensuing debate regarding ColdFusion prompted by Aral Balkan, feel free to do so. This post should serve as a positive reminder of ColdFusion’s virtues, alongside the need for a balanced and polite debate.

Every seasoned developer will know that protecting your website from a hacker is a top priority, whether for your own reputation or for maintaining your company’s reputation and log-term revenue prospects.

Why should you be worried about security?

The Web is changing many of the assumptions that people have historically made about computer security and publishing. As the Internet makes it possible for web servers to publish information to millions of users, it also makes it possible for computer hackers, crackers, criminals, vandals, and other “bad guys” to break into the very computers on which the web servers are running. Once subverted, web servers can be used by attackers as a launching point for conducting further attacks against users and organisations.

It is considerably more expensive and more time-consuming to recover from a security incident than to take preventative measures ahead of time.

This blog post started on the premise of protecting your website from a SQL Injection Attack. However, it is also appropriate to discuss, at a relatively high level, how to secure your server architecture and applications.

Server-Level Security

  • Separate web- and database-servers on to different physical machines.
  • Secure the web- and database-servers with traditional techniques. Only authorised accounts should have the capabilities to run tasks on the machine. That means not giving admin-rights to the user account.
  • Keep servers up-to-date with the latest patches and software releases.
  • Minimise the number of services running on the server. This means limiting the services to only those required for the web- or database-servers to function.
  • Secure information in transit between servers. This may mean physically securing the network to prevent evesdropping via encryption or obfuscating the data amongst innocuous ‘noise’.
  • Secure the database server behind a firewall.

Application-Level Security

  • Separate ColdFusion, the webserver and database server user accounts. They should never be under the same system account.
  • Create a database user specifically for your ColdFusion datasource and restrict it to only the activities required for the application. The user should not have database-owner rights, access to databases not relating to the application or access to the system tables.
  • Revoke privileges in the ColdFusion datasource definition to prevent the SQL commands CREATE, DROP, GRANT, REVOKE and ALTER.
  • General settings in the ColdFusion Administrator:
    • Check the Disable access to internal ColdFusion Java components option.
    • Check the Enable Global Script Protection option.
    • Add a Missing Template Handler.
    • Add a Site-wide Error Handler.
    • Reduce the Maximum size of post data from 100MB.
    • Enable Timeout Requests, and set to 60 seconds or less.
    • Disable Robust Exception Handling on production servers.

Code-Level Security

  • Application.cfc – Set the scriptProtect Application variable to true to enable application-wide cross-site script protection.
  • CFQueryParam – This tag, importantly, verifies the data type of a query parameter and, for RDBMSs that support bind variables, enables ColdFusion to use bind variables in the SQL statement. Bind variable usage enhances performance when executing a cfquery statement multiple times.
    <cfquery name="qry" datasource="#APPLICATION.dsn#">
    SELECT column1, column2, column3
    FROM tableName
    WHERE column4 = <cfqueryparam value="#variable1#" cfsqltype="cf_sql_bit" />
    AND column5 LIKE <cfqueryparam value="%#variable2#%" cfsqltype="cf_sql_varchar" maxlength="200" />
    AND column6 IN (<cfqueryparam value="#variable3#" cfsqltype="cf_sql_integer" list="true" />)
    </cfquery>

    There are limitations to the use of the cfqueryparam tag. In ColdFusion 7 for example, you cannot use them in queries using the cachedWithin attribute. Similarly, they cannot be used in ORDER BY clauses, although the use of conditional logic should resolve the need for order by variables.

  • Functions – As a rule of thumb, validate all the data being passed into a query prior to it being used. ColdFusion MX 7 saw the introduction of the isValid() function. This function tests whether a value meets a validation or data type rule and can be used to replace a large number of type-specific functions such as isArray(), isBinary(), isBoolean(), isDate(), isNumeric() and isSimpleValue() etc.
  • Stored Procedures – I often favour the use of stored procedures over standard queries. Not only do they add an additional level of performance, they provide an additional level of security; ColdFusion does not do any raw processing of queries in the web code, it simply passes variables down the wire to the database server.

Additional Resources

In the late 1990s, a large multi-national technology corporation, hoping to become a major force in online advertising, bought a small start-up in a sector that was believed to be the next big thing. That corporation was Microsoft and the start-up was Hotmail. Hotmail and Microsoft established web-based email as a must-have application for personal use. The addition of Hotmail to the Microsoft inventory promised to increase the companies online revenues that were being dominated by Yahoo!, Google and AOL amongst a host of others.

A decade later it was the turn of a much-evolved AOL to speculate with the purchase of a small and upcoming social networking website, Bebo, for $850m (£425m). This has raised a number of eyebrows since AOL has been a struggling web-portal after its merger with Time Warner, added to the fact that the real value of social networking has yet to be realised or understood.

Social Networking Websites

Both deals in their respective decades offer to the casual observer a paradox of the Internet revolution. Whilst both email and social networking have the premise of being the next big thing which aides revenue generation, it is dangerous to assume that each service can standalone and generate revenue in its own right. Webmail, now over a decade old illustrates this perfectly. Microsoft, Yahoo!, Google and AOL all have their respective webmail services with advertisements stratefically placed to entice the user to click through, but these are a small part of the bigger networks. The offer of email, free archiving, address book and calendar is cheap to deliver, but its primary purpose is to keep the user engaged with the brand and its associated websites, making users more likely to visit the affiliated pages where advertising is more effective.

For instance, I am a fully signed up member of Google and access their email, chat, documents, analytics, webmasters, adsense, adwords, calendar and checkout applications, etc, some of which have advertising and all of which support the core Google search pages through branding. A similar example can also be said of Yahoo!. I again frequently use Yahoo!s MyBlogLog, Flickr and Upcoming services, which serve to re-inforce the Yahoo! brand and web portal.

Social networking will become a ubiquitous feature of online life, but that does not mean it is a business.

From whence came webmail now comes social networking. The implicit values of social networking services such as MySpace, Facebook and Bebo have been increased by the big internet and media companies such as News Corporation, with their purchase of MySpace for $580m (£290m) in 2005 and Microsoft’s $260m (£130m) investment for a 1.6% share in Facebook, in late 2007 (valuing it at an enormous $15bn/£7.5bn). But valuing these online services so highly does not mean that there is a valuable revenue model; Facebook’s revenue for 2007 was a mere $150m (£75m). Sergey Brin of Google also admitted that the monetisation of their Orkut service and social networking in general was proving to be problematic (they also have a contractual agreement with News Corporation to offer advertising on their MySpace service).

Facebook has also been met with criticism and difficulty when trying to monetise its service with a project called Beacon. Facebook’s idea was to inform users’ networks whenever an item was purchased therefore creating what is in effect a recommendation system, or algorithmic word-of-mouth. Users rebelled and privacy advocates shouted loudly, the service was axed and Mark Zuckerberg, Facebook’s founder, was left to apologise for an innovative idea badly implemented.

Whilst social networking does have oportunities to make money, it is unlikely that it will be pots and pots of money. The value of the service, however, is not monetary, but as its genre suggests, it is social. We have already seen how people can connect to past and present friends, but a social networkings strength is in its ability to forge new relationships, business or personal. Social networking has made explicit the connections between people, which has lead to a whole ecosystem of applications built on their APIs which allow users to interact.

But should users really have to visit a specific website to be social?

I often comment that there is something profoundly wrong when people are forced to spend their lives updating their profile to keep in touch with their so-called friends. What happened to the good-old-fashioned telephone? Why don’t people simply arrange to meet up and go for a drink to keep in touch? Of course, with everyone’s increasingly busy lives, it is possible to argue that posting a tweet via twitter, posting an article on a blog or updating your Facebook profile, allows you to continue a real relationship with your friends, whilst not actually needing to see them every Friday or Saturday night. This is a good thing, right?

Another problem presented by today’s social networks is that they are an enclosed ecosystem, at least to users. Whilst Facebook and LinkedIn, in addition to a whole host of others, have provided APIs for developers to encourage them to interact with their services (this has been particularly successful with Facebook) the same cannot be applied to users. The various social networks, until recently, have been reluctant to allow users to pass data between competing services, afterall, this data is core to the success, or indeed failure, of a site. This is understandable since the networks’ huge valuations depend on the sites maximising revenues and page views, so they need to maintain a tight control. As a result, keen Internet users maintain a plethora of online accounts.

2008 will see a change in how people access social networks.

Google Open SocialThe opening up of social networks, lead by Google with their Open Social API, is set to bring about an evolution in this medium. This change is following the historical standardisation of popular services. First it was email with webmail, which in the early days was restricted to individual ecosystems, for example AOL and CompuServe, then it was instant messaging, with individual services provided by Microsoft, Yahoo!, Google, AOL and Skype.

Further developments include the Data Portability Working Group, whose mission is to put all existing technologies and initiatives in context to create a reference design for end-to-end data portability. In short, allow users to move their data around competing services. Others are pushing OpenID; a plan to create a single, federated online sign-on system that people can use to access many websites.

Data Portability

The opening of social networks is likely to accelerate thanks to the first tentative, yet bold, steps made by webmail; the first social network. As a technology, webmail has become old fashioned, but its younger sybling, the social network will revitalise not only webmail, but online communication and advertising. Through social intelligence, marketers and advertisers will be able to target adverts for items that we are more likely to want. This will not only boost the users online experience, but provide a more targeted revenue stream.

The fight for social networking dominance has been running for several years now, but it shows no sign of letting up.

On the Web, a walled garden is an environment that controls the user’s access to Web content and services. In effect, the walled garden directs the user’s navigation within particular areas, to allow access to a selection of material, or prevent access to other material.

Recent history suggests that open standards will again better the “walled gardens” of the Web.

In 1994, when the previously obscure computer network, developed by the American Department of Defence, first become known to the general public as the “World Wide Web”, or simply The Web, many people first connected to it via AOL and CompuServe. These subscription-based service providers offered not only access to the Internet, but other services such as email, chatrooms, discussion boards and more. It was access to the Web via the Internet that would lead to the undermining of these services, and the opening up of the Web as a platform for individual and creative expression, revenue generation and social interactivity.

Whilst it took some time for the closed communities to venture out into the wilds of the Web, it brought about the standardisation of the services that made up the early web. For instance, POP and SMTP standardised email and as a result it has become the ubiquitous tool of business. Today, of the early pioneers of the Web, only AOL survives, but as an entirely different entity; a web portal supported by advertising.

History appears to be repeating itself. The biggest online phenomena of the past couple of years, the social-networking websites of Facebook and MySpace, are acting very much like the AOL of the mid-1990s. They are closed systems based upon prioprietory standards. You cannot easily move information from one system or another if you so choose. This ties users into one system, or forces them to create profiles on both. A similar comparison can be drawn with the virtual worlds of Second Life and Entropia Universe.

The Web is better when it’s social.

Part of the reason these websites are popular is because they are closed communities, where users can interact with friends and find new friends with which to interact. This community feel has been tested in recent times, with sites such as Facebook being criticised for using their user’s personal data to target advertising. It is innevitable, however, that these systems are proprietory; it is only once these systems immerge and become popular that standards can be developed and implemented.

Open Social API

Just as the Web’s open standards, embodied in the Netscape browser, displaced the online services providers, so the paradigm of open standards awaits the social networking and virtual worlds. Back in the 1990s it was Netscape, but in the 21st Century it falls to Google to defend the open standards of the Web with the Open Social API. Some say there is a large amount of self interest in this move, since Facebook and MySpace have huge communities, which both networks know a huge amount more about than Google and can hence generate billions of dollars of revenue.

The web is more interesting when you can build applications that easily interact with your friends and colleagues. But with the trend towards more social applications also comes a growing list of site-specific APIs that developers must learn. Open Social is an attempt not only to open up the closed communities and allow developers to interact with the different networks, but allow developers to only learn one API. MySpace has signed up to this initiative and, more reluctantly so has Facebook. A curiosity is AOLs recent aquisition of Bebo, another online community popular in Europe. Is AOL simply jumping on the “band-wagon”? Has it learnt its lessons of the past, or is it using knowledge of its past as a guiding principle? Whatever is the answer, Bebo’s inclusion in Open Social will help it continue its competition with other social networking websites.

Software development is an often complex affair, beset by a multitude of difficulties ranging from talentless developers, feature bloat, stakeholder politics and poor planning.

The following cartoon, by Alex Gorbatchev, is a modern take on an old, yet still relevant, problem; the reasons for software engineering failures.

Software Engineering Explained

Designing systems today is difficult because there is no consensus on what the problems are, let alone how to resolve them.

Software engineering is often used to solve complex problems, problems where it’s impossible to visualise all the difficulties you’ll run into without actually building the software. This has led to what is known as Wicked Problems. In other words, writing code doesn’t kill projects, too much planning, too much functionality and too many stakeholders do!

Wicked problems arise when an organization must deal with something new, with change, and when multiple stakeholders have different ideas about how the change should take place.

Every wicked problem can be considered a symptom of another problem.

The article goes on to recommend the iterative development process, first proposed by Takeuchi and Nonaka in “The New New Product Development Game” called Scrum. An iterative, as opposed to a Waterfall, process is clearly a step in the right direction. The customer really needed a simple tyre swing but couldn’t articulate that in a meaningful way. Since we’re software developers, not Zen Masters, an answer is to quickly develop a solution in for the customer and keep evolving that solution based on real usage. That way, we can get from the plank to the tyre swing without the need for the roller-coaster ride of complication.

Online Payment Processors

Accepting electronic payments is essential to modern business. The UK is currently Europe’s largest ecommerce economy with two-thirds of consumers having shopped online. The power of the Internet continues to grow with 27.7 million UK adults having used the Internet in the last year. Current predictions believe that the rate of growth of Internet sales will see this channel occupy 15% of retail sales by 2010.

Payment Service Providers (PSP) offer merchants online services for accepting electronic payments by credit card or other payment methods such as payments based on online banking.

Typically, a PSP can connect to multiple acquiring banks and card networks, thereby making the merchant less dependent of financial institutions, especially when operating internationally. Furthermore, a PSP can offer reconciliation services, risk management and multi-currency functionality.

For many small businesses, selling online provides some major benefits. Customers increasingly expect this type of facility and it can improve cash flow significantly.

It’s easy to accept cheques or invoices for your online sales and to process payments in the traditional way. However, because buyers often use the Internet for a speedy service, most sales are paid for with credit and debit cards.

To accept cards online, you will have to make special banking arrangements, but this doesn’t mean you have to have a merchant service.

Payment Service Providers

Common PSPs include:

Online Payment Processors

Payment Gateway

A payment gateway is an e-commerce application service provider service that authorises payments for e-businesses, online retailers, bricks and clicks, or traditional brick and mortar. It is the equivalent of a physical Point-of-Sale (POS) terminal located in most retail outlets. Payment gateways encrypt sensitive information, such as credit card numbers, to ensure that information passes securely between the customer and the merchant.

How Payment Gateways Work

A payment gateway facilitates the transfer of information between a payment portal, such as a website or Interactive Voice Response (IVR) service, and the Front End Processor or acquiring bank, quickly and securely.

When a customer orders a product from a payment gateway enabled merchant, the payment gateway performs a variety of tasks to process the transaction, completely invisible to the customer.

For example:

  • A customer places order on website by pressing the Submit Order or equivalent button, or perhaps they enter their card details using an automatic phone answering service.
  • If the order is via a website, the customer’s web browser encrypts the information to be sent between their browser and the merchant’s web server. This is usually done via Secure Socket Layer (SSL) encryption.
  • The merchant then forwards the transaction details through to their payment gateway, which holds the detail of their merchant account transaction. This is often another SSL encrypted connection to the payment server hosted by the payment gateway.
  • The payment gateway, which receives the transaction information from the merchant, forwards it to the merchant’s acquiring bank.
  • The acquiring bank then forwards the transaction information to the issuing bank (the bank that issued the credit card to the customer) for authorisation.
  • The card-issuing bank receives the authorisation request and sends a response back to the payment gateway (via the acquiring bank) with a response code. In addition to determining the fate of the payment, (i.e. approved or declined) the response code is used to define the reason why the transaction failed (such as insufficient funds, or bank link not available).
  • The payment gateway receives the response, and forwards it on to the website (or whatever interface was used to process the payment) where it is interpreted and a relevant response then relayed back to the customer.
  • The entire process typically takes 3-4 seconds.
  • At the end of the bank-day (or settlement period) the acquiring bank deposits the total of the approved funds in to the merchant’s nominated account. This could be an account with the acquiring bank if the merchant does their banking with the same bank, or a suspense account with another bank.

External Links

Leader or Manager?

A while ago a colleague of mine asked me the question “Do you consider your self to be a leader or a manager?”. Initially I responded that I thought myself to be a manager as an important aspect of my role is managing expectations, ideas and developments of an internal CRM system. However, a debate ensued as my colleague believed me to be more a leader than a manager and now I am not so sure which one I am!

So what is the distinction between a leader and a manager? Will the definitions help?

Leader noun

  • someone or something that leads or guides others.
  • someone who organises or is in charge of a group.

Manager noun (abbreviation Mgr)

  • someone who manages, especially someone in overall charge or control of a commercial enterprise, organisation, project, etc.

Does this help me…not yet!


Both a manager and a leader may know the business reasonably well, but the leader must know the business to a finer degree and from a different view point. They must grasp the underlying market forces that determine the past and present trends in the businesses niche, so that they can generate a vision and strategy to bring about its future development and growth. A crucial sign of a good leader is an honest attitude towards the facts and objective truth. Conversely, a subjective leader obscures the facts for the sake of narrow self-interest, partisan interest or prejudice.

Effective leaders continually probe all levels of the organisation for information, challenging their own perceptions and validating the facts. They talk to their constituents and employees to find out what is working and what is not. They keep an open mind to the knowledge they gain. An important source of information for a leader is the knowledge of the mistakes and failures that have been and are being made within their organisation.

Leaders conquer the context, the turbulent and ambiguous events that conspire to blur the facts, while managers surrender to the events in a reactionary manner.

Leaders investigate reality, taking the pertinent factors and analysing them carefully. On the basis they produce visions, concepts, plans and programs of change. Managers adopt the truth from others and implement it without regard to the facts.

There is a profound difference between leaders and managers. A good manager does things right whilst a good leader does the right thing. Doing the right thing implies a goal, a direction, an objective, a vision, a dream, a strategy, a path, a reach.

Many people spend their lives engrossed in the ‘rat-race’, attempting to climb the corporate management ladder in a vein attempt to beat mediocrity and make a difference. Unfortunately, many find themselves climbing the wrong ladder. Most companies and organisations become over-managed through this constant, unending, highly competitive race and under-led by those who lack vision. The managers accomplish nothing or the wrong things beautifully and efficiently. They climb the wrong ladder.

Managing is as much about efficiency as leadership is about effectiveness. Managing is about how things need to be done, leadership is about what things need to be done and why these things should be carried out. Management is about systems, controls, procedures, policies and structures whereas leadership is about, trust, vision and hum capital, people.


Leadership is about innovating concepts, inspiring others and initiating projects. Management is about carrying out these visions and managing the status quo. Leadership is creative, adaptive and agile. Leadership looks to the future whilst also being mindful of the bottom line.

Leaders base their vision, appeal and integrity on a careful estimation of the facts, trends and contradictions. They develop the means to re-define the status quo so that their vision can be realised, hopefully, successfully, whilst also enrolling others into the vision of the future. Without, other peoples buy in, a vision will stall and a period of transition will ensue. Leaders, therefore, have to empower others to accomplish the over-arching goal whilst also rewarding their achievements.

There is a profound difference between management and leadership, but both are important. To manage means “to bring about or succeed in accomplishing, sometimes despite difficulty or hardship“. To Lead means “to guide in direction, course, action, opinion, etc.” The distinction is important.

The most dramatic differences between leaders and managers are found at the extremes. Poor leaders are despots while poor managers are bureaucrats. Leadership is a human process and management is a resource allocation process. Both are important and in many instances managers need to also perform as leaders. Indeed first-class managers have significant leadership ability.

So where does this leave me? My opening gambit included the words “…an important aspect of my role is managing expectations, ideas and developments…” this must naturally lead me to a combination of both a leader and manager. Indeed, in my new role as a web development consultant, I have to set directions for developing concepts and applications whilst also planning, organising and promoting effective action of the task at hand. So I could say I am in a period of transition. In the past few years I have learnt much from those I consider mentors, whether they were aware or not. I have seen how things are managed and lead and from these experiences have built upon my own skill-set. I can neither categorically say I am a leader or a manager, or say what I would rather be; this is something that can only come with time.

Web 2.0 will alter the way that businesses develop and apply innovative ideas.

During the 1990s business leaders and venture capitalists grappled with how they would make money from the web. This was tipified by the two VCs, Kleiner Perkins and Sequoia Capital, investing $25 million in Google in the late 1990s; they new the search engine created by Sergey Brin and Larry Page was a winning formula, even though the pair had not yet monetised search. Bricks and mortar compaines were deemed “old hat” as the dotcom bubble was expanding. Companies such as eBay, Amazon and Yahoo! were at the forefront of every investors’ chequebook. Every company needed a 21st Century “Blue Sky” web strategy; every company needed to do e-commerce. However, the bubble burst and everyone was brought down with a bang. Boo.com is a classic example of the fallout from the over speculation.

Today, the reality has shifted from solely bricks and mortar or dotcom, to a balance between the real world and cyberspace, of traditional business operations complemented by the unversality provided by web-based technologies. The web has given businesses a greater understanding of their customers. With Web 2.0 a new type of web is emerging, further enhancing the understanding of a user or customer through the creation of online communities, where information is shared and new ideas evolve.

There are numerous examples of web communities from the early FriendsReunited to MySpace and the more specific Islandoo for the Channel4 TV progamme Shipwrecked. Web 2.0 is all about collaborative networks tipified by Flickr, del.icio.us, Wikipedia and YouTube. However, Web 2.0 has primarily been used in the consumer arena, as identified by the examples, but the use of such technologies has far reaching implications based on understanding how people interact with the technologies and behave online. Linking people across countries, time-zones and company boundaries will enable people to work together without hierarchical boundaries, bringing people together as one team to collate the best input. This is emphasised with the concept of a wiki whereby any end-user can make changes to the shared resource without the need for specialist software and expensive training. This makes sharing knowledge extremely easy.

Other areas of Web 2.0 is the technology identified by the term “folksonomy”. Simply, a folksonomy is defined on Wikipedia as:

… an Internet-based information retrieval methodology consisting of collaboratively generated, open-ended labels that categorize content such as Web pages, online photographs, and Web links. A folksonomy is most notably contrasted from a taxonomy in that the authors of the labeling system are often the main users (and sometimes originators) of the content to which the labels are applied. The labels are commonly known as tags and the labeling process is called tagging.

While it takes time for an expert to create a taxonomy specific to a particular organisation in order to categorise or define data, folksonomies do not require fixed taxonomies. Instead, users define their own descriptions of the data to be described by applying tags to the data, whether it is a bookmark in terms of del.icio.us, an image on Flickr, a video on YouTube or a document in a company repository. Over time, these tags can be amended by other users resulting in a definition that is more specific. This enables users to find information with relative ease, without having to type the exact keyword.

Web 2.0 will bring a whole host of issues into the business arena. While there are clear benefits from establishing communities and social networks, people with different views, be it political or religious, can drive the agenda. Further complications arise through the necessity to audit changes to the data and ensuring the data is indeed accurate (Wikipedia has had cases where people have maliciously altered data to either enhance their own profile or devalue the significance of historical events).