This blog contains reflections and thoughts on my work as a software engineer

onsdag den 27. august 2008

IE8 InPrivacy - good or bad?

Take a look at this entry on the IE8 blog: Microsoft's latest weapon in the ongoing browser war is a feature called InPrivacy which basicly protects a user on the Internet from having i.e. cookies persisted on the user's harddrive from websites he or she visites. Cookies can be impersonated - that is, they are no longer stored on your harddrive but remains in session scope so when you close your browser or goes to another webpage the provider of webpage X doesn't have a clue about you whenever you re-visit the webpage...

This is good - or is it? Everybody (or at least everybody I know) hate banners for one. They are plain out annoying. I can't think of one single time where I clicked a banner during the last 6 months on purpose because I was intrigued to get to know more. There are several ways of removing ads while you are surfing without making your browsing experience very unpleasant because this is what will happen if you disable cookies in your browser. Most sites simply won't allow you to log in or even surf the website if you have disabled cookie persistence - and user's seem to comply with this since cookies are so widely used to store information about a user visiting a website.

So - imagine a world where cookies are enabled but only per session - nothing is saved. What will happen? A few things is bound to happen:

  • Everybody sees the same adverts because everybody comes without the vital information needed to track your recent visits down.
  • Visitor statistics on a website will be less trustworthy
  • Personalized content is not possible before the user logs in (which requires the user to create an account etc. etc)
This might not sound so harmful from a developer's point of view but to the Marketing and Sales Departement this is bad news. How to increase income if you don't know anything about your users? How to predict trends and plan for market movements if you are rendered blind by your users because they use a browser which only impersonates cookies but does not save them?

Cookies are not the only way of tracking users - I wonder if this guy will pull if off - but the cookie protocol is so simple that everything but cookies as a usertracking device is a more tedious task to use than simply using the HTTP cookie. However the trend against Internet advertisement begun several years ago with the first popup-killers so the InPrivacy feature could be somewhat expected. Microsoft would eventually enhance the popupkiller feature in IE6 which was the first mainstream, non-third party attempt to enhance the user experience of browsing the web and as they say: The future is what's happening while you are thinking ahead.

What do you think of Microsoft's InPrivacy feature - and what will the consequences be for people using the Internet in the years to come?

torsdag den 21. august 2008

SQL Profiler tip

Ages ago I discovered a nice little feature in SQL Profiler to enable you to only see the queries which comes from your machine. Very useful if you are not the only one using a database and want to track down which queries you are responsible for initiating from your local machine. I assume that you have basic knowlegde of SQL Profiler and trace templates - otherwise you should read more about this fantastic profiling tool before you proceed.

Here goes:

  1. Start up SQL Profiler
  2. Choose File --> New trace and attach to your database
  3. Click on Show All Columns - and whoops: Up comes the column "Hostname". Choose this column for every event you want to appear in your trace.
  4. Click On "Column Filters"
  5. Find the "Hostname" column and enter your computer's hostname in the "like" field
  6. Save your trace as a trace template - name it i.e. "MyComputer"
Now - this is the sweet thing - you can fire up SQL Profiler and trace every query which comes from your machine. All you have to do is to choose the trace template "MyComputer" and start tracing calls which only you have started.

I find it extremely powerfull because it enables you to debug single lines of code in Visual Studio and monitor exactly what SQL is hidden behind various peeks and pokes to your domain model. I use it about every time I use SQL Profiler - I couldn't live without my personal trace template.

Nothing magic about it - just one of these mighty fine things to have in your debugging toolbox I guess ;o)

Regards Kristian

tirsdag den 19. august 2008

Definition of quality - part #2

Followup to an earlier post about how to define quality - I actually heard another definition a few days ago which claimed that "Quality is when customer expectations are satisified".

I dare you: Can you argue against that definition and point out the weaknesses in the above statement?