Archive for October, 2007

iTunes + vista = no CD

Monday, October 29th, 2007

Here is another interesting bug that I uncovered over the weekend. A while ago, to fix another issue with my mail files on outlook, I remapped my CD drive from E to B. ( I needed to make E a writeable, non optical drive to fix my outlook problem.) I figured that applications should just see it as another drive like anything else. The trouble is, I found out the hard way, that iTunes can’t see it.

A quick change later, and viola, iTunes can see my CD’s again … yay.

That’s right iTunes team, you just earned “it works on my machine.”

Microsoft launches new MSDN tester center

Tuesday, October 23rd, 2007

Microsoft have launched a new Tester Center. Content is a bit thin on the ground at the moment, but hopefully some great content will come in the future. Check it out at http://msdn2.microsoft.com/en-us/testing/default.aspx

error can’t find project or library, when using Format in an excel spreadsheet

Monday, October 22nd, 2007

I sat down to fill out my time sheet today, clicked on the new sheet button only to be greeted by the “error can’t find project or library” error. Apparently Excel knows that I prefer coding to doing time sheets, and I was instantly presented by the VBA code with an error on a line with a Format command.

After a bit of digging there is a missing reference to the MSCAL.OCX, also known as the Microsoft Office Calendar control. Now here is the interesting thing. I don’t use Microsoft Access, so I don’t install it. Just as I don’t install Publisher or Groove. The problem is that MSCAL.OCX only get’s installed when Access is installed.

Why ? I can understand that if it was the Microsoft Access Calendar control, but it’s not, also why is such a fundamental function not part of VBA proper?

To make this work, you need to either install Access (recommended), or get a copy of the missing file and it’s dependencies from a working installation, license permitting of course.

Congratulations Microsoft Office 2007

NTVDM has encountered a hard error

Tuesday, October 16th, 2007

Installing some software on Windows Server 2003 I encountered an error today. It looks like for some reason, there are two missing files in the System32 directory that cause this error. I used filemon to trace what was happening, and copied the files across from my Vista workstation.So here’s the fix.

  1. Type Windows-R then “command”
  2. if the error occurs then you are probably missing autoexec.nt and command.nt from c:\windows\system32. Find a machine that has them and then copy them across. You should be golden.
  3. If not, download and run filemon from sysinternals, and see what is going on.

Actually it wasn’t that hard, maybe it should be an “easy” error.

The tester is dead! Long live the SDE/T

Friday, October 12th, 2007

Testing in Australia has a problem. The Australian IT industry still views testing as a job that anyone can perform with minimal technical skills. A quick search on a leading recruitment site has a number of advertisements for Testers with requirements similar to the following:

- At least 3 years experience in a Tester or Test Analyst role with demonstrated experience in planning and executing functional, systems and regression tests.

- Excellent written and verbal communications skills will be a must for this role - the right candidates must be able to develop clear and concise test cases and test scripts

- Some previous experience using Test Director or Quality Center - any exposure to automated test tools (particularly QTP) would be a benefit

- Experience of various software testing approaches and SQL in oder to extract data for tests.

- A methodical nature and high levels of attention to detail.

(Extra points to those of you who noticed the spelling error in the advertisement = “oder” instead of “order”.)

This ad is typical of those here in Australia for testing positions. No programming skills required, no industry specific knowledge, just X number of years in testing, good communication skills and some experience with a particular test tool vendor’s product.

I’m a big fan of analogies so let’s imagine for a second that a car company uses non technical testers to evaluate new cars under development. I can imagine a dialogue between a test driver and an engineer going something like this:

“The new car feels a bit funny at the front”

“What do you mean by funny?”

“Well I turn the round thinngy in the there …”

“oh you mean the steering wheel”

“yeah, the steering feel. I turn the steering feel to this way, but the car doesn’t turn as much as I thought it would.”

“It’s a wheel, not a feel.”

“oh sorry, wheel”

“Anyway, so let me see if I understand you. When you turn the wheel, and the front of the car doesn’t turn as much as you expect it to.”

“Exactly”

By comparison, a test driver that understands how a car works can have a much more meaningful conversation with the engineer:

“It has mid-corner understeer, after turn in.”

“Ok we can solve that by increasing camber slightly or adjusting the rear springs.”

“Let’s try the spring adjustment, as changing camber will also effect tire wear.”

The technical tester is much more effective than the non technical equivalent as they have similar, equivalent or superior knowledge to the engineer but simply a different focus and specialist skills. Whilst my example is fictional, the exact same difference in conversation should be expected between a “Tester” and a SDE/T. What is an SDE/T? An SDE/T is one of the common, technical testing roles at Microsoft. Their testing careers page has the following description:

Software Design Engineer in Test
Tests and critiques software components and interfaces in more technical depth, writes test programs to assure quality, and develops test tools to increase effectiveness.

At Devtest, this is what we do as well using, the same tools, knowledge and experience, as all the other “developers” on the project. The key difference, however is we have a different focus, live in different .Net namespaces (lately System.windows.Automation) and have different goals. However we aren’t any less capable at writing code that the “developers” on the project.

What we constantly have to battle is a prejudice that if you have test somewhere in your job title we are somehow lesser beings, and are not valued or required on most projects. We are seen by people starting out in the industry as un-cool and very few people would consider testing as a career, this is just crazy, we use C#, visual studio, TFS and other cool tools, just like everyone else, we just have a different focus. The “tester is dead” long live the SDE/T.

What’s wrong with the iPhone?

Monday, October 1st, 2007

Apple’s iPhone is a landmark product in a number of ways. It really highlights the sort of great product that can happen when development is driven by great design and not the other way around. However, I think that the product is based on a flawed assumption that the device will always have an internet connection. This has led to the situation where the iPhone is probably the single most hacked device on the planet at the moment. Let me explain how that happened.

There must have been a bit of a which came first, the chicken or the egg moment in regards to using AT&T as the provider for the iPhone. Did apple have a device that needed a constant internet connection and went shopping for a phone network, or did they make a deal with AT&T and then build a device knowing that it would always have a connection? Either way it doesn’t matter but it definitely shaped the way the device works.

Normally with a mobile phone you can buy it in one of two ways. You can either buy a subsidised phone on a contract where your monthly access fee pays for the phone, or you can buy the phone outright. In recent years telco’s started locking some subsidised phones to their networks in a way to ensure that their subsidised phones weren’t being used on other, competitors networks.

Apple currently does not provide a version of the iPhone that is unlocked at any price. What this means is that currently, if you want a phone in the US in the next 5 years, you have to be a customer of AT&T. That single move reduces Apple potential market base to 27% of the US market and locks out the rest of the global market until they strike similar deals in other countries. If actively reducing your potential customer base isn’t enough it actively encourages the remaining 73% of the US installed base to look for ways to unlock an iPhone to use on their current network. We’ll come back to this in a moment.

As soon as Apple released the iPhone, they also released a way for developers to write applications for the iPhone … web applications. Seriously. From a user experience point of view, there is no comparison to a native application compared to a web app. Apple needs to take a leaf out of Microsoft’s playbook here and provide a sandboxed runtime on the iPhone, and provide a platform not a product. If apple provides a great set of tools and API’s then developers will flock to the iPhone and make the product something much bigger than what ships out of the box.

So with the lack of a controlled development platform and non AT&T customers wanting to use the phone, there is HUGE motivation to hack this thing until it can be hacked no more. If apple keeps locking people out, I would bet that in a couple of years you may even see a clone OS based on Linux that you can install instead of the out of the box Apple one.

So here are my tips for Apple to dominate the world and stop people hacking their product.

  1. Sell an unlocked version of the iPhone, at a higher price. People are already paying more than twice RRP for these things on eBay.
  2. Encourage development the same way Microsoft does for their phones and now the XBOX 360 through the XNA program. Give them tools and a controlled sandbox that you let them play in and then step back and watch greatness happen.

Apple’s recent 1.1.1 firmware update has, for now, locked out the hackers and given them a steep hill to climb, but if history is a guide, it won’t be long before they are back in the phone again. So my advice to Apple is this. Go and study the Xbox 360 development model and apply something similar to your iPhone, and support the communities that want to extend your products, don’t fight them, because it’s just a waste of everyone’s time and effort.