Category: development

  • Taking Surveys

    I know you all use the internet at least a little (because you’re here). I’m working on something new and threw together this little survey to see what folks use most often on the web. It won’t take you too long (only six questions), and would help me out a lot. So, if you’ve got five minutes to spare, please go take my survey.\
    There’s no agenda here, I just want to validate (or disprove, either way) some of my assumptions about what people use most often. There are no wrong answers.\
    The survey closes Friday night, and really, it only takes a couple minutes.

  • Happy New Year and Twitter Stats

    We had a lovely time in Mississippi eating way too much fried/barbecued/fatty food (I only gained one pound, and have promptly lost three, so no worries), playing with the dog, hanging out with Jen’s parents, fishing and watching the boys ride around in the trailer behind Grandpa Brian’s lawn tractor. I’ll try to upload pictures tonight.\
    I’m back at work, and having a hard time getting back into the work groove. So, I got my twitter stats instead… yeah, productive, I know (I also cleared out my inbox, remembered my kerberos password, did annual review feedback for folks, updated SVN and set up a meeting for this afternoon).\
    What I found funny is the tweets per hour. Since I got the blackberry over the summer, I twitter more at night while watching TV than I do while I’m at work. I also seem to post a lot around 11AM, which is usually when I take my first break of the day. All in all, I post a lot, which doesn’t really bother me, or seem to affect my work. I love the “noise” twitter generates. After working for almost 13 years with constant interruption, if I don’t get interrupted every ten minutes or so, it feels like something’s wrong.

    number of tweets per hour - it peaks around 8:30PM

    Also, March was my heaviest month o’ tweets, which isn’t surprising since SxSW was right smack in the middle, and that’s where I really “got it”. I’m not sure what happened in May, or why December was so high – especially considering I was at home for almost three weeks and without “real” bandwidth for a week.

    number of tweets per month - march was the highest, with december a close second. May was the lowest, and I have no idea why

    I think I’ve reached a sort of twitter equilibrium. I follow about 200 people, with only about 50 sent to my phone, which keeps the noise on my phone when I’m not near the computer down to a dull roar.\
    (I generated the stats with the very handy script written by Damon Cortesi)

  • The Book Has Arrived!!

    The Book Has Arrived!!

    Not in stores or anything, but I got my author copy of Adapting to Web Standards from the very nice FedEx guy today. Christopher Schmitt had to convince me over IM to actually take the plastic wrap off and take a peek inside.\
    There’s something really weird about seeing something I wrote in a real book… one that has my name on the cover, on the back of it… etc. But, here it is, sitting next to me on the desk – yep, still has my name on it.\
    I took a look through it, and it’s gorgeous. New Riders went full-color with it, and it’s just plain lovely. My chapter’s been edited to the point it actually makes sense, and the other chapters are stellar (I wouldn’t say anything if they weren’t, but they are really good). What I like about the book is it’s not flowery. There’s real actionable stuff in it, and advice for how to solve not only the technical challenges of a project, but the human ones. There’s a ton of good stuff in there, and I’m not saying that because I wrote a part of it (the good stuff is in the other chapters anyway).\
    I had a lot of help. Kevin Luman, Michael Richman and David Artz all sat through interviews (I’m sorry, guys), and Christopher Schmitt and Victor Gavenda (our editor) were always ready with an encouraging word or constructive feedback. And of course, Jen already puts up with a lot, with travel and long hours. She was very nice about letting me disappear for several weeks after getting home from work to go write.\
    I can’t wait to have people read it and see what you all think. A lot of smart people worked on it, and I think it’s easily the best writing I’ve ever done (and then edited even more to make it readable!). I’m honored that Christopher asked me to help out, and I’m pretty damned proud of the result.

  • Adapting to Web Standards: Going to Press!!

    the cover of Adapting to Web Standards - buy two or three copies!

    I just saw the e-mail today that the book I helped write is going to press on Monday!! It’s called Adapting to Web Standards: CSS and Ajax for Big Sites, and I wrote a chapter about AOL.com. It’s available for pre-order now, of course, and would make a great Christmas gift for your favorite web nerd – they might even like two or three copies (really, they might).\
    Writing the book (well, my chapter) was… difficult. I don’t think I’ll write another one any time soon, at least while I have a full-time job. It was a great experience, don’t get me wrong, and Christopher and Victor, our editor, handled all the hard bits. I’d always wanted to write a book, and am grateful that they gave me the opportunity to write a chapter for this one.\
    I can’t wait to hold a copy in my grubby mitts and hear from folks what they think of it (good or bad).

  • Web Standards’ Three Buckets of Pain

    I spent this week at the W3C’s annual technical plenary, which is a week of “discussing” the future of the foundations and future of the web. I spent the first part of the week in the CSS Working Group discussing CSS3 features and CSS2.1 issues. Tuesday evening and Wednesday were spent in the AC meeting and Technical Plenary day (everyone gets together in a big room for panel discussions and lightning talks about standards-related issues – my favorite day of the week). The latter part of the week I spent in the new HTML Working Group talking about a lot of issues I’m not up to speed on because I just joined the working group (but, of course, that didn’t stop me from jumping in).\
    Molly led a panel during Plenary Day called From the Outside, In: Real World Perspectives on the W3C with a handful of designers and developers who aren’t currently involved in the W3C (Aaron, Matthew, Patrick and Stephanie). The panel helped solidify a few things for me and I want to try to explore them in this post. The panel wasn’t bad by any stretch. I think it was brave for them to come into the “lion’s den” and give the W3C their perspectives. But, I felt that the way the panel was presented left people in the audience confused about the overall message, and exposes a huge gap between the W3C’s understanding of “web standards” and the web development world’s definition.\
    Before I get any further, I need to explain where I stand here. I have a foot planted firmly in both worlds. I’ve been building web applications for almost a decade and have been a fan of standards-based development since late 2001 when my blog validated as XHTML 1.0 Transitional. I’ve been a member of the CSS Working Group for about four years as well.\
    The complaints about web standards are varied and many, and the panel made it feel like they all fell squarely at the feet of the W3C. But, that’s just not the case. I think a lot of the problem comes from our (being the web development world) definition of “web standards” being almost completely different from the definition understood inside the W3C. To web developers the world over, “web standards” means: “What I have to do to get my page to look right in all the modern browsers.” The W3C’s definition is “the underlying specifications that implementors (in our case, web browsers) use”. See, the standards aren’t written for, or by, web developers. In the case of HTML and CSS, they’re written for and by the people who create web browsers – which is why they’re so hard for the rest of us to understand. The vocabulary is different. The requirements are different. There is a whole world of pain in store for the brave soul who wants to write a web browser – and it’s a uniquely different world of pain from someone (you and me) who wants to apply those standards to build a web page that will render in one of those web browsers.\
    For the rest of this blog post, anyone building a web browser is implementing the standards, and anyone trying to build a web application is applying the standards. People building web browsers have to implement parsers, renderers, conformance checks, error handling and all sorts of other nasty things to get a browser to function. People building web applications have to take the standards and apply them through an implementation (in our case, a browser). We’re not writing the parser, we’re writing the thing that gets parsed.\
    And there are our three buckets of pain:

    1. The Specifications
    2. The Implementations
    3. The Applications\
      h4. The Problems With The Specifications\
      The major problems I hear about the W3C and its processes are:
    4. It takes too long.
    5. I don’t know what’s going on or when we’re going to see the standards come out.
    6. Spec X is missing this, this and this!
    7. Developers and designers have no voice in the standards at all!\
      One, two and four are, or were, true. Number three is only half true most of the time. Every time I ask developers or designers I know about what’s missing from CSS, I always hear “I want multiple backgrounds and a real layout model. Oh, and border images!” Two of those are already implemented in Safari, and I’ll bet you Firefox will have them done shortly. They’re all in CSS3 somewhere.\
      Web developers and designers have more of a voice on the CSS Working Group than ever. There are currently three designers in the working group (two from AOL and one invited expert). The group is also working with the new CSS11 group, and is actively gathering feedback. The new HTML Working Group has several members who are web developers and over four hundred invited experts (who can’t all be building browsers).\
      The W3C is working very hard at opening up. It’s not there, and they’ll stumble, but the attempt is being made.\
      h4. The Problems With Implementations
    8. Microsoft took a vacation. IE6 has been out (and broken) for a very long time. We got complacent in our hacks and nonsense to work around its “quirks” and now those bad habits and hacks are getting stale.
    9. They don’t move fast enough! See number one. We’re tired of waiting, but laying the blame on the CSS Working Group instead of Microsoft. If Microsoft had been actively engaged in the Working Group this whole time, we’d be a lot farther along. It’s very hard to get to interoperability when the market leader is working on other things.
    10. They have bugs. Every piece of software ever written has bugs. Thankfully, bugs get fixed in the other browsers fairly quickly. Unfortunately, IE is now on a 15-20 month release cycle, which means we have a while to wait until we see things we need like display: table and probably 30-45 months until we can hope to see advanced layout or the grid implemented.\
      h4. The Problems With Applications\
      (this is going to be painful… just hold on – it’ll be over soon)\
      Our biggest problem as web developers and designers is the misunderstanding I pointed out at the beginning. We need to understand the three buckets of pain and what we can expect out of each one. There’s no reason to rush standards out if no one’s going to implement them. There’s no reason for us to try to use them until they’ve been implemented.\
      We have to admit that we made a fundamental mistake in how we advocated building things with “web standards”. As someone who’s done training for the last five years, this is as much my fault as anyone’s. We taught to the implementations. We never taught the distinctions between the specification and the implementation. We never taught that we were teaching an application of the standard and not the standard itself.\
      The hacks became the standard and not the exception. We taught without understanding the long term implications of teaching hack management instead of teaching the specification and the application of it separately.\
      h4. How do we move forward?\
      We need more developers and designers plugged into both worlds. To work on the specifications themselves, or even read and give feedback on them, you have to abandon any hope that this will be useful to you in your development world for three to five years. Once you do that (it took me two years to get that through my head), you’ll be much less frustrated, and might actually be helpful. To a degree, you also have to abandon your notions of how you do things today. When thinking about layout, you have to give up thinking that “float” is the best way to do it (because, please, it’s just not).\
      We need to reboot our perceptions of web development and start thinking towards the future. It’s a new world, and getting newer every day. Our best practices have to evolve – our disciplines have to evolve. We need to think about a world without IE6. It’s going to happen. We need to come up with better ways of building web applications. We need to come up with better ways of teaching the value of web standards. We need to do a better job of educating designers and developers about the consequences of building web applications. We told them all the good things that would happen when they did it our way, but did we tell them that hacks go away? Did we tell them that browsers evolve and that hack they spent all that time on to get things to line up in IE6 will go away some day?\
      I don’t think I covered everything I wanted to say. There are a lot of things swirling around in my head right now. I had my mind blown last week by this realization and it will probably take more thinking about it before it really crystalizes and I can really explain what I’m feeling. But, right now, this is it, and that’s as good as I’ve got: It feels like I’ve spent the last 7 years living a lie, but the truth is so much more interesting and complex than the lie ever was. It feels like a stronger foundation, but wider and darker in the corners, than the one I’ve been standing on.
  • That’s the Spirit

    This week has been difficult, to put it mildly. As you may have seen in the tech news (and hell, maybe the regular news too), AOL laid off a bunch of my friends this week. I’m still employed, but it’s never easy to see the company I’ve been a part of for twelve years shrink. I’m not sure what’s going to happen, but for now, I’m not giving up. I twittered last night that fighting is much more fun than surrender, and it’s true. Between the web standards stuff Kimberly and I started four years ago, to working on the stuff that’s come after it (the Cluetrain, Rails, etc), I’ve been fighting to “save” AOL for years. I’m not ready to give up on that investment yet.\
    This week has been all about mourning and trying to make sense of what’s left. I wasn’t going to write anything at all about the layoffs here, but I saw something today that was so unbelievably awesome, and says so much about the people who make up the company, that I have to share it. Upper management may change every year or so, but the people who work here are what’s always made AOL work and made it a fun place to work. Check out this video (the password is aollover and I found it over on Silicon Alley Insider):

    L’amour a la francaise from pyc on Vimeo.\
    I’ve been to that office. It was many years ago, but they’re great people, just like the great people in Dulles, Dublin, Mountain View, Columbus, Tucson, Bangalore and everywhere else we have offices (those are the ones I’ve been to anyway). I’m hoping that when it’s my time to leave, I can show as much class and heart as the folks in the Paris office.

  • The Internet Fast

    I’ve been stressed out a lot lately… and pretty consistently for the last two years. It finally came to a head this week, and I decided I needed a break from everything. So, I decided that yesterday through Saturday, I would try to live completely without the internet: no blackberry, no laptop, no wi-fi, no nothin’. Since it’s only Friday afternoon, you can see – it didn’t go so well.\
    I’ve worked for AOL for over twelve years. In that time, I’ve only been completely offline for more than twenty-four hours twice: first when a bunch of friends and I went to Carlsbad Caverns and none of us had laptops yet (this was 1998), and in 1999 when Jen and I got married and went on a three day cruise. That’s over eight years of pretty much constant connection to e-mail, IM, and everything else.\
    Back to the break… in the beginning of my internet life (1995), it was just e-mail, and not a lot of it. I worked with a relatively small number of people, I was relatively isolated within the company, and wasn’t involved in anything outside of work that would produce much e-mail. Then, came the buddy list and instant messaging. OK, two forms of interruption, but pretty much exclusively used for work and at work. Fast forward 12 years, and now here’s what’s built up in the almost thirty-six hours I was able to stay away until the DT’s got me and I had to check:

    • over 270 e-mails
    • over 2,100 unread items in my feed reader (from 581 feeds – recently pruned down from 680 – and I just marked them all read… didn’t even read ’em – it you blogged something you really need me to read, send me e-mail)
    • untold messages on twitter (I haven’t even checked… thankfully, I can ignore all of them and I don’t think anyone’s feelings will be hurt)
    • 45 Facebook notifications (also ignored, mostly because I don’t like Facebook)\
      I checked recently and I receive, on average, 21 instant messages an hour (that’s almost 200 during the course of my regular 9 hour work day).\
      If you figure that out over twenty-four hours and consider the last day and a half “average” (it feels like the normal flow), I handle over 1,700 distinct pieces of communication and information a day, and still manage to do my real job, which is not to just read e-mail, respond to IM’s and read feeds. This pace has only increased in the last five years, and doesn’t show any sign of slowing. It’s only getting worse.\
      I’m not sure what the point of this was, other than to document for myself how bad my information overload is and trying to explain to myself that it’s OK that I was overwhelmed. Dealing with this ever-increasing torrent of data every day for over a decade – it’s OK to take a day off. It’s OK to let people answer their own questions, let the world keep spinning while I take a day to close my eyes and read a book (I’ve been reading Pilgrim at Tinker Creek by Annie Dillard to try to cleanse my system from all the technical books I’ve been reading in my spare time… the most beautiful English prose I’ve read in a long time – a modern Walden).\
      I have another blackout day coming. Monday, I’m heading to London for the Future of Web Apps conference. I’m looking forward to the speakers, but, I’m really looking forward to the eight hours of uninterrupted (well, mostly) reading time on the plane where there’s no way for me to check my mail.
  • BarCampDC: The Kid Comes Along

    Youngest BarCamper
    \
    by Kelly Gifford

    (that’s Dr. Joe talking to Max)\
    Max and I went to BarCampDC this Saturday. BarCamp is an “un-conference” (no set schedule, everyone participates), and they’re held all over the world. This one was organized by Jason Garber, Jackson Wilkinson and Justin Thorp. They did a great job, and were cool with Max coming and participating.\
    I spoke on Rails, did the live coding demo I’ve done at other unconferences, and helped out in the portable social networking session.\
    Here are some links related to those sessions:

    • Ficlets, Rails and OpenID – I used this presentation during the intro to show off some of what Rails can do (also has some good OpenID info).
    • Tapping the Portable Social Network – Explains some of the concepts behind the prototype I put together, and
    • Portable Social Networks – The blog post that explains the prototype and presents the flow (and has a link to download the app).
    • The International Day of Awesomeness – Because I “sponsored” (on accident, I swear), I got to speak before one of the sessions. Of course, I spoke about The International Day of Awesomeness.\
      Now that’s out of the way, let’s talk about Max! When I originally asked Max if he wanted to go to BarCamp with me, I wasn’t sure he’d want to go. We talked about it a couple times on the way to summer camp and the more he found out about it, the more excited he got. I was excited for him to see me give a presentation and see what it is that I do when I travel. He had a great time. Everyone was really great with him. He was so excited to talk about Scratch and Hackety Hack and to learn from everyone. He was by far the youngest attendee there (I mean, Jason only looks 15). He was insanely well-behaved, and other than him clicking markers together a couple times or tearing paper, he was as well-behaved as any of the adults. He zoned out a little bit in the afternoon, but I think most people did.\
      On the way home, we talked a lot about what he thought of the day. Even after almost twelve hours of non-stop geekdom (we left the house at 7:30AM and this was at about 7PM), he was asking when the next BarCamp was going to be (in the last twenty-four hours, he’s asked me when the next one is about ten times), and asking me if I’d help him do a presentation on animation and using Hackety Hack.\
      Thank you to everyone who sponsored BarCamp, helped organize things, presented, and talked to Max during the day. I can’t tell you how cool it was to watch him talking to people and share his passion. It was great to share that with him, and to see him get out there. He said afterwards that he was a little shy in the morning, but that everyone was really nice. Max is an interesting kid, and I love seeing him learn and discover new things – and I love being able to share the things I’m passionate about with him.
  • My boys

    Kevin and Max spent Saturday at a computer conference-thingie. Max loved it. Much more than I was expecting. He did utilize the markers and paper I sent along though. He wants to present sometime on animation and scratch. I am not sure what computer professional would want to listen, but hey- go for it, kid. He came home all psyched to hop on the computer and get started with some new project but Kevin was too tired. This morning he woke up at 5:30 (maybe because Brian and I were already awake and making noise) and immediately went to the computer.\
    Brian and I spent all day Saturday gorging on preseason football games! Wheee. Brian wasn’t so happy with this, actually. Too bad, kid, you’ve got another six months of football to endure! I tried to teach him how to catch a football, but my boobs kept getting in the way of the appropriate position. Booo.\
    The other day I went clothes shopping for the boys and put the bags on the couch. Brian saw them and asked, “What’s this?” I told him it was some shirts for Max. Brian wanted a shirt too. Being awesome, I said, “I got you some too. Here they are,” and pulled out his totally cute new shirts. Brian flipped out! He started screaming and crying, “Too big, too big,” (which is what he says when he doesn’t like something). Jeeze, what a drama queen. He could give the people on Project Runway a lesson or two.\
    Last week Max asked for his first pair of name-brand shoes. Sniff. They grow up so fast. Since the shoes, Skecher Airators, were on super sale and available during the tax-free weekend, I decided to get them. He was interested in them because the supposedly keep your feet color by letting air in, or air goes out. Something. After wearing them for a few minutes, he was disappointed by the lack of air wooshing. I was thinking about taking the shoes back, since he wasn’t so keen on them. “They don’t do a thing,” he said, but I decided that it would be a good lesson that commercials aren’t so accurate. Ten minutes later Max said he wants Skech-Airs. Headdesk.\
    Brian’s started saying, “Yank you,” instead of “Go” for thank you. He also says, “Peek-a-you,” instead of peek-a-boo. Totally cute.\
    Last week the boys came home from Babba’s with a toy pet. It was an egg that when put in water, a little rubber lizard hatches. Since then, it has more than doubled in size. I am not sure if it is still growing or not. It’s kind of awesome. Max named it Buddy 2, after my dad’s dog. I want another one of these things so Buddy can have a friend. Currently Buddy is living in my large glass mixing bowl. I am not sure we have room for two. Hmm. Max really wants a fish tank, so Kevin and I are going to get one for him for his birthday (no one steal our idea!). I need to make sure the tank is big enough to house Buddy too.\
    Speaking of birthdays, Brian got screwed out of his big birthday gift. Kevin and I had decided to get him a little kitchen, but the store didn’t have the one I wanted. We then spent a few days checking out online stores and shipping rates. By this time, Brian’s birthday party was over and we just sort of forgot about it. Oops. The kids have way too many toys though. So many in fact that it is hard for me to go present shopping for them because they pretty much have everything- blocks, trucks, little people, etc. How many trucks do they really need? Plus, Brian only really plays with two marbles, two cars, and a handful of blocks all day long. This makes me feel not so bad about planning to box up half of their toys for storage and/or Goodwill.\
    Let’s end on a random note. I rarely agree with Heather Havrilesky’s Salon column, but this week she pimps the season premiere of Weeds (I stopped watching) with my all-time favorite quote:

    My all-time favorite is when Doug and Andy are getting high in the living room and Andy asks the housekeeper, “Lupita, settle an argument for us. What do you call the thing between the dick and the asshole?” She answers, “The coffee table.”

    Man, look at all of the tags on this post!

  • Art in Social Networking Video

    After our Art in Social Networks session at Mashup Camp, someone asked if Greg and I to recap the session. There is a lot more info on the wiki, and Myk O’Leary recorded the whole thing and posted it as well if you’re interested.