Google   web blog
Showing posts with label software implementation. Show all posts
Showing posts with label software implementation. Show all posts

Tuesday, January 22, 2008

Getting Users Emails

For web-based business one of the most important measures (usually single most important one) is a database of users. When we think “user” we see “email”. Sometimes more but the very first thing is an email address. There are lots of businesses which are valued highly only because they gathered a big number of emails... I mean users. The more emails... I mean users you have the better.

That’s web-business owner perspective.

On the other hand we, as users, are always suspicious when someone wants us to give out our email address before we can see the application or use the service. Who doesn’t have so called spam email which is entered whenever we have to sign up to the application we don’t know we will use longer than five minutes. We don’t even check what is there. We only click the confirmation link and voila. We’d prefer to keep our emails private as far as possible.

That’s user perspective.

I value services which allowed to be used without registration. YouTube is a standard example, but we did exactly the same in Overto. You can use main features (search through auctions) without registering. Although in YouTube when you want to upload a clip or access all content you have to sign in. When you want to use subscriptions in Overto you have to sign in. Service owners get information they want. You trick them with crappy address.

By the way that’s smarter tactic than just forcing users to register before they can do anything. In that case I usually walk away.

Lately I see more and more sites with another approach. They don’t force you to register at all. A good example can be myminicity.com. A kind of on-line game where you build your virtual city. The game keeps people coming back by giving them personalized website (their city). And it works. Sure they won’t spam you with newsletter covering features they have just added but who likes that spam anyway? If you don’t force people to register in any way those who do give you right emails.

That’s always a quality versus quantity question. Think about it another time when you ask your users to give you their email.

Tuesday, August 28, 2007

Screwed Software Upgrades Saga, Episode 152

Haven’t I mentioned I love web-based software? Yes, I have. Haven’t I mentioned upgrades of web applications are smooth and easy? Yes, I have. Haven’t I ranted about those screwed software upgrades examples? Yes, I have.

Ops, they did it again.

I really like Google Reader. Now, with powerful combo of standard version on steroids (actually on Google Gears) and mobile version it’s complete and I don’t even consider moving to another platform. They upgrade versions seamlessly, nothing you need to do. They add those little features, you know, those which look tiny, but save you a lot of time and make you thinking they were on board since The Big Bang. Like that little dropdown which allows you to attach a newly added rss channel to one of groups you use. So simple. So useful. A masterpiece.

And then, they just take it out. It’s gone. It’s just not there any more.

Yes, I know, they’ve just added dozens of new features. Actually I use none of them. I don’t care. The thing I care is they’ve taken one of those several functions I use. OK, I understand someone can overlook a bug and software is shipped with one, but they’ve cut out whole functionality. It looks like no one tried to add a blog to Reader’s list during testing period (yes, I know I exaggerate, but it was my feature, my preciousss).

Lesson learned is simple – taking upgrades away from users makes it easier (well-known and controlled environment, limited backward compatibility issues) but also raise expectations. You can’t upgrade only those 95% of users who won’t be frustrated allowing the rest to keep an old version. Every forgotten feature becomes a pain in the ass, as soon you have to face negative buzz from unhappy clients and you spend time on boring quick patch instead of adding more new cool features. Paradoxically the more easy it is, the more careful you have to be.

Thursday, January 11, 2007

Software Upgrades Once More

Importance of software upgrades is burned deep in the back of my mind probably since I was responsible for release management. Now I’m biased and I look at every upgrade of software I use wearing a hat of vendor deployment team. That brings rants mostly (Google Reader, Blogger, Adobe Reader are on the list; hey I'm really a kind of frustrated man or something), but it appears that there’s always a good time to remind about the risk of upgrades and importance of doing it well.

Irritating the user definitely isn’t the highest punishment you can receive. NASA has just sent their 220-million worth Mars Global Surveyor to the space dump because of software bug invited by the upgrade (Szymon, thanks for the link).

You can guess how the unlucky developer now feels like. I wouldn’t want to be in quality assurance or deployment team either.

Remember about that when next time you’ll be trying to skip some steps or milestones during upgrade process.

Friday, September 29, 2006

Perfect Way to Irritate User

Yesterday morning I refreshed my Google Reader and I saw new, upgraded interface. Subscriptions grouped hierarchically. Expanded view with multiple posts visible. Filter for new posts only. Difference in range of features between the new and the old version is great. You can say it become usable at least.

That was exactly how my first impression looked like after the upgrade. However it wasn’t much later when I tried to refresh Google Reader (what a crazy idea). It’s time for little poll. How do you refresh your web application? Wait... Let me guess. I’ll take my crystal ball and put on my ritual robe. Be quiet for a moment, I need to concentrate... Ha! I have the answer. You use F5! Believe me or not I use F5 for refresh too (maybe I’m a weirdo or something). I tried it in Google Reader and... nothing happened.

After a second I corrected myself. F5 opened a dialog with post tags. What an absurd idea. I want my darn F5 button to refresh my darn page. Like anywhere else. Like in Google Reader before the upgrade. I think how authors would feel if someone changed function of brake in their cars. Hey, now it opens a sliding roof. Enjoy. And if you want to brake use this button next to car radio (refresh is now “r”).

Think ten times before changing a feature users used to. When you think about changing role of keyboard shortcuts think ten times more. When you think about changing role of shortcuts that became wide standard don’t think. Just don’t change them. Users won’t love you for such original idea.

It’s not the first time Google takes away old functionalities after the upgrade. Nor the second. Yes, it is taking away functionality. F5 doesn’t refresh any more. I start to think if they don’t learn or rather they do it on purpose.

On the end I have a message for Google Reader team. Repeat: “We won’t take away popular functions during upgrades”. Once again: “We won’t take away popular functions during upgrades”. Come on guys, you have to believe in that or you’ll screw up your next upgrade exactly in the same way: “We won’t take away...”

Friday, September 01, 2006

New System: New Quality?

This week I was on business trip to Warsaw, where I always go by train. I go there quite often and always wonder why the heck they changed ticket selling system. My friend bets it was forced by trade unions to ensure growth of cashiers’ employment. From a customer perspective only two changes are:

• New ticket blank, which I don’t really care about.

• Longer queues to buy a ticket.

What are the main differences between the old and the new system than?

Nice graphic interface. In the old version there were text interface driven by keyboard. Now it was replaced with very nice graphic UI, which is driven by pencils. That’s not a joke – expensive touchscreens were delivered with system and cashiers soon switched from taping it with fingers to using pencils with rubber on the end. It’s definitely much slower than keyboard. What more, cashiers has to type in some data (e.g. station names), so they keep switching between keyboard and touchscreen.

Synchronous printing. The system used to print tickets asynchronously, so after sending to a printer first one it was ready to set up another. In Poland in express and intercity trains we need two pieces of paper: a ticket for train and a seat reservation, so the situation where more than a single ticket is printed is quite often. Btw: why the heck they can’t print it on a single ticket? Coming back to the new system – now it prints synchronously, so the cashier waits for the first sheet to be printed and than starts setting up another.

Screen design. In the old system main screen looked very similar to a ticket. Now it’s been rearranged what confuses cashiers. I saw a situation when cashier’s made a mistake in choosing a destination station. Error returned by database was displayed on the screen. Hmm... No exception handling? Interesting. Cashier didn’t know what to do because she neither understood a message nor noticed wrong station on the screen. It’s not as intuitive as it used to be. It’s not as intuitive as it should be.

Now sum up all those seconds added to a process of ticket selling and multiply a result by number of passengers. You’ll end up with great number and conclusion that implementing new system wasn’t a brainwave. Above issues are being reduced over the time, but they won’t be fully eliminated. Printing tickets won’t be as fast as it used to be.

Decision-makers from Polish National Railways made a major mistake – they forgot what is it all for? It’s not for having nice graphic user interface and fancy touchscreens in booking offices. It’s for passengers who want to buy a ticket. And believe me; they want to do it fast.

Instead of spending the money on that implementation Polish National Railways should rather build some kiosks on platforms. Touchscreens (yes, in this scenario it does make sense) when a passenger can easily choose:
- next train from this platform
- second class
- for non-smokers
- here’s my credit card
- thank you
Wouldn’t it be faster for passengers? Wouldn’t money be spent better?

Don’t follow example of Polish National Railways. When you want to implement any system ask three questions:

• What are main goals I want to achieve in this particular area? E.g. ticket selling and doing it fast.

• How they will be handled with the new system? E.g. with new graphic user interface on touchscreens.

• How the new system will be better than the old one? E.g. it won’t.

I know I oversimplify here, but if they’d made some deeper analysis based on those three questions they wouldn’t have implemented that crappy software. At least not that particular one.

Blogger Upgrade Update

Looks like I wasn’t the only one who ranted about lacking edit html feature in the new Blogger Beta, so they made it available at least. The upgrade wasn’t painless operation, but now at least they don’t take the functionality away. I still wonder how they could launch the Beta without that feature...

Related articles:
Upgrading to Blogger Beta

Wednesday, August 30, 2006

Upgrading to Blogger Beta

I’ve already written a couple of times about software updates and on the beginning of the week I found another reason to do that. I upgraded my blog to brand new Blogger beta version. Quick advice: don’t make the same mistake.

I’m not a user, who needs very sophisticated features. The blog was almost the same as template it had grown up from. I’ve made only few tweaks since I started it – switching a side for sidebar, adding link on a post title etc. I thought upgrade would be easy and painless. First step was easy indeed. The rest wasn’t that good.

Being distrustful I started from making backup of my blog template. Then I jumped into the Blogger World of Upgrades. A process is automatic. “Make it in three easy steps”. Cool. Click, click, click and I was done. First red light turned on when I was asked to choose a template. Hm, I’ve already chosen one, when I was starting the blog. Is it safe for tiny little tweaks I’ve made since then?

No, it isn’t. Say goodbye to your changes. I know why Blogger forces to take clean template – most of changes new beta brings are actually in the template so it’d hard to add them to every single existing blog (including those customized very deeply). Still, I believe there are many blogs, which were changed just slightly, e.g. by adding AdSense, some custom scripts from services like Technorati, Feedburner or Digg or changing a position of sidebar. Wouldn’t it be cool to have all those tweaks on the board together with new features like labels? It definitely would. Was that so hard to develop? I don’t think so. Yeah, it wouldn’t work in every case, but they didn’t even try.

OK, I said farewell to my changes with no sorrow. I had my old template backup, so migrating tweaks into a new one shouldn’t be a problem, right? Wrong. There is no feature allowing changing the code of template for now. It’s “coming soon”. New red lights turn on here. Many of them. However you can find an option to downgrade now to the old version of Blogger. I was close to use it but I gave them a chance.

I started adding all those scripts to new page elements (that’s how the call it) in new cool drag and drop editor I got instead of good old raw template text editor. I’d love the new one as an option, but not the heck as a replacement. I added some work from myself by switching background and text colors, so I had to generate e.g. AdSense scripts once again. After a longer while I got all of my tweaks implemented (what a big word for creating them with wizard) in my new template. At least that’s how I thought then.

After a day or something I checked my statistics in Google Analytics. Was that really possible that no one’s been on the site for such a long time? Strange. No, not strange – I forgot about Analytics’ script. Sure, that’s my fault, but Blogger didn’t help me anyhow.

When I was testing brand new look of the blog I found an issue with layout in IE 6.0. After a while of testing I found that one of pictures I added to the blog is guilty – it was wider than a post area. Yes, I widened it in the old template. Now I can’t because there’s no option to do that from the UI, and template’s code can’t be changed directly. I can’t switch sidebar to the left. I can’t add a custom script to post footer. I can’t have my blog looks like I want. I can’t even have my blog looks the same like before upgrade. I can’t, I can’t, I can’t...

Not only was upgrading a pain in the ass but it also limited Blogger functionality in very important area. The latter is a major sin. Early adopters are usually ready to go through hell to get a bunch of new features, but that doesn’t mean they’re ready to sacrifice features they already have. In that case not having ready raw template editor in Blogger Beta meant not heaving ready whole version to go public. Sorry, you’ve screwed it up guys. If I had another chance I’d wait for another version.

Related articles:
Upgrading Applications
Upgrading Applications Follow-up
Upgrades and Lost Functionalities
Software Updates

Wednesday, August 16, 2006

Software Updates

I wrote several times already about upgrading the software. One more example today (a positive one). Last time I started Picasa it asked mi kindly if I want to upgrade the software. Since I use a beta version I thought it was a good idea so I agreed. The rest happened automatically. Update was downloaded from the Picasa site, was somehow (I don’t really care how) installed and below information was displayed.


That’s so easy. Just one click to say “I want that” and “thank you screen” appears with a list of fixed issues after short while. That’s less radical update than Google Talk applies (they don’t even ask) but still it’s extremely user-friendly. No restarts. No manual installations. No manual downloads. It all happens under the hood.

Looking at Picasa case one thing is worth emphasizing – when you use long beta period strategy (like Google) upgrades are even more important than in “normal” situation. Notice: even though for me GMail has been always around (I know it’s just my perception) it’s still in beta phase. Few reasons why:

• It’s assumed that you have some bugs in your beta versions. You don’t want users to have older versions with lots of known bugs – you want them to install new ones with much lower number of issues. You want to have your users content with your software.

• The longer beta-period is the bigger is a number of beta versions (I count also unofficial beta versions like CTP releases from Microsoft). So is a number of updates.


• When users work with older versions it doesn’t help you much in stabilization process, so you want them to use the newest possible version. You don’t want to test old out-of-date code, right?

So once again – plan your upgrade strategy from the very beginning or you’ll end up with a lot of unplanned work supporting updates of your software.

Related articles:
Upgrading Applications
Upgrading Applications Follow-up
Upgrades and Lost Functionalities

Saturday, August 05, 2006

A Great Tool


Lately my friend showed me a great tool – ClearType Tuner PowerToy. He also writes about the tool in his blog. By the way if you’re one of those geeky gadget-lovers I strongly recommend headworx blog – that’s something for you. Coming back to ClearType Tuner, its functionality is as clear as a day – it enables clear type in whole Windows XP system. “Hey, is that all? Your great tool just changes fonts?” My answer is: don’t grumble – give it a try.

Functionality

Application’s functionality maybe doesn’t sound great, but thing about every place in operating system where text is used. Or rather try to count your applications that don’t use any fonts at all. How many you could find? With no toolbars, menus, tooltips and status bars? Now imagine that all your applications are upgraded – many of them just slightly, but e.g. word processor and mail client are now on steroids. You don’t get any new function but all applications look better.

Installation

Whole installation process took about a minute (including googling the right site). A couple of clicks later ClearType Tuner was ready to work. Without any restarts, any advanced settings, anything. It’s just as simple as possible.

Configuration

You probably know neither your LCD screen stripping type nor contrast ratio which suits you the best. Doesn’t matter. Configuration wizard shows you boxes of text and asks you which one you like most. Two questions and that’s all. Now enjoy your clear type.

Give it a try

Well-defined, yet powerful functionality, fast and easy installation and intuitive configuration make ClearType Tuner PowerToy an application which perfectly suits try-and-buy model (even though it’s free). Setup effort is very low – whole thing had taken less than two minutes before I could enjoy system upgrade. The fastest system upgrade I’ve ever had.

It’s a bit funny that I could have clear type without installing anything, just changing system settings, but show me those who know where they are. Even though ClearType Tuner just makes easy to configure the operating system I believe one could make some money trying to sell this kind of tool (if there weren’t any). I would pay for the tool few bucks.

Monday, June 19, 2006

Upgrades and Lost Functionalities

It just so happens that lately I have some thoughts about upgrades. I praised Google Talk upgrades, but the GTalk team isn’t completely faultless. I remember the very first or one of first versions of Google Talk. During installation I was asked to agree to uninstall Gmail Notifier – little service which was informing me about incoming e-mails on my gmail account. I trustfully agreed thinking that another Google-crafted service would cover functionalities of the previous one. A big mistake. Now I’m not quite sure if it was auto-suggestion or installer told me that with Google Talk I won’t need Gmail Notifier any more, but it doesn’t matter. If there is default option, which was by the way left checked by all of my friends going through the installation process, authors should be prepared that people will use it. And users will be suggested that it is some kind of upgrade process.

OK, why it was the mistake to uninstall Notifier? Because Google Talk didn’t really check the e-mail. Oh, maybe it did, but it didn’t notify the user that there was a new e-mail in the inbox. They took away key functionality of the old software. To be precise, they took away the only important functionality of the old software. What a blunder.

I agree that technically it wasn’t simple upgrade of service – Gmail Notifier and Google Talk are two different pieces of software. However installer suggested it something different. What more, from user’s perspective it was service upgrade indeed, so the case is obvious.

You can’t allow to loss functionality during upgrade. With the new version there can be some issues with new functionalities, but the old ones just have to work. There’s nothing worse than new version which invites handful of bugs in functions you rely upon. I trusted that I would know when the new e-mail was coming, but I was let down. If new functions were buggy I wouldn’t care. I hadn’t used them before.

When preparing upgrade assuring that old functionalities will work correctly is much more important than having no issues in new functions. If you you’re forced to choose area which should be tested better – do not hesitate – old functionalities. If you have enough time for both just make sure that boring regression tests had been prepared correctly and had passed.

Guys from Windows team copy even old API bugs into new versions to be sure that after upgrade users (and software the build on API functions) will have the same environment than before. I don’t advice to literally follow their example (unless you develop operating system), but the direction is clear.

Wednesday, June 14, 2006

Upgrading Applications Follow-Up

Recently I wrote about upgrading applications and among others about client applications. I gave an example of Google Talk as the applications with upgrades well-made. It’s the path of the light.

On the contrary the path of the dark was chosen by guys from Adobe Reader. When I run my version of the Reader (7.0) it keeps bugging me to make upgrade. OK, I understand that some people just don’t want their software to be changed without their acceptance (clicking on “I agree” button). Unfortunately I agreed. Once I’ve chosen version I wanted to have after the upgrade a download started (BTW: Why it takes 30MB to make some minor changes?). Then I went back to reading a pdf file I had been trying to read before Reader interrupted me (and forgot about whole upgrade thing). Accidentally I remembered to check the upgrade process so I was asked to proceed with installation. After clicking “OK” button my important and urgent pdf file was closed altogether with the Reader. Hey, it’s the Upgrade – do not disturb. Then I was asked to close my web browsers (I surrendered here in my first attempt), and then to restart my machine to finish the upgrade (I tried once more because I wanted to finish description, but that was enough). Take your minor upgrade back home and keep it away from me. I don’t want it. And stop bugging me with the update information.

I invested my time and got nothing but some frustration. Adobe Reader team earned my reluctance to ever upgrade their product. Not having automatic upgrade procedure now, it will be hard to encourage me to upgrade.

Conclusions are:
• Think how to organize the upgrade process. It can cause quite different attitude than planned.
• Think when and in what kind of situations your users will initiate the upgrade. Will it be convenient for them to do some operations (e.g. close down the application, restart the machine)?
• Halfway can be worse than nothing. In this case nothing would have happen if Adobe Reader hasn’t asked me to upgrade. I didn’t really need that upgrade, but now I won’t try it any more.

A couple of thing I should add in previous post. Upgrades are not only for new features – even more important are bug-fixes. In this situation encouraging your users to upgrade the application is helping yourself (less support work, better opinion about software). From perspective of support team it’s also important to have as few different versions of applications on market as possible (easier to manage the product, less support work). You just don’t want your customers to use your old prehistoric versions.

Monday, June 12, 2006

Upgrading Applications

Vast majority of successful pieces of software have more than one version. I can’t think about any one-version application which achieved success, but probably there is one or even a couple of them. That’s for sure a margin, but even then potential is being squandered. If first version is a success think what can be achieved with another – improved, more mature, based on customers’ feedback.

You want to be successful so you will have the second version – probably a major one, but minor ones count also. Even if only one feature was adjusted, even if only one bit was changed, your users now work on the old version. You need to upgrade the software to deliver new functionalities/bug-fixes/whatever you’ve done to at least some of installations your product has. You need to upgrade unless you don’t care about you current customer, but then I’d give a second thought to your business model.

Upgrade process constraints differ depending on particular system you consider. When having big ERP system upgrade, which covers deep changes in database structures, adding whole new modules etc it’s quite like an implementation process then. Many interdependencies won’t allow you to make it fast and easy. It happens. However, there are bunch of applications that aren’t so complex. Neither are their upgrades.

A couple days ago I found that Pandora has been upgraded. The first thing I noticed was additional little feature which allows seeing full name of an artist and an album name without a click. Earlier there was only the artist name and it was so only unless it was short enough to be properly displayed. To see more you had to click and open another browser window (or rather a tab lately) with this information. It was a tiny awkwardness, but still something that definitely should be polished. And they fixed it without any action from me. I know it’s easy with the web application. On the other hand sometimes it’s not so easy to decide that your application should be web-based.

OK, what about client applications? Similar path was chosen by Google Talk guys. One beautiful day pictures of my contacts appeared. It just happened. I know that behind the scenes there was a new version, which had been downloaded, installed and restarted. I know that, but I don’t care about that. All I care about is that new functionalities were delivered to me and I didn’t have to invest any second to whole process.

Conclusions are:
• Think about upgrades from the very beginning of your application lifetime. After releasing first version it is too late.
• Just give users new features. Don’t wait until they visit your downloads page. They won’t.
• Make the upgrade process as easy as possible. Don’t count on your users’ willingness.