HNHacker News
TopNewBestAskShowJobs

mkmcdonald

129 karma · joined March 5, 2012

submissionscomments
mkmcdonald··on Kogan imposes a tax on IE7 shoppers
The objective of testing on older browsers is to break feature testing logic.

For example, Opera 6 has no DOM Core implementation. Ergo, I use it to test code that uses the DOM Core to observe graceful degradation. This enables the code to be "future-proof", or compatible with past, present and future browsers.

mkmcdonald··on Kogan imposes a tax on IE7 shoppers
I don't write a single line of code that caters to one browser. This is where so many people miss the mark on understanding how I develop.

I test browsers in my spare time to discover how to degrade for them. I don't "bend them to my will"; I just use standards-compliant development with proper feature detection.

mkmcdonald··on Kogan imposes a tax on IE7 shoppers
I realize that a certain line must be drawn. However, a large subset of browsers can still be supported. I've found that I can support scripted pages until IE 4, wherein `throw` and `try/catch` are not supported. Niceties such as `Object.prototype.hasOwnProperty` and `Function.prototype.call` were introduced in IE 6⁰, so I can accept complaints about IE 5. A SyntaxError followed by a termination of script seem acceptable in that case.

However, HTML and CSS should degrade fine in old browsers. I have no problems with presenting an acceptable page in IE 6 or Opera 5, even with their quirky float handling. We just don't work hard enough.

⁰ JScript version 5.5, which is implemented in IE 5.5 introduced these. Verson 5.6 was implemented in IE 6.

mkmcdonald··on Kogan imposes a tax on IE7 shoppers
The "development time" metric is superfluous nonsense perpetrated by lazy, loud-mouthed developers.

Here's a baseless graph that John Resig of jQuery fame included years ago in a speaking session: http://i.imgur.com/1OOcg.png.

Developers are inundated with "ugh; IE sux" propaganda, but the complaints are rarely quantified beyond "my site breaks in IE".

mkmcdonald··on Kogan imposes a tax on IE7 shoppers
Ah; browser elitism continues to pervade the web platform. Perhaps one day developers will realize how to develop working pages for static, decade-old browsers. It's not as hard as bloggers evangelize it to be.

HTML and CSS gracefully degrade. Host objects (DOM, etc.) require some care, but can degrade as well.

On an open platform with open software, we continue to punish and castigate users for their choice (or lack thereof) of environment. How infuriating is it for a user that's stuck on IE < 8 at work because of paranoid sysadmins?

Moreover, version detection is moronic. Twitter does this by banishing IE 6 users to a "mobile site" because the "desktop site" is poorly written. Browsing in IE 5 yields a broken version of the "desktop site" (CSS and all).

mkmcdonald··on Don't wait for "DOM ready" for your app to start
> [on placing a script before the end tag of the body element] what's the point [...]? Neither much better than just waiting for dom loaded.

I'll take sane, library-agnostic script without event listeners for $500, Alex.

mkmcdonald··on You half assed it. That is why your PhoneGap application sucks.
Because loading 50+ kB of code when you probably only need 10 kB of it is really stupid. This is compounded by underpowered mobile devices that can't digest a single-page ExtJS "app" with 2 MB of script.

Simple is best.

mkmcdonald··on Make Better Select Boxes with Chosen
The project "rationale" has a lot of holes in it.

> Instead of forcing your users to scroll through a giant list of items, they can just start typing the name of the item they were looking for.

Who's forcing? Modern browsers allow a user to type (in lowercase) text to find in a select element while focused and will scroll to an exact match inside of it. It would require some instructions, but deviations of that behavior have been around for a while.

> Because chosen replaces normal html select fields, you don't need to do anything special to make it work for browsers without JavaScript.

One definitely needs to do "something special" to make them work. Limiting options to massively bloated libraries like jQuery and Prototype is a big problem, especially for graceful degradation (impossible with both).

I'd be interested in something that works without a DOM library (definitely not impossible). Support beyond IE 8 would be a great idea as well.

mkmcdonald··on JQuery Transit - CSS3 animations for jQuery
Client-side UA sniffing in 2012?

Ugh.

Flagging a browser because "something doesn't work" is just lazy.

mkmcdonald··on Ask HN: Who Is Hiring? (June 2012)
Your site isn't loading. Is there anything you have for visitors to look at?
mkmcdonald··on Engineers irrationally hate advertising tech
As a developer, I'll outline why I rationally have great contempt for advertising.

Television, print and radio advertisements have irrevocably caused me to gag at most advertisements. I can see right though the lies and half-truths that marketers spin to fool people into buying their mediocre products. Take any McDonald's ad campaign over the past few years. Note that (at least in Canada) that no overweight person is ever featured. Somehow, perfectly healthy people are devouring Big Macs and we're expected to believe it.

Advertisements now often rely heavily on sexual overtones. Web advertisements are quite guilty as well. As an adult male with a functioning brain, I find ads that rely on sexuality disgusting. I wasn't compelled to purchase alcohol before the commercial came on, and now I'm thoroughly repulsed. Decrement another point of respect for marketers.

I'm also disturbed by ad companies tracking me whenever possible. I read a forum thread on a public computer which described a custom suit company. For the next week, I was inundated with ads for that company on the same computer. I do not seek "personalization" as I never intentionally click on ads. If I want something, I'll go out and look for it. On my own computer, I block as many ad servers as I can through my hosts file.

Yes, the world really does revolve around money. However, advertising is not the sole plausible revenue model for a web site. Wikipedia is a fine example of a web site that doesn't need third-party advertising to exist. I have a tremendous amount of respect for the Wikimedia Foundation because it's funded so openly. GitHub seems to be chugging along without bombarding its users with advertisements because it has a premium content model.

As was mentioned earlier, "engineers" are smart enough to see through advertising. Disillusionment of web sites like Facebook and Google Analytics is more than enough to propagate disgust for advertising.

mkmcdonald··on Engineers irrationally hate advertising tech
> 2. Force opt-out over opt-in notions of content distribution.

> Engineers dislike advertising because we know details of how our privacy is being violated. We don't have the bliss of ignorance.

Nailed it.

mkmcdonald··on Using pushState? Make sure your links are fine
"there is business value to usable apps" didn't fit into the tone of your post, so I hope you can forgive a bit of unintentional creative interpretation (one word). I made no attempt to play tricks.

The rest of the post was simply a point-by-point dissection. None of your other points are valid. The only somewhat valid argument I hear against proper browser compatibility is "we don't have time", which is usually a self-inflicted wound.

Stable web pages that gracefully degrade are fully possible, even today. I wrote a unit test that degrades in IE 5 this week.

mkmcdonald··on Using pushState? Make sure your links are fine
> - basically everyone has JS enabled

Nope; don't forget that scripts don't always load. Opera on Mint kills bloated scripts (a.k.a. jQuery). This usually results in a white page.

> - they were too hard to do

Perhaps lazy developers should reconsider their profession then.

> - IE6 went away

Browser versions are irrelevant.

> - you can make significantly better UX without them

An utter falsehood. Refer to my earlier experience with white pages.

> - there is business value to usable apps

There's no business value in casting a wider net? That's bewildering.

> - there is no business value to catering to people who disable javascript

It seems to me that you're only interested in turning a quick buck. That's disheartening.

> - the existence of things like Modernizer make it possible to assume that everyone has the fancy features you need.

Assumptions cast from half-baked feature tests aren't an absolute by any measure. "Everyone" is definitely misleading here.

mkmcdonald··on CoffeeScript CSS
> despite the name, CoffeeScript is not required;

So think of an original name instead of latching onto the cachet of another project.

> it just makes writing objects (as well as everything else) easier.

I actually find the CSS example in your README to be far easier to understand than the convoluted mess above it.

mkmcdonald··on Facebook To Buy Opera? Maybe.
> I hope this doesn't mean I have to start testing with yet another browser. Can't FB use Webkit like everyone else?

If you're not testing in more than 2-3 browsers, I seriously have to question your acumen as a "web developer". Browsers do exist outside of the Webkit bubble.

mkmcdonald··on Interviewing at Google, Facebook, Foursquare, Dropbox, Fog Creek, etc
> We value general computer science more highly than specific Java[S]cript (for example) experience.

Perhaps this is why Google's JavaScript is so notoriously poor.

mkmcdonald··on BitTorrent Is The New Radio, Says Counting Crows Frontman
> Nobody rationally torrents a CD rip and then goes to the store to buy the real version.

I do. As a music collector, I prefer to sample the music online before buying it. If the music is sufficient, I eventually buy a physical copy and add it to my collection. The CD is then ripped onto my hard drive.

By purchasing a physical copy, I support local record stores (great people); I also obtain the album artwork, which interests me as a former designer.

mkmcdonald··on JQuery.ish - A Simpler jQuery
"cross-browser" is a misnomer that seems to have been invented by DOM library authors as a marketing tool.

If we're talking about the en vogue subset of browsers, then QSA has support. If we're talking about a set of browsers where a usable DOM implementation is provided (most dating back to Netscape), then, no, support is not provided.

"Works in all browsers" should be closer to the latter, not the former.

mkmcdonald··on Hey Paydirt: Your Site Works Just Fine In IE
> Chrome and Firefox now how have rolling releases and are closely tied with the developer community, so new features and rendering uniformity is what you gain.

Because they employ more evangelists? The IE team has spent a tremendous amount of resources informing developers about IE 9 and 10. Many of us just don't bother paying attention to them.

> There's also the ethos you buy into by supporting IE: you're supporting a closed source, proprietary internet.

The irony here is that you're supporting a closed Internet by ignoring browsers. What a wonderful luxury that is.

mkmcdonald··on We don't support Internet Explorer, and we're calling that a feature
This is interesting because I use a pseudo-grid system with plenty of floats and clears. For some reason (research), it seems to look perfectly fine in IE 6+ and Quirks Mode.
mkmcdonald··on We don't support Internet Explorer, and we're calling that a feature
> We don't spend hours debugging obscure IE bugs

IE "bugs" are rarely obscure. Most "bugs" are actually as-intended behavior, which is documented on MSDN. Do your homework.

> Sensible browsers can do amazing things (canvas, SVG animations, CSS3, web-sockets, blazingly fast JS), and limiting usage to these lets Paydirt take full advantage of these new technologies.

As was mentioned earlier, graceful degradation renders this point moot. Web pages do not need to look and function the same in every browser.

> Originally, we feared that we'd receive a torrent of angry emails from avid IE users. In reality we've received exactly zero requests for IE support, angry or otherwise.

Ignorance begets ignorance. The lion's share of people that use IE aren't technically savvy. They're people like parents, uncles or even grandparents. Why expect them to know how to send complaints when they barely know how to use a web browser?

> We work harder when we're happier, and skipping the dirty work of IE makes us very happy.

Clearly you were never working hard to begin with. Supporting IE is much easier than Internet FUD makes it appear.

> Who knows – future versions of IE will probably be standards compliant, super fast and reasonably secure.

You mean like IE 9? A little-known fact is that IE 4-6 were the most innovative browsers of their time. `innerHTML`? IE; event listeners (`*tachEvent`)? IE; editable text content (`innerText`)? IE. Those are some pretty important additions from a platform that seems to get no respect.

Cut the browser elitism and get a clue.

mkmcdonald··on Erik Naggum's XML Rant from 2002: Disturbingly prescient
> This is a funny limitation, since JSON came from Javascript and {a:1} is perfectly legal in Javascript.

That's only legal when the key is not a reserved word. I never use that form, as it's error-prone.

mkmcdonald··on Introducing DuckDuckHack
I'm referring specifically to the state before the pane is activated. It feels awkward to have so few options to activate it. The transition/animation also toys a bit with scrolling up/down.
mkmcdonald··on Introducing DuckDuckHack
Nice idea.

I have but one problem, and it's with the site (DuckDuckHack) itself.

Could the author just make the tutorial section scrollable with the rest of the page? The current functionality is quite awkward. It's also ignorant of (most of) the keyboard (home, end, page up, page down, etc.), which is the quickest way to traverse a page.

mkmcdonald··on Opera Confirms WebKit Prefix Usage
> A better idea is for developers not to rely solely on vendor prefixes. Use them, but don't rely on them.

Sure. However, many of us know how "temporary" code can mold into permanent code.

> One of the use-cases that led Opera to support webkit prefixes were sites that styled a button using a webkit gradient. Without the webkit gradient, the user received white text on a white background. So in this case, only webkit browser users saw a button, other browsers saw nothing.

So we're back to UA sniffing circa 1999. Opera took a similar action by fudging the browser's UA version to "9.80".

> Opera, Firefox, and Microsoft were all receiving bug reports of this nature, in quantity. So it's not really practical to reply to users with a "site developer's fault" - it's a losing proposition, because - much like tomjen3's attitude in this thread - the site developer doesn't care. It's a brick wall in terms of evangelism.

This is reminding me of the ordered enumeration of keys in JavaScript debate. The specification was very clear that order was not to be expected, yet developers complained anyways (including John Resig, oddly enough.) Soon enough, every major browser implemented ordered key enumeration.

I suppose this is why Opera's "browser.js" file exists: to hide the ugly, broken parts of the web. I'd just like it if more time was spent on educating developers, rather than correcting them.

mkmcdonald··on Opera Confirms WebKit Prefix Usage
"bad" is quite relative here. Have you taken a glance at Chrome, Firefox or Opera recently? They're very innovative programs.

The salient point is for the developer to use discretion before toying with bleeding-edge features.

mkmcdonald··on Opera Confirms WebKit Prefix Usage
The problem also lies with the vendors themselves. By operating in a fashion that's too open, we as developers are made aware of features before they're properly implemented.

Yes, it's wonderful that pages can be translated in a three-dimensional fashion now. I'd prefer to wait until six different declarations aren't required to know about it, though.

mkmcdonald··on Opera Confirms WebKit Prefix Usage
Opera has long been the most innovative and standards-compliant browser available.

Google and Mozilla may have bigger teams, but the most innovation is still coming out of Norway.

mkmcdonald··on Opera Confirms WebKit Prefix Usage
Here's a better idea, developers: stop using vendor prefixes. Use the W3C-defined property only. If it isn't standardized yet (i.e. doesn't work), then don't use it.

Stop opening your Christmas presents at Easter.

(sorry; typed from a mobile device)

← PreviousPage 2 of 3Next →