Archive for March, 2010

To-Learn (As Opposed to To-Do)

Monday, March 22nd, 2010

I caught up with my reading again.

With nothing on my mental To-Do list (except such vague ideas as ‘work on something’), I’ve had the opportunity to do random stuff. I picked through my To-Read bookmarks, where I put everything when I was swamped with reading. It turns out a lot of that becomes completely useless to me, after reading a thousand other things over the last few months, so most of it can be deleted. Other things required me to have time in abundance, so that I can research some topics and possibly apply a few ideas.

While I was doing that, I decided that the only way I was ever going to learn the stuff I didn’t feel comfortable with was if I spent some time using it.
I want to know absolutely everything about HTML, but I don’t even know about half of the elements and attributes. So, I’m going to use it all; I’m going to memorize the big list of things (199 elements, at the moment).

I’m currently going through a whole smack of W3C specs, and a few Wikipedia articles. I’m going to find every proprietary tag I can, and try to find out which browsers use which.

You see, I constantly feel as if I have nothing to contribute. I don’t have any opinions of my own, and when I’m reading about all sorts of HTML things and the authors of those pages ask questions, I’m never able to add anything they don’t already know.

Things I need to know:

  • How browsers work, on the code-snippet level
  • All the differences between at least the main five browsers
  • All the differences between versions (Firefox 2, for example, doesn’t support display: inline-block)
  • What the heck all these RFCs are
  • The ability to quote an RFC’s requirements
  • The current issues in the HTML5 and WHATWG working groups
  • All the different types of ‘accessibility’ (blind, paraplegic, cognitive)
  • User psychology, UX, and other human-brain things
  • All the different ways to do things (javascript, server-side, different languages)
  • Different ways of coding (lisp-style, queries, procedural)

I need to learn the internals of:

  • JavaScript
  • HTML
  • PHP
  • Perl
  • Java
  • C
  • Ruby
  • Erlang
  • Clojure

Where I’m at right now:

  • I know roughly how browsers do what they do
  • I know some obscure browser trivia
  • I’m part of the W3C HTML5 lists, and am trying to keep up-to-date
  • I’ve got a base in A11y and UX
  • I know a lot about HTML
  • I’ve got some Java, PHP, and JavaScript under my belt
  • I can name a good deal of the more obscure browsers

I’ve still got a long way to go.
I want to teach this stuff, at some point. That means I need to know everything. All the tiny, obscure details. I need to know that the SVG 1.0 spec says that negative attributes are an error, while the 1.1 spec says that negative attributes are ignored.

It’s kind of funny how things go. My whole life, I loved computers. I wanted to design games, when I was young. I went into programming in high-school. I took a computer-based diploma program in college, and graduated in 2007.

I remember my online journal, which I created in 2005. I had no idea how to make links, or emphases, or any other stylization. But I learned how to make links, and then how to embed images. I took a class on HTML, and then one that included CSS, and then I made a couple half-hearted websites.

In 2009, I abandoned almost all that programming stuff and flew headlong into HTML and JavaScript and CSS and websites. I spent a great deal of that time designing, rather than programming.

When you find something you want to do, you’ll notice. But you won’t know what you want to do until you find it.
So try everything. Find what you want to do. Then learn everything you can possibly learn about it.

Internet Explorer Drama… 9.0!

Saturday, March 20th, 2010

With the latest IE9 announcements, designers and developers have been going mad with what one might call Internet Explosion.

Stuff like the following: (not real quotes; just paraphrasings)
“No!!11 Just stop developing IE!”
“Only Acid3 score of 55/100? Other browsers did that YEARS ago!”
“It’ll be five years behind!”
“We’ll have to support FOUR browsers!”
“Why don’t you use webkit; Trident is dead.”

People are proving to be extremely closed-minded about IE. What I find very ironic is that a lot of them say things like, “MS, stop developing IE!”
That happened. They stopped after IE6, right at the end of the Dark Ages. And you see what life became?

About five years later, they picked up the pieces and race to bring IE into the future. IE7 is still annoying, but IE8 (released in early 2009) is a perfectly good browser for its time. IE9 should be competitive, with basically everything being clamoured for today.

A few misconceptions

There have been a host of ill-conceived arguments. I’m just going to list every correction I can think of:

  • Acid3 has little to do with compatibility. It tests edge cases, in a sort of wish-list for developers. It can be important for high-level cross-browser online applications, but you really wouldn’t tell a difference between browsers in a regular web-page.
  • Firefox has historically had a fairly ‘low’ Acid3 score, with 71 in Fx 3.0. The Firefox team has even said something like, “We aren’t going to bend over backwards for it, because it’s not really what we’re aiming for.”
  • IE8 is soaking up both IE6 and IE7; and you don’t have to ‘support’ IE8 in the same ways as IE6 and IE7, any more than you have to ‘support’ Firefox or Safari or Chrome. Things tend to test pretty well in them, by default. IE9 will be similar.
  • There is a non-negligible percentage of users on Firefox 2, Firefox 3, and Firefox 3.5. Nobody is complaining about supporting four different versions of Firefox. Thankfully, Fx2 is almost dead.
  • Even two years ago, CSS3 was nearly unheard of, and nothing had HTML5 features. Now a browser with border-radius and HTML5 video is five years behind?
    The things we’ll be deciding in the next year likely won’t find their way into the final release of IE9; but CSS3, HTML5, SVG, and various other standards we never ever expected to find in IE are already there, with more to be added. It’s coming along.
  • Actually, IE9’s current compatibility score, as counted by the When Can I Use charts, is similar right now to Firefox 3.0’s July 2008 release — less than two years behind, in the context of every toy we’re asking for as developers.
  • Trident is fine. When we speak of the Trident layout engine today, and we’re talking about IE9, then we’re talking about Trident in IE9, and that’s a perfectly fine engine. Overall, it’ll be lacking some features, but will not be holding itself together with duct-tape and paper-clips. There’s a difference.
  • As a company, Microsoft has gone through some huge changes in its history. The Internet Explorer development team isn’t the same team who gave us IE6. Don’t harass them (the development team) for things they couldn’t have possibly helped.

Almost every current browser team has its demons to face. IE is no different, but we should look to the future with optimism. Help where we can, and condemn where we must, but don’t frivolously argue about things that aren’t relevant to today.

And maybe help IE6 along by preaching Progressive Enrichment, hmm?

Gross People

Wednesday, March 17th, 2010
hey man great post, if you get more than 500 hits per day, maybe we can link to each other or something, drop me an email.

It looks like a real blog, too. Ugh.

There’s a distinction between open-source, open-web developers and web-molesting money-makers. I’m one, and not the other.

I know I come across as prudish by posting this, but it’s just such a clash of personal ethics. He’d inconvenience other people for his own gain.