There's sweetness in that fox

Posted by posted by Francis @ 10/26/2006 10:54:00 AM

Let me add my voice to the chorus of people that are liking the new Firefox 2.0. After only a couple of days of usage. I really like it. Install was flawless, it updated everything (bookmarks, add ons and cached data). It even took care of my multiple profiles.

For me, the main reasons to switch are:
  • Spell checker
  • Built-in integration with bloglines
  • Speed (startup and browsing are noticeably faster)
Go here to download.

Labels:

Thoughts about unit testing

Posted by posted by Francis @ 10/24/2006 11:14:00 AM

Last week, I went to an OSEF event. The topic of the event was about testing automation. It was really cool because it was not about tools or techniques but mainly about problems implementing a testing automation process in your software organization.

The panel was varied and included people from organizations large (IBM, Alcatel, FileMaker) and small (MXI, Solacom). Everyone had interesting inputs about automated testing. But everyone seemed to agree that they were an essential part of their quality strategy.

In most cases, automated tests ran the full gamut from top down UI testing all the way to function-by-function unit testing. One of the guys on the panel actually described that their company try to implement Test Driven Development.

Since most of my customers don't agree that this is a good way to spend their money; I have never had the opportunity to try TDD. Like this guy, I am not sure that all tests written this way are useful from a quality perspective. But like this guy, I feel that unit tests are an excellent way to convey low-level design ideas. Even when we don't automate unit tests, unit test cases are part of our patch submission process. We have found that they are a great way to describe in a few words, the general idea of the patch and some of the edge cases to test.

That being said, my personal experience taught me that unit tests could save my behind. It is a good feeling to run a test suite after some bug fixing to discover that the bugfix actually introduced a new problem that causes some of the unit tests to fail.

Labels:

What is so cool about interaction design

Posted by posted by Francis @ 10/23/2006 10:10:00 PM

Recently, the company I work for acquired a user experience design firm. They are a group of folks that I have known for a while and with which we have successfully completed many projects.

Although it is not a corporate objective for me, I decided to make it my personal mission to better understand what it is they did. I had a pretty good idea of what that was but I needed something concrete. Walking through a bookstore this weekend I stumbled on About Face 2.0: The Essentials of Interaction Design and immediately started devouring it. After a few chapters, I am starting to understand.

For a guy like me who has been in the software industry for over 10 years now. This book is a great eye opener. For once, it is us (the software guys) who are made to feel like idiots instead of the users. Most of what we've been doing when interacting with users is wrong.

The book describes the basis of "Goal-Directed design". How a good interaction designer will create a design that helps the user achieve its goals. Throughout the course of the book, you learn about some design axioms like:
  • Nobody wants to remain a beginner
  • Imagine the user as very intelligent but very busy
  • Don't make the user feel stupid
  • Design for the probable case; provide for the possible case
  • Ask forgiveness, not permission
  • Disks and files don't help users achieve their goals
And a whole whack more.

This book is not about turning people into interactive design practitioners. It is about understanding the value of good design. I would definitely recommend it to anyone involved in the creation of software.

Labels: ,

Taking passwords to the grave

Posted by posted by Francis @ 10/23/2006 09:55:00 PM

After many years of reusing my handful of passwords. I had finally followed Bruce Schneier's advice and I started writing down all my passwords. For this purpose, I am using Password Safe. A simple little utility that encrypts my password database.

And then... this article comes up and makes things complicated again. Given that Password Safe uses strong cryptography. My password list is practically impossible to obtain by anyone else but me.

So, if I get hit by the proverbial bus no one will be able to access my stuff. Not even my wife. So I'm back to square one. I guess I'll go print that database now.

Labels:

IE 7 twice as fast as IE 6

Posted by posted by Francis @ 10/20/2006 01:45:00 PM

Zimbra - Blog - IE 7 vs IE 6 - The Javascript implementation in IE 7 got a good makeover. According to they tests they performed, the browser is twice as fast as version 6.

Also, it seems they solved many of the DOM-related memory leaks that plagued previous implementations of the browser. That is great news for application developers.

(Via Ajaxian)

Labels:

Developer Highway Code

Posted by posted by Francis @ 10/16/2006 04:42:00 PM

This document from Microsoft is a pretty good summary of secure application writing practices. It also is loaded with security checklists (if you're the checklist type of person).

This is not a "how-to" for application security but it serves its purpose well as an "awareness enhancing" tool.

(via Greg's Cool [Insert Clever Name] of the Day)

Labels: ,

Building code to last

Posted by posted by Francis @ 10/12/2006 10:39:00 AM

Building code to last - We’re more expensive and take longer because we do stuff you don’t care about.

Sometimes, I wish this was our slogan too. No one likes to create crappy products. It is much more satisfying to create this beautiful work of "art", perfectly modifiable piece of code that is pretty much self-maintaining. (Ok I'm exagerating a bit)

But what I find even more important is not to build "perfect code". It is to create something that will ultimately help my customer. And if skipping a few steps allows me to deliver a product that my customer can afford, and that my customer can use before the window of opportunity closes... well that's what I'll do.

Labels: