Pictures from Techdays and FailCamp in Toronto

After getting my camera back from Mitch Garvis after Techdays and FailCamp in Toronto, I decided to upload photos from the events, and to my surprise there were some pretty good shots.  Here is what I came back with:

4007417044

4006643533

4007406358

4006631995

4007393754

4006623627

4006616273

4007373722

4006582013

4006587385

4007358462

4006597103

4007340130

Move Their Cheese! (and Change the Design)

I tend to complain a lot.  Which frankly, doesn't do much for what I'm complaining about.  In most cases, it comes down to "okay, here is a problem, now someone else go and fix it."  There is a direct correlation to how many people I annoy too.  The number of people I annoy increases as the magnitude of my complaining-ness (hey, a new word) increases:

upGraph

If I wanted to change something, obviously I’m going about it the wrong way.  However, there is a direct correlation between how often I do something wrong and the likelihood I will get it right.  See previous image.  What that means is if I keep screwing something up, eventually I am bound to get it right.  However, what is not necessarily apparent in the chart is that if I do nothing, I won’t improve upon my actions.  Maybe it is apparent, I don’t know – I’m still working on it.

The reason I bring this up is because I keep hearing people bash/complain/hate the Office Ribbon and application Ribbons through Windows 7:

ribbon2007 The major complaint has been that people couldn’t find what they are looking for anymore.  There aren’t any menus, so they can’t figure out how to set [insert obscure property].  It doesn’t make sense to them.  They now have to change the way they think about the application.  What is unfortunate about this is that menus are a horrible interface.  You shouldn’t have to dig through 6 layers of menus to change a single property, and that’s what Office 2003 became.  The Ribbon has it’s own problems, but it also increases user productivity greatly when the user knows how to use the Ribbon effectively.  Which in lies a major problem.

Most end-users don’t like when you move their cheese.

Well now we have a problem because people also want improved systems.  Improve the system, but don’t change it.  This paradox is why fundamentally different – game changing – designs aren’t seen all that often.  We stick with what we already know because if we deviate people will complain.  It’s a very tough way to create a better interface.

So how do you create a better interface?  You keep changing it.  Guaranteed the first couple of designs are going to annoy people: i.e. the Ribbon.

This is good.

If you keep failing at designs, that means eventually you are bound to figure out what kind of interface works best.  You will never figure it out if you never change.  Without MicroBating MasterSoft’s (hey look, two new words) ego, I must say that Microsoft is doing well in this area.  They keep making lousy design decisions.  See Expression Blend UI, and listen to most non-technical office workers using Office 2007.  I’m sure there are quite a few instances in other applications as well.  However, and I must make this clear, Microsoft is doing the right thing.  They are actively trying to create better interfaces.  Yes, it will piss people off (it’s pissed me off quite a few times), but at least they are making the effort.  And that’s what counts.

EDIT: P.S. I do like the Ribbon.

User Interface Failure, Succeeding

It’s not everyday an application interface is designed to purposefully confuse people.  It mostly just kinda happens.  There isn’t any malicious intent involved.  However, I’ve had it with Adobe and Google. 

First off, let me say that I am very disappointed in Adobe for keeping Shockwave alive.  Merge it with Flash.  Keep it down to one browser plug-in, jeez.

Second, shame on both companies for purposefully designing a confusing interface.  I visited a site recently that had a Shockwave applet.  I wanted to see it, so I installed the plug-in.  Boom, up pops this window:

shockwaveGoogle

I read it as this: “Hey, you just started the installation of a plug-in.  Click next to continue.”  Whereas it actually said “installing plug-in.  To install another plug-in you didn’t ask for, click next.”  The insidiousness is in the form of a little checkbox that asks if you want the toolbar.  The problem is that the checkbox looks like its part of the feature list, so naturally you just click next to continue installing the original plug-in.

It’s a nicely designed form.  It conveys information perfectly.  Except the information tricks you.  It’s very malware-y.  I would expect such a thing from Adobe; they are starting to really annoy me.  But Google has always had the mantra of “do no evil”.  I called phooey on that long ago, and this is a perfect example of their hypocrisy.  I realize they play a very minor role in this situation, but they really should have rules about how people agree to install their software.

I spent a good chunk of my morning yesterday listening to someone complain about how Microsoft installs the .NET remote app installer plug-in into Firefox, and how inappropriate that is.  In my opinion, this is way worse.  Microsoft just did it.  This is explicitly malicious.  They go out of their way to confuse you so they can say “hey, you agreed to install it.”  Phooey, indeed.

</rant>

Bing Search Provider

Seems it automatically updates itself in IE.

bing

Cool.

Single Sign-On

Is it just me, or is Microsoft the only vendor out there that gives you SSO in all their products, free?  Novell requires you buy their add-on product.  Oracle has nothing relevant.  Never gonna happen on any Linux distro out of the box.  Too many variables.

The integration alone is reason enough to use Microsoft products.  Is it just me, or do people choose to go anti-Microsoft out of spite?

Just a thought.

The Fine Line Between Insanity and Clarity

The BBSM (Building Broadband Service Manager) is a Windows 2000 box that acts as a gateway to the internet for customer access.  It handles that login page when you connect to the open WiFi network.  It is the most convoluted piece of [insert noun here].  The guy who signs my paycheck had asked me a few weeks back to redesign said login page in keeping with corporate designs.  It was also requested that it be mobile browser friendly.  Classic ASP, running JScript (yes, JScript), in IIS 5 on Windows 2000 behind ISA Server 2000.  The new layout was done in about an hour, and it looks pretty good.  It has been 3 weeks and I still can't get the freakin mobile code working.

In a moment of insanity (clarity?) I got the bright idea to install .NET on the box and rewrite all the pages from scratch.  Rewriting took a couple hours, and the mobile support works.  Go to set it up on the box (which must be done via USB key, via Ops guy, via physically walking to box in DataCentre {which I don't have access to}) and come to find permission errors for the ASPNET account doing COM stuff.  Needless to say I hate COM Interop with a passion.  I even sunk to the level of giving the ASPNET account full admin privileges.  Turns out Windows 2000 does not like COM Interop either.

"It looks nice if you use a laptop" was my statement to the boss.  His response was "everyone is using PDA's and their iPhones.  Maybe 10 customers use laptops."

Moral of the story: If the original code was written in the same year you turned 11, run.  Quickly.

Consultation to Salary &amp;ndash; Theoretical Head Banging Meets the Real World

A few weeks ago, six or so, I was offered a position as a Software Developer for the Woodbine Entertainment Group.  The position looked appealing so I accepted the job offer.  I am in a probationary period for the next four months and a bit.  Anything I say can be grounds for firing me.  Never liked that part about non-contract jobs.  Ah well.

Woodbine is an interesting company.  I knew very little about it until I got word of the job.  Seems I was the only one in Canada who didn’t know the company.  My grandmother, who moved to California 50 years ago, knew about the company.  Even used to bet there – well, the Woodbine Race Track, before it moved.  It has an interesting history.

It is migrating to be a Microsoft shop, from a more Novell focused infrastructure.  We are working towards standardizing on .NET for our custom applications.

The one thing that caught my eye with Woodbine is that the company is the technology leader for Horse Racing.  Not just in Canada, but throughout the world.  Our services can let you place a bet live, on a track in Australia, and see results immediately.  Can you imagine the infrastructure required for such a feat?  It’s sweet!  The business-people behind this are really keen on letting technology do it’s thing, so we can make money.  Lots of money.  See our Annual Reports on that.  Check back for latest numbers.

Now, some of you may have noticed that our Corporate Portal is written in what looks to be Classic ASP.  For all intensive purposes, it is.  Archive.org shows the portal went live in 2001, and had a major rebuild in 2003.  Since then incremental changes have taken place, most of which have been built using ASP.NET.  We are working on the new portal.  All I can say at the moment is: it’s going to be awesome.  So awesome that a new word will need to created to contain all of its awesomeness.  HorsePlayer Interactive is pretty amazing, but I’d like to think this new site will be just that much more awesomer.  Yes, I said awesomer.

As for the nature of this site, it won’t change.  I’ll still post my thoughts and experiences.  I might need to change stories a little to protect the innocent, but it’s all in good fun.  I may be forced to post details of how horse racing actually works, because I’m still not sure I get all the facets of it.  In time.

More to follow.

Balanced Audio Connections

Someone once told me that a balanced audio connection works because of polarity. I wish I had a rolled up newspaper so I could swat him with it on the nose. Balanced systems are used to keep noise and interference out of systems. It is a common myth that balancing a system involves polarity. It does not. Polarity plays a part in keeping interference out, but the real reason balanced systems work has to do with impedance.

image

This type of connection is known as an unbalanced system. There is only one connection leaving the Op-Amp in device A. The second connection is ground. In device B the signal is brought in on one leg of the Op-Amp and the the second leg is a replica signal sourced to ground (or reference). In other words the signal is the same except opposite (polarity). There is absolutely nothing preventing noise and interference from entering this system.

image

This is a balanced input. Notice how the input connector has 3 connections instead of 2.

image

This a balanced output. Notice the 2 Op-Amps and 3 connections. The balanced system has both connections equally referenced to ground. How this prevents interference is an idea called Common-Mode Rejection (CMR). Because interference hits all three wires in a cable at once, they will all have an equal level of extra noise. It is voltage essentially. When the signal enters the Op-Amp at the input it looks at the ground line and sees what’s on it. It then compares what it sees on the two signal lines. It kicks out what all three have in common. Hence Common-Mode Rejection.

This is theory though. Not all inputs are perfect, and because all cables have something called cable capacitance, voltages differ minutely on each wire within the cable and the rejection doesn’t work as well as the theory states it should. But it still works pretty darn well. There is a whole science devoted to developing a standard for getting better CMR. One of my favorite resources is Jensen Transformers’ Bill Whitlock. He is a freakin genius. Here is his seminar handbook on balanced and unbalanced connections. This is where it all started making sense to me.

Enjoy!

Proper Podcasting Equipment

I am not a podcaster.  I do not think I have the voice for continued listening.  However, I am a sound guy, and I am anal about it.  I did a search online to find out what equipment is necessary for podcasting and every time I came back with:

  • Microphone
  • Pre-amp
  • Digital Recorder
  • PC Editing Software

For each item on this list I have heard some very disturbing suggestions for what type/brand to use.  I thought I would dispel some myths about each piece of hardware.

Microphone

Behringer is not a professional product line.  They say they are; they are NOT.  I said it, and I will say it again: Behringer does not make professional equipment.  No way, no how.  They market the products as professional equipment that all the big stars use, but in actual fact the equipment would never make it on a tour.  It can’t.  It’s not stable enough, and it’s not reliable enough.  It WILL break.

Enough ranting about that.  There are two main types of Microphones you will be dealing with when podcasting.  Dynamic and Condenser.  They both have their merits.  Dynamic microphones are usually cheaper because they are easier to make.  The sound quality is theoretically lesser than a Condenser Mic.  And a Dynamic Mic does not need an external power source.

Sound quality is always an issue when recording.  However, a podcast is 99% vocal.  At least on the recording side it is.  On the frequency spectrum vocals range between 80 Hz and 1100Hz.  You do not need a super-ultra-fantastic microphone for this job.  In some cases you do, but generally if that were the case you wouldn’t be reading this article – you would be talking to an audio recording professional.

You also have your choice between a Cardioid and an Omni-directional Mic.  An Omni-directional microphone will pick up sound from 360 degrees.  It’s great for dealing with multiple people talking at once, but horrible if you are talking in a loud environment.  A Cardioid (pronounced: car-dee-oid) microphone is directional.  It will pick up sound from a single direction, and is excellent if you are the only person talking in a very noisy environment.

My two cents: go talk to a sound guy directly and tell them what you are doing.  They will understand.  Brand-wise I like Shure and Sennheisser.  By all means contact me if you want more help.

Pre-amp

A pre-amp will do one of two things, but first I need to explain how a microphone works.  Essentially a microphone works by producing a very small electrical signal that is a representation of the sound hitting a membrane within the microphone capsule.  Different types of microphones (electret, condenser, dynamic, piezoelectric etc) capture and translate the frequency patterns differently.  The important thing to know is that the electrical signal coming out of the microphone is extremely low.

The voltage is so low that most recorders cannot handle the voltage.  They need more.  A pre-amp takes care of this problem.  It amplifies the signal just enough so the recorder can use it properly.  In some cases microphones need voltage going to them before they can actually produce a signal.  Condenser microphones are notorious for this.  The required voltage is called Phantom Power.  It’s a long winded explanation of what actually happens with the phantom power, but for all intensive purposes, the pre-amp will usually take care of the phantom power too.  This is definitely something you need to talk to a sound guy directly about.

Digital Recorder

I never got into digital recording, but just from basic analog to digital conversion theory, here are some thoughts:

  1. Get a recorder that converts to a lossless format.  .Wav files are the most standard.  When recording you want the highest possible quality available.
  2. Get a recorder that has a balanced audio input.  XLR is balanced.  Get a microphone that outputs through XLR, and a pre-amp that takes XLR and outputs XLR.  You will end up with better quality.  Balanced connections do wonders for interference.  It won’t remove interference already in the system, but it will prevent any other from getting in.
  3. Get one that is durable.  You will drop it.  You just will.

PC Editing Software

For editing the podcast you want a piece of software that can handle multiple tracks.  This allows you to layer chunks of audio without losing data.  It also gives you more wiggle room to move parts around.  I like Adobe Audition.  There are many others out there though.

Microsoft and the Antitrust Browser...A Decade in the Making

It seems just like yesterday that some government was telling Microsoft that the bundling of Internet Explorer with Windows was unbecoming of an industry leader, because it screwed other web browsers out of market share.

The European Union has made a decision stating Microsoft cannot bundle Internet Explorer with Windows anymore, if they want to sell in any European countries.  This decision was the result of Opera Software ASA, the people behind the Opera browser.  The complaints are two-fold.

  1. Market share is nearly seized completely by IE because it comes preinstalled with Windows, which is the dominant operating system.
  2. Because the majority of browsers are IE, websites need to conform to IE’s html rendering which is “non-standard”.

I’d agree with the first statement, but I find it bogus.  Regardless of whether or not IE has dominant market share, you still need a browser.  How would you get your hands on the installation files for the new browser?  Certainly not by downloading it from the internet…  You can get the software from the store.  Not likely.  That just means one more piece of software to worry about.  You can have the browser company mail it to you.  Is Firefox a company?  Do they have offices?  Seriously?  WTF?  Oooh, or maybe Microsoft can have a basic version of a web browser, that all it does is go to one specific site.  The site then has a list of all available web browsers on the market, which you can then download.  I’m actually at a loss to say for once.

With regards to the second point, Internet Explorer certainly does not have a great track record for sticking to HTML standards.  But I have to say Firefox, Opera, Safari, etc, don’t conform either.  None of them conform to the HTML standards completely.  With that being said, Internet Explorer 8 is supposed to be ACID 2 compliant, meaning it is compliant at least as much as everyone else.  In other words, it shows the face:

AcidTest2[1]

I’m going to keep an eye out for news from the EU, because I suspect they will overturn the ruling in some way or another.  Some people say Internet Explorer is only to be used to download Firefox.  Now that it’s not there, how the hell do you plan on downloading Firefox, eh?