Is Microsoft the new IBM?

In the early 90’s, I was starting my programming career. I had a job programming COBOL on an IBM mainframe. I wanted a job programming Visual Basic (3) on Windows 3.1.  At the insurance company where I worked, the old guys (you know – the ones over 40) thought you couldn’t possibly run a company without computers from IBM. (I’m pretty sure we were one of the few sites that ran OS/2.)  I remember thinking that those guys were dinosaurs that didn’t have a clue. PCs and Microsoft were the future

Soon after, I started my own consulting company which has been a Microsoft partner since then. I’ve gotten over 30 MS certifications (going back to VB3 and Windows 3.1). You could definitely call me a “Microsoft guy”.

So now, I’m the old guy (over 40 anyway) and I’ve been listening to younger guys talking about PHP and Ruby on Rails for a few years now.  My initial reaction was something like – “Those are toy languages.  To any serious programming, you need to use .Net.”  The other day it occurred to me that to today’s twenty-something codejocks – I’m the IBM guy from the insurance company.

Well lately I’m starting to think it’s more than just their perception. I’m really starting to hate Microsoft. I don’t mean just the sales side. I’ve hated them for years, but the technology has always been good.  Don’t get me wrong. Visual Studio and SQL Server are still great and I really like SharePoint, but a lot of the other stuff frequently annoys the hell out of me.

Looking back, the decline has been going on for years. Starting on the consumer side – I used Microsoft Money since version 1.0 and loved it but the last few versions really sucked.  (They finally got out of the business and now I have to use Quicken.)  Windows XP was a great operating system, but when Vista came out – our company upgraded in anticipation of our customers upgrading.  No one ever did. (Vista was like the corporate equivalent of Windows ME. Very few people ever saw that either.)  I was hopeful when I heard other people saying good things about Windows 7. Maybe it would be a move back in the direction of XP. Nope – they doubled down in trying to out-Mac Apple. (If I wanted a Mac, I’d buy a Mac.)

I used Windows Phones for many versions – all the way to 6.5. I finally had enough and got a Android phone and love it.

I upgraded my Windows 7 to IE9 the other day and my computer no longer knows that Outlook 2010 is my default email program. (Notice I’m on the current version of everything.)  When I tried to send a file as an attachment today, I got an error message saying I had no default email client. Oddly enough, the message wasn’t from Windows, but was from Outlook.  My default email program was telling me that I had no default email program.

You get the idea.

We’re helping one of our clients move their corporate email.  We use a hosted Exchange service for our email and looked at that first.  It’s basically $5/month/mailbox. They’ve got about 20 mailboxes so that would be about $100/month.  Then we looked at Google Apps and it’s free so that’s what we went with.  One of my co-workers asked me “why do they need an Exchange server?” and I didn’t have a good answer. Just like the old dinosaurs when they tried to explain why we needed a mainframe.

Survey questions – don’t make them mandatory

I just closed my Mint.com account. (Nothing wrong with Mint.com. I use Quicken and so I didn’t really need it.)  In their confirmation email, they gave me the standard “We hate to lose you as a customer. Would you mind filling out a survey to give us feedback?”

OK – I’ll take a couple of minutes and let them know that I didn’t really have a problem with their service. (I actually think it’s very interesting.) I just didn’t need it.

The first page has 10 or so questions. I answer the 3 that are relevant to my situation and click Next.  I’m then told (in red) that the 7 questions I didn’t answer are Required.  So I clicked close on the browser and went on about my day.

This happens all the time. Seems like 3 answers from me are better than none.  If you’re really interested in feedback – take the feedback a customer is willing to give you.

Don’t Surprise your Customers

So yesterday, I had a small printing job that I uploaded to Kinko’s. (It will always be Kinko’s to me, no matter what FedEx decides to call it.) I’ll spare you all of the details, but – when I went to pick it up, I found out that they had printed my black and white document on their color printer and my bill was over $100.  (I was expecting it to be about $15.)  Surprise!

We haggled a little bit, she knocked some off the bill, I paid and left the store irritated. As I drove home, irritated turned to mad. I realized I was much madder than the situation actually called for, but that didn’t change how mad I was.  It reminded of something Seth Godin wrote here about being disrespected – “Looking back, I’m really sort of amazed by two things: First, how visceral the feeling is when I feel as though I’ve been disrespected, and second, how easy it would be to avoid.”  Visceral was a perfect adjective for how mad I was. Continue reading

Eat your own Dogfood

I spent the day helping a client set up a software system to help them keep their bank accounts reconciled. It was a ridiculously frustrating experience. The idea behind the software package is that now that most banks have web sites where you can download a file containing the account activity, it should be simple to pull a new file down every day and constantly make sure that you and the bank are on the same page about how much money is in your account.

After spending most of the day at this, I feel pretty confident in saying that no one involved in building the software ever actually used it to reconcile a bank account. Technically, the software did do the things that its feature sheet claimed it did, but I don’t know that the user was any better off as a result of having it

I think that’s the problem with a lot of software design – people think about the data the software must track or process, without really giving much thought to the steps that the user will have to perform to use it. Continue reading

After reading Liberal Fascism: Where do we draw the line?

I’m just finishing up reading Jonah Goldberg’s book, Liberal Fascism.  I thought it was very informative and thought-provoking book.  (I’m a conservative who has subscribed to National Review for many years, so that’s not really a surprise.)

It got me thinking a lot about “the individual” vs. “the collective”, which is basically the relevant battle.

As someone from the right, I naturally favor the individual in this debate. I basically want to be left alone to pursue happiness how I see fit and would just as soon leave others alone.  There are some cases, however, where I would feel OK about interfering in other people’s lives.  Phillip Garrido, kidnapper of Jaycee Lee Duggard, needed to be interferred with.  Just about all of us, regardless of our political affiliation, would agree with that.

The question, then, for all of us is – where do we draw the line?  Which actions/situations of others need to be interferred with?  More specifically, to borrow from Ayn Rand, which actions/situations of others need to be interferred with “at the point of a gun”?  (That’s important. Everything that the government requires you to do – it does so at the point of a gun.)

Once you concede the need for certain things to be done at the point of a gun, you have admitted the need for some kind of government.  I say this to point out that I am not anti-government. There is absolutely a need for government.

Having said that, I think government is terribly inefficient and wasteful.  I think this is just the nature of the beast.

If you agree with these two points, the logical takeaway from that is – get government to do the things that it has to, but nothing else.

When you apply this to our current healthcare reform debate, I think the relevant discussion isn’t “should we or shouldn’t we”, but rather “can government do the job?”  If you think of it as interviewing candidates for a new position, I think we are currently arguing about whether or not the position should exist.  I think the more relevant argument is – our only candidate (government) can’t do the job we are interviewing for.

PayPal IPN integration from .Net

Note: I recently put a C# version of this code on GitHub at https://github.com/jtrotman10/PayPalIpnWebFormsDemo


It’s easy enough to integrate your site with PayPal so that you can send shopping carts to get paid for. Since the communication is via a POST, it did take me a couple of minutes to get an ASP.Net page to post to something other than itself via a postback. I ended up using an ImageButton (using a PayPal logo image) and set the PostBackURL property to https://www.paypal.com/cgi-bin/webscr. The static fields (like “business” to pass the email address that is my PayPal user id) were sent by putting a HiddenField control on the WebForm. The dynamic fields (like shopping cart items) were added to the form in code (in the PageLoad event) like this:
Dim h As HiddenField

h = New HiddenField
h.ID = “shopping_url”
h.Value = “http://www.mysite.com/shopping.aspx”
Form.Controls.Add(h)

It’s a little more complicated to get PayPal to tell your site that you’ve been paid.  PayPal has a feature called Instant Payment Notification, or IPN.  It took me a little while to get it debugged and working so I thought I would post a simple, but working, IPN solution that uses ASP.Net, VB.Net and SQL Server. Continue reading

Be patient

A short write up about me was in the Birmingham Business Journal the other day (you can read it here).  Shortly after it came out, I got the first – of what will probably be many, if history repeats itself – calls from someone who – now that they knew a little bit about me – was selling something that they just knew I needed.

I hate to admit it, but I’ve done the same thing in the past.  Here’s the problem – lots of other people saw the same article you did and are also calling this week to sell something else.  It’s going to be very hard to stand out and make an impression the week after someone appears in some kind of media, regardless of what a perfect match your solution is for their problem.

Here’s a hint – wait a month.  All the other voices that would have drowned you out have now moved on to someone else.  Your chances of making an impression are much better.