Darwinian Web
Adam Green's thoughts on the evolution of the Internet

Posts tagged as: html

My Web 2.0 stack

Posted on Wednesday, December 7, 2005 at 2:40 PM (permalink)

I'm not sure when "stack" came to mean a list of languages/technical standards used to build an app, but it is a useful description. It helps convey the logical architecture within a multi-layered development environment. The best example of a useful stack is LAMP (Linux, Apache, MySQL, Perl or Python or PHP), which summed up what most of us used to build Web 1.0. I've spent the last few months reading and skimming as many new technology books as possible, and I've narrowed down the list of things I need to become proficient in to understand how Web 2.0 works. What I still need is a catchy acronym. Here's the list:

  • XHTML. This is basically HTML with some really prissy rules, like case sensitivity, and needing to close all tags. There are said to be tools that will make this conversion for you, but I haven't tried any.
  • CSS. Once you understand the basic rules, CSS is a fun way to design a site, especially if you start with a pre-written stylesheet, so you can just change things like colors and spacing.
  • XML. While XML itself can be understood in minutes, the many, many ancillary standards and protocols make it tough to find a real-world entry point. I've found RSS programming to be a good starting place.
  • Ruby. I've been programming with Ruby for a month, and I'm getting to like it more and more. I think it may have the same level of ease and productivity that made the dBASE language so popular in its time.
  • SQL. Yes, its still here, and its still the same, which is the problem. The issue will be fitting the object-oriented data structures of XML into the tables of SQL. The consultants will be paying their mortgages on this one for years.
  • Javascript. I could say Ajax instead to assure a higher rating on the Web 2.0 Validator, but Ajax really means Javascript that maintains contact with a server without reloading a page.
Frankly, its not as much as I expected when I started researching Web 2.0 this summer. The good part is that it all fits together easily, and none of the parts are particularly challenging. That's when I am most productive. By the time a language gets as richly, and complexly supported as Java, for example, I get bored and confused and move on.

Book Note: Eric Meyer on CSS

Posted on Sunday, October 30, 2005 at 7:35 AM (permalink)

Back when CSS first appeared in the late Nineties I was too busy running the Andover.net websites to adopt a new model for web design. My philosophy was to get the cleanest site design possible while maintaining compatibility with the greatest number of browsers. We were a mass market collection of sites, so I refused to adopt any technology that excluded lots of trailing-edge users. This included Java applets, which crashed Linux versions of Netscape, Flash animations, and any form of plug-in that required a download in advance. We managed to create some great designs, but they were extremely table heavy. Now I have the time to explore CSS and it has had the time to mature. I guess the lesson is that Web technologies really need about five to six years to fully mature and for browsers to catch up wth support.

The current design for this site is again based on lots of tables and is deliberately simple, since I knew I would be rewriting it in CSS before too long. The one technique I have insisted on since I started building sites in 1996 is a template/page generation model. This means that all of the layout HTML is maintained in a small set of templates which are then combined with the data for each page by a program written in something like FoxPro or Perl. At Andover we had over a dozen sites with tens of thousands of pages overall, yet we were able to update the design of the entire network by changing a few lines in less than a dozen templates. Another design rule I insist on is separating the design from the code. I hate the idea of having a web designer mess around in a file with program code. This has always biased me against PHP and Javascript. I know that I'll run into this issue again when I start to learn AJAX.

I have kept up with CSS enough to know the basic principles, so I'm looking for books that will emphasize design and coding techniques rather than a simple how-to introduction. Eric Meyer seems to be the guy everyone turns to for this type of information. This book is based on a series of projects, and starts with the real-world issue of converting an HTML-only page into CSS compliance. So it seems perfect for my needs.

I have just started to read it, but I already like the techniques Meyer is using. For example, he starts with a simple piece of CSS that can be added to any page to display the underlying table structure:

<head>
<title>Darwinian Web</title>
<style type="text/CSS">
table {border: 2px solid red; margin: 3px;}
td {border: 1px dotted purple; padding: 2px;}
</style>
</head>
Here is a current archive page from this site with the CSS added.