Archive

Posts Tagged ‘Software Development’

IE not recognizing utf8 encoding in the HTTP headers

July 17th, 2009
Comments Off

I’ve just spent a few very frustrating and completely unproductive hours trying to understand why the Ajax requests that worked in almost all browsers refused to work in all versions of IE (tested from 6 to 8) with some vague error which IE itself refused to debug properly:

  1. The error said “System error: -1072896658″
  2. Even successful Ajax response from the server for some reason caused an error handler to be executed in the Javascript

Microsoft Script Debugger which you normally use for this kind of stuff in IE6 showed me absolutely nothing (a blank white screen to be precise). Thank god that IE8 got a built in very nice debugger now. At least it was able to show me a particular line in my Javascript code. Better then nothing although the line itself didn’t explain anything.

Thanks to my natural powerful investigation skills I was able to finally narrow down the problem to the HTTP header with the charset that was sent back to the browser by the server (ie. my code on the server). I’ve used “utf8″ to specify the Unicode charset, which still looks perfectly ok to me. But since this place started to look suspicious, I looked at how other sites specify the same thing in the same HTTP header and damn — they all used “utf-8″ (with a mother effing dash!).

After I’ve changed the charset in my code to “utf-8″, all versions of IE stopped complaining. What a bizarre, bizarre thing! And even the latest and greatest from Microsoft – IE8 was also prone to this nonsense. Unbelievable.

Whatnot , ,

A program manager

March 23rd, 2009
Comments Off

Having a good program manager is one of the secret formulas to making really great software. And you probably don’t have one on your team, because most teams don’t.

via How to be a program manager – Joel on Software.

We called this position a product manager instead in Stuffed Guys, but otherwise, it was exactly as Joel described with an addition of doing support as well (since we are a small company, plus support allows to be closer to the actual users and understand better what they need).

At first I was a product manager, then Ivan. But we desperately needed a separate person for that, who will not program and only manage (these two activities don’t mix well). Hopefully next time we will be more lucky and have a good product manager from the start.

This is more a note to myself to use the Joel’s article as is to describe to a person what we need from him or her.

Whatnot , ,

Read the Diffs

February 3rd, 2009
Comments Off

And again Eric Sink writes things that I tend to agree with –

Do you work as part of a software team? Here’s a piece of advice for you:

Read the diffs.

Every morning before you start your own coding tasks, use your favorite diff tool to look at all the changes that everybody else checked in the day before.

via Read the Diffs.

We, in the Skoosh development team use this quite a lot. Our code is in CVS and we use a neat tool called CVSSpam which emails colored diffs of all commits submitted to the repository to all the developers.

So many times I’ve discovered bugs (including my own) just by reading the diffs in the email after the commit. It’s really a nice (and easy) way to review the code.

Whatnot

One key feature to differentiate your new product

December 28th, 2008
Comments Off

I think Eric Sinc is right in this video — the best way to compete when you are introducing a new product is to pick up one feature from all the features that your competitors have and do it much much better.

From my experience with software products I can see that this should work. You build your product with the main focus of doing only one thing much better then your competitors, this immediately differentiate you from them. And, of course, you can always then extend your product to do all the same things your competitors do if your users would want that. But one key feature will help you tremendously to position your product correctly when it is only launching.

Thoughts

Support woes

December 28th, 2008

This is the first post in what would probably be a series of posts about Stuffed Guys, a kind of post-mortem to the second phase of the company’s life, which ended on Nov 10th, 2008 with this farewell post on the company’s forums (and started on Jan 1st, 2005).

Stuffed Guys was created by programmers, we wanted to create our own software, make living out of selling it to individuals and companies and take extra pleasure from the fact that something we’ve created is being used and loved by people around the world.

Almost everything eventually worked out as I personally envisioned back in 2004. “Almost” — because user support over the years had become a major challenge.

The truth is, developers don’t like doing support. I think you need to have a certain mentality to be able to answer and resolve user queries on a permanent basis and find pleasure in doing this.

Two major problems for a developer:

  1. In a small company like Stuffed Guys, with only a few developers, solving user problems everyday takes too much time out from actual programming. And we’ve chosen to be programmers because we.. well.. we wanted to program everyday. User queries, especially tricky cases, which could take a whole working day to resolve, take too much time, leaving too little for programming
  2. Once in a while you encounter “mentally challenged” people, who don’t like you or your product for the reasons that only they know of. Such people won’t listen to the word of reason, they will tell you and sometimes your customers too (via the forums, for example) how they hate you, how bad your product is, and other such things. If you are doing user support and encounter such people, you can’t ignore them as you would probably do in the real life (or kick them in the face for that matter), you need to stay polite regardless of what they say. For a programmer this is a nightmare. When this first happens — it ruins a whole day, then a week, then a month and then you just can’t bare it anymore psychologically, your job becomes a nightmare.

It seems that in order to work in product support you need to have a special state of mind and support should better be your main responsibility in the company.  So, once I realized this, I started searching for a dedicated support person for Stuffed Guys. But it didn’t work out well.

Supporting users of such products as our Stuffed Tracker requires quite a lot of technical knowledge about the internet technologies and even some basic programming skills (to be able to debug problems on the spot with the client).

Turns out most of the people with that kind of knowledge are not searching for a technical support position, they want to be programmers. Probably a position in a support department can be looked at as a starting point in the company, but this doesn’t work in a Russian job market. Until late (maybe with the worldwide economic crisis this will change)  there was such a big demand for programmers, that people who knew how to program at least on the basic level had no desire to search for any job position other then programming (it also pays more).

When I will be preparing Stuffed Guys for the 3rd phase I would like to have a plan for support from the start, without this problem solved it doesn’t make sense to return to our own products at all as this kills all the fun.

I recently thought of one trick. We have support forums where our users can chat with us and with each other — this is a small community that gathered around our products. They actually already do user support for us in some way. They know how our products work, they use them already for some time. If only we could  come up with a way to outsource the support to our own users! Psychologically, these people should have little or no pressure, as they are not really a part of the company officially. So people who can be aggressive towards the company or the products should not be taken by the community supporters personally (as it happens when we do user support ourselves).

But the ideal solution would probably be for someone to create a company to provide outsourced technical support for small companies like Stuffed Guys. We can introduce support charges for our customers (which is a common practice anyway) and would redirect most of these payments to this outsourced support company. I think it is quite possible that this company can also provide their own support software to the companies they work with, so that both we and them can login in the same system and monitor user queries and things like this.  A ready-to-use support system would be an additional advantage of such support company.

That would be a perfect solution, for us at least. I wonder if such company already exists, or if someone would be interested in creating one (we would be the first customers!). The idea from the business perspective looks to be pretty interesting indeed.

PS. From Guy Kawasaki

Hire the right kind of people. To put it mildly, customer service is not a job for everyone. The ideal customer-service person derives great satisfaction by helping people and solving problems. This cannot be said of every job candidate. It’s the company’s responsibility to hire the right kind of people for this job, because it is a bad experience for the employee and the customer when you hire folks without a service orientation.

Ideas, Thoughts , ,