Colin Devroe

Photographer. Podcaster. Blogger. Reverse Engineer.

I watched Tantek’s presentation Take Back Your Web from Beyond Tellerrand during lunch. Great presentation. From it I added Mattias Ott’s blog post and this one by Aaron Parecki to Unmark to read later. Via Jeremy Keith.

You’ve been granted h-entry

This morning I took a few minutes to add microformats to the HTML of my blog. I had done so in the past when my site was using a completely different theme and hadn’t taken the time to add them back in. Shame on me. I should have done it much sooner since it took less than 20 minutes and now I think my blog will be a little easier to read for things like webmentions.

This post isn’t to be used as a guide in adding microformats to your WordPress theme. I’m simply writing this down as a way to walk myself through my own task of doing so. But if you read it and feel inspired to add microformats to your own site then I’ve done my job.

In short, the following classes must be added to your index pages (index.php, archive.php, search.php, etc.) and your single post page (single.php) to support the h-entry microformat.

  • h-entry
    • p-name
    • p-author
    • u-url
    • p-summary or e-content
    • dt-published

There are other classes in the spec, and I recommend supporting which ever ones make sense for your site, but if you only had these class names added your HTML, it would be much easier to parse for the little robots that are running around on the web trying to eat your code.

Many WordPress templates wrap posts in an article tag and add classes to it using post_class function. This function adds numerous classes to help you specify things like post-formats, post-types, etc. Supporting h-entry couldn’t be easier since the post_class function allows you to add any classes you’d like on your own. Like this:

Next, you’ll want to add the p-name and u-url classes to the link that goes to your blog post from the index. That should be easy enough. Mine looks like this but your’s will likely look a bit different. In my case the A tag’s contents contains the post’s name, and the HREF of the A tag is the post’s URL. So I can add both classes to the one element.

We’re almost there. The next class I needed was dt-published – or the datetime that the post was published. This one may prove to be a bit harder to wrap your head around but here is how I did it.

I used HTML’s time element so that I could take advantage of the datetime attribute. Exactly as the microformats wiki suggests. get_the_date in WordPress accepts PHP’s date formatting arguments (all those weird letters up there) so it didn’t take too long to figure out how to format the datetime correctly. Essentially, I’m formatting the date for machines in the attribute and humans in the contents.

Finally the contents of the post must be marked up. On my indexes I only show an excerpt of the post and on the single page’s I show the entire entry’s contents. So I use p-summary on index and the e-content class on the single post page. This is how my index page’s markup looks.

For my particular use I also needed to mark up statuses or what might be called “notes” on the indieweb wiki. In retrospect “notes” is a far better term since what I post as statuses are more often than not more a note than a status. But, oh well? I think I’m stuck with it for now. For statuses I simply mark up the entire content as both p-name and e-content as suggested by the microformats wiki.

Here are a few examples of each post format, in HTML, that I use on my site.



Post on Index:

I hope to improve this markup a bit over the coming weeks to support more microformats. But for now I think this will help to make my site’s HTML a bit more readable to our little bot friends.


Yes, it is more work to subscribe than to follow, but that is OK with me

Fred Wilson, in A Founder’s Notebook, describing how “hard” it is to subscribe to a blog that isn’t on Tumblr but is on the open internet.

My only complaint is that its not on Tumblr, where it would be an instant and easy follow. It takes more work to follow a blog when its on the open Internet (when you don’t use RSS. i don’t).

Sigh. He’s right, of course, but … sigh.

In the heyday of Google Reader it was the exact same amount of work to subscribe to a blog’s RSS feed as it is to follow a Tumblog on Tumblr. Just one click. But now, with the RSS market so fragmented and waning it has, indeed, become more work to subscribe to blogs on the open Internet than it is to follow on Tumblr or Twitter.

There are initiatives in motion to help with this, but, like so many other great things on the web (see: microformats), they may simply never catch on at scale.

For those interested in how I subscribe to blogs both on the open Internet and elsewhere; I’m currently using Vienna on Mac as my feed reader. I do not read feeds on my iPad (though I used to) or my iPhone. I only read on Mac and filter things into Unmark to read/watch/buy/listen later. For me to subscribe to a blog is pretty painless; copy the URL of the blog, open Vienna, click Subscribe. (I don’t even need to paste.) So it is three steps rather than the one step that Fred needs to take on Tumblr.

I’ll take that hit for blogs I love to be on the open internet any day.

The last version before the next version

I’ve just uploaded the last of the bug fixes, tweaks, and features to my personal web site before it goes through a major overhaul.

By the time 2008 rolls around I hope to be sporting a completely new suit. I’ve got a lot of work to do before I get there, which is why I’m setting this goal 60 days out. First, I need to update to WordPress 2.3.1 (or whatever version is out by the time I get around to updating from my current 2.2.1 build). This jump should be fairly painless besides changing some template code to include the way WordPress handles tags now, and since I am going to be building my site’s new template from scratch anyway, it won’t really be any extra work at all.

I’ve been using this “out-of-the-box” yet hacked template for far too long and I think it is beginning to wear on me. Don’t get me wrong, I really like this template and it has definitely served me well for the way I’ve structured things around here. But I’ve been poking around with some new front page features that simply do not work with the current template. That, and I’ve recently been giving the photos section a lot of attention and what I wanted to do there wasn’t working out with this structure so really I don’t have much of a choice.

Onward and upward. I hope for at least the next two months the recent changes (which are very subtle but were nagging me) serves me, and you, well. But I can’t wait until the beginning of a New Year and the beginning of the next iteration of this site – which I hope will serve me for at least a year.

As always if you find something wonky just let me know.

Update November 23, 2007: Ok, so maybe I lied. After playing with new layouts for a few days I’ve decided to stick with this one and just make small cosmetic changes to make the theme more my own, to update the markup, and extend the features. I’ve done 2 small things to this end over the last two days.

The first thing I did was add support for hAtom. I’m still experiencing some oddities with the dates, and I will continue to make adjustments as I learn how to pull off the date requirements for hAtom with WordPress, but for now the main page of this site will syndicate the latest entries via hAtom with no problem.

The second thing I did was reconfigure the navigation. I’ve been wanting to tighten up the vertical use of space for a little while – so even though this isn’t the final version of the navigation it is definitely a step in the right direction.

Next up is a new heading. Having ‘Colin Devroe’ as an H1 worked for a while…. but soon it shall read something entirely different and may even include some graphics! *gasp*. Until then, enjoy.

The Web 2.0 Expo experience

When I first found out that the entire Viddler team would be going to San Francisco for the Web 2.0 Expo – I wasn’t sure of what to expect from the Expo. Would it be a social (tshirt and jeans) or more a professional (suit and tie) type of conference? And really, it turned out to be a little bit of both.

The Expo

The Web 2.0 Expo Floor

The expo floor was filled with companies of all types ranging from large companies like Google, Yahoo, and Microsoft to smaller more fun companies like Viddler, Zimki, and Piczo. Some people were being very professional and demonstrating some very high-level enterprise applications (which are typically found behind-the-scenes of more social software. ie. Analytics and monitoring systems for server grids). Others were demonstrating their next-generation web service that can take care of all your development needs from coding, to versioning, to deployment all in a social and collaborative way. Each had their pitch, each had something very interesting to offer, and each were trying to make their product/service stand out from the pack.

The sessions that I got to see (which weren’t many since I didn’t have a session pass so I had to sneak into any of the rooms by tossing Hershey Kisses on the floor in front of the badge-checker on the way in) were much more “professional” than the panels I got to see when I was at South by Southwest this year. This isn’t to say that those panels at SXSW were not done in a professional manner, but that the sessions at the Web 2.0 Expo were much less interactive and more a demonstration of some products/services/companies that stood out as doing good work in their various fields.


Chris Messina discusses hAtomic

The Web2Open Mashroom

Running adjacent to the Web 2.0 Expo keynotes and sessions was Web2Open which is a *Camp style event that run in the main corridors on the second floor. Various presentations and discussions given by people that attended and participated in Web2Open were very good. “Minutes” were taken by various people and left on the walls so that if you came late to a particular discussion, you were able to quickly catch up and be part of the conversation. If you didn’t like where the discussion was going you were able to change the topic yourself by suggesting a topic, or – you could literally get up and go into another room where maybe the topic suited you a little better.

The idea of doing Open conferences like this is still very much in beta – and the process is being refined by the attendees each and every time one of these events goes on – but they are definitely much more attractive than any other event that I’ve been to. Simply being able to steer the conversation by simply raising your hand and asking a question lends itself very well to building value for those that attend.

The Viddler team and version 2.0

Viddler had a massive push to finish Q&A and testing on the its latest version of the site and player and managed to fit in many hours of development in order to release version 2.0. There are still a few bugs being worked out as soon as the developers and managers get back home from this trip – but overall the release was a big success and was fairly well received. The roadmap for Viddler is still quite exciting and the entire team is looking forward to the next step. I’ll have some more information about this and will be asking for everyone’s feedback on some of our ideas shortly.


We celebrated version 2.0 a little bit early with some champagne and cake. The entire team was staying in Saratoga at our President’s relative’s house. We were so well taken care of that none of us wanted to leave (freshly squeezed orange juice right off the tree every morning makes a man wanna stick around).

Meeting the entire team for the first time was awesome. Working remotely with our team is really great and is actually conducive to getting very good work accomplished without the added expense and overhead of having everyone move to one location and setting up the proper digs for such an effort. However, it was nice to finally spend some time together to get to know each other even better and fit a real personality to the people that I have the privilege of working with everyday.

Harry and I got to work on our commercial together, which has caused a little bit of a stir with some members – which is always good to know that our users are reading our terms of use. We’re looking forward to updating our terms of use to fit more inline with what we really want to be able to do — promote really good video content and display it in an interactive and valuable way.

The Web 2 Party

The moment I got a feel for who was going to be at the Web 2 Expo; namely my friends from Citizen Agency, Ma.gnolia, etc. – I decided I really wanted to have a party with a few companies to help fit the bill to really pull off something nice. I mentioned this to Larry Halff and Chris Messina and I must say – they really took the ball and ran with it especially considering my inexperience in putting something like this together combined with the fact that I’m on the east coast far away from finding out about all of the venues that were available.

Tara (unknown last name) (aka Tara 2.0) came through in a very big way and secured our venue and setup everything we needed go pull off a successful event. Having an “event planner” is really key when you are trying to do one of these events with multiple companies and tons of logistics involved. If you are thinking of doing something like we did – I definitely recommend assigning one experienced person to get everything setup properly.

The party attendees

The party, in my opinion, was a huge success and it seemed like everyone had a really great time. People were lined up outside to get in, we were “at capacity” for the entire duration of the party, and people had to be escorted out of the gallery when the place closed. I had been to a few events at South by Southwest where people leaved early, the bar tab ran out quickly, or where generally not many people showed up. Such was not the scene for the Web 2 Party and we had a great time meeting everyone who came, shooting some video, and had some great discussions.

We’ve been talking about doing something in New York in the Fall so be sure to keep your ear to the ground. We don’t want to let all the west coast peeps have all the fun!

I know I’m speaking for the entire Viddler team when I say that w
e’d like to thank Citizen Agency for helping to coordinate the entire event, and thanks to Ma.gnolia, Scrapblog, JanRain, faberNovel, Facebook, Plasq, and WineLibraryTVfor helping us in throwing the best party during the Web 2.0 Expo. We hope you had as much fun as we all did.

The photos

Here is just a small collection of photos that I took over the course of the week. I didn’t have a lot of time to shoot many photos as I always seemed to be busy recording video, talking at our booth, chatting with friends or just generally preoccupied with other things. I recommend you look at the Viddler Group on Flickr for more photos (oh, if you have photos please put them in the Viddler group) and also watch the Viddler tag on Viddler to see any video that may pop up over the next few days from the Expo.

Version 2.0 development

Chris Tingom
Chris Tingom

Viddler Palace

Lucasz and Kasper

Oranges from Saratoga

Breakfast meeting

Viddler booth

Blake Burris
Blake Burris and I

D. Keith Robinson at Varnish

Crazy Keith

Dustin Diaz at Varnish
“Naked” Dustin

Gina Bolton at Varnish
Joyful Jina

The Viddler gang at Ritual Coffee Roasters
The Viddler gang at Ritual Coffee Roasters

Harry Snodgrass
Firecracker Harry

Again I wish that I had more time to take more photos than I did but I’m thankful that friends like Chris Tingom were able to take a bunch of photos during our trip.

So the next time you hear that Viddler is coming to your town or throwing a party in your neighborhood – be sure to give us a shout and come out and drink some of our beerz…

Philadelphia Weblogger Meetup – March 17th

Mike Stickel, Colin Devroe, Matt Regula, Chris Fehnel, Timmy Dunn in Philadelphia

Mike Stickel, Chris Fehnel, Matt Regula, Timmy Dunn and I on South Street after the last Meetup.

This Saturday (March 17th from 2:00pm till about 5pm) I’ll be attending the Philadelphia Webloggers Meetup at Ten Stone Bar & Restaurant. Will you be there?

It looks like Tony Green and I will be having a conversation so please be sure to join in as we discuss Microformats (which I’ve used to markup this post by the way).

I was finally able to pull Alex Hillman out of his shell. He was recently interviewed by Philadelphia Weekly about his efforts in CoWorking. You may want to pick his brain about this…

I just hope this snow doesn’t affect our plans. Though I think we’re pretty determined.

Note: You can add this event to your calendar program of choice since this post is marked up using hCalendar. Enjoy.

Philadelphia Weblogger Meetup – February 17th

Though this event is split into two parts, the Philadelphia WordPress Meetup and the Philadelphia Webloggers Meetup to me it is all just about blogging and so I sign up for both.

Chris at Ten Stone Bar – April 15, 2006

This Saturday (February 17th from 2:30pm till about 4pm) I’ll be attending the Philadelphia Webloggers Meetup at Ten Stone Bar & Restaurant. Will you be there?


So far Eliza, Mike, and Chris are coming with me. It looks like Rob, Tom, and Marisa are definitely going. Andrea and Jason might be going. And sadly Tony G. can’t make it. Update: Happily Tony G. is able to make it!

And, it appears we’re going to have a fairly full house.

If you are in the Philadelphia area (heck I’m 2 1/2 hours away and I’m still going) and you’d like to meetup with some great people to discuss WordPress, blogging, Viddler, or just sit back and enjoy a beer – sign up to the meetup and we’ll see you there.

Note: You can add this event to your calendar program of choice since this post is marked up using hCalendar. Enjoy.

Note addendum: It appears that the above link won’t work for Outlook users? Not sure why – probably because Outlook sucks? 😉

Lazy Saturday

I was planning on doing three separate and unrelated things today. None happened, each for their own reasons. So what did I do? I fiddled. I find it fun to fiddle from time to time. Focus on something small and make minor little adjustments to it, in ways that you normally wouldn’t. I’ll give you an example.

Let’s say you have a day job where you are a mechanic. Obviously your normal business day is filled with fixing someone else’s car, doing routine maintenance, etc. However, if you could take one day and simply think about a better way to do one of those common tasks, what would you correct? Would you take some time to build a tool to help make a common task easier? Would you do something even more simple; such as cleaning up your area to make you more efficient for the week ahead?

I can think of tons of things like this that I could fiddle on. Today, I focused on two. My blog here, and a yet-unreleased service from ChanceCube.

I thought about this blog and what it is lacking, and I started to fiddle with a few things that will allow me to fill those gaps in the near future. Obviously this was done purely for personal reasons, but I am hoping these little adjustments will improve your experience here. No, I am not going to do a complete redesign of my site – but much of the markup is being rewritten to give me some more flexibility and work in some Microformats (oh, and this site has yet to work properly in IE). More on this later, but I was able to take a few hours and focus on a few minute details that really, in the end, give you a lot of satisfaction that you were able to spend some real time thinking about only a few little things.

With the service (called mystreamr) that we have yet to release, I wanted to do some “outside of the box” thinking that I may not normally have the time to do otherwise. How would a mother use this? How would a kid who found this service through digg use it? How could I explain this service to someone that doesn’t speak English? What happens if I use the service in the complete opposite way it was intended? All of these questions I was able to address, in some form, today.

I think that this is a great exercise for anyone to try and do (especially when the temperature dips to below freezing!). Get out your watercolors (which I still might do later), and try a style you’ve never tried before. Waste paper! Go into the kitchen, whip out a recipe book that has 4-layers of dust on it, and just start cooking. Look through the garbage and find the instruction manual for your digital camera and learn to use it better. Go for a jog on a street that you’ve never been on. Knock on that neighbor’s door that you’ve never met because your work schedules conflict. Have you read your Bible lately? Have you taken 30-minutes in the last decade to appreciate the night-sky? I could go on forever! I have tons of things that I would love to find the time to do but so many other things end up getting in the way.

Perhaps the next time your day’s activities get cancelled, you shouldn’t worry about filling those slots with more things to do, just fiddle.

Re: The usefulness of Microformats

Kyle Kneath recently wrote I just don’t get this whole Microformats thing and I wanted to take a minute to respond to him.

Kyle is doubting the usefulness of Microformats, and is also saying that he thinks the learning curve is too hard because of the documentation making things “too hard”. First I’ll address his comments on the documentation being much too difficult to follow:

“Maybe it’s just me — but I feel like the microformats crew are actively trying to make this an elitest club. I’m not very stupid (I don’t think) but when I first started researching microformats it took me ages to really understand it. It turned out to be dead simple.

You can see the documentation (featured to the right) is quite brief for simple formats like hCard. Wait a second… are you serious? This page is reeee-diculously (and needlessly) long and really needs to be cleaned up. It’s like a giant newbie-scaring-machine. hCard is dead simple to implement; a couple of paragraphs should suffice with two or three examples.”

I could not agree more with Kyle on this. The documentation for Microformats, in reality, is all spec information. There is a definitive need for someone with any type of documentation experience to get on the Microformats Wiki and really make some “Microformats for Dummies” type of documentation.

Someone on Kyle’s comments suggested just getting Jeremy Keith to spear-head the effort. Well, Jeremy is already a microformats “evangelist”, but I can see their point. He has the ability to make things that seem difficult, dead simple. Perhaps he could take some time to edit the heck out of the wiki and/or just add a series of pages explaining each Microformat in human language.

Onto Kyle’s other gripe; the usefulness of Microformats. I disagree with Kyle on this point. Microformats can be, will be, and already are extremely useful. I feel a little weird saying this since I have yet to really take full advantage of Microformats on my site here – but it is definitely in my plans. Kyle didn’t really expound on his reasons why he thinks Microformats are not useful until one of the very last comments that he wrote (he doesn’t have permalinks on his comments so I will copy it here):

“But… again, you seem to have proved my own point with “We haven’t figure out how exactly that will help us” — that’s my entire point. I’ve been following microformats since Tantek was talking about them years ago. An yeah, Tantek is a cool dude… but is it enough of a reason to use them?

I honestly haven’t found it.

I use web standards because it helps me work faster produce more maintainable code and standardize my practices. I can’t say the same for microformats. The best I could say is: “I use microformats so that the extreme minority of my browsers, who have an extension installed, who are looking for specific metadata, who have scripts installed to interact with their other data management applications can more easily add me to their address book.”

Oh, and for those pushing hAtom… the last thing we need in this world is more syndication formats :)”

His argument here is really way off. When he says “we haven’t found ways” he really means himself. I think if you ask the folks at Technorati, and the people that have invested millions of dollars into them, they’d disagree with Kyle too. Microformats is just really starting to take off (if people do not use them, they are indeed useless but as more people use them, companies like Technorati can really build useful tools). There is no one definite useage for each Microformat, however each have their own implementation. The biggest advantage I see? One content delivery system for almost any type of data. I don’t need to create a vCard for my about page, I just need to add a few classes to the information that is already there. This brings me to his second point that falls short.

His argument that “…and for those pushing hAtom… the last thing we need in this world is more syndication formats”. Perhaps he hasn’t delved into hAtom much, but it isn’t another syndication format, it literally takes the place of Atom (which is becoming increasingly popular and is starting to become the syndication format of choice of some of the larger companies that have tons of data to syndicate [ see Nail Kennedy’s article about feed syndication formats and their usage]). Also something to remember is the hAtom is currently in draft format, but imagine if if you had a blog and you didn’t need to serve an HTML version, RSS 0.92, RSS 2, and Atom version of your site. You could just serve the HTML version and all of the data you wish to syndicate – to different applications and services, could be parsed from that single delivery system. This is the biggest advantage of Microformats in my opinion.

The documentation does need a serious look, and update, to make it a much less steep learning curve. Broader usage will come of that, and in turn more uses will reveal themselves from a growing user base. I suppose Kyle’s post really cuts right down to the root of the Microformats problem – explain them better, and they’ll be used.

[tags]microformats, kyle neath, tantek Çelik, jeremy keith, hcard, hatom, rss, atom, feeds, syndication, technorati, html[/tags]


My Web: Yesterday and Today

This “Web 2.0” that we’re all so accustomed to lately is great. Semantic, accessible, open, and dripping with fantastic design. However, there are times I reminisce about the days of old, the days of well – Web 1.0.

There are several sites, some still in existence that I really do miss. I remember spending hours on the old Deviant Art just trying to find minimalist desktops and indy art. I also remember digging, refreshing (what is that anymore?) and bookmarking countless pages on The to find the latest and greatest information on release of the Star Wars Special Editions. I remember pulling my damned hair out trying to get ASP to do what I wanted by using Microsoft’s documentation.

It goes beyond sites though, since back then the web wasn’t about usage but rather building the foundation for what we have today. Using the Web in the 90s wasn’t, for me, about sharing photos and bookmarks, or creating and distributing content quickly and easily, it was about communication and expression of thoughts via hypertext. The more I think about Web 2.0, the clearer the picture becomes about the Web as a whole. We have an insanely far distance to travel before the Web becomes what it has the potential to be. Obviously services like Flickr,, and Newsvine are getting closer to what we’d all love to see replacing Deviant Art, e-mailing bookmarks, and CNN, but they are still only very simple concepts done in fairly complex ways.

I listened to a few of the Carson Workshop podcasts and, I must say, I realized how complex our jobs sound to the “average uninformed developer”. Combine the complexity of learning the “best practices” in Web development with how many developers out there that are still using tables for layout, Microsoft Access databases, and reading Lockergnome for HTML tips, and you can see that we’re not even close to where we could/should be.

What makes it even worse is that the people that could be advocating these changes in the new and ignorant developers, are resting on their laurels or even bad-mouthing efforts to help out. Perhaps such efforts as Naked CSS Day won’t make a large impact on Web Standards Awareness, but who cares, at least Dunstan Diaz is trying to do something about it!

“Back in the day” (according to Dane Cook this was indeed a Wednesday) I was always amazed when new specs were released, new technologies developed, or different ways of accomplishing tasks were mastered. Nowadays, I see a lot of copying going on. Sure, we have our elite few that are definitely leading the innovation pack, but in the old days everyone was an innovator. If you couldn’t get something to work, you figured out a way to do it regardless. You busted down walls, you hacked like a mad-man, until finally the result you were looking for was accomplished. Nowadays, you run to Google and do about four searches and copy what someone else has done right from their site. Sometimes this is good, but if you find yourself doing this every time, it isn’t.

I suppose I miss the speed at which innovation seemed to be moving on the Web. Even at 56kbps and under, it surely seemed that the Web was changing faster in 1996-1999 than it is now. I think we’ve hit a Web 2.0 plateau where 10 major services were released and everyone else is trying to catch up with them instead of trying to do better than them.

Take microformats for example. A great effort. Standardize the way specific chunks of content are marked up, this way it will make it much easier to move, distribute, and work with going forward. However, some of these standards are just atrocious. I look forward to trying my hand at making some updates to some of those specs in the near future, but instead of trying to simply use microformats, we need more than just five people thinking about how to improve them.

Recently we’ve seen a gathering for an RSS Advisory Board. Thank heavens, the last guy that was running the show was not only an asshat, but he made Communism look like Kazaa (if you don’t get this joke you probably have a life, which is cool – can I borrow it?). I’m looking forward to seeing what happens with RSS in the near, and distant, future.

AJAX. Oh god, do not get me started. A superb effort has been put into improving not only awareness but accessibility, implementation, and documentation of the HTTPRequest Object. Sure, we’ve had these types of abilities for ages, but I still think all this “excitement” will lead to one good thing – improvements. Ajax, while not revolutionary at all, has caused many newbies to open their eyes to, not only standards (due to the use of XML, etc), but also to the thinking a little bit beyond the separation of presentation and content – but also of functionality. I’d like to put a name on this particular movement, but I doubt the World could hold such an acronym.

I said we’re on a plateau right now, but I think that might be incorrect. Rather, I believe we are on the escalator. The down escalator. And, instead of actually going down with it, we’re trudging onward and upward – each foot landing on the next step only to find another one approaching right after it. This battle to make the Web better may never really “end” but I definitely think we need to pick up the pace a little. Like back in the old days when we said “Screw you” to tables for layout, WYSIWYG editors that wrote horrible HTML, and oh yeah – Windows servers.

[tags]internet, web 2.0, ajax, web development, programming, microformats[/tags]