Interesting tool for comparing browser versions

Browser Compatibility September 24th, 2009 @ 14:09

I stumbled upon Expression SuperPreview, a really neat tool for comparing different versions of web pages.

It basically lets you enter the URL (local or public) of  a web page, and allow you to compare images of different browser versions. Compard to other tools, like BrowserShots, it’s got the handy addition to also inspect and compare DOM elements in the views.

Slim & Free or Fat & Premium

There’s a free, slimmed version available for Internet Explorer (6+) comparisons and a “premium” version included in Expression Web, where you can compare with Firefox and other browsers you may have installed. The premium version is available as a 60-day trial, and the licence is priced at $149 USD, which could prove to be money well spent.

I usually test my apps in IETester and on a virtual machine, but I’ve downloaded the 60-day trial of SuperPreview and will give it a go.

10 useful usability findings and guidelines

Other September 24th, 2009 @ 11:09

Smashing Magazine posted another great article today about usability.

Summarized, their findings were:

  • Form Labels Work Best Above The Field
  • Quality Of Design Is An Indicator Of Credibility
  • Most Users Do Not Scroll
  • Blue Is The Best Color For Links
  • The Ideal Search Box Is 27-Characters Wide
  • White Space Improves Comprehension
  • Effective User Testing Doesn’t Have To Be Extensive
  • Informative Product Pages Help You Stand Out
  • Most Users Are Blind To Advertising
  • Bonus: Findings From Our Case-Studies

Not necessarily new findings, but as usual, very interesting reading!

Danger in using Google Analytics for Flash?

Flash & Flex September 23rd, 2009 @ 17:09

I recently discovered that some of our stats in Google Analytics looked a bit suspicious. When looking into it, I remembered that there was a previous issue in the ga.js tracker, causing usage of user-defined variables, setVar(), to be tracked as pageviews. These pageviews corrupted stats like bounce rates and time on site.

Google fixed this issue in January, but the latest GA for Flash release is from December. So there’s a big chance that the bug still remains in the ActionScript version. I’ve posted a question in the GA for Flash discussion group, but as the group seems to be full of porn spam, I’m not very hopeful in getting an answer right now…

Also, some of our stats were missing data about screen resolution etc and I fear that the Flash tracker and setVar() is the root of that as well (since it’s working fine in products where setVar() isn’t used).

Anywho. I’ve not yet confirmed that this bug is still there, but an easy solution is to use Google Analytics for Flash in “Bridge mode“, instead of “AS3 mode”. This means that the ga.js file is used, which is a guarantee that the latest official Google updates are always used.

Using the Swiz MVC framework for Flex

Flash & Flex September 22nd, 2009 @ 11:09

In my post a few days ago, I mentioned that that Scott Delap and his team were using the Swiz MVC framework. I decided to try it out, and I have to say it looks quite promising. The Swiz tagline is “Brutally simple micro-architecture for Rich Internet Application development with Adobe Flex”, and it was actually pretty easy to set up. The framework is similar to the way Java Spring works with autowiring, so if you’re familiar with that you’ll probably like Swiz.

I’ve only read the docs and tried the demo out so far, but it’s a very interesting candidate for future Flex projects. It’s quite easy to separate the views and controllers from the business logic and using both MXML and ActionScript views seems to work fine. Swiz really gets the job done.

Seems better than PureMVC

I’ve tested the PureMVC framework earlier and kind of liked it, but developing with PureMVC gets quite repetitive and you produce quite a lot of boilerplate code. I like it better when the MVC framework easily guides you towards a proper structure, without having to do too much work to get there.

Also, there seem to be pretty good community activity in the Swiz Google Code project.

It seems like the best MVC framework candidate so far!

Presentation on creating an online multiplayer game lobby in Flex & Air

Flash & Flex September 18th, 2009 @ 15:09

I came across a really interesting presentation from Scott Delap on InfoQ:

Scott Delap shares his experience creating a lobby interface for an online game using Flex&Air. He details on related technologies used, available tooling and frameworks pros&cons, remoting options, unit, functional and load testing approach used.

To sum it up, it’s a good and elaborate presentation from a Java developer’s perspective, with reflections from a online multiplayer game development project. I enjoyed the full hour of watching it! :)

They’ve dealt with many of the questions we have and their conclusions are very interesting.

Presentation summary

I’ve summarized the most interesting contents of the presentation. They’re actually notes taken during the presentation, so please forgive any poor language or formatting:

  • The Flex Builder WYSIWYG actually works, which isn’t common at all
  • MVC in Flex is pretty much MVc, where the controller and view are sort of bundled together
  • When choosing an MVC framework, Swiz turned out to be most interesting (among likes of Cairngorm, PureMVC etc). Swiz is similar to Spring with auto-wiring. Also supports Dependency Injection, Command Chains, and has MXML support even for non-views (i.e. for wiring the M:s, V:s and C:s).

Their MVC implementation:

  • MXML for the views
  • ActionScript for the controllers
  • Remoting interfaces + specific back-end implementation
  • Swiz wiring it all up
  • They found no real reasons to use a “big MVC framework”, whereas Swiz did the job well enough

Remoting

Looked at several candidates, where WebORB, Hessian, XMPP, GraniteDS, Rest not weren’t considered enough for various reasons. Also evaluated BlazeDS, which doesn’t scale and has no NIO support.
Best candidate: LiveCycleDS - supports NIO, RTMP and lots of connections:

  • Good for remoting Java <> Actionscript and easy to integrate
  • Some Java <> ActionScript translations a bit problematic, i.e. enums and null values
  • Some lack of documentation when it comes to messaging

Unit testing

  • Evaluated ASUnit, FlexUnit, DpUnit/Fluint
  • Chose Fluint, but could just as well have chosen FlexUnit. Unit testing Utilities, Controllers, Remoting Services with Mocks

Functional testing

  • FlexMonkey not working properly with AIR and had a bit of lag
  • Wrote a stripped-down version of Selenium

Load testing
Currently no good way of performing load testing.

  • Hard to simulate 1000:s of users
  • No really good tool for load testing at the moment

Final thoughts on Flex

  • MXML works as advertised
  • Easy to do complex things
http://opensource.adobe.com/wiki/display/blazeds/BlazeDS/