Archives for posts with tag: chrome

These days, I find Facebook leaving more to be desired: customization goes as far as a “cover photo,” I’m expected to use their service to do more than stalk people, and well, just, blue.

I’ve never really had the need for user stylesheets in the past, being fairly content with the customization options of most web applications. But Facebook was my catalyst for digging in and popping out a quick user stylesheet (perhaps unsurprisingly, the most used CSS rule was display: none;).

Extensions to the rescue!

I’ve already rid myself of scantily-clad “singles” and used AdBlock Plus for an ad-less experience, but I still find Facebook’s interface cluttered and distracting. So next I installed Stylebot for Chrome (or User Style Manager for Firefox) and commenced removing my unused chat bar.

#pagelet_sidebar {
    display: none;
.sidebarMode .fbx #globalContainer, .sidebarMode .fbx #pageHead, .sidebarMode #blueBar #pageHead {
    padding-right: 0px;

Next, a few pesky sections of links on the left side:

#adsNav, #appsNav /* , #pagesNav, #listsNav, #groupsNav, #interestsNav */ {
    display: none;

And finally, no more unsolicited app requests (but don’t hide our friends’ birthdays!)

/* (App requests and event buttons...? well those aren't birthday_reminders_links at all!) */
a#birthday_reminders_link {
    display: none;
#pagelet_reminders > div > .fbReminders > .fbRemindersStory > a#birthday_reminders_link {
    display: inline;

The entire stylesheet is a gist on GitHub, and works, as of writing. Enjoy!

$ logout

I’ve made a lot of from-scratch websites in the years Chrome has been around (and before that, Firefox). In the old days—around IE 7 or so—I remember hoping to support old versions of Internet Explorer. I would test thoroughly and spend hours on workarounds for the archaic browsers. But not anymore.

With Chrome and Firefox on a quick update schedule, it’s obvious that they are doing web browsers right: quick iterations of browsers that keep up with the web that they provide the lens to. Not faux-modern browsers.

So I no longer address older browsers in the websites I create with anything more than a message telling users to upgrade. One site I’ve made, LunchTable, will simply let you know your browser is out of date before you can log in if you’re using IE (made easy through conditional statements), since only IE 9 has some CSS3 features I use, and IE 10 finally supports WebSockets for chat. Other browsers get a lazier approach that works well: feature detection. Before a user can chat, I check if WebSockets are supported— no need for me to research and test exhaustively, or update the tests when new browser versions come out.

The company I work for has a web editor that utilizes a ton of browser APIs (like FileReader) to create a seamless “editor” that works entirely on the client-side. While Opera happens to break for mysterious reasons and IE apparently doesn’t know every CSS2 or 3 selector, every other browser can check for the needed functionality and alert the user about certain functions that just won’t work with their current browser. This allows, for example, Safari 5.1 users to still log in and use most features of the application, but when they can’t upload images, we expect they won’t be surprised.

This approach puts more of a burden on the end user, which my old CS professor used to argue vehemently against (that the developer should be trimming input data and formatting it correctly, for example). But it is only the burden of keeping your software up to date— a responsibility of any computer user. And in the case of IE, this approach encourages users to exercise their freedom of choice in the web browser market. Truly, a win for everyone.