A Look at Web Browser Market Share

Posted by Vincent Woo Mon, 30 Jun 2008 00:01:00 GMT

Firefox 3 has been out for almost 2 weeks now and I wanted to know how its adoption was going and if it had any effect against IE. A quick look at some Google Analytics data showed that it isn’t as good as I had hoped. I present to you a quickie browser market share comparison between last month and the time period that FF3 was available as of this writing.

My604.com
Thanks goes out to My604.com for letting me post this info. My604 is a Chinese language forum specific to the Vancouver / Lower Mainland region. I don’t have any particular demographics information but I’m seeing a sizable percentage of university students there.

Interestingly enough, there is no change in browser usage except that a quarter of Firefox users are now using the newest version.

Market Share
Scope
Browser May 2008
15,098 visits
June 17 – 28, 2008
6,279 visits
All IE 74% 74%
All Firefox 22% 22%
% of IE IE 7 54% 55%
% of IE IE 6 46% 45%
% of FF FF 3 4% 26%
% of FF FF 2.0.0.14 85% 65%
All Safari 3% 3%
All Opera 0.5% 0.5%

vt-online.vsb.bc.ca
A website for a local high school where staff members can post messages to each other, students, and parents. Note that there is a significant drop in visits since the school year ended at the same time that FF3 was released. Thus the numbers between months are not directly comparable but it should still give you an idea about their web browser usage.

Some good news on the Firefox front. Again, Firefox 3 captured at least a quarter of all Firefox users. Perhaps more importantly, Firefox is taking over at the expense of IE! Hopefully, this trend will continue when school starts up again.

Loving the IE6 numbers. I’m going to take a wild guess and assume that with high schoolers in the mix, there would be more new computers that are pre-installed with IE7. In any case, IE6 browser share has been dropping steadily over the past year and if it continues on like this, I might be able to drop IE6 support this time next year.

Market Share
Scope
Browser May 2008
4,267 visits
June 17 – 28, 2008
528 visits
All IE 78% 66%
All Firefox 18% 29%
% of IE IE 7 80% 83%
% of IE IE 6 20% 17%
% of FF FF 3 1% 30%
% of FF FF 2.0.0.14 88% 66%
All Safari 4% 3.5%
All Opera 0% 1%

Undefined Range
This blog which is more web developer / techie oriented. As expected, not many visitors, percentage-wise, use IE. You guys rock! Still, a third of IE users and rising are on version 6. In absolute numbers it isn’t that much but I’d thought that web developers have universally shunned IE6. I’m trying to justify this discrepancy but I can’t. In the past month, there was about 1% of windows users on Windows 2000, NT, or lower so upgrade options are available. Also, web developers would need to verify their work on a myriad of browsers so they should already have browser options.

Safari is doing very well here. Since my blog posts generally are about Rails, this is not a surprise. Sadly, no such love from Opera fans.

Market Share
Scope
Browser May 2008
441 visits
June 17 – 28, 2008
204 visits
All IE 15% 10%
All Firefox 71% 70%
% of IE IE 7 66% 62%
% of IE IE 6 34% 38%
% of FF FF 3 19% 59%
% of FF FF 2.0.0.14 71% 33%
All Safari 12% 18%
All Opera 1% 0.5%

Overall, I’m a little disappointed with Firefox 3’s adoption rate. I’ve always assumed that people using Firefox are more passionate about their choice of browsers and would upgrade more readily. But perhaps this is normal for Firefox since I don’t know how fast FF2 was adopted.

A bigger disappointment is how IE6 is holding steady. What would it take to sink it?

Posted in  | Tags , , , , , , , , , , ,  | no comments | no trackbacks

Finding Inspiration Pre and Post Release - Comments on a Daniel Burka Presentation

Posted by Vincent Woo Wed, 25 Jun 2008 22:02:00 GMT

I highly recommend listening to the MP3 and following along with the slides of The why and how: UI case studies presentation given at Web Directions North 2008 by Daniel Burka. On the surface, it is an hour presentation fussing over insignificant details but that is what’s so great about it. Much of it isn’t about aesthetics or graphic design. Instead, the spotlight is on the process of tweaking placement, wording, and prominence. It is about rearranging for clarity and directing user actions processes. It is about intuitiveness; the end users should understand why things are in chronological order or in a threading model. The kind of design, as illustrated in the presentation with Digg and Pownce examples, that exhibits Getting Real.

Daniel Burka’s examples are fascinating because he starts off with something entirely acceptable but they are then iterated into something that is clearly better. Better not so that end users bask in awe over it’s majesty, but through transparency and clarity in its form. Yet, it is the journey that can provide the direction, incentive, and inspiration that guides design, not just some divine inspiration or foresight.

One of the things that Daniel Burka talks about is his success with using HTML mockups. I whole heartily agree as I found sketching with pen and paper and mockups in photoshop have their place in defining the general form but I’m hard pressed to properly define function in this manner. I don’t feel like I’m the only one since I’ve converted photoshop mockups to webapps, but sometimes would run into issues and ambiguity that the photoshop artist didn’t expect. It’s not their fault but unless you’re working in a webapp or through HTML, you won’t be thinking about webapp related issues. So it is refreshing to hear a designer say (loose transcript starting around 35min):

“This is actually a mockup of about eight connected HTML pages a little bit of javascript and CSS files. And so this is something I didn’t do with the previous comment system. I went immediately into implementation. So implemented in real code. Which took a lot longer and wasn’t as easy to play with because it was half broken most of the time while the code was being written. And so what is happening here is I can play around with if I digg this comment what happens. If I bury it, I can actually change your vote now and if I bury it OK that’s what happens. I want to see the comment again after I bury it OK that’s what happens. You can hide it. I can report the user. I was playing around with these things and now these interactions I can actually kind of – it’s so awkward having a bunch of HTML files interlinked but being able to play around with these interactions means I’m significantly more confident this time that when we release this thing. The flow of when you’re playing around and writing comments and editing comments, I got it setup for what happens when you write a comment we open it and save it, you edit it, you save those changes, so all those things I feel much more confident that each of those little processes all fit together alot better, they’re alot tighter.”

Design is an organic, ongoing and collaborative process and one in which all team members should have a hand in. Here, we have an example of a designer crossing the boundaries and working partly in the realm of the web developer. In the same manner, I would love to cross the boundary in the other direction more often. But too often client project work necessitates design up front for signing off and limiting cost/time resources that prevents creativity and experimentation in the latter stages of the project. In such cases, the webapp’s growth is stunted before it has a chance to mature.

Continuous refinements occur alongside continuous inspiration. Daniel Burka shows example after example where he focused and improved on design elements post release despite how sufficient they were already. The lesson: please don’t discount the inspiration generated through production use. If given the freedom of multiple iterations, projects will flourish.

I leave you with one last presentation reference about finding design inspiration from within the webpage itself. Remember, form follows function.

(~40min into the presentation): “Like I was saying before with the yellow dig button, is take that idea then take it further. Let it design language breath through the rest of the site. And so the story format has it on the left, I took it to the homepage, so you take this really basic horizontal line, you add one little off center hatch to the page and it adds a sense of brand, a sense of identity to the page. Adds a little drama to the page.”

Posted in ,  | Tags , , , , , , , , , , , ,  | no comments | no trackbacks

New Age Dawns on the Web

Posted by Vincent Woo Wed, 18 Jun 2008 08:11:00 GMT

Yesterday has seen the release of Firefox 3 and it has spread far and wide. As of this writing, some 14 hours after release, there were 5,099,057 downloads. That’s a spectacular achievement and a clear message to all that quality and standards matter.

I’ve been running the release candidates and the difference between it and FF2 is dramatic. As much as I love Firefox and use it as my primary browser, it would noticeably slow down over time until it required a restart every 2-4 days. Inconvenient, but now only a memory.

With Firefox 3.0, Opera 9.5, and Safari 3.1 all succeeding, us web developers can now realistically dream of working without legacy constraints in the near future. While generally we’re still stuck devoting half our time and sanity to necromantic and arcane arts for the purpose of persisting the one undead browser, there is still hope. It is an ongoing battle but one that we will eventually win – inching closer to the promised land with every switch to one of the above browsers or upgrade to Internet Explorer 7.

Final note: For the web developers out there, get Firebug 1.2.0b3. It works great with Firefox 3.

Posted in  | Tags , , , , , ,  | no comments | no trackbacks

RSpec Tips

Posted by Vincent Woo Tue, 15 Apr 2008 21:53:00 GMT

Since I’ve been following Jamis Buck’s advice to limit the brittleness of view tests, development has been much more productive. Test the things that matter most else you’ll end up with diminishing returns and the week passed by without any productive work done.

I’m taking one step further and I’ve decided not to write RSpec view specifications.

I will still continue to occasionally test important view elements. It just isn’t worth the extra baggage of writing and maintaining another set of specs for every single view. I’m feeling the pain there and I’m taking steps to eliminating it.

But it is also painful to sprinkle “integrate_views” syntactic vinegar throughout controller specifications. I don’t want to do without that since I would still get notified of template errors. Unfortunately, this is not the recommended behavior and not much was written on the subject.

Peter Marklund has a solution but it didn’t work for me. Maybe because RSpec was updated since his blog post was written but it is more likely that I’m missing something obvious. However, I dug around the plugin and was happy to discover a simple method override that worked. Add to spec_helper.rb:

module Spec
  module Rails
    module Example
      class ControllerExampleGroup
        module ControllerInstanceMethods
          def integrate_views?
            true
          end
        end
      end
    end
  end
end

btw, while browsing the RSpec mailing list, I came across a post that explains a way to slightly speed up test runs.

Posted in  | Tags , , ,  | no comments | no trackbacks

Console Gaming in OSX

Posted by Vincent Woo Sun, 03 Feb 2008 09:03:00 GMT


A year ago, I made the switch from the PC world to OSX rapture – specifically a 15 inch MacBook Pro. It greatly improved my workflow but gaming is definitely a weak point. While there are a few OSX native games that spark my interest, I seriously doubt they’d run well on a laptop. Also, I was given a friend’s old Xbox collection that I could put to use.

Thus began my quest for a cheap USB video capture device. The only find was this product called the EasyCAP. Despite all the negative reviews and comments and the fact that it was Windows only (Parallels should take care of that), I went ahead and bought one of them off eBay.

It was as all the naysayers said it was: a massive disappointment. To its credit, it did manage to work once, though choppy in both video and sound. Nevertheless, No magic incantations or configuration would revive the usb device afterwards. Instead, the laptop locked hard several times.

After all that frustration, salvation was found in VideoGlide, a collection of native OSX drivers and video capture software. It just works and it worked the first time. That’s really all that needs to be said about it. It just works.

Posted in  | Tags , , , ,  | 2 comments | no trackbacks

Rake task runs both Test::Unit and RSpec tests

Posted by Vincent Woo Sat, 19 Jan 2008 03:04:00 GMT

I’m in the middle of converting tests from Test::Unit to RSpec in an older Rails project. So far so good although I’m sure that would change as I dive into more complicated test cases. Still, I’m hoping the pain is worth it for the multiple contexts and lessened fixture reliance.

A nifty feature that I accidentally stumbled upon is that the default rake task would run the test in both test and spec directories. It’s not like I have to exclusively choose one or the other.

That opens up lots of test conversion options. I could convert the tests all at once or a little at a time. Or I could forget about conversion completely and merely write new tests in RSpec.

It’s little surprises like this that brightens up my workday.

UPDATE (FEB8,08): RSpec tests won’t run unless all Test::Unit tests passes.

Posted in  | Tags , , , ,  | no comments | no trackbacks

Early Christmas Gift: Rails 2.0 Release Imminent

Posted by Vincent Woo Thu, 06 Dec 2007 21:53:00 GMT

Rejoice, for Rails Changeset 8321 indicates today as the day Rails 2.0 will be released.

Posted in  | no comments | no trackbacks

Rails String Core Extensions Cheatsheet

Posted by Vincent Woo Mon, 16 Jul 2007 22:43:00 GMT

PNG PDF



References
/CoreExtensions/String/Access.html
/CoreExtensions/String/Conversions.html
/CoreExtensions/String/Inflections.html
/CoreExtensions/String/Iterators.html
/CoreExtensions/String/StartsEndsWith.html
/CoreExtensions/String/Unicode.html
/CoreExtensions/Time/Conversions.html
Changing default date format in Rails @ Ruby Forum
Rails Rubyisms Advent @ errtheblog.com

Posted in ,  | Tags , , , , ,  | 1 comment | no trackbacks

Revisory Project Reflection

Posted by Vincent Woo Sun, 08 Jul 2007 23:59:00 GMT

Demo movie [1MB]. Revisory: Summer 2006.

Description

Online discussion space on graphical assets or unpolished concepts through message threads and image manipulation tools. Revisory facilitates non-linear design processes between people in distributed teams to better explore brainstormed ideas.

Development

The primary goal of this project to begin an introductory exploration of various web scripting technologies:
  • Ruby on Rails
  • HTML5 canvas element
  • Prototype and script.aculo.us frameworks
  • Javascript

The initial technical feasibility assessment concluded that the project was not commercially viable. A crucial factor was that the canvas element lacked current and future support by Internet Explorer. However, it was included in the latest version of Firefox, Safari, and Opera at the time. A decision was made to build a simple conceptional tech prototype as a learning experience through a project lifecycle.

Athestics is based on the simplicity of a blank canvas. The low key design encourages quick freeform sketches regardless of artistic ability. With its monochrome nature, the site design should fall back into the background and stand in contrast to the color possibilities of the user generated content.

End Results

Some testing was conducted near the end of this experiment. Revisory was utilized in highlighting the various design considerations given to a dynamic PDF document for review by a client. We found that keeping images updated and in context as per discussion point through appropriate zooming, panning, and highlighting held great value. The web app was relevant when visual communication was desired.

One area needing of improvement is in the generalized drawing tools. Most marks were kept simple to merely augment the existing image. Also, tools do not suggest efficient uses. Instead, future iterations should involve testing for more common behaviors to automate before any additional development starts.


Image used in demo is “More Fun Than Tekken” by Sevenflow and Kultdesign.

Posted in , ,  | Tags , ,  | no comments | no trackbacks

Automating Credentials in Capistrano

Posted by Vincent Woo Wed, 13 Jun 2007 20:40:00 GMT

Here’s a small tip that’s working well for me. If the user and password variables are set in the capistrano deployment scripts, then capistrano won’t prompt for the credentials anymore. It’s best to store them in ~/.caprc so you don’t commit your credentials to your SCM for all to see.

I’ve accumulated several different sets of credentials now that I’ve been working on several rails projects with different teams with their own login naming conventions. The simple assignment in .caprc just won’t do anymore.

Well, .caprc is just ruby code. Additionally, proc’s can be assigned to values to defer code execution until the value is first accessed. That way, the proc will have access to the application value in it’s local scope. Then we could do something like the following in .caprc:

set :user, Proc.new {
                case application
                   when 'project1': 'user1'
                   when 'project2': 'user2'
                 end
}

set :password, Proc.new {
                 case application
                   when 'project1': 'pass1'
                   when 'project2': 'pass2'
                 end
}

set :svn_username, Proc.new {
                 case application
                   when 'project1': 'svn_user1'
                   when 'project2': 'svn_user2'
                 end
}

Posted in  | Tags , , ,  | no comments | no trackbacks

Older posts: 1 2 3