Elance Blog

Top Web 2.0 Programming & Design Skills

I am sure many of you have heard the buzzword "Web 2.0". For many, it may have been from people or design companies that say make sure your website is Web 2.0! In truth, Web 2.0 isn't a new form of the internet. It is simply a word describing a trend that has been around for the last few years.

In short, a Web 2.0 website focuses on user experience and interactivity, allows users to share content, and is powered by a backend database.

Patrick Bennett - Web Developer

For your next website, it's important to know which technologies are associated with Web 2.0 as well as how each one can help you. In this article, I will describe each of the key technologies as they relate to user interface, search engine optimization and databases.  

One important concept of Web 2.0 is user experience - a good and user-friendly design is vital for any successful website. If you are trying to have the edge in the market, you need a design that is intuitive, easy to use and makes the user feel comfortable.

Once a designer creates a webpage design for you, a coder has the task of converting the design into a functional website. In order to do this effectively, and "Web 2.0", the coder will need the following skills:

1. XHTML 1.0
What you see through your browser and the majority of websites you visit is a form of HTML, the programming language used since the early days of the internet. HTML has become the most widely used language for web pages. As developers and coders have become more comfortable with the language and design requirements have become more demanding, HTML has been upgraded, in a sense, to become more robust and flexible.

Today, with the internet delivered through browsers on many different types of devices including computers, mobile devices, cars, TVs, kiosks, etc., XHTML is the chosen successor of HTML 4.

The advantage of XHTML 1.0 is that it combines the strength of HTML 4 with the power of XML. XHTML is more strict than previous versions of HTML which makes it more compatible and easier to use with programming languages and databases. So when you are working with a designer or a coder, it's important to specify that you would like your webpage to be ‘XHTML compliant’.

Find an XHTML coder

2. CSS
Cascading Style Sheets (CSS) is a fancy term to describe how web designers separate the layout and look and feel of a webpage from the content. Basically, CSS allows designers to match the design needs by creating a CSS file that holds all the information about how a website should look. This might make more since if you imagine this blog without CSS - it would be all text, wouldn't have any colors, wouldn't be spaced well, etc. ... it would simply be the text you read, without any formatting.

What's great about CSS is that you can create a CSS file that contains all the styling and layout information for your entire website. Let's pretend for a moment that you had a website with 100+ pages. On each page there is a menu on the top. The buttons in the menu are green. If you wanted to change them to red, without CSS, you would have to open EACH of the 100 pages and change the color. With CSS, you would only open one file, and make a quick change and that change would be applied to every page.

I can't stress the importance of a talented CSS coder. It's one thing to create a CSS document, but another to create one CSS document that allows your webpage to look the same on Internet Explorer, Firefox, Safari and Opera browsers. This wouldn't be important if every user that was going to see your website was using one form of the browser, but as I mentioned before, your users will be accessing your site through mobile phones, different internet browsers, TVs and more. So clean and compliant CSS code is a must-needed skill. That said, most if not all designers who use XHTML, will use CSS as well because they go hand-in-hand.

For a great place to see how CSS can dramatically change the look and feel of a website, visit CSS Zen Garden.

3. JavaScript
JavaScript is the most widely used scripting language on the internet, and is used mostly to add interactivity to web pages. It can also react to events on a web page. For example it can do something once a page loads, or validate a form once a user clicks "submit". Because a user can disable JavaScript in their browser, it's important to think about how JavaScript can be added and also that it's not used just to be used. Rather, it should be used to enhance the user experience of your website visitors. Keeping focus of who your potential visitors are will help curb unnecessary implementation.

Pretty much all websites use JavaScript. Some web pages that use JavaScript that you might be familiar with are: eBay’s registration form - try clicking submit without filling in anything - and Amazon's left-side menu - it gives you more options when you rollover a category.

4. Ajax
Ajax is an acronym for "asynchronous JavaScript and XML", and is a skill people frequently associate with Web 2.0. It is used to increase the performance and experience of websites by allowing direct interaction with a server, without having to reload a web page. It will also send and receive small parts of a website rather than an entire page.

With Ajax, developers are making web applications function more like desktop applications, thus making web applications more rich and user-friendly. And because Ajax is becoming more popular, there are many available frameworks to help developers with implementation.

Some examples of Ajax are Google maps, which uses Ajax to load the content of your map. Another good example is Yahoo! If you start typing in a search in the top search bar, Yahoo! uses Ajax to find possible terms you may want to use.


1. SEO
SEO is a term used to describe the methods used to increase the ranking of your website pages on popular search engines. Finding a good SEO consultant is crucial to your new website. Be patient though, as a new website can take a little time to get the traffic and ranking results you want.

2. XML
Within the realm of SEO, there are things that should be done internally to your website to ensure that web crawlers such as Google and Yahoo! are able to index your site properly. One method of getting your site crawled and indexed is using a sitemap. A sitemap is a file, usually generated in XML, that contains links to every page of your website, as well as information about those pages, such as the last time they were modified and how often they change.

Another important use of XML, and maybe the most popular use, is generating RSS feeds. I am sure you have seen RSS icons on your favorite sites that allow you to "subscribe" to their feed. If you have a blog or provide news, an RSS feed is a must. It will help with your website circulation as well as visitor retention.

A key aspect of any Web 2.0 website is that it is backed by a database, as well as a server scripting language to talk with that database.

A database is where information can be stored. The data is stored in tables, with rows and columns. A website will usually have many tables making up the database, and they are typically organized in a way to increase website performance (responsiveness to traffic).

A server scripting language runs behind the scenes on web pages. When you load a dynamic web page, it will first pull information from the database, and then convert that data into HTML so that your browser can interpret it. It is important when finding a database designer to ask them about their methods of improving performance. A badly designed database can make your site slow and put a heavy load on the server.

There are several options for both the database and scripting languages, and I will briefly describe the most popular options, however, keep in mind that most ordinary projects could be handled using any of the technologies. I recommend that you describe your project to a programmer to ask which type of database and programming language they recommend.

1. MySQL
The most widely used open-source database in existence today, MySQL, can be scaled to handle small or medium websites, but also has the power to handle databases for the big boys. Just look at their client list. MySQL is free to use, and there is plenty of support and documentation.

2. SQL Server
Microsoft has their own proprietary database solution called SQL. Many larger companies use SQL because it's backed by Microsoft. SQL developers may be a little harder to find and can be more expensive.

It's difficult to say which is better - my SQL or SQL Server - or which you should use because they each have their benefits. MySQL usually performs better, while SQL is more impervious to data corruption. Again, I would recommend asking a professional what the best solution is for your project. Keep in mind that your budget may be a deciding factor.

A Web 2.0 website isn't complete without a server scripting language. Basically this means every time a page is loaded, the script on the server will retrieve information from the database, manipulate or format that information, and then display it in a readable format on your browser. This process is usually very fast.

There are many choices for server scripting technologies. Like I mentioned before, the needs of your project and your budget mayl be determining factors for which one will suite you best. I will briefly describe the most popular options:

1. PHP
I start with PHP because it is by far the most widely used. It's open-source (free), has an excellent community of developers, and is easier to learn than other languages. Sometimes larger companies shun PHP because it isn't backed by a large company like Microsoft. However, this isn't always for good reason, as PHP as proved time and time again that it can be just as effective as the other options.

PHP can run on many different platforms, and is compatible with most operating systems. It's important to find a PHP programmer that is experienced with optimizing PHP so that it runs smooth and fast.

Large websites currently using PHP are AutoMart.com and Yahoo!.

2. ASP and .NET
Like SQL Server, ASP was created by Microsoft. It's a very popular scripting language today, and is trusted by many websites to power their content. It isn't cross-platform compatible, meaning you will need a server using a Microsoft Operating system to run it.

Large websites using ASP are Buy.com and Virgin.

3. JSP
A scripting language for the web built on Java, JSP is another approach. It's more difficult to learn then ASP and PHP, especially for people without scripting experience. Also, creating a simple website with a database using JSP would probably be overkill. It runs slower than PHP and ASP and uses more resources, so using a shared sever wouldn't be a good bet. There are definitely reasons to use JSP, but again I would recommend first defining what you are trying to accomplish and ask  a professional for advice on implementation.

4. Ruby
A scripting language becoming more and more popular is Ruby, or Ruby on Rails. Ruby simplifies the process of programming because of its flexible framework. There are claims that developing with Ruby is 10 times faster than developing with other scripting languages. Like PHP, it's open-source, or free. It's been around for a couple years now, so finding a server that can host it is much easier.

Websites using Ruby are YellowPages and Twitter.

Patrick Bennett is the owner and head web developer of http://www.modernblue.com. He has a passion for usability and design and has been trusted by many companies to overhaul their web sites, blogs and user experience.


for the past four years, i have been trying to launch a non-profit website with the wrong web designers, so i decided to learn web design on my own.

after taking a few disappointing classes at a local college and wasting money at a web-based training school, i had to learn the hard way that most web designers are not teachers; they lack the ability to articulate (to newbies) all of the web functions and its complexities. however, after reading this article i can officially say that i have 'JUST BEEN (WEB) SCHOOLED.'

now i know what credentials to look/ask for when employing my next 'perfect fit' web designer because the above content is so clear and precise even the experienced, uniformed, and the curious can take this information - learn from it and 'TEACH' others.

i strongly believe this time i'll get the right designer.

thanks a million-times-over, patrick!

Dito! Well done Patrick for taking the mysteries out of these areas.

Your article did not mention tools like Adobe Flex 3 and AIR for creating Rich Internet Applications which combines XML, Advanced AJAX like and data binding to backend databases. Also Java for creating middle-tier environment for doing the work required to speak to the databases.

Thanks for sharing, this article, actually i try lots of net for searching actual meaning of web 2.0 and still i cant find it, if you have any good example of web 2.0 website share with us

Thank you

great article - that is what we need - a simple defination of web 2 n technologies.

Thanks a lot. You have mentioned everything crystal clear. It has given me a very precise guide line ... cleared some of my long pending doubts. Thanks again.

Awsome! I hear all these terms on a daily basis. Some I knew, Some I didn't. Thanks for keeping it clear and simple! I NOW know!

Hey Daniel.

Your right about Adobe Flex and AIR also being a means to create rich internet applications which can be considered Web 2.0. Flash is definitely another one that could be added. For the purpose of this article I chose to stick to the technologies being most widely used. And although Adobe Flex, AIR are great for rich internet applications like you mentioned, they aren't being used as much for websites focusing on content and SEO, which was the focus of this article.

There are other technologies that could be considered Web 2.0 as well, but for the purpose of this article I stuck to those being mostly used at the moment, more for brevity than anything else. Thanks for your comment though, as other readers may be able to research those amazing Adobe products changing application development.

Interesting read...
Only thing i haven't tried yet is AJAX because i'm worried it will slow things down...
You have any suggestions for good books on usability?

Hey Frank. I don't have any specific books to mention, however you should know that in most cases Ajax will speed things up. That's actually one of the purposes of it, to make user interaction faster. I always ask myself this question before adding javascript: "Is this really going to make things easier for my users?". If the answer is no, don't use it. Many people throw in all the javascript/Ajax they can find to try and make their site look cool, while slowing things down or actually over-complicating their user interface. There is definitely a balance that needs to be found.