Sunday, August 3, 2008

Why Did I Buy a PS2?

There are many reasons for the time gaps between my posts. Sometimes it's the travel. Other times it's lack of time or extreme case of jet lag. Then again, there are always times when I lose the urge to write (I either feel like writing 7 posts in a row, or just kick back and watch a movie). But this last delay can be attributed to my new/old addiction - the Sony PlayStation 2.

A couple of years back, my good friend Adi loaned me his PS2 along with about 200 games for a couple of months. Needless to say, my productivity dropped to near 0 during that time. He, of course, needed to concentrate on his exams, so he chose to get me addicted instead smile. Over the years, Adi kept loaning me his system every time he needed to concentrate on something.

Since then, PC games became better, I even have an Xbox 360 - which is definitely spiffier and more modern, but the PS2 still had a warm place in my heart.

A year ago, Sony released a newer version of the PS2 dubbed "Slim". And slim it is - roughly the size of a book, extremely thin and light, available in black or silver, it has a built in network card (a feature you had to pay extra for in the original PS2), a low price (get it new on Amazon for $129 or in other stores, bundled with some games, or much lower on eBay) and best of all - it runs all the thousands of PS2 and PS1 games out there.

I scored an almost-new silver one on eBay for $70. I also scored a bunch of old games as well for as low as $0.01 (shipping was much higher than 3 games put together smile). I came home from Vegas and it was there in my mail box. 5 minutes later I was kicking people in Tekken 4 - the best fighting series ever. Other than games, try to get at least an 8mb memory card ($3/20 used/new) if you intend to save your plays.

So now I'm hooked. Right now I'm trying to get Sam Fisher out of the Georgian Defense Ministry in the good ol' Splinter Cell. I may actually take the system on the road with me, since it's so compact and can easily be connected to any TV (will that make me an extreme geek?).

On a final note, I told my brother about this new addiction and he said "get me one too". I got him a black one ($90 including 3 games and shipment) for his birthday - but don't tell him about it yet...

Why Did I Return My New Laptop...


...and why will I buy it again at a later date.

I needed a new laptop, for some personal work. After a l-o-n-g research, I homed in on the Dell XPS M1330. The other runner-up was an Apple MacBook, but you get much more bang for your buck (memory, disk size, connectivity options) with the Dell.

The M1330 is a small, light and modern laptop. I've configured it to the max:
  1. 13.3" Slim LED screen with a web cam
  2. An Intel Core 2 Duo T8300, 2.4GHz
  3. 4GB of memory (a waste of 1GB, as Vista can only address 3GB)
  4. Wireless N
  5. 250GB 5400 RPM SATA drive
  6. A bluetooth remote control
  7. 2 batteries - a 4 and a 9 cell
  8. I skipped the video card, as Dell only offers the Nvidia 8400M - a card with a faulty GPU, that is currently being recalled by Nvidia. Instead I stuck to the onboard Intel X3100 option.
  9. For OS, you're pretty much stuck with the Vista Home Premium. You can downgrade to XP on your own, but I'm not sure Dell provides all the XP drivers. Besides, the Home Premium version comes with the Media Center option, allowing easy access to your media and easy connection to your TV and Xbox 360.
  10. 3 years at home warranty.
All this cost me $1550 - including taxes. And it arrived a week ahead of schedule.

About a week after starting to use the XPS, I started experiencing blue screens. I've narrowed it down to the graphic component driver. After spending the better part of 3 hours with Dell Support on the phone, going through the same problem resolution steps I've gone through on my own, I was offered a new laptop - or my money back.

Since it was during that week that Intel came out with the new Centrino 2 processor family, which provides better battery life, and better wireless range, I decided to get my money back, and try again later, when the XPS will provide a Centrino 2 configuration.

In the meantime, I've started checking for possible replacements. I may go with the Lenovo X200 (the X300's smaller and cheaper brother) instead of the Dell. But if the price is right and the components allow for the same deal, I'll grab the XPS again. I figure the blue screen issue is a fluke that can just happen to any laptop.

Pros: Light, durable, nicely designed, good performance (when not crashing). Great screen and colors.

Cons: Tiny touchpad (certainly smaller than the D620's) and located off center. Got only a 3.1 score in the Vista Experience Index - just like my old D620, despite having the latest and gretest whistles and bells (probably the onboard graphic card killed the score).

The Dell support line is not a great experience either (I could have told you that before). They kept misplacing my machine's tag and I had to re-identify myself (name, phone, email) again and again to people who couldn't assist me at all. Every call had to start from scratch. I just hope I won't really need them. But I figure other companies' support lines are the same - all outsourced to Asia, manned by people who could care less about your problems (they didn't even try to convince me to keep the laptop - they just gave me the money back. Customer retention is probably not incentivized).

Why Should I care About Installers?

WindowsInstallerWhile many (notice I'm not saying all) software companies are aware of the usability, UI (User Interface) and UX (User eXperience) aspects of their software and can sometimes actually draw a direct correlation from the state of their application's usability to their customer's satisfaction level, not that many of them dedicate enough attention to the state of their installers.

The installer is the first (and last) piece of software your customer sees. They say there is no second first-impression. The experience your customer goes through while first installing your product will stay with him and dictate the general feeling he'll have towards your application.

A crappy installer will suggest to the customer that the software vendor does not pay attention to details and that "quality" is a "nice-to-have" value to their development team. A faulty or crashing installer may even suggest worse - and may cause your customer to not recommend your software, or even return it.

So, why should you care about installers?

  • If you're a software user, chances are you've gone through at least one installer experience in your life, not to say hundreds. And chances are some of those installation experiences turned into horror stories, with crashes, reboots and a myriad of DLLs left behind on your hard disk.

  • If you're a software vendor (in sales, marketing, PM etc.) you want to make the best first impression on your client. You want him to see the quality and attention and dedication you've put into your product. Because you want referrals and repeat business. And because if you really believe in the product you sell, you want every nut and bolt to function properly and provide a seamless great experience.
    • Install your software and use it. Don't trust anyone who says "it's great" - experience it yourself, like your customers are about to.
    • Try uninstalling it.
    • Become familiar with the language used throughout the installation process. Write down comments and locate typos early.
    • Don't accept an "it's too late to fix" excuse from your R&D team. Fixing installers is easy - fixing bad experiences and reputation is hard, if not impossible.

  • If you're a software developer your work is not done when you check in that last piece of code to your SCM (Software Control Management) system, or when the last QA test passes successfully. You should care about how the end customer will experience your amazing code, if he can even get to it.
    • Once a release candidate is announced, get the latest installer package and install it. In the past, the common excuse was "if I install the product on my dev machine it'll ruin all the dependencies". This excuse is dead, now that everyone has access to infinite virtual machines.
    • If the environment is too complex to replicate in a single VM, hop over to the QA test lab and ask one of your colleagues to use their test rig.
    • Install the software, check the full process and write down comments, use YOUR software (I find it mind boggling that there are developers who can not use their own company's product - including something they've developed themselves).
    • Finally, attempt to uninstall the software. Uninstallation is an important part of a software's lifecycle and should not cause your users undue grief.

The problem is that most software companies just don't have dedicated installer developers. And yes, I do mean developers - like every other piece of your software, installers contain logic and need to be tested before being released. In most companies I worked for, the installer development is assigned to a developer who doesn't currently have 120% work load on his plate. Or to a QA guy. Or to someone on the support team. That guy/gal may not have any experience with installers/system resources/scripting or all the other skills needed to build a good installer.

Without a clear spec or test plan, he'll fail to check what happens when that installer runs on a machine that doesn't have the required framework installed; or has an earlier version of the same software; or has a necessary file locked etc. He'll probably test it on his machine, or maybe a VM with a similar OS - completely neglecting to check the myriad of versions his software is supposed to support.

He'll forget to update version numbers between versions, include old or wrong strings and fail to check for new requirements. And all of it is not his fault. It's the fault of the Development Manager who allowed this situation to happen, the Product Manager who allows his product to look like crap, and the QA manager (if there is one) for signing off on an incomplete product.

Man, I could go on an on about this and maybe share some of my experiences for the brief period i was in charge of the installer development in one of those companies. But I've decided to take a shortcut. I posted a question on LinkedIn, and got 4 good replies, each covering a different aspect of the issue and offering excuses/reasons for the current state of the industry. Enjoy.

And fix those damn installers razz.