Someone linked to Stenomonkey and actually called it “clever”. See, you can do clever things with Dojo in only a couple hours (while jet-lagged and watching bad Italian reality TV).
Category: development
-
Conferences, Conferences
Just a little reminder… I’ll be moderating the How to Convince Your Company to Embrace [Web] Standards at SxSW 2006 next Tuesday. If you’re going to be at the conference, please show up, even if it’s just to heckle. We’ll have our presentation online by the time we actually sit down to give the panel (but probably not too much before that). If you’re planning on attending our panel, please leave a comment!\
~~Also, I just got the e-mail that Shawn and my proposal for X-Tech was accepted! That means that I get to stay in Amsterdam for an extra week after the CSS Working Group meeting in May.~~\
UPDATE: We’re apparently not presenting at X-Tech. I’m not sure if we got the wrong e-mail first, but it certainly looked like an acceptance notice, but then came another much later in the day saying our proposal wasn’t accepted. Oh well. We can re-submit for “late breaking”, but I don’t know that I really need to bother with it.\
UPDATE Part 2: I am presenting at WWW2006!! I’m helping Bert out on the CSS part with a presentation on architecting CSS for syndicated content (and for the site including syndicated content). It should be fun, and another chance to show off some of the cool stuff we’re doing over in AIM land.\
We also submitted a proposal for the Developers Track at WWW2006, and may be helping out with the CSS piece as well.\
I can’t wait for SxSW. I just hope this jet lag/sinus infection combo is better by Thursday. -
Since I Can’t Put Up Photos…
Look at Daniel’s – I forgot the USB cable for my camera at home. Silly me.\
I did document several of the courses we had at L’Ermitage du Riou, which was, as usual, amazing. We’re winding down, and will end up closing down the joint as one of the last two working groups still meeting. We CSS folk just don’t know when to stop.\
I have more stories, but we’ve just had a breakthrough that when it’s implemented will change the way we write CSS. Gotta pay attention!\
This isn’t it, but if you’re a designer or use CSS, please please please go read the new Advanced Layout CSS3 module and post your feedback. This module is very important, and could change the way we build web products if we ever get the browser folks to implement it. -
Accepting Small Progress Gracefully: IE7
Here I am again at the W3C Plenary, where I get to spend a week with the web’s big brains and soak in nerd soup. A lot of time has been spent so far talking about IE7 and its progress or lack thereof and the reaction Microsoft (and especially Chris Wilson and Markus Mielke) are getting from the web development community. Molly is here, and she’s especially worried about how poorly the community is reacting to Microsoft. And here I sit in the middle somewhere…\
I’m a standards geek, and part of me wants to kick the IE team in the shins for creating another browser that doesn’t at least get to the point where Firefox and Safari are. There’s a spectrum of standards support, especially as far as CSS is concerned, with IE6 at one end and Opera, Safari and Firefox at the other. I foresee all kinds of problems with IE7 situating itself right in the middle. It’s going to cause developers all kinds of problems, some of them of those developers’ own making, some because IE is cherry-picking CSS2.1 modules to support (and some CSS3).\
On the other hand, the practical side of me is happy to see any development at all out of IE. Progress, of any kind, is a good thing. The fact that IE7 will support selectors beyond the paltry selection we have now. We’ll have child and attribute selectors (finally!! Now we don’t need extraneous classes on elements), :hover on arbitrary elements and min and max width/height, which will all make building pages easier once IE7 overtakes IE6 in usage – sometime in the next five to six years.\
And there’s the rub. I’m impatient. I don’t want IE7 today, I want IE8 today. That it took Microsoft over five years to start working on the successor to IE6 is unforgivable. They abandoned the web development community and did what they could to kill progress in web development, whether on purpose or not, it doesn’t really matter. That we were able to do what we did, given the horrible state of IE6’s standards support, is impressive and we should be proud of it as an industry.\
Now that they are working on IE again, what should our reaction be? Should we be angry? Should we embrace them? Can we embrace them angrily? I think the time for anger is over, and as soon as the next beta comes out (which I’ve been promised will have the final standards features in it and all that will change are security features), it’s time to get to work.\
And for those of you who use standards mode and are complaining about having to change your CSS to change or remove the CSS “hacks” you used… you were warned a long time ago about managing hacks (at least in June 2004 by Molly). The fact that IE didn’t change in 6 years is really no excuse. Hacks are just that – hacks. They’re going to change. And, Microsoft is actually doing the right thing and not changing how pages are rendered in quirks mode at all. So, if you’re using standards mode, you should know what you’re doing. If you don’t, well, you’ve got at least six months to learn (I don’t know when IE7 will be out of beta, I’m guessing).\
It’s time to move from anger and denial to acceptance, even if it’s begrudging. IE7 will not get the market share that IE6 has. Firefox has 30% usage in Europe, and now over 10% in the US and growing. IE7 is not going to get the 90%+ market share that IE6 once had, just because it’s only on Windows XP SP2. This is a good thing for the other browsers, and a good thing for web developers, because I think the adoption rate for IE7 will be slow and gradual, which is a good thing.\
We can be angry. We have lots of reason to be. We can be angry about all the things that aren’t going to be in IE7. But, let’s at least recognize that IE is finally moving forward and that we think most of the things we want (display:table) will be in future version – that we hopefully won’t have to wait five years for. Microsoft deserves some credit for its new openness, with the IEBlog, their outreach at conferences and their work in the W3C. Embrace the change, get used to it, move on to acceptance and get to work (when the next beta comes out). -
Stenomonkey
I dread taking minutes at working group meetings because it usually means projecting a text editor which is hard to read for the other people in the meeting, and hard to edit for the minute taker. I’ve used IRC, but I hate that the minutes get polluted by the “back channel” discussion. On the flight over, I thought to myself, “Hey, I could easily make a little web app to do this.” Here it is. Everything is stored in the DOM, and there’s no save back to the server which is an issue. It would be nice to have a backend store for minutes to make sure there’s a backup in case of a browser crash, but I did this between the plane and jet lag. I also haven’t tested it in anything but Firefox and Safari. If it works for you, great. If not, sorry.
-
About The Headphones
Thanks to everyone who gave me advice on headphones. I realized that since I have a little time before my flight tomorrow morning, and that the west coast has Fry’s Electronics, I’m gonna go see what I can try out there. Why are there no Fry’s on the east coast? We’re stuck with Circuit City or Best Buy, which is why I buy almost everything electronic or computer-related online.\
Update: I ended up buying a little pair of over-the-ear JVC’s at Fry’s last night (Roger had to catch a plane, so we left a little early and went to Fry’s before dinner – Sylvia’s in Mountain View – awesome Indian food). They were cheap, but they’re not ear buds, and they’re small. I’ll let you know how it goes. I maybe I just need a bigger backpack… -
Changing Style Elements In IE
Everyone knows what I’m working on, right? Well, this is a little story I’m telling so I don’t have to remember it. I’m working on the generic style API so users can change stuff, and wow… I didn’t think it would be as painful as it was. What caused the pain? Oh, you should know by now that it was caused by Internet Explorer for Windows!! Hooray for the truly strange!\
The other browsers (Safari and Firefox, chiefly) did fine with removing the existing text node in thestyle
element, and replacing it with the new one. I tried using the CSS DOM, but that was a lost cause, so I wrote a simple CSS parser in Javascript (only about 10 lines) to throw all the selectors and properties into objects and then more functions to change, update, delete, etc, properties and update the associatedstyle
elements.\
What happened in IE? It blew up as soon as I tried to remove the child text node ofstyle
, or even setinnerHTML
. What did I have to do? I had to crawl the properties of that element’s object and find thestyleSheet
property, which is an object and has a property ofcssText
, which I can set.\
So, now my code looks like this (\_style
is thestyle
element,output
is the text I’m setting and yes, I’m using Dojo):<code>if ( !isIE ) { dojo.dom.textContent(_style,output); } else { _style.styleSheet.cssText=output; }</code>
I hope you never have to do this, but if you do, that’s how.
-
Mountain View: Day One Recap
Yes, I am in Mountain View, and I really wish I had more time to see all my friends out here (I’m especially bummed about not having time to hang out with my brother, his wife, and Sam. It’s just a two day trip, and it’s chock full of meetings, all about this. We did a big presentation yesterday about it, what’s coming (shhhh, it’ll be cool), and how the world can join in. It was extremely gratifying to see geeks get really jazzed about it. It proves that even though I can’t explain it worth a damn, we’re headed in the right direction.\
I’m having a really good dinner last night at Nola’s in Palo Alto, and laughed our fool heads off. We rehashed the “good old days”, talked about geek energy and how to harness it, and what it feels like to be working on something we can truly be proud of.\
I was talking to Joe afterwards about stuff we’d worked on before, the old projects that still hold a special place in our hearts, and I thought about this silly fulfillment system I wrote when I first came out to Virginia to finally become a “real developer”. It was a maintenance system. People submitted tickets, filled in a bunch of detail about the affected system, the problem, the request, etc. Then, someone got the ticket, did whatever was in the request and then closed it. It ran reports, was extremely flexible in setting up types of requests, etc. I wrote it almost 6 years ago, and thought it was dead. I hadn’t touched it in about five years and figured people stopped using it and forgot about it long ago. Then, I got an e-mail about a month ago (and an IM yesterday) about it, asking who owned it, and if someone could add a feature to it. I was stunned. This thing that I thought was dead and buried has been used every day for five years by a couple different teams. No one’s touched the code, cleaned out the database or anything in five years and it’s still running like a champ, taking requests, running reports, etc. I thought the thing I was most proud of was what I did on AOL Search, but I think I may have a new winner. Almost everything I’ve ever written has a fairly short shelf life between versions. This tool is ancient and still going strong, which not only scares me, but makes my geek pride swell.\
Today? We’re talkin’ modules, modules, modules and javascript. Oh, and between all the module talk, I have to figure out how to create CSS blocks on the fly in Javascript. I’m really close, but man, does that spec need some work. -
Announcing I Am Alpha
I can finally reveal what I’ve been working on for the past couple months that’s making me write all this javascript. It’s I Am Alpha, something kind of new and interesting for AOL. Why? AOL doesn’t do public development. We’re usually very close-lipped about what’s going on with a product. We just launch stuff on an unsuspecting public. We also don’t often foster any sort of interaction with the outside developer community. There are things like AOLserver that’s open source, and the new AIM plugin stuff is open to the public, but I can’t really think of much else we’ve done in the area. That’s changing, as of today, with this thing.\
What is it? Well I Am Alpha is just a prototype to give folks some idea of what’s coming, and to introduce our microformat for transporting modular content and the idea of creating modules for this new product.\
I think this is really cool. No one’s paying me to say it’s cool, either. I think getting more people to create microformatted content is great, and I think our microformat is pretty cool (don’t know what a microformat is?). I think some of the stuff we don’t have a live prototype for, like server-side modules is super-cool.\
It’s going to be a little rocky. We don’t have a lot of experience with the whole public development thing, and a lot of things won’t be public (old dog, new tricks), but we’re trying. We’re really really trying. We’re going to be using Dojo for our internal framework and for modules. We’ve released the microformat under an extremely liberal license, and with this alpha, are actively seeking feedback.\
It’s great to be involved in a product at AOL that feels so open, and with forward-thinking standards at its core. It didn’t take hours and hours of red-faced pleading to get us to create a microformat for modules instead of YATXS. It didn’t take kicking, punching and hiding bodies to get us to agree to create (as much as we can) valid, accessible pages. Of course, we don’t control what goes into modules, but we’ve set up the pages that will be saved (the current ones aren’t perfect or what’s going to be final, to be sure) will be valid XHTML, and we’re requiring that all modules are valid too.\
Oh yeah, and it’s the first public facing thing I’ve done at AOL where I was the designer and wrote almost all of the content. So, if it sucks, it’s my fault. I didn’t build the prototype, but I helped design the microformat, the server-side module process, and wrote 95% of the documentation. Hooray for flying under the radar!\
I’ll try to keep the posting about it here to a minimum. Mostly, I’ll be yakking about it over on the unofficial official blog. Come join in the fun! -
Most-Used Apps Of 2005
Molly did it, so will I. Plus, I need a break from writing about CSS. Why am I writing about CSS? You will know soon enough, my children, soon enough.\
I’m a Mac person. I think everyone who knows me knows this by now. So, it’s not going to surprise anyone that this list is full of Mac applications (and a web app or two).- Mail – It’s not sexy, but I get a ton of e-mail. Other than some quirks with the AOL IMAP servers, Apple’s mail app is awesome.
- Thunderbird – HA! Yes, another e-mail client! I use Thunderbird for all my personal mail (all umpty-billion accounts too). It’s a trooper and handles multiple accounts and the hundred or so filters I have with aplomb.
- iTunes – It’s on all day, every day I’m at work. I think I might use it even more than e-mail.
- Safari – I love how snappy it is (most of the time), and how intuitive and slick the tabs are. It’s my browser of choice for actually browsing the web.
- NetNewsWire – I read a lot of stuff that comes in through feeds, and there’s no better app on any platform for digesting a lot of feeds (442 at last count) quickly. It also does a fine job of grabbing podcasts.
- Adium – Yes, I work for AOL and I don’t use our own IM client. Adium just kicks too much ass, and our Mac AIM client is too damn old. Adium does everything, and like NetNewsWire, is the best IM client on any platform, hands down.
- Firefox – Yes, like my e-mail, I’m a two browser guy. For developing, there’s nothing better than Firefox. Between the javascript console and the web developer toolbar, it’s the best way to get my job done.
- A tie between Oxygen and BBEdit – I use BBedit for quick and dirty hacking, and editing non-markup code like CSS, PHP, Tcl, JSP or Ruby. I’ve switched to using Oxygen almost exclusively for writing markup. It has just amazing tools for writing markup, from in-place validation to code completion to attribute auto-complete, which is really nice. BBEdit was definitely the winner early in the year, but Oxygen has come on strong late.
- Transmit – Best FTP client ever, even better than WS_FTP Pro.
- Movable Type – Yeah, I use my blog a lot, even though you don’t see it all the time. I prototype a lot of stuff in MT that I would normally write from scratch. I just love the template tags.
- Instiki – I use it almost exclusively for presentations (with my s5 hack, but considering I’ve given over forty of those this year, I think it deserves a spot on the list.\
There you go. That’s pretty much in usage order. I consume a lot of media…