How to get a web development job at Critical Mass

For the last two nights, Critical Mass has run what are effectively recruiting job fairs over at the Roundup Centre.
They’re weird things. We’d done them before when we were recruiting for a planned move to Toronto (which sadly didn’t come to fruition, only because the potential client ended up staying with their incumbent agency). I didn’t do the Toronto sessions, but I’d heard they were both a great success and utter mayhem.
Continue reading “How to get a web development job at Critical Mass”

Give web developers respect

I cannot praise Jeremy Zawodny enough for having posted a very concise POV on respect for web developers.
It’s not like we’re a collection of haphazard Rodney Dangerfields — we’re just largely ignored. Web development isn’t “cool”. We don’t build business apps (though we could), we don’t deal with databases (though many of us know how), and we don’t build Flash applications (though some of us have the skills to make you think we did).
Yet we’re the ones who make the pages you see. We’re the ones who sit down and figure out how to make the CSS, JavaScript, and HTML work together in a choreographed ballet of client-side code.
You might not think about it, but some of those fancy sites you’ve used (Jeremy mentions a couple of them) are more than meets the eye.
You might not know that we’re here, but so long as you’re having a great web experience, you’re welcome.
Thanks for the notes, Jeremy! I’m sure there are a lot who appreciate it.

Google saves the day again

As if it’s not enough that Google Desktop regularly saves my heiny by finding long-lost files (I mean, really, why is it that Microsoft created two My Documents directories in XP, and then seems to randomly choose between the two?) or digging out an obscure email from Outlook (when you’ve got 100,000+ messages, a real-time index is a necessity). Last week, Google saved my butt again.
I was meeting up with Scott after the first day of Web Design World, where we’d go out for something to eat, chat, and catch up. (It’s been a couple months since he left Critical Mass for Yahoo.) Problem: I knew only one restaurant in all of San Francisco, and it wasn’t Japanese. Tradition said sushi.
Luckily for me, Amy knows San Francisco quite well. Or at least, used to. When I called her for a place to go, she couldn’t remember the name. Only that it was in Japantown, about a five minute drive from my hotel. I had no idea where Japantown was.
She had managed to give me a couple of hints. First, there was a “roof like a temple”, and it was near Geary and Fillmore. That was about it. Then, just before I hung up, she blurted out: “Sushi Buni”. It was supposedly the oldest sushi boat restaurant in North America.
After the last session of the day, I retreated to my room to wait for Scott (driving in from Sunnyvale takes a while). I dove into Google, looking for “sushi buni“. Nada. I tried “Japantown”. Gave me a little info, but nothing concrete enough with which to direct our evening.
I resorted to Google Local, looking for “japanese restaurants“. It gave me a plethora of restaurants, but nothing that seemed to fit the name of “sushi buni”. I tried several ZIP codes, each to no avail.
Yes, I’m a persistent searcher.
I switched to Google Maps, a service that continues to impress me the more I use it. I found Geary and Fillmore, though couldn’t tell I was around Japantown. This is where Google saved the day.
Just above the map search field is a link to “Local Search”. In a much poorer system, this would take you away from the map, and start you afresh. Google has the smarts to know that you just spent a lot of time localizing yourself already, and this is where you want to search.
“Sushi buni” still turned up nothing. But “japanese restaurant” produced a plethora of hits. Still none for “sushi buni”. There was one for “Mifune”, which seemed to me maybe the place Amy had been suggesting. It was in Japan Center, which she had also mentioned, and seemed like a likely choice.
Scott whipped us over there, and proceeded to investigate Japan Center. It’s a mall-like edifice with many stores and several restaurants. Part of the complex includes a “roof like a temple” — a small pagoda in the open square on top. We had to be in the right place.
As we walked into the complex, we passed by several stores (all closed) and several restaurants (all open). We found Mifune, but determined that it wasn’t what we were looking for. Doubling back, we stopped at the only sushi boat restaurant: Isobune. The first sushi boat restaurant in North America. (“Isobune” means “canal boat”.)
Why didn’t this show up in the results? Google’s great, but it’s far from perfect. The website for Isobune is for the Burlingame location, and not much exists for the Japan Center location. Hence, excluded from the results. Without Google, though, I doubt we’d have found it.
For the record, Isobune is neat, though the boats move a little too fast, and the J-Pop wears on you after a while. But I was there to visit with Scott. It could have been a Bee-Gees reunion for all I would have cared.

Blogs as a content management system

I’ve been blogging for a number of years now, going at it hand-to-hand combat style until about a month ago, when I took the bold leap to using WordPress.
The decision to switch was made for two reasons. First, I was having major problems trying to keep up with the level of content. I was writing entries that were on average 2,000 words a shot (with some up over 10,000). Try writing an essay like that every few days. Sure, you can write about what you know, but it still takes time.
And the content was rarely what I’ve been wanting to focus on. It was mostly events in my life — boring and dreary to most. What I was wanting to do more of was the ranting about things that I’d only had a chance to do once in a while. Such a change requires a complete break from the old.
The second reason for going to WordPress was a desire to get away entirely from the creation and management of files, and more to the creation and management of content. I couldn’t care less for the structure of the directory system, so long as people are able to find and use the content.
It was about then that I had the epiphany, something echoed by Molly Holzschlag during a conversation we’d had during our run to lunch at Web Design World, and again in her “The How and Why of Blogging” session. So at least I know I’m not on crack.
Here’s the simple version: Blogs and CMS (content management systems) have far more in common than people even realize.
Here’s the more complex version: Blogs are CMS. For those of you who’ve been using tools such as TypePad, WordPress, and Movable Type, you already know what I’m talking about. For the rest of you, there’s a little something to be learned.
There are three tiers that classify most content management systems. (CMS Watch classifies them as Enterprise, Upper Tier, Mid-Market, Low-Priced, Hosted, and Open Source.) Many in the CMS field generally ignore the blog software as being too much of a point solution to do anything particularly useful.
The Tier 1 systems are the 800 pound gorillas of the industry. They include Vignette, Interwoven, and Documentum. Licences start at US$300k and go up … fast. Unless you’re dealing with huge amounts of content and have staff whose sole responsibility is the creation and maintenance of that content, chances are this is something you can skip right over.
Divisions between Tier 2 and 3 I don’t fully understand, nor do I pretend to. I’ve read materials and talked with representatives from companies that place their products in both categories, but the product set isn’t comparable. Microsoft’s Content Management Server seems to usually fall into Tier 2, as does Hot Banana. Yet Hot Banana is very close to Marqui, which seems to be Tier 3. Not to mention the near-countless other applications that get thrown into the mix.
What about blogs? Tier 4, if such a thing exists. I don’t put them in the same class for one basic reason: a lack of workflow. Blogs are meant to post information, though they’re often personal in nature. In a proper CMS, there is an approval process, where the creator is rarely the one who approves the final version for public consumption. In a blog, the author is also the approver.
Aside from that key distinction, the two systems are very similar: an interface for handling content, a repository for storing that content, and a mechanism for retrieving that content. Vastly simplified, blogs and Tier 1 systems are almost the same.
And that’s where I’ll stop the comparison. Because blogs are not Tier 1, nor will they ever be. If WordPress (my blog engine) were to move to that level of functionality, it would cease to be blog software, and become something else. And it’s the simple nature that makes blogging not only attractive, but powerful.
For large corporations, blogs are a novelty. Even though GM and Boeing have high-profile blogs by high-ranking executives, they are marketing tools. Smaller companies, though, could take advantage of the simpler nature of the blog tools by using them to publish their websites.
The benefits are clear: centralized data management, simple interfaces, control over presentation, easy setup and maintenance, and next to no cost. Forget the US$300k licence fee: WordPress is free. You pay for the bandwidth.
Versioning? No. Approval chain? Uh uh. Editorial control? Only if you show the content to an editor first. Does a small company or organization even need all that, though? Chances are, not. Most small institutions have simple needs, nothing even remotely close to what Tier 1, 2, or 3 systems provide.
The next wave of CMS is just about to roll in: blogs as a serious content management system. You won’t just see it sending out interesting comments. You’ll see it managing content in small, simple, and highly effective ways. Those who master the blog CMS will find site updates much easier, and will adapt to changing business requirements much more readily.
If you are a solutions provider looking to help a client with CMS, consider your friendly neighbourhood blog. You might be surprised what you can do.

Don't use in your code

Many years ago, I was turned onto XHTML. Admittedly, without a full understanding of why. At the time, I was hardly in a place to object or complain, and did as I was told.
In the years since then, I’ve come to appreciate the reasons: cleaner, tighter code; better compliancy with standards; better semantics; and most importantly, separation of structure and presentation.
One of the things that XHTML does well is drop support for presentational tags, such as bold, italics, and my personal favourite, font among many. Okay, yes, technically they’re still in the XHTML 1.0 specification, but they’ve been deprecated. That’s enough for me to call them unsupported.
Right now, the
tag is still supported, being wholly valid. For the last few years, I’ve sat on the fence with what to do with it. According to the W3C, who defines this stuff, it’s good. So if I’m to follow the rules, I would allow use of br.
After today’s session in “HTML to XHTML” (with Molly), I had a bit of a revelation that really sealed the deal for me. As much as others love br for solving problems, there is really no reason to use br, except for legacy reasons. Otherwise, I think it’s time for br to be retired from the active tag list.
What was the revelation? Show me the semantic meaning. Every “good” tag in XHTML has semantic meaning, offering more to the structure of the page than the content it contains. For example, p is a paragraph — there’s nothing else it could be. br is a line break — a presentational construct, nothing else. There’s nothing else it could be.
Now I know that argument isn’t wholly suitable. Under that same argument,

would be removed from the list as well -- it doesn't offer any semantic meaning, as it is just a block-level element for breaking up the document. The same goes for .So maybe it's more than that. Maybe we need to consider tags in terms of semantics and document construction. That would allow most tags, with three exceptions: br, object tags (object, embed, img), and hr.
The object tags we have to allow -- they're partly presentational, but they do include content. Naturally, this means an extension of supported tags to include:

  • Semantic
  • Document construction
  • Content objects

Now I just seem to be finding ways to avoid including br. To a degree, I am, mostly because I want to see its use terminated. I know there are proponents out there who still think br has value. However, in places where you need a line break, it is usually because of formatting.
CSS handles the formatting now -- there's no reason to insert a tag to handle that aspect. So what if you need to create a series of individual lines, like with a poem? br would be perfect for that. That might be a reason for a specific XHTML structure, as that kind of content would require different semantics than regular structures (such as paragraphs).
Mind you, this also brings hr into question. Like br, this seems to serve only a presentational purpose. Yes, you can style it through CSS, even make it disappear. What is its purpose from a semantic perspective?
So br is finally off my "supported list" (just gimme a while to modify the WordPress template to remove it from the rendered code), only to be replaced by hr. Any votes with what to do with it?

Writing HTML like it's 1993 with Molly

Speaking of bugging, I ran into Molly again as I left Dave Bowman‘s presentation for lunch. (I swear Molly, I wasn’t waiting in ambush for you!) I had meant to ask her this question before Dave’s presentation, but we broke off as not to miss too much.
Some time ago, Scott had the luxury of seeing a presentation by Molly and Eric Meyer at Yahoo. He wrote about a quote they’d read off:

If you’re writing HTML like it’s 1993, you’re doing your job.
Eric Meyer and Molly Holzschlag

Molly had read [[Writing HTML like it’s 1993|my blog entry]] about it, noting that I’d “taken them to task” over the idea. Admittedly, I felt a little low — who am I to be slagging two of the major standards gurus? I never meant to sound like that! But I can certainly see why I could be coming across as, well, an ass.
The issue I had with the quote is that I don’t want people, especially folks who are trying to encourage others to develop in a certain way or who have previously used tools and are now hand-coding, to do things the wrong way.
For the record, and this was straight from Molly’s mouth, the idea of writing HTML like it’s 1993 is more of a joke than a suggestion. The core idea, however, is still correct: write a document as it was meant to be written. Don’t try to infuse layout or presentation into something that shouldn’t have it.
That’s the problem with a lot of so-called developers out there. They create documents laden with reams of presentation that does nothing for layout, confuses search engines, ruins accessibility, and ultimately causes problems for users (although it’s easy to argue that it shouldn’t). If you reset the clock to an earlier period, before all of this garbage was even possible, there is hope.
That spawned off a long conversation about backgrounds, blogging, and education as a necessity within our field as we waited for lunch. Like I said, Molly’s a great person to talk to. If you ever get a chance to meet her, I highly recommend it.
And sorry, Molly, for sounding like a jerk. At least you know now where I was coming from.

When does science go too far?

Physicists in New York working on the Relativistic Heavy Ion Collider (RHIC) have created what they believe is a minature black hole.
For the record, this wee beastie lasted 10 million, billion, billionths of a second. No threat to anyone or anything but itself. It collapsed and vanished.
This, however, worries me. It worries me because there was success. There was success in creating a black hole. I don’t know if this was the goal of the project, but you can be assured that others will try to repeat the scenario, on a larger scale.
And that’s when things will go terribly wrong.
Don’t get me wrong, I have a great deal of faith in science as a whole. However, one failing of science has been the ability to take a step back and ask “why?”. As in, “why are we doing thing, what are we trying to achieve?”
I honestly feel these questions aren’t asked enough. We’re playing with forces we claim to understand. We don’t. We can’t. There is no black hole anywhere near in our solar system to observe. As it stands, it’s hard to observe black holes at all, let alone a the distances we seem to be finding them. Stephen Hawking‘s gone a long way to make calculations about black holes and theorize about their behaviours.
Again, it’s all in theory. None of it has been utterly proven. And we’re now playing with a fire that can be far more dangerous than any nuclear device. When humanity started playing with that toy back in the mid-1940s, we did a lot of very dumb things simply because we didn’t know any better and didn’t stop to ask the right questions. Many lives were lost before the reality was fully understood.
We don’t know what the threshold is for a black hole. How large does it have to be to establish itself for longer periods? Hawking believes that black holes eventually dissipate, radiating off the mass they collect as energy. But how long does that take? How large does it have to be to affect the environment around it?
I doubt anyone can answer these questions. And no doubt, the reason for creating black holes will be to answer these questions. The question I ask in return:
What will you say when people die?
That’s what will happen. Some of science’s most radical advances (especially with radiation) were gained at the expense of human life. Science becomes too obsessed with finding the result than how to walk the road. Yes, sometimes you do need to sacrifice a few to gain a better benefit for the whole (the needs of the many must outweigh the needs of the few). What happens when the subject of experimentation causes the extinction of the whole?
A little reactionary, perhaps, but I offer you this thought: We can stop a nuclear reaction gone awry. How do we stop a black hole?

Microsoft needs to stick to standards

When someone decides to stay away from a defined direction, ignoring both precendence and the collective good, they are considered to have gone rogue.
Microsoft, bastion of monopolistic behaviour in the software world, is known for being somewhat rogue. They defend themselves by saying they’re blazing new paths. This time, they’ve gone too far.
Internet Explorer 6 was released in October, 2001 to much fanfare. The hope was that IE 6 would be the one to correct the errors in IE 5.x, some of which were horrible. Sadly, IE 6 failed to live to many expectations, and the web development world would have to wait until future browsers (such as Firefox) to find stronger support.
In the last year, we’ve seen the release of Firefox, and it’s been good. We have much better (though still not perfect) CSS support. This has allowed us to start thinking about ditching the older code bases and concentrate on the standard development practices we want to use.
Microsoft has allowed Internet Explorer to wane, following up only with security updates, and no new version to correct the errors of yore. Naturally, the news that IE 7 (aka “Rincon”) is coming down the tracks has been met with a great deal of interest…
…and a little too much dismay. It appears that despite all the progress towards supporting CSS Level 2, Microsoft might decide not to completely support it.
This little statement has left a lot of us scratching our heads. Why the heck not?! You’ve got more than enough time to get it right (correction: you’ve had more than enough time), you’ve got a strong development team, and for crying out loud, you helped define the freaking standard in the first place!
(For the record, Microsoft is a member of the World Wide Web Consortium, and Microsoft employee and web development guru Tantek Çelik was one of the editors for CSS Level 2.)
Let’s not forget that CSS 2.1 has been around for over a year, and CSS 2.0 was released in May, 1998.
Is it really that hard to implement standards correctly?
The single biggest fear I have is that they’ll release another browser that requires another set of esoteric hacks to get layouts to work properly because Microsoft refuses to follow the CSS specification properly. Sure, they fixed the box model, but that’s basic-level stuff. Relative layouts introduce a whole new world of pain.
As a web developer, I don’t want to see any hacks at all. I want something that is clean, something that interprets CSS the same way as Firefox, Safari, and Mozilla. They’re compliant. Why can’t IE be the same way.
Throw in your proprietary extensions. Go nuts. I’m sure someone will find them handy. But for the love of all things standard, can you please support the existing specification properly? And in its entirety?
(Oh, and would it behoove you to throw in even just a little CSS 3 so we can start using that, too?)
In the meantime, HÃ¥kon Wium Lie and the Web Standards Project have announced Acid2 to help push Microsoft to do the right thing. The rest of us in the Web Development biz should unite behind them and help.
[Update: 18 March]
An interesting little note came up on Microsoft Watch. It seems that a few insiders claim that CSS 2 is “flawed”, though they fail to indicate how. As CSS 2.1 is still only a candidate recommendation, Microsoft seems keen to continue on its merry way and do what it wants to.
Just a thought on that, Microsoft… Netscape tried that once with Netscape 4. Hopefully, I don’t need to elaborate.

Canadian airlines need some common sense

Today, early in the morning, JetsGo pulled the plug. I’m not surprised, really. They were an okay airline, not unlike WestJet, but they didn’t have the following WestJet has. (There’s Deadheads, and then there’s Jetheads. I think the loyalty is about the same.) This is why WestJet has survived against the 800 pound gorilla of Canadian airspace, Air Canada.
This isn’t the first time this has happened. And it won’t be the last. Air Canada has far too strong a hand for such a weak airline. Thanks to our Federal Government being far too kind to this venture, they’ve been allowed to rack up insane levels of debt, make unbelievably idiotic decisions, and still survive. Any private concern would have folded a decade or more ago.
Let’s skip back 10 years. There was an airline called Canadian Airlines. They were the darlings of the Canadian airline industry — amazing service, good prices, decent routes. (They were a combination of Canadian Pacific Air Lines, Pacific Western Airlines, Eastern Provincial Airways, and Nordair.) I liked them. A lot.
Air Canada didn’t. They were the direct competition, and regularly won out against Air Canada for prices. So Air Canada played their trump card — government support — and did something any private company couldn’t have done. They cut their prices. To the level of losing money, and lots of it.
Canadian tried to fight back, but because it was a private company, subject to the reality of the world, eventually started to suffer. I witnessed this every time I flew. First it was the food quality. It went from great, to decent, to passable, to barely there. The last time that I flew with them, I think I got a granola bar. It weighed on the staff, who liked working for that airline.
Canadian was eventually forced to sell itself to its competitor, Air Canada. In a seemingly petty final backslap for daring to challenge the King of Canadian Airspace, Air Canada turned the Canadian Airlines assets and staff into its cutrate airline, Tango. The former Canadian staff are a justifiably bitter lot, and I’m unable to fly Tango as a result.
Canada 3000 was a bulk carrier. My dad used to call them “Cattle Car 3000”. They weren’t the best airline to fly, but they were the cheapest of the lot. They only flew on certain days and on certain routes. But they supported the charter travel industry quite well, and they seemed to thrive.
Until Air Canada decided that it didn’t like Canada 3000’s practices. So they went after them. Canada 3000 was small potatoes. They didn’t offer any threat to Air Canada. Didn’t matter, though. Like Canadian Airlines, Canada 3000 tanked because it simply couldn’t compete.
Air Canada has developed a fairly effective tactic of taking out domestic carriers. First, there was Tango, the remnants of Canadian Airlines. This was Air Canada’s first attempt to try and take out the other domestic carriers (mostly WestJet). When this failed to acquire enough of the airspace they wanted, another kid entered the field: Zip.
Zip was the cut-cutrate airline. They were to be the WestJet killer, it seemed. Maybe they had some success, though, as they succeeded in driving prices even lower. It doesn’t seem to be around anymore, though. (Could it be they finally be getting wiser?)
Then there’s Jazz, the regional carrier. By “regional”, that means “flights to backwater areas of the country that are better served by independent regional carriers”.
Basically, Air Canada has done an excellent job of spreading itself thin. It’s like when you pull Silly Putty too far apart, and gaps start to form where the putty can’t hold itself together. This is where all the money seems to go, I think. And when the gaps become too large, Air Canada goes back to the government for help.
With the fall of JetsGo, it’s time that Air Canada was cut loose of the Federal umbilical cord. It’s time that they had to suffer the slings and arrows that everyone else does. It’s time that Air Canada actually starts to compete with other airlines, rather than drive them out of existence.
In my opinion, here’s what Air Canada should do: spin off Jazz and Tango (Zip’s gone, so it seems, so no worries there). Let them either survive or die off as they should, not protected by the Mother Ship. Then Air Canada should drop its domestic flights, save for the long-haul ones (Montreal/Toronto – Vancouver, Halifax – Vancouver) and concentrate on international. As an international carrier, Air Canada is great — I love flying them.
Domestic, I fly WestJet.

Cheap music will save the music industry

The dinosaurs died off because they couldn’t adapt. They couldn’t evolve fast enough to cope with a rapidly changing environment. As a result, “dinosaur” is often an apt description for any entity unable or unwilling to change, and one that will face extinction due to changes outside of its control.
Such is the case with the music industry.
For years, and particularly in the United States, the six companies that control virtually every record label you have in your collection — no matter how edgy or minor they seem — have had a stranglehold on how things are done. Their lapdog pitbull, the RIAA, makes sure that people keep in line.
Well, that’s what they want you to believe, anyway. Truth is, the music industry is losing control every day. They don’t have a monopoly on control. They used to, before personal recorders were invented. First, it was cassette tapes (yes, there was reel-to-reel, but that wasn’t practical for the average person). That caused a murmur.
Then there were CDs. That got active discussion, to the point of having levies to collect fees to compensate the music industry for perceived losses due to pirating perfect copies.
Then came the internet and MP3s. Panic has ensued.
Technology put in the hands of the public changes everything. It changes how major corporations work. It changes how public opinion can sway governments. It changes how we perceive one another and how we affect our global society. For the music industry, technology went from being a splinter, to a thorn, to an amputation.
We’re watching the Black Knight from Monty Python and the Holy Grail, having been thoroughly trounced by Arthur, screaming that he’ll bite our kneecaps off if we don’t listen.
We’ve stopped listening. But only to the music industry — we’re content with listening to music. And we want it on our terms, not theirs.
File sharing was the first step. We all know about those lawsuits. Apple and several other companies came up with online stores for selling music at about a dollar a download — $10 for your average 10-song album. Not too bad, since we don’t have to find a store that has the most recent album in stock. But is the price right?
Sandy Pearlman doesn’t think so. A veteran of the music industry himself, he’s advocating songs for $0.05. Yes, five cents. Each, of course. Two entire albums (average length) would cost you a dollar.
This is what will save the music industry. They just have to evolve to the new environment. No matter how hard the RIAA tries, no matter how many lawsuits they file, no matter how much lobbying goes on Capital Hill, the music industry is doomed without change. File sharing will continue. Technology will advance and come up with something else. There will always be another Napster or Kazaa.
The barrier, which the music industry seems to ignore, is cost. Albums are expensive. New ones run about $17 before tax, at least here in Calgary. Okay, yes, Universal Music got smart and dropped prices to about $10-$12, but that’s still not enough. People want convenience, and you want the ability to make money.
It’s economy of scale. I ranted about this when I [[Movie Ticket Prices and Acts of Piracy|complained bitterly about the price of movie tickets]]. The movie chains in Canada sort of got around this by disposing of matinee and Tuesday night cheap movies, and dropped the prices across the board by about $3-$4. It’s still high, but it’s better. I’d love to know if the tactic has worked and profits have gone up.
Music and movies are both entertainment, but they are not the same thing. If nothing else, the last few years have proven that users want individual songs, not entire albums. We’ll compose our own, thank you very much. We’ll load them onto our portable music devices and play them in any order and combination that we feel like. So why would the industry think we still want a smorgasbord when all we want is a finger sandwich?
Economies of scale, folks. That’s what it’s all about. Yes, profits would initially drop because $0.50 is a LOT cheaper than $17. But if you sell 25 times as much music as a result (keeping the theory that music swapping would go down), then where’s the problem?
Okay, yes, this is all theoretical. But the concept has been proven time and again. The music industry just needs to take notice.
Or face extinction.