Top Web 2.0 Programming & Design SkillsGuest_Blogger | May 29, 2008
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’.
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.
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.
SEARCH ENGINE OPTIMIZATION (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.
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.
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:
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.
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.
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.