Evolution of Web Standards

October 11th, 2010

Web standards, in a nutshell, are the reason that your computer and my computer display content from the World Wide Web in the same way.  When the concept of web pages was first unleashed, we had something of a Tower of Babel situation on our hands.  All of the key pioneers of web technology were striding boldly forward, creating new solutions for displaying web content without regard for what their peers were doing.  Developers were writing code that produced amazing results when viewed in Netscape Navigator, but was utter gibberish in Internet Explorer.

Eventually, developers got tired of having to develop two or three versions of every page they wrote, and turned their efforts to writing code in such a way that it would work in any browser.  This made for some ugly and convoluted code.  Then Sir Tim Berners-Lee founded the World Wide Web Consortium (W3C) in October 1994, and they set to work on writing a standard for HTML.  Over time, the W3C was able to exert enough influence over people in the business of building web browsers, and they started to fall in step with the HTML standard.  This was a great thing for guys like me in the website business, because it meant each page only had to be made once, using one set of rules.

Internet Explorer’s user market share recently dropped below 50% for the first time in over a decade — probably because more savvy users have recognized that Microsoft simply isn’t as interested in innovation on the Web as its competitors.  Since the W3C sets the standards, they also have a great deal of control over our rate of innovation.  That comes with a responsibility  to drag browser producers, kicking and screaming if necessary, into compliance with modern technologies (or fall by the wayside).

The problem now is that pendulums swing both ways.

Most of us in the web development business are bursting with enthusiasm for the new HTML5 standard.  It’s already in use by most of the major browsers, but a lot of developers are loathe to use it because it’s not fully supported.  (I’m not using it here on samhooker.net because it would mean re-designing my site, and I’m content with the way it is, for now.)

Another (more woeful) reason that HTML5 is not being more widely used at present is the W3C’s assertion that it needs a lot more work before it’s ready.  So much work, in fact, that it’s not going to be ready until 2022, according to their timeline.

I’d like to share a screenshot I took from CanIUse.com, a really handy tool that tells us which features are supported by which browsers.  This screenshot shows a summary of browser compatibility with HTML5 and CSS3.

You can see that the current versions of FireFox, Safari, Chrome and Opera are between 73% and 90% compatible with HTML5 and CSS3.  Internet Explorer, on the other hand, is at a pathetic 16%.  Even with the release of IE9 next year, current projections do not show Internet Explorer offering the same levels of feature support that other major browser offer now.

As the browser with the highest market share, I am sure that Microsoft’s slow progress is a major contributing factor to the W3C’s 2022 estimate.  But given the strides that web technology has made in the 17 years since the birth of the web, doesn’t 10 years until the next big step seem overly cautious?  I feel that a more aggressive approach to developing the official HTML5 standard is crucial to our rate of innovation.  Whether the W3C’s inertia is due to waiting for Microsoft to catch up, or to the organization itself becoming top-heavy with obsessive bureaucracy, it’s time to shake things up.

Internet Explorer’s market share

Gmail’s Multiple Inboxes vs. BlackBerry Torch

October 3rd, 2010

I never really stop playing around with Google services.  That’s probably because they keep releasing cool new features.

Ever since I moved from lesser phones to BlackBerry, my favorite life improvement has been getting emails on my phone.  It has drastically reduced the number of times per day that I check my email from my computer, especially on the weekends.  I’ve been able to leave my computer off completely, or at least use it very little, and spend my weekends looking at things more than 3 feet away.

It’s amazing.  I highly recommend it.

Google’s Multiple Inboxes

I use the Gmail interface for my personal email as well as in the office.  I like it a lot — it’s every bit as useful as MS Exchange, and there’s nothing to install.

In Google Labs, they now have a feature called Multiple Inboxes which displays multiple filters on your Inbox page.  Being the intrepid Google-fiddler that I am, I took the following steps (repeated here, if you want to do the same):

  1. Open your primary email and go to Settings –> Accounts. Set up POP3 under Get mail from other accounts to link in your secondary account.  Use the option to label all incoming mail from the secondary address.
  2. Go to Settings –> Labs and enable Multiple Inboxes.
  3. Go to Settings –> Multiple Inboxes and set up a filter for the label you set up in step 1.

That’s it!  You’ll have both of your inboxes in one window, eliminating the need to switch back and forth.

BlackBerry Torch

Google has its own BlackBerry app that might make this easier, but I really like the native message system.  End disclaimer.

While Multiple Inboxes made life easier in my browser, I was getting duplicate emails on my phone from the secondary account (because it was forwarding to the primary).  I didn’t want to kill my secondary email account on my phone, because I still needed to send emails using that address from my phone.

The fix for BlackBerry Torch (which is likely possible on other BlackBerry devices as well):

  1. Go to Messages.
  2. Press the Menu button and go to Options.
  3. Go to Email Account Management.
  4. Highlight your primary email account (where you set up Multiple Inboxes), press the Menu button and go to Filters.
  5. Tap Add Filter.
  6. Give the filter a name.
  7. Under Filter on: select To address.
  8. In the Contains: field, type your secondary email address.
  9. Under Action: select Do not forward messages to the device.
  10. Tap Save.

All done!  I’ve got all the functionality and none of the duplicates.  Multiple Inboxes is still throwing me a couple of glitches, but I’m sure Google will get that worked out in short order.

Getting Things Done

October 3rd, 2010

The “GTD” phenomenon is ironic at its core.   How many Things can one really Get Done if they’re either blogging about getting things done, or reading GTD blogs that others have written?  I’m probably over-analyzing this (and Getting even fewer Things Done in the process).

I really enjoy a lot of GTD articles, especially when they’re written by people who are highly productive; but I think the idea of a blog devoted solely to GTD lacks merit.  When the accumulation of processes is an end unto itself, and those processes are never put into practice (which is the impression I get from GTD blogs), where is the evaluation?  How do they know that these are good ideas if they do nothing more than write articles about them?

I should digress from social commentary.  I’ve got to Get a lot of Things Done.

As I mentioned, There are a lot of good articles out there.  My partner just sent me one that I really liked: 8 Bad Habits That Crush Your Creativity and Stifle Your Success (from CopyBlogger).  My favorite part was the suggestion that you separate creating from evaluating, suggesting that if you do them both at the same time, you’ll create less.  In a nutshell, it advises “coming up with lots of ideas first, then judging their worth later.” Sounds like good advice to me.

Getting Things Done also requires motivation.  I started an account today at HealthMonth.com, a site that helps you set and track goals, one month at a time.  There are penalties for missing your goals, but they’re not presented as disastrous consequences.  I really like their use of positive reinforcement.  You can set up 3 goals per month for free, or pay $5 a month for unlimited goals (or ask for sponsorship from a paid user).  I threw in $5 for October, mainly because I need the motivation to go running before work.  Wish me luck!

Get In Where You Fit In

August 26th, 2010

I’ve been working for FrogSlayer Software Development in one capacity or another for the past year and-a-half.  I started freelancing in March of ’09, working on graphics and marketing for a product that they were making at the time.  It was great working with them, even if I was utilizing a peripheral skill set that didn’t really excite me.  It was a new game every day — I even got to play guitar on a video game soundtrack (it was never published, sorry).

One of the benefits of working for a small company is the ability to get in on the ground floor and make your voice heard.  I’ve had a lot of say in the way that the company is run, and my boss (the only one that I have) listens to me and gives me good feedback.

Since I started, I’ve worked on graphics, marketing, IT, and UX design, to name a few.  I once was freelance, am now full time, and working primarily in project management.  It’s a good thing that I like having a lot of variety in my tasks — I never get bored!  At the end of the day, I can say that I worked my ass off to get a job that I love, and that I look forward to working my ass off again tomorrow.


Learning a profitable skill for the sake of getting a good job isn’t a bad idea — gotta pay the rent, right?  Just make sure that you’re not painting yourself into a corner.  I’ve known a lot of people who have found themselves making a lot of money in jobs that they hate, and that is one of the worst places to be.  It’s hard to leap from the top of your money pile and faceplant into poverty, even if it means getting to do something that you really love.

Does that mean that you’re lucky to be underemployed?  Possibly.  If you don’t like what you’re doing AND you’re not getting paid enough for it, the way out is to follow your dreams.

Sounds cheesy, right?  Like something you’d have to pay $500 to get into the Toyota Center to hear Tony Robbins regurgitate?  I don’t disagree; it’s easy for anyone to tell you to follow your dreams.  They’re not you. They don’t have to follow through.  All they have to do is drop this earth-shattering knowledge on you, guru-on-the-mountain-style.  Then, if you do follow your dreams and open up new potential, they feel entitled to pass your name around as though you were their protege, and they were your mentor.

Classy.

Beneath the layers of self-aggrandizement, there’s a nugget of wisdom.  If you work hard enough at your passions, you’ll become an expert.  With a little bit of savvy, you can turn expertise into a job you’ll love.

I was in that boat — I was overworked/underpaid/underappreciated.  I started making websites for myself because I wanted websites.  Then I started making websites for my friends for free, because I liked doing it and I wanted to build a portfolio.  My friend Ross let me work for him for free for his company, saying that he’d pay me someday if the money became available.

Here’s the difference between an ambitious person and an unambitious one: an ambitious person would recognize this as an opportunity to gain experience.  An unambitious one would see it as a drain on video game time.  Sure, doing market research was less fun than climbing the leaderboards on Xbox Live; but if you choose video games now, you’re choosing them for the rest of your life.

I worked my 40 hours a week at work, then I worked another 40 for free.  The result?  A 20% pay increase and a job that I love; and I’ve got plenty of time to catch up on the leaderboards now.

BlackBerry: WiFi Died!

August 13th, 2010

I had a problem with my BlackBerry Curve 8900 (T-Mobile — yeah, I know) recently  The WiFi completely died, would not connect to any networks. It would see the networks and accept the security keys and such, but would not fully connect. After a lot of settings review, I finally decided to wipe.

It wasn’t so bad, actually.  I used the BlackBerry Manager software to do a full backup, then used the wipe command by going to Menu –> Options –> Security Options –> General Settings –> Menu –> Wipe Handheld, and I was back to defaults within a few minutes.  When I applied the backup, I got everything except my apps back.  I reconnected to my preferred WiFi hotspot here at the office right away!  Not sure what was wrong there,but I was back on track.

My next stop was ÜberTwitter to reinstall my most-used app.  So far, so good!  Then I reinstalled WhatsApp (the chat app that my girlfriend and I have been using), and my WiFi died again shortly thereafter.  I uninstalled it after awhile, and my WiFi eventually started behaving again.

I’m not sure if WhatsApp actually killed my WiFi, but the app and my WiFi certainly seem incompatible.

I’m currently installing Opera Mini to replace the (essentially worthless) built-in BlackBerry browser.  I apologize for the alliteration.

In more exciting news, the BlackBerry Torch featuring BlackBerry 6 touchscreen OS is now available!  I’ve made the decision to jump from T-Mobile’s poor network coverage (well worth the $200 to break the contract), and until recently, was resigned to getting an iPhone; but with this sexy new darling from RIM on the market, I just might remain a BB user.  I’ll make my decision this weekend, when I go to a store for a demo.

Is your ISP blocking Google?

May 25th, 2010

If you’re up to speed on the corporate greed side of the Net Neutrality argument, you’re aware that the major internet service providers (ISPs) would love to be able to charge us for access to Google’s services — namely YouTube, and namely because we download videos of kittens falling asleep at alarming rates, causing traffic on the ISPs’ networks.

For the last few years, tech forums have been sprinkled with people reporting that periodically, they can get to any website they want, unless it’s a Google-owned site (Gmail, YouTube, etc.).  The problem usually resolves itself after a couple of hours.

What’s going on?

If my thoughts on the subject are to be believed, the ISPs are periodically blocking their DNS servers from redirecting to Google-owned sites.  This reduces the amount of data flowing across their networks, saving them money.

ISPs provide service to their customers in the hopes that they will not utilize high amounts of bandwidth.  Think in terms of an all-you-can-eat buffet: if you pay full price and eat one plate of food, you’ve given the restaurant a higher profit than the World-Hot-Dog-Eating-Champion who can skeletonize a bucket of fried chicken faster than I can come up with a metaphor.

What do I do?

First, set your router to use a Google Public DNS server.  (Due to the variety of commercially available routers, I cannot give you instructions for this — apologies.  Consult the manual that came with your router.  You DO have the manual, don’t you?)

If you’re having trouble reaching Google because you’re presently a victim of this atrocity, they have two server addresses: 8.8.4.4 and 8.8.8.8.  You can also use other public DNS servers, but I can guarantee that these will be able to find Google!

Once you’re back up and running, email your ISP and demand an explanation.  You contracted with them to provide a service, and if they are unable or unwilling to provide the service that they promised, you should be entitled to a credit on your bill.

(Good luck with actually getting a credit, but you’ll be standing up for fair practices when you tell your ISP that you won’t sit idly by while they take your money for nothing!)

Inconsistent CSS: DIV widths in IE and FireFox

May 9th, 2010

If you’ve ever tested your pages in more than one browser (and you always should), you’ve probably run into a situation where Internet Explorer and Firefox rendered the width of one of your <div>s differently. Fix it in one, and the other is wrong.

What’s going on?

This is typically referred to as the box model problem.  IE and FF interpret the padding element differently.  Chances are you’ve pulled up this article in a teeth-grinding search to correct the problem, so I’ll just make with the solution:

Add another <div> for your padding.

<div class=”TheStuffYouAlreadyHave”>
  <div class=”ThePaddingYouSeparated”>
    Content
  </div>
</div>

Support web standards! Go to WebStandards.org, educate yourself, and prevent articles like this from being necessary!

Looking forward to @font-face

April 26th, 2010

Every so often, when my brain has a moment to sit idly, I like to check in with the W3C and see what’s happening with the new standards.  Once I stopped drooling over <video> tags, I started looking into the CSS3 proposal for the @font-face rule, and started getting excited.

If you’re not sure why this is cool, lemme ‘splain.  When your web browser opens a page, it can only use the fonts that are installed on your computer to display the text it contains.  When designing a page, web designers are largely limited to web-safe fonts — fonts that are installed on (more or less) every computer.

We can specify alternates.  We can tell the browser to use Helvetica, but Verdana’s okay if Helvetica’s not installed.  No Verdana?  Use Arial, or any sans-serif font.  By the time it gets to the end of the list, we’re pretty much willing to take anything, just so long as you can read it.

In cases where we really, really want you to see the page just how we envisioned it, we can link the font on the main page so you can download and install it… but will you?  Sounds like a lot of work…

If we really insist, we can make a graphic of whatever text we simply must have displayed in Haettenschweiler, and have the page display that; but that’s a lot of work for us, and it makes pages a pain to update.

With @font-face, our worries are over.  We install the font on the server hosting the page, and your browser loads the text looking exactly how it was designed.  It’s still a working draft — they have to set it so that fonts will only be available for the page for which they’re intended, lest everyone be able to snatch pay-to-use fonts from the web with abandon… but I’m excited to start playing with it.

Want to have more reasons to dislike Internet Explorer?  Trip on over to When Can I Use to see how little interest Microsoft apparently has in supporting new features.  Why, exactly, is IE6 still alive?

On Vacation

March 16th, 2010

I’m in Dublin this week

I’m presently using an internet terminal in the Amsterdam airport, because I accidentally left my Blackberry in Houston.  Off to Dublin in a couple of hours, and I’ll be back home next week.  I’m sure I’ll have something interesting about which I can blog by then.

Happy St. Patrick’s Day!

What you should expect from WiFi

March 12th, 2010

I talk to people every day who have unreasonable expectations of their WiFi connectivity, especially when connecting to public networks.  I’d like to take a minute to explain the limits of WiFi in public hotspots.  Please note that a lot of the points in this article do not apply to home WiFi routers.

1: The “F” in WiFi does not mean “Free”.

If I had a nickel for every time someone insisted that “WiFi” means “Wireles Internet, Free internet,” I’d need help lifting my huge bag of nickels.

“WiFi” is a play on the term “HiFi,” which means “High Fidelity” and applies to audio recording technology.  While some free public WiFi networks do exist, there are a large number of paid services available in coffee shops, airports, hotels and other places.

You have to pay for internet at home — is it really so unbelievable that you’d have to pay for it elsewhere?

2: The maximum reach of 802.11g WiFi is 300 feet.

That’s 300 feet outdoors, with no interference.  For indoor access points, the recognized average is 120 feet.  If you live next door to a coffee shop that provides WiFi, chances are that there’s too much steel, wood, concrete, insulation and drywall between you and the wireless router for you to get a reliable signal.

Furthermore, the wireless antenna built into your laptop is not very powerful.  You can use a utility like Netstumbler to survey the wireless networks available to you, and assess what signal strength and quality you can expect to receive from them.

Generally speaking, if you’re looking to receive WiFi in your home, you’re going to have to get a cable or DSL connection and set up a wireless router.  With the exception of a few cities that provide municipal WiFi networks, WiFi is not something that you can receive in your home from an outside source; and the municipal networks can be sketchy — I don’t recommend them.

3: Almost everything interferes with WiFi.

WiFi operates at 2.4 GHz — just like most cordless phones, Bluetooth, some RF signals, and a host of other electronic communications devices.

WiFi will go through one or two walls without much degradation, but it can be interrupted by microwaves, CRT televisions, reflective surfaces, other computers using WiFi, other WiFi signals broadcast on the same channel… the list goes on.

This shouldn’t dissuade you from using WiFi altogether!  If you have a wireless router in your house, you’ll probably get great reception from it — WiFi is primarily intended for short-range, single-building connectivity.  It is possible to stretch it farther with high-gain equipment, but that can become costly (and if you’re going to shell out the money, why not get a cable or DSL connection instead?).

4: Business Class service for your business.

There is a reason that businesses pay extra for business class service.  Business class connections come with things like guaranteed uptime and redundant circuits — ISPs prioritize outages for business class customers, and have extra measures in place to meet their needs.

Basically, you may be able to run your business on residential service or public WiFi if you require intermittent connectivity to the internet; but if the possibility of 3-5 days’ downtime would cripple your business or shut you down completely, you need business class.

5: Free WiFi in apartment complexes is worth every penny.

If you’re moving into a new apartment and the offer Free WiFi, be suspicious.  Depending on which apartment you get, the signal may not reach into your unit very well.  You may have to sit on your patio to get online.  For the amount that they add to your rent, you could probably get a DSL connection of your own.

Furthermore, even if you get a good signal and the hotspot equipment is working fine, the bandwidth available to the service is split between everybody who’s using it; and if one of your fellow tenants is downloading torrents with wild abandon, it can severely slow down your connection — or worse, the management might have opted for a low-bandwidth plan, or may be blocking some ports or services.

If you’re considering an apartment with free WiFi, at least ask questions:

  • How much total bandwidth is available?
  • Is there a cap on my bandwidth or usage?
  • Are any sites/ports/services blocked?
  • Who provides the service, and do they offer competent technical support?
  • Can I opt out?

Whether you can opt out or not, you should still be able to get your own DSL or cable connection.  Make sure you know all of your options.

6: All connections are NOT created equal.

While a WiFi connection may be suitable for checking your email or looking up movie times, if you’re trying to stream HD video, be prepared for disappointment.  No WiFi provider is going to guarantee any minimum level of bandwidth or speed.

Of course, this doesn’t necessarily apply to the wireless router in your house running on your cable or DSL connection; this unobstructed, unshared signal can be just as reliable as plugging a cable directly from the modem into your computer.

7: Bandwidth vs. WiFi transfer rate

802.11g has a maximum transfer rate of 54 Mb per second.  That’s megabits, not megabytes — there are 8 bits in a byte, so wireless-G is capable of transferring up to 7 MB per second.  The newest standard, 802.11n, doubles that: 108Mb/14MB per second, under optimal conditions.

This does NOT mean that you’ll be able to download at this rate.  A standard DSL connection will run anywhere from 3-7 Mbps, so you can download from a website at almost 1MB per second (optimally).  Cable connections typically run from 5-15 Mbps, so you may be able to get close to 2MB per second from the web — assuming, of course, that the web server from which you’re downloading makes that speed available to you.

In short, a 54 Mbps WiFi connection should not lead you to believe that you can download a 1-gigabyte file in under a minute.  Remember:

  1. Know the difference between bits and bytes
  2. Your router’s transfer rate is limited by your connection’s bandwidth
  3. Your download rate may be capped by the server providing the files

Public WiFi is great for checking your email or looking up web pages, but it’s not reliable as a constant connection.  The best description of the service you’ll get?  Results May Vary.