Why don’t browsers have up and down buttons?

February 27, 2012

Browsers have a forward and back button. These help you navigate within your recent browser history. But, when you land on a site from an external link you sometimes want to, for example, go up the URL path to higher ‘folders’ within the site.

Example, your at http://somewhere.com/land/animals/waterbuffalo.html. How do you get to the land folder? Maybe there is something there, or how do I get to somewhere.com itself. The answer is you click on the address bar and edit the URL. Yuck! What is this, the 1800’s? Plus on any kind of smartphone this is pain to do. Plus, did you ever try to guide over the phone a non-compute savvy person to navigate on a site by editing a URL? Even more painful.

The old Google add-ons for various browsers used to have a page up widget. On FireFox I now use “Dir Up”.

Dir Up

Did JavaScript wipe out the dinosaurs?

May 22, 2011

Imagine, a very dangerous vulnerability is discovered in Javascript, and people have to turn it off in the browser (via configuration or plugin). This could come from a pimply hacker having fun or part of a multi-front cyberwar attack.

What if this lasts a few days? Are your customers not able to use your site or web app? Imagine the loss of GDP as commerce grinds to a halt, the empty stares as people can no longer play games or chit chat online, if families financial resources are not available. And so forth.

Yes, this is exaggeration. No company would make their web sites non-accessible if JavaScript is not available, right? Unfortunately, there probably are a few. Certainly many social web sites would not seem so social if they could not provide the features they do.

Why JavaScript?
This is understandable. JavaScript is a great language and it enables highly interactive web applications. No longer do web pages have to be “paged” in or out, since with technologies such as AJAX, fine-grained architectures are possible. Validation, more focused forms, and easier to use applications are all powered by the evolving “2.0” web stack.

Other reasons for disabling Javascript
The problem is not only limited to the opening scenario. There are a myriad of reasons why someone may disable JavaScript. In a discussion of “Hash URIs”, we find this:

º users who have chosen to turn off Javascript because:
    – they have bandwidth limitations
    – they have security concerns
    – they want a calmer browser experience
º clients that don’t support Javascript at all such as:
    – search engines
    – screen scrapers
º clients that have buggy Javascript implementations that you might not have accounted for such as:
    – older browsers
    – some mobile clients

The most recent statistic I could find, about access to the Yahoo home page indicates that up to 2% of access is from users without Javascript (they excluded search engines). According to a recent survey, about the same percentage of screen reader users have Javascript turned off.

This is a low percentage, but if you have large numbers of visitors it adds up. The site that I care most about, legislation.gov.uk, has over 60,000 human visitors a day, which means that about 1,200 of them will be visiting without Javascript. If our content were completely inaccessible to them we’d be inconveniencing a large number of users.

— “Hash URIs“, Jeni Tennison.

While I don’t think 100% fallback to non-JavaScript web pages is possible or desirable, companies should be aware of the possible threats. Thus, every site or web app should have a minimum set of functionality exposed via non-scripted pure HTML (and CSS?). For example, in a financial resource, a customer should be able to query their balance without all the fancy script tricks; “just the facts ma’am”.

When to use JavaScript
Jakob Nielsen gives a good starting point for how much web 2.0 (which is enabled by JavaScript) should be used in various types of sites:

As an extremely rough guideline, here’s the percentage of Web 2.0 infusion that might benefit different types of user experience:

Informational/Marketing website (whether corporate, government, or non-profit): 10%
E-commerce site: 20%
Media site: 30%
Intranets: 40%
Applications: 50%


Further Reading
Web 2.0 ‘neglecting good design’


Hash URIs

Hacker group vows ‘cyberwar’ on US government, business

Walking in others shoes: Turn JavaScript off for a day

AJAX Vulnerabilities: How Big the Threat?

Web 2.0 Can Be Dangerous…

BlackBerry users urged to disable Javascript after web browsing vulnerability revealed

Apple Safari window object invalid pointer vulnerability

“Well, this is embarrassing”

May 2, 2011

“Firefox is having trouble recovering your windows and tabs. This is usually caused by a recently opened web page.”

I’m seeing this more often now. FF 4.0.1 has a problem. It happens in any site with rich media, like Netflix. Some people are blaming this on plug-ins, Flash, and other things. I don’t know, FF 3.6 never had this problem with the same sites. Come to think of it, neither did 4.0.

Of course, it could be something else. I looked in Windows Event Viewer but did not see anything relevant.

Just did a Windows update, maybe something will shake out.

Further Reading
Google search for 4.0.1 crash

Tab Docking via Multiple Tabbed Browser Interface

April 17, 2011

Yea, the world is going tiny displays (for movies??? nuts), but for real productive use, multiple very large monitors are required.

Many web pages, however, won’t take advantage of large displays. They use fixed absolute sizes for compatibility and most common display resolution. Thus, on a large display there is plenty of room for showing multiple pages.

This is where a Multiple Tabbed Browser Interface comes in. If it were around (I just made up the term) I could just drag a tab and dock it on the edges of the browser, reusing the large monitor space for showing multiple web pages at once. Great for web development. Sure I could open up multiple browsers, and I do, but ….

This is not the same as just having multiple tabs available, wherein one can switch to different loaded web pages or apps. That just allows single-document views. In web development, having multiple docs visible (and hopefully fancy stuff, like entangled scrolling) would be ideal.

Note that in traditional Multiple Document Interface (MDI) windows are very flexible and can lead to complexity. I’m just referring to docking behavior. The Usability arguments against MDI don’t apply to MTBI.

I wrote the above without looking to see if this is already available. It’s not on FireFox, Chrome, and IE9, that I’m aware of.
Apparently, one browser does do something similar (but not different documents, just the same split document) this:

The Konqueror browser (available for the K Desktop Environment on Unix and Unix work-alikes, such as Linux) supports multiple documents within one tab by splitting documents. In a Konqueror tab, documents can be split horizontally or vertically, and each split document can be re-split.

Further Reading
Tab (GUI)
Multiple document interface
Comparison of document interfaces

Enough with the lightboxes!

March 27, 2011

The web has an architecture and style. Click a link, get a page. What could be simpler? Lightboxes don’t fit in.

This morning before leaving for work I check the news. Oh, a new version of something. Go to the page, click a link and boom, a lightbox. I’m starting to see more and more of this usage. And, it is not good.

Lightboxes like any technology has appropriate use cases. For rich media, like photos, streaming, and detailed views of a product, a lightbox can be ideal. It is also useful to enable complex focused interaction transaction (a dialog) in web pages or RIA.

However, the web’s “idiom” is that after I click a link, I decide by using the available links or browser facilities what to do next. I decide. It is called REST. It allows re-usability and transformation. A lightbox, as usually implemented, doesn’t even let you resize them, all you get is a close button (sometimes even hard to identify). In the past a lightbox or other modal technique was just a signal to kill the browser (alt-F4 on Windows, btw) in case something malicious got into the system or you innocently landed on a naughty site.

I thought I was alone in my growing distaste, but here is one fellow lightbox doubter. He makes great points and gives the mobile perspective.

Why is lightbox use spreading? One reason is that tools make it much easier to create them, and so any script kiddie can gush with pride on his latest anti-usability creation. Another is that they are a sneaky marketing device to keep you on the current page no matter what.

Time for lightbox blockers? I don’t think so, but …

Other uses
Windows 7, as part of its security process, will now use a “lightbox” like technique. The dialog prompt will take focus, and all the other desktop areas will darken. Here, I think it is a good use-case.


  • Has legitimate uses, especially for media or business processes.
  • Breaks the look and feel of a site.
  • Usually cannot be resized. Scared of a real closeup of a product?
  • Cannot be easily linked to.
  • Confuse non-expert or casual users.
  • Doesn’t follow RESTful architecture.
  • Cannot be repurposed.
  • But is better then that ole Javascript alert’s ugly message box?

My company uses lightboxes. However, I think it is an appropriate, expert, magnificent, enlightened, and wise use. … Just in case my boss reads this post. :)

jsUnit based tests won’t run in other folders?

January 16, 2011

This is why software is such a sometimes frustrating undertaking. I once had a jsUnit based test working. It ran fine in FireFox. Today it did not. Funny thing is that the existing tests that come with jsUnit still work. Other browsers fail too. (maybe).

It had to be a typo, bad url, or something. The jsUnit docs say that the problem is that I am not correctly giving the path to the jsUnitCore.js file. I tried everything. But, now I try to get smart. First copy the tests that are working to another folder. I copy failingTest.html to /temp/jsunit, and I also copy jsUnitCore.js there too.
Still doesn’t work.

I edit jsUnitCore.js, and add an alert to show that it is being executed or loaded. To make sure I really did it, I diff:

C:\temp\jsunit>diff failingTest.html \java\jsunit\tests\failingTest.html

<     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<     <script type="text/javascript" src="./jsUnitCore.js"></script>
>     <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
>     <link rel="stylesheet" type="text/css" href="../css/jsUnitStyle.css">
>     <script type="text/javascript" src="../app/jsUnitCore.js"></script>

C:\temp\jsunit>diff jsUnitCore.js \java\jsunit\app\jsUnitCore.js

< alert("Maybe a career in sanitation?");

Try the test and I see the message. So, I know that the library is being found and is running. That is weird. Must be the browser. I empty the cache. still nothing. Arrrrr.

Google? I find a reference to jsUnit forum about someone having a similar problem. No advice, but one person gives a url for the solution. Is it a good url, spam, or worse? Nope its legit, and real advice. It is the browser. Thank you Andrew! I should have checked the forum first.

Browsers, bah! I hope they don’t start showing up in embedded systems. That’s probably how WWIII will get started, some Javascript mistyping.

17JAN11: Spoke too soon. FireFox ver 4.0b9 is showing the problem again. I’ll try in my Ubuntu instance too.

JSUnit 2.2 on Firefox 3.07 – FTW


FireFox 4 beta 7 is fast

November 11, 2010

FireFox 4 beta 7 is fast when it uses hardware graphics acceleration.

On my system it detected:

  • ATI Radeon HD 5600 Series
  • Direct2D enabled: true
  • DirectWrite Enabled: true
  • GPU Accelerated Windows: 2/2 Direct3D 10.

To find out if it detected yours, put about:support in the address bar and go to bottom of resulting page. This blog post has more information.


Get every new post delivered to your Inbox.