nolancaudill.com thoughts and whatnot

MeghanNature WalkWide openRundownBikeBike

New photos

After sitting on a few rolls of film for the past few months, I finally got them developed.

Check them out here.

Array

Deep City Records: Them Two – “Am I Good Man”

Really enjoying the whole Deep City catalog:

Shipping Software

Shipping ordinary software on time is damned hard. Shipping great software in any time frame is extraordinary. Shipping great software on time is the rarest of earthly delights.
– Jim McCarthy, Dynamics of Software Development

I received my copy of Dynamics of Software Development by Jim McCarthy in the mail today, and this quote was just sitting there on the first page.

I’ve shipped great software on time and I’ve shipped ordinary software late. This inconsistency to a logic-driven mind is maddening. I think I’m fairly decent at writing code, but getting the whole process to a point of repeatable success from a business standpoint is what I’m in the dark on.

Though my computer science education was fantastic in teaching me about logic and theory, the nuts and bolts of software engineering is something I am lacking. There was a software engineering course offered but I opted for the programming language design course, instead. I don’t regret that decision–I love programming languages–but  in the world of waiting customers and deadlines that come much too quickly, I’m having to play catch up.

So for now, it’s time to hit the books.

Dilbert

IE6 will never go away (it seems)

The Yahoo! User Interface team updated their Graded Browser Support and IE6 is still alive as an A-grade browser, and that doesn’t appear to be changing anytime soon.

Yahoo! Graded Browser Support

Yahoo! Graded Browser Support

The Graded Brower Support, or GBS, is the categorization of browsers into different levels that Yahoo! has agreed to support. An A-grade ranking means that the browser has a large enough user base, and that those browsers will receive Yahoo!’s highest level of QA and testing support, while the other levels receive little to none. This doesn’t mean that Yahoo! sites (or sites that use the YUI tools) will be broken in non A-grade browsers, it’s just that they won’t be QAed as thoroughly. Usually these fringe browsers like Chrome and Opera are more compliant to standards, and work automatically with valid HTML, CSS, and JavaScript. They don’t get the A-grade yet, mainly due to their small user base.

IE6 is still an A-grade browser, while they have plans to move browsers like Firefox 3.0 to C-grade X-grade status by the end of the year. This is amazing. For comparison, Firefox 3.0 came out about a year ago (ie, June 17, 2008), while IE6 came out in August 2001. When IE6 was released, the WTC towers were still standing, no one had seen any of Lord of the Rings or Harry Potter movies, George Harrison was still alive, and it remained to be seen what kind of president George W. Bush was going to be. If IE6 was a human, it would be starting the 3rd grade soon. To put it in web terms, this was 4 years before the first video was uploaded to YouTube, 2.5 years before anyone Facebooked anyone, and even 3 years before Google went public. The browser’s been out awhile.

2001: An Ancient Web Browser

2001: An Ancient Web Browser

The fact that Yahoo! has still shown a commitment to ensure that IE6 users get the best experience that Yahoo! can give them means two things — there are a still a lot of IE6 users and the company still makes money off of them. This study done 5 years ago (though still 3 years after IE6 came out) reported that IE users were 4 times more likely to click an online ad than Firefox users. Since Yahoo! is still courting to IE6 users, this must mean that those users are still clicking those ads.

At some point, Yahoo! and the web as a whole will have to drop their A-grade support for IE6. HTML5 and CSS3 are now ready to be consumed with Firefox 3.5, Safari 4, and Chrome 2.0 all available for download. This doesn’t mean that developers and designers have to completely break the web for IE6 users, but maybe these users don’t get the full experience that the new browsers can deliver. We can do what we can for the IE6 users, but also allow the newer browsers to take advantage of the new, exciting things.

I like the analogy that YUI has on their browser support page comparing the different browsers to televisions. You have TVs that handle the incoming signal differently, starting with hand-cranked survival radios that only pick up the audio, to black-and-white TVs, all the way to the 1080p Hi-Defs with millions of colors and surround sound. The broadcast stations send out the signal and your TV handles it as best as it can. No one is surprised when a black-and-white TV doesn’t have color and IE6 users shouldn’t be surprised that their favorite website doesn’t look the same as when seen in Firefox. As stated on the GBS page, “[s]upport does not mean that everybody gets the same thing.” This is a hard fact to digest for companies with a web presence and designers that believe in one true version of their art.

Hi-Def, 60's style.

Hi-Def, 60's style.

So, why don’t IE6 users upgrade their browsers? Simple — they don’t know what a browser is. This video asks random people the simple question “what is a browser?”. The people they ask get the answer (sometimes hilariously) wrong, but these people are not stupid. It’s just that what browser they use is not important to them. All they care about are the sites they can access with it. And you know what, they’re 100% right. It is just about the web. The reason that web developers and designers are so passionate about browsers is that we are trying our damnedest to make the most forward-thinking, interactive, immersive sites for these people, but we can’t. IE6 — and its large market share — won’t let us.

Good news though is that I think this will change soon and IE6 will be nudged to the door by its own creator, Microsoft. The reason that people still use IE6 is because it was already installed on their Windows machines, so the browser changes when Microsoft says it does. Microsoft will soon see what Google saw when Google decided to build Chrome. Google owns the web, and Microsoft owns the browser. Google wanted a piece of that browser pie, as it meant that more people would be enjoying the web in its full capacity, so they created a browser. Microsoft saw this plan and realized if they wanted a slice of the web market they were going to need to put a real contender  into the search market (sorry, MSN), and thus Bing was born.

If Bing takes off, and I honestly think it will, the incentive will be there for Microsoft to really encourage their users to take advantage of the newest version of IE, and finally put IE6 out to pasture.

* Few small edits for clarity.

Truth about Software

I spend a lot of my time thinking about software develoment, keeping up with what works for other people and what works for me. I’ve recently read Peopleware and Code Complete, and I’ve formulated some thoughts about software development and technical management that I’ve been meaning to write about. Hopefully, this copy-and-paste will get me going with that.

I found this printed out on Hacker News, and I think there is a lot of truth in it about the perceptions of software and its development.

The problem with IT, generally, is lack of respect. Because it’s something that looks easy and looks like something anyone could do, people don’t respect experience and talent.

For some reason this just doesn’t work in other fields. While everyone feels they can put a sticking plaster on a cut, they go to a doctor for more serious stuff. Any fool can build a garden wall, but if they want a tower block one hires an architect and a construction company and lets them do decisions.

Whereas, it’s quite common in IT for micromanagers to overrule the professionals.

It doesn’t happen in building. Managers simply aren’t allowed to say things like “Oh, I don’t think we should RSJs in those load bearing walls”. If the architect says they’re needed, then they go in. We also don’t hire doctors by picking the tools they’ll use. When you want a doctor to take out an appendix, you want a qualified general surgeon. You don’t ask them whether they prefer a #3 or a #4 handle on their scalpels.

And yet it’s pretty common to see projects which have picked a technology first (“Oh we’re going to use J2EE for this”) and THEN hire the team around that (“Wanted, tech arch, 5 years exp with J2EE, C , C++, JAVA, Perforce, Apache, Perl, Python.”) and only at that point produce the spec. And then if the job isn’t one the technology is suited for, that ends up being the developers fault and they’re the ones who work overtime to put that square peg in the round hole.

It’s scarcely surprising that a) almost nothing works properly, b) there’s constant chaos and that therefore c) almost no-one finds their work rewarding in ways other than money.

I freely admit that a lot of my time, I feel like some sort of thief. I sit in projects which are doomed. They’re more doomed than a plane that’s lost both wings and is on fire. I see the people around the project running about setting more of it on fire as it hurtles towards the ocean and removing more control surfaces and making it worse. And I watch developers switch in and out of seats as we trail wreckage and smoke down. And it’s always been like this. The project is a free-fall disaster before I join and after I leave and there’s just nothing, nothing, nothing I can do to rescue it at that point in time. And yet I’m being paid to be there.

And I feel bad about that. I feel that I ought to be being paid to achieve something. But usually I’m just being paid to sit in a seat in a vehicle performing a ballistic trajectory straight into its crash site. And even if I quit then the next thing will be the same and whoever takes my place in this seat will be in the same situation.

And this is not how I wanted to work. I wanted to build things that people wanted. Not turn up at an aircrash and fill a seat in it for a while. And while it’s financial fulfilling, it’s not very emotionally fulfilling.

Most bridges don’t fall down. Most patients don’t die. Most IT projects are a failure in one way or another. It’s like being a surgeon back in the days before anaesthetics or antibiotics. Most of our patients die… and that’s got to be bad for morale.

And I can’t help but think that this really has its roots in the fact that people think software is simple enough that they can exercise control over it at a level they ought not to be and that they also don’t want to pay what it actually costs. Architects generally don’t compete on price and you don’t get to tell architects that their idea of how strong structural steel is is an underestimate you can feel you can ignore in this project. But people time and time and time again pick the cheapest option for software, design it like they’d design a tin shack and then act surprised when the end results turns out to be flimsy tin shack instead of a tower block.

Originally from http://discuss.joelonsoftware.com/default.asp?joel.3.762361.7, it appears.

← Before