Category: development

  • Writing About Myself Is Hard

    You’d think that having a blog would have prepared me for this moment. For SxSW, I have to write a short and long bio… about me. You would think that someone who talks as much as I do would be able to come up with a paragraph describing myself. But, every time I start, I get self-conscious about writing about myself in the third person and it goes all Bob Goulet on me. Here’s what I’ve got so far:

    Kevin Lawver is a passionate lover of web standards (which his wife oddly doesn’t mind). He french kisses his CSS and makes sure all his tags are closed so the neighbors don’t gossip. Kevin (that’s me) loves writing valid semantic markup by candlelight, and desperately wishes that Barry White had written a love song about CSS3 Selectors. But, Kevin realizes that it’ll probably be country music that brings us our first song about CSS – and it will unfortunately probably be about adjacent siblings. Kevin longs for the day when all browsers hold hands in harmony and web developers, management and designers all understand and love standards and understand their benefits. Kevin would also really like a cookie.

    What do you think? Too much?

  • I’m Not A Designer

    Have you ever seen something and said, “I wish I could design like that?” Well, check out The Oddzballz. Yeah, told you.\
    I’m not a designer, but boy would I love to be one. I’m not one to say I’m one just because I can screw around with PhotoShop and make gradients. I know too many “real” designers to pretend that I could be one.\
    But, enough about that. I’m just in awe of that site, designed by the amazing Elsa Kawai. Just go look. Really.

  • New Laptops

    Work just gave me a brand new Dell laptop to replace my ancient Windows machine. What’s the first thing I do – even before installing Firefox on it? Put my MY MACINTOSH RULES sticker on it. Gotta declare your allegiances, man.\
    It’s funny, but I’ve been a full-time OS X user for about three years now, and I don’t miss Windows at all. I don’t live in a Start-button world anymore. I don’t think in Windows. I think in OS X first. I know it’s weird to say that, but it’s true. My instincts have been honed. This is true of web stuff too. I had someone ask me to troubleshoot a page that was build in quirks mode, and I couldn’t do it at first. I don’t think in quirks mode anymore. I think in standards mode. My box model’s been fixed.\
    I apologize to my family and non-geeky friends for the above paragraph.

  • Dear Internet

    You are upsetting me. Please stop using crappy old browsers. There is absolutely no excuse for using Netscape 6, Netscape 4.x, Safari 1.0, IE 5.5 or IE 5.0. They are all old, insecure, out-of-date, feature poor and tired. They are so so tired. Please retire them and get yourself a new browser. You know, one that renders pages correctly, that won’t crash on you, that’s actually supported by the company that released it, etc…\
    We should have a national holiday: Upgrade Your Browser Day. It could be a national day of nerd service where nerds go door-to-door offering to help people upgrade to the latest version of that person’s browser of choice. You want to use Netscape? Great! Let’s dump that ancient bug-filled copy of 6.0 and put you on 7.2 or 8.0! Opera lover? Please, let’s install 8.5! IE? No more 5.0’s or 5.5. Let’s get you a fresh (but still old, IE 7 can’t get here fast enough) copy of IE 6.\
    Yeah, I think this could work. We need browser missionaries. I could see the door approach now:\
    knock, knock\
    “Hello, ma’am, we’re the neighborhood browser missionaries. Do you have any web browsers in the house?”\
    “Yes, I think we do…”\
    “Do you know what version you have? Have you checked recently for updates?”\
    “Well, no, I just use it.”\
    “Can we come in? We’d love to help you upgrade that old thing, and we’ll do it for free!”\
    I think it would work.

  • I Love Information

    So I needed a break from thinking about markup and decided to go check out the stats for lawver.net generated by my friendly web server. I stumbled on something interesting (to me):

    • pages served in 2003: 67,492
    • pages served in 2004: 581,041
    • pages served in 2005: 1,003,530\
      I think I joined Dreamhost in about the middle of 2003, so that’s understandable. But, still, that’s almost doubling the amount of traffic every year. I think that’s pretty cool.\
      Some more stuff that’s probably only cool to me:
    • About 25% of the visitors to this site are Mac users.
    • NetNewsWire is the most popular news reader among the RSS consumers of this site.
    • Bloglines is number two.
    • Search engine bots index this site more often than they probably should.
    • The most popular search terms that get people here are:
      1. sick movies
      2. beautiful font
      3. maddenisms
      4. green snot
      5. chicken noises (holy crap, I’m number one!)
      6. nerd jokes
    • Over 25% of my traffic comes from Google if you include all the localized versions.
    • About 1% of my traffic comes from inside the AOL campus local network (which oddly enough, doesn’t worry me at all).
    • According to Sitemeter, I went from about 2,200 “visits” a month in October of last year to over 9,000 last month (which was an aberration, but July was still almost 7,500).\
      Told you I love information.
  • Look Around, See Anything Different?

    I switched some things around this evening (because there was nothing on TV). I’ve split the main page into two columns so Jen and I can post without feeling guilty for pushing each others’ posts off the front page. We also have his and her’s RSS feeds in case some of you don’t like me and only want to see Jen’s stuff. I haven’t removed any feeds, so there are still the unified feeds.\
    I never cease to be amazed at how comfortable Movable Type is to work with. The templating system is natural and it’s easy to customize how your blog looks, what it does and how it outputs and formats data. I love the developer community that’s come up around it that creates really cool plugins before I know I need them. I know I flirted with switching, but I don’t think I will. MT is just too comfortable.\
    Now it’s back to my new microformat and writing more XSL (for a project you’ll all be hearing way too much about in the very near future). Thank you, internet, for everything. Good night!

  • My Standards Story

    Molly’s post about search engines and standards has inspired me to tell my standards evolution story, because it’s really all about AOL Search.\
    I worked on AOL Search for five years, from 1999 – 2004. In that time, it went from being “AOL Netfind”, powered by Excite and in a horrible frameset where we had very little control over anything to something built completely in-house powered by the ODP, to what you see today (powered by a bunch of in-house technology and incorporating results from all over the web, most noticably from Google).\
    I was the only person to touch the frontend code for that five years. I wrote the first in-house version of AOL Search in AOLPress, a WYSIWYG HTML Editor that started life as NaviPress. It was a glorious example of old school HTML. It was all uppercase tags, unquoted attributes, tables all over the place and non-breaking spaces. But, it was one of the first successful web products at AOL, and was a whole lot better than NetFind was.\
    I started noticing the web standards movement in, I think, 2000. Back then, I couldn’t do anything about it because we had to support Netscape 4.7 and all the other old school browsers. But, in 2000, I removed all the font tags from AOL Search and we started using CSS for text (which was all it was good for back then). Life continued… I started blogging in July of 2000, and in November of 2001, my blog went all CSS-y (Zeldman even wrote about it).\
    In 2002, it was time to break out of tables, and we did. I dropped all the tables, and put in a browser sniff to give Netscape 4 users a stinky old tabled header and footer. I didn’t have a DOCTYPE (because I was young and stupid), but we were table-less. This is when our business decided that speed was all-important. They really wanted us to get our load time under six seconds. I don’t remember why six seconds was the magic number, but it was. We still had several large banner ads on the site, and six seconds seemed like an impossible dream.\
    I went crazy in 2003. I was on a mission. I was the six second man. I was going to get us there, because dammit, I love a challenge. We started 2003 at about 14 seconds (measured by an internal tool, over a modem, using the AOL client, not perfect, but it was consistent). I dove into the standards, and pored over weblogs, forums and A List Apart, looking for anything that would help me get there. This is when I discovered semantic markup. I started trimming. In the spring, we hit 10 seconds. Then, I put in a standards-mode DOCTYPE, and, without changing anything else, we went from 10 to 8. We were close, and I smelled blood. So, I devised a test where I made a version of the product that didn’t have any ads on it at all. We tested it and it loaded in less than four seconds, according to the tool. Now I had my villain and the lobbying started. I won’t go into everything I had to go through to get those big ads taken off, and I never actually got them all removed, but I got the “bad” ones taken off, and we replaced them with sponsored links, first from Overture and then from Google.\
    In late 2003, we hit 6 seconds. I did a little dance and took a vacation. When I got back, I decided that I could hit four without too much more effort. I started trimming. Everything on the results page was meaningful. All the results were list items. We had headers for result sections. There was a place for everything, and everything in its place. I got better with CSS, wrote better selectors, and shed more meaningless markup and lots of bad CSS. We hit 4 seconds (and broke it for a little while… 3.78 seconds). In the spring of 2004, by our measurements, we were one second faster than Yahoo (and much faster than everyone else) and one second slower than Google. AOL Search, at that moment, was everything I wanted it to be. It was fast. It was standards-compliant (except for those stupid ampersands). It was accessible (at one point, we did all these tests with an internal tool, and we were more accessible than any other major search engine, and scored better than Accessify).\
    That’s when I moved on to other stuff. I couldn’t work on it after that. I’d done everything I could with it. In my mind, it was perfect. Changing anything would have broken my heart. I wrote another search app, built on the philosophy of the CSS Zen Garden that allowed products within AOL to create search products without writing any code – just configure, create your own CSS file, and go.\
    Now, I’m doing training and mentoring stuff. I tell other folks how to do this stuff. What did I learn from my five years on AOL Search Everything. I learned everything. It was challenging, stressful and really scary at times, but I learned more than I would have if I had jumped around from project to project, never seeing the consequences of my choices. With AOL Search, I had a this huge high-profile product where every little change made a difference in the company’s bottom line. I had a platform for experimentation, and since I was the only one who touched that one part of it, I had almost complete control over how it was built. I got the blame when I messed up (and I did), and the credit when it worked (and it did, mostly). I got to see how making it faster made people use it more. When we got to six seconds, usage went through the roof.\
    Why tell the story? I don’t know. It’s important to me. It’s part of what’s driving me to push standards to the rest of AOL. It’s important because it makes for better products. It’s important because our users benefit. They don’t wait around for pages to download and can actually get on with using the product. We get consistency, and maintainability. It’s important to me because the process is repeatable. It’s possible to go from old school, inaccessible and slow to standards-based, accessible and fast. Today, it shouldn’t take you five years to do it. I was hamstrung by the browser environment at the time. You have no excuse. It’s never been a better time to work on the web, and it’s only going to get better. Get to it.

  • AOL Does Something Cool For OS X

    It’s been a rough ride for Mac AOL users (and employees). Ever since the corrupted online database bug in AOL 2.7, we’ve been stuck in the back seat of the AOL van. No longer! We now have a better Radio client than our Windows brethren!! It’s in beta now, but doesn’t feel beta. And this isn’t because I work for ’em. I only pimp the good stuff. It’s got XM Radio stations, lots of cool independent radio, and other AOL programmed stuff (that’s not bad at all).\
    It’s fun for me to see my company pay attention to Mac stuff, and produce something that I’ll not only use, but is truly cool.

  • I’m A Movable Beta Tester

    I love Movable Type, which I think you all know. I love the templating system, the plug-ins, the language-agnostic-ness of it all. So, when they announced the beta for 3.2, I was all over it. If you use MT, go upgrade right now. If you don’t use it, I’m sure you have a good reason. The upgrade was extremely painless, and the install was a lot easier than previous versions. No more mt-upgradeVERSION.cgi’s. No more mt-load’s.\
    Movable Type 3.2 Beta Tester\
    And I was happy to do it. Although this blog probably isn’t “typical” since I don’t think I have any default templates left. Everything is custom, and probably a little out of date at this point (which is what happens when I can do a redesign without changing the markup – I never redo it and get it up-to-date, because I don’t have to).

  • Instiki Stylesheet Tweaks

    As you all know, I love Instiki. I saw a page on the site this morning for Stylesheet Tweaks and just had to share mine. I don’t like how narrow Instiki is by default, and I didn’t really like the font. So, I changed it. I’ve hacked a lot of the templates (to make the textarea larger, for example), but my stylesheet is still mostly default with some significant changes.\
    Your mileage may vary, especially on the edit page (where I did a good deal of hacking).\
    Go get it.