Tag Archives: Web

Why Degrade Gracefully?

I got thinking today, as I near roll out of an internal helpdesk app heavily using jQuery, why we bother to degrade our scripts so they work without javascript. I get it: some people have javascript disabled in their browser… but my question is this: so what?

Javascript is a core part of web experience today.  In fact, I’d say that, on the desktop in the full browser front, if your browser doesn’t support at least HTML 4, javascript, and CSS 2, you’re not playing with the right tools.  After all, we expect that people can parse HTML, why not expect that javascript is a pre-requisite for web usage?


Some of us go to great pains to make sure our sites work should a user have javascript disabled.  But I’m actually considering the opposite: hiding certain critical elements if you don’t have javascript enabled to ensure that each visitor is on an even playing field.  Wrapping submit buttons in jQuery’s append() method, submitting data on click(), and plentifully exchanging JSON data via AJAX throughout ought to properly cripple participation of those who opt out of script execution on my site.

It all comes down to this: if you want your site to reach the widest audience possible, you need to anticipate that the client may not allow you scripting capability.  Conversely, on our intranet, and maybe one day on my websites, I’m doing the opposite: if you want to use the site, you’ve got to enable javascript: if you don’t, well… your loss.

Tagged , , , ,

IE: Sucking Hard Since Version 5

This code (extracted from a javascript file) works in every major browser except IE (including IE8):

          'frameWidth' : 500,
          'frameHeight' : 465,
          'hideOnContentClick' : false,
          'centerOnScroll' : true,

This is the fix:

          'frameWidth' : 500,
          'frameHeight' : 465,
          'hideOnContentClick' : false,
          'centerOnScroll' : true

See the difference? Yeah, neither did I. The difference is the last comma in the argument list.

That’s 3 consecutive major versions of IE that have been absolutely crap.  Why anyone continues to use IE is beyond me.  IE: sucking hard since version 5.

Tagged , , , , , ,

ACID3, Safari 3, Opera 10, Take 2

And so the real race begins. Yesterday, Opera software announced via blog post that their post Opera 9.5 builds are passing the ACID3 test. Cool!

But alas, the Webkit team – who really have a great track record of being successful with bleeding edge, one upped them by not only passing the test, but releasing the code. So behold, this is Webkit nightly for Windows, build 31368 from 2008-03-26.

ACID3 on Webkit

We know that Safari 3.1 doesn’t and Opera 9.5 won’t pass ACID3. We know IE8 is a long way off. We know Firefox 3 is still pretty far from it too. But now we have browsers that can do it. The the big question is, who will have the first stable general release that does it? Safari 3.2? Opera 10?

It’s an exciting time in web development, and I hate to admit that I think it’s largely due to IE8. If the IE team steps it up, some of themes technologies have the potential to reinvigorate the web. No serious e-commerce site would alienate all IE users – even today, they make up 80% or so of internet users. But as things progress here, we’re likely to start seeing some incredible things in the next few years.

Update: A bug in ACID3 was apparently noticed as a result of the Webkit team’s work. This awesome detailed blog post from the Webkit site chronicles the final steps of the adventure. Note that the “animation smoothness” criteria is subjectively, and that the team is apparently giving themselves a fail, but nothing that they think they are “faster than all other browsers“. Congrats again, Webkit team. Well done!

Tagged , , , , ,

Acid 3 on Webkit Nightly

The Acid 2 test has, for a few years now, been the de facto test for your browser’s CSS capabilities. The Acid test, fewer people know, is not really about conforming to standards – passing it does not make your browser standards compliant or complete, so it’s best to understand that all it really means is that it properly handles the elements tested as well as certain errors properly. Sometime in 2005, Safari passed Acid 2, becoming the first mainline browser so earn that honor. A few years later, the current or development versions of all major browsers – including Firefox 3, IE8, Opera 9.5 – all pass the Acid 2 test.

Enter Acid 3. Acid 3 measure even more goodness, including these six “buckets”:

  • Bucket 1: DOM Traversal, DOM Range, HTTP
  • Bucket 2: DOM2 Core and DOM2 Events
  • Bucket 3: DOM2 Views, DOM2 Style, CSS 3 selectors and Media Queries
  • Bucket 4: Behavior of HTML tables and forms when manipulated by script and DOM2 HTML
  • Bucket 5: Tests from the Acid3 Competition (SVG,[5] HTML, SMIL, Unicode…)
  • Bucket 6: ECMAScript

Using recent browsers, everything fails pretty spectacularly. My Opera 9.26 install gets a 42/100. Safari (including iPhone) does 39/100. IE7 does 12/100, Firefox 2 does the most respectable with 52/100. Even IE8 only does 17/100 while Firefox 3 tops out at 59/100 and Opera 9.5 at 60/100. The current generation, even the next generation of major browsers are still far from coming close to rendering Acid 3 with any accuracy.

I have been playing, now and again, with Webkit nightlies, since Webkit is actually a really neat engine, and guess what it kicks out? This:

Webkit nightly on Windows Vista

Pretty impressive. Safari is pretty limited when it comes to extending its function – it doesn’t even support a “new tab” button. But the webkit and javascript core engines are respectable both in rendering skill and speed.

Tagged , , , ,

The Fifteen Percent Rule

As a general rule, 15% of any online community is comprised of ninnies, fools, and jerks. On some sites, this percentage is much higher, and for others, it’s slightly lower. But every community has them and too often, they are impossibly loud and attention seeking.

On the whole, I find OSNews to be way above average. The noise ratio is generally low, so it’s really only the trolling – both intentional and unintentional – that gets people riled up. But the rule still applies.

Recently, I had a user incredibly angry at me because I “forced” him to use the mobile site on his mobile device. I reminded him that it’s been that way since the first day Eugenia rolled out the code, but he was having none of that. I told him that most devices won’t support the site and he said his did. Finally, he uploaded a video of his usage and saw him using… an iPhone! The best part? The iPhone is not served the mobile version. So he was going to mobile.osnews.com and them complaining that we served him the mobile version!

Then yesterday, in an admittedly heated discussion about KDE4, I was discussing how I am disappointed with the release as a 4.0 release and some got incredibly angry. They pounded upon me that the only proper thing to do is release the code and let users find the bugs. But I didn’t relent when I probably should have just ignored it, I was a bit too salty at worst, I should have just moved on and stayed above it, but alas, I didn’t, and it ended with a bang.

A lot of people think that by being a part of the OSNews staff, we’re not allowed to have any opinions. They forget that we’re software users too, and that we participate in our own community.

So, anyway, in this KDE4 “ready or not” discussion, I insisted that it was naive to suggest that the average user would follow the development or news closely enough to know that the KDE team suggested that 4.0 is not ready for users, I was called “stupid” by one user and “an ejit” by another. It’s a fatal flaw for IT people to assume everyone is like them, that everyone is subscribed to 400+ RSS feeds and knows the news before it’s even cooled off. But the battle waged on. In retrospect, I really don’t think anything I said was wrong or off base, so I’m not really regretting this interchange.

While digging through the responses, I found a user misusing his mod points – a clear violation of OSNews rules – by modding down every comment that disagreed with his (not just mine) and modding up every comment that agreed. A cursory review showed that every up-mod he’s handed out in the last few days was to pro-KDE posts, while every down-mod in the last several days dared to question them. This is a cleare violation: this doesn’t help us prevent forum misuse, it just filters out differing opinions, which leads to groupthink. I was tempted to reverse all of his recent moderations straightaway, but I witheld and swallowed his downmods of even my own comments. You stay classy, K——– (name redacted).

Yes, even the best communities have a few bad apples, a few sour pusses who want only to be stroked and reinforced in their own opinions, and when there is any challenge, they lash out. They’re present in every community, real life included.

Tagged , ,

A Review of Online Photo Services

Some time ago, I switched to Google’s Picasa Web Albums online photo management software. Although it’s simple to use, Picasa Web has been missing too many features for too long, and after Google locked me out of their software for a few days due to a bug of some sort, and their iPhoto plug-in stopped working, I decided it was time to start checking out the alternatives. I have played with a few services, and judged them based on a number of criteria, including these 15 questions:

1. How easy is it to do batch uploads?
2. Are there decent Mac and Windows upload tools?
3. Does it work in all major browsers (Opera and Safari are both important)
4. Will the default display scale to upwards of 2500 photos?
5. How fast does each page load?
6. Is the image scaled down? If so, is the original available?
7. Is it a fly-by-night startup that I can count on to be around?
8. How much does it cost for a pro membership, if anything? What are the benefits?
9. What are my storage requirements?
10. What is my traffic/bandwidth limit, if any?
11. Are there integrated ads?
12. How easy is it for others to access my photos?
13. Is there any sort of privacy?
14. What type of tools exist for me to manage my photos once they are online?
15. Is there some sort of embed/slideshow for my webpages?

I’ve tested the following services: Picasa Web Albums, Flickr, Zoto, Zooomr, SmugMug, Photobucket, Facebook, and MySpace. Read on for my initial results.
Continue reading

Tagged , , , , , , , , , , , , , ,

Bloglines Beta Ain’t Doin’ It For Me

Bloglines has been pushing their new beta site, beta.bloglines.com, and are already reporting many satisfied users. The new site is very attractive and much more modern looking, but do not count me among the satisfied.

The new beta, as far as I’m concerned, is just a second rate Google Reader. In fact, everything about how Bloglines works has been changed to emulate Google Reader.

My primary gripe is this: in the normal Bloglines, you click on a feed and the items are marked read. In the new version, you must scroll past each item and/or click on each item. If I click on a feed with one or two short items, then I click a new feed, those items are not marked “read” and stay in my lefthand sidebar. I do not care to address each item individually, which is what the new system requires.

Also, even if I do scroll over each item, more often than not, the last item is not “marked read” and remains for me to address later.

There are a host of other single key shortcuts, and I do find these useful, but make no mistake about it, these single key shortcuts are “borrowed” directly from Google Reader again.

BloglinesMost of my gripes with beta 1.0 were not addressed in today’s update. It was hard to click on a feed properly – the linked area was a bit flaky. Each element in the feed bar had a display of “block,” which I think lead the developers to think it would be easer to locate the right feed quickly with your mouse. However, the second part of my complaint was that without underlines in the feedbar on mouseover, there was no way to tell, except via the hand cursor, that you’re on the right link. The UI ought to indicate that you are on an active link via an underline. Since it does not, and still does not, you’re still floating above a huge link sea.

This is only compounded by the fact that the current version uses a simple Arial font, whereas the new uses what I suppose Bloglines thought was a more “Web 2.0” font, which I think I’m properly id’ing as Trebuchet.

BloglinesAs a result, it’s harder to figure out what means what in the feedbar. Notice that in the example, on the current site, the bolder headlines mean unread items exist. There is a clear number right beside the feed telling you how many items are pending. But in the new Bloglines beta, the bolding is much less noticeable due to the font change and the number of unread items is right justified, which means you can’t easily tell how many are pending when you have a large number of feeds with unread items.

Overall, it’s a very nice start – it’s attractive, it’s got nice drag-n-drog javascript everywhere, it loads in a decent amount of time, and the new customizeable start screen is very cool. But if this is what rolled out as final, I’d probably just move to Google Reader, which is practically the same thing anyway. This is just too much like it and pretty much ditches all the concepts that I *liked* about Bloglines that made it different.

Tagged , , , ,

I Switched to Safari 3

I really did not expect to ever post something like this, but it’s true: I switched to Safari 3.

I love Camino, really I do. But recently, its limitations have been bothering me. I prefer my tabs in a very specific order and often I have several tabs open. If ever I close a tab by mistake, I cannot get that same order without doing tons of work or re-launching. Safari 3 draggable tabs.

One of the things that used to bother me about Safari was that there was no “New Tab” button available for the toolbar. There is now. It’s also got great keychain integration, private browing, the original embedded RSS, true Aqua widgets, resizable text boxes, easy PDF integration, and it’s super-fast.

Camino doesn’t support Ad-Block, but rather, stylesheet-based filtering. Safari does that too, by default, and it’s even easier to use than it is in Camino. Safari doesn’t have any Flash problems and once you add “Safari Stand” and enable the debug menu, you have a perfect drop in replacement.

My biggest complaint about Camino was the lack of development tools. It doesn’t have a Javascript debugger (ChimericalConsole never worked me for), doesn’t have a decent source viewer, doesn’t have many third party hacks to add functionality – it’s a browser for users, not developers. Without XUL, it’s tough to add features easily. And that made it tough to use for me. When I did any serious work, I’d always switch to Opera or, more recently, Safari 3. Safari 3’s Inspector is just awesome.

So… for now, I am Opera on Windows and Safari on Mac. My browser requirements are more demanding than most. I have felt for some time that Opera and Firefox on Mac just “feel” wrong, they don’t fit. So we’ll see how the Safari experiment goes.

Tagged , , , ,

Web Server Logs.

I was just glancing over my web server logs, and I found that this month, the stats for my domain have changed a bit, no doubt due to the OSNews Staff Blog. The thing is, it’s still curous.

Let’s examine:

WIN 13922 60.6 %
Windows XP 12513 54.5 %
Windows NT 18 0 %
Windows Me 112 0.4 %
Windows Codename Longhorn 238 1 %
Windows 98 316 1.3 %
Windows 2003 144 0.6 %
Windows 2000 581 2.5 %
MAC 1958 8.5 %
Mac OS X 1904 8.3 %
Mac OS 54 0.2 %
Others 7057 30.7 %
Unknown 4891 21.3 %
Linux 1943 8.4 %
FreeBSD 100 0.4 %
OpenBSD 38 0.1 %
Unknown Unix system 37 0.1 %
Sun Solaris 25 0.1 %
BeOS 15 0 %
Symbian OS 5 0 %
NetBSD 3 0 %

So, it’s nice to see some NetBSD and BeOS in there, but over 1% comes from Windows 98! Who the heck is still using Windows 98?? And also, how come there is so much “Windows Codename Longhorn?” Is Vista identifying itself as Codename Longhorn still?

Tagged ,

Internet Explorer Sucks

I spent about an hour troubleshooting why a stupid popup window wouldn’t work in IE. I tried everything – I renamed the window. I added “void” to the var in the js function calling it. I moved the script inline, and then to a separate script page. I tried everythng, but would always get the same nonsense error:

Error: Invalid argument
Line: 37
Char: 2

on file: scripts.js. When I added it inline, it changed to:

Error: Invalid argument
Line: 37
Char: 2

file: index.php

The problem? Apparently, IE cannot process a window name if it has a space in it. Ridiculous!

Tagged , , ,