![]() |
![]() |
|
Displaying posts from October, 2009 (Clear Search) Friday, October 2nd, 2009
By Tyler King
There are two very different stages in the life cycle of any software product. The first one is when you're just getting the product off the ground. The features and UI change regularly and it doesn't bother anyone because no one is used to the software working any one way. As long as you're improving things, you're doing a good job.
As soon as you build up a respectable user base, that all changes. Once your users rely on your software to perform a task, it's important to make sure that you don't disrupt that. Adding new features is great, but it's always better to keep existing customers than to attract new ones (or it should be anyway).
An example of two products where change has been mishandled are Google Chrome (the javascript console in particular) and Firebug (a Firefox extension). Both started out as very simple and basic javascript debugging tools. You don't really need to know what that means, but you should know that both of them got ambitious and added a bunch of new features. Maybe the new features are great (I don't know because they're too complicated for me to figure out) but they are so obtrusive that I can't do the very basic things that I originally used the tools for.
I don't care about new features if you break the old ones. Chrome is on its third iteration of the javascript debugger and each one has been (in my opinion) worse than the last despite all kinds of new functionality. Unless a program is in alpha, you have to respect the fact that you have users for a reason, and that reason is not to test out your experimental new features.
Sunday, October 4th, 2009
By Tyler King
In case you didn't know, Microsoft is about to release a new operating system called Windows 7. I've been casually following the feedback which almost always ends up comparing Windows 7 with Vista. One of the most interesting things I've read is that Windows 7 is slightly faster than Vista, but in usability tests, users thought that it was much faster.
How is that possible? It's either fast or it isn't, right? There's a saying about a watched pot and its likelihood of boiling that pretty much sums up why perceived speed is better than actual speed. One of my core beliefs as a designer/developer is that the only thing that really matters is what the user thinks. For example, Vista was definitely an upgrade over XP, but users thought XP was better (mostly because of clever marketing by Apple I think) so Vista was effectively a worse product. It doesn't matter what speed test show, it only matters what users believe.
Here's a little experiment you can run for yourself to highlight what I'm talking about. Try starting two different similar products at the same time on your computer. I'll use Google Chrome and Mozilla Firefox as an example. If I launch both at about the same time, a Chrome window immediately pops up. The screen is blank for a second as the application finishes loading, but I see immediate progress. Firefox finishes loading in about the same amount of time, but it seems to load everything before displaying anything. So even though they take similar amounts of time to load, Chrome seems faster because it immediately responds to my input. (Note: Chrome is also waaaay faster than firefox, but that's not the point)
There are a lot of developers out there that seem to ignore the importance of immediate response from applications. As web based applications become more and more complicated, it is becoming common place for an action to take a few seconds without actually loading a new page. Most websites wait for the action to finish before providing any feedback to the user even though an extra two minutes of work on their end would make the overall experience much better for the users.
Let's say I click a "Save" button. You can pop up some notification that the application is saving immediately. That way I'm not wondering what's going on. I won't click the button a second time. It may still take the same amount of time to save, but by telling the user that the action is being processed, the entire thing will seem faster, cleaner, and more user friendly.
As I continue to work on Less Annoying Software, I'm trying very hard to make sure that any user input that doesn't cause a page reload has some sort of immediate response. As I mentioned earlier, I'm really happy with the software so far, and I think that this simple but powerful UI trick is one of the main things that I like.
Dislaimer:
This is not an excuse for programs to use annoying splash screens which are particular popular among Adobe products. Because Adobe products are embarrassingly bloated, they generally take a minute or more to load. To tell the user that the application is indeed starting up, they display a window that shows the loading progress. The problem is that these windows aren't full blown applications so you can't control them which means they generally cover up other things on the screen and there's nothing you can do about it. I hate you Adobe. Seriously.
Monday, October 19th, 2009
By Tyler King
Sorry about how I haven't been posting recently. There are two reasons for this. This first is that I just moved from Park City to San Francisco. I finally getting settled in so I can start being productive again.
The second reason blog posts have been few and far between is that our software is really taking shape and it's hard to tear myself away from programming. I realize that I haven't really talked about what Less Annoying Software will look like, so I'm going to spend this post briefly going over what we're working on.
I've mentioned before how I've noticed that way too many individual salespeople and small businesses don't seem to have any good system for keeping track of their clients. The first (and maybe only product) we're creating is a simple but powerful CRM (Customer Relationship Manager) tool meant for individuals and small businesses. This tool will basically be a souped up contact manager.
You may be saying "But Tyler, Outlook already has a contact manager that works just fine." If you're saying that, it highlights my point that most people are using really bad software to manage the most important part of their business (the customers). Outlook is basically just a dump of data. It lets you record information about people, but there are some very important things missing. Here are some of the major differences between a CRM and an traditional address book application:
Multiple Notes
This is pretty simple, but very important. In Outlook (or any address book) you can enter notes about contacts, but there's only one field. This means that there's no easy way to record different events. A good contact management system should let you enter notes every time you deal with a customer because entering everything in one big notes field gets messy and can't be sorted or filtered easily.
Sharing Contacts
This one is huge. If a small business has multiple employees, it can be really hard to keep track of everyone's contacts. For example, let's say a salesperson sells a widget to a customer. Then the customer calls the company for help setting up the widget. How would the customer service person have any idea who the customer is without access to the salesperson's contacts? Maybe the customer service person finds out information about the customer that could potentially help the salesperson make another sale, but there's no way to pass that information back and forth with Outlook. Right now people send emails with this info, but then what happens when a new employee needs to get up to speed on a customer?
Reporting
Outlook is only helpful if you already know what you're looking for. What if Outlook showed you a report with a list of every single pending customer service issue at your company sorted by priority? Well, a CRM can do just that. Whenever you enter information about a contact, you're able to categorize the note (something like "Customer Service" with a status of "Unresolved") and prioritize it. Then you can easily view reports based on these categories. A good CRM should help you manage your entire day through these reports.
Relational Data
Most business deals involve more than just one customer. If you're trying to sell a product to a company, there may be three different people that you deal with. You need to track all these people together but still treat them as three different contacts. There also needs to be a difference between a company record and a contact.
Better User Interface
This isn't a fundamental restriction with tools like Outlook, but most contact management systems are analogs of paper address books. This really limits the way people think about UI and it hurts the end user. Even if you used our CRM exactly the way you use Outlook, I think you'd like it a lot more just because it isn't trying to mimic a paper based system.
A Million Other Things
The points above are just the things that came to mind as I wrote this. Anyone that's used a CRM knows that it's not even the same type of experience as using a tool like Outlook.
This post is getting too long but I still haven't really talked about our product, just CRMs in general. So I'll end this post here, but expect a follow-up with details about how we're going to be different from the other CRM tools out there and how we're planning on building our user base.
Also, if you're interested in trying out our CRM, let me know. It's functional right now (although not polished) so you can start tinkering if you have any interest. We'll charge $10/month once the first version is released, but that won't be for a few months so it's free for now. Who knows, we may not even charge people that get in early.
Saturday, October 24th, 2009
By Tyler King
We're quickly ramping up for the first release of our CRM product which means there are some very important design decisions being made. One that I'm both excited and terrified about is the decision to block our application from people using Internet Explorer.
The reason we're not supporting IE is because...well, basically it's because IE totally sucks and I don't need that in my life. I personally believe that Internet Explorer is single-handedly responsible for significantly slowing down innovation in some of the most important areas of technology. We might have flying cars today if it weren't for Explorer!!!!
Ok, we wouldn't have flying cars, but IE seriously does a lot more damage than most people realize, and I'm proud to be able to say that I'm doing my part to put a stop to it. At the same time, IE is the most popular web browser so this decision could potentially turn away a lot of customers. I'm hoping people are willing to put in the 60 seconds it will take to upgrade their browser, but only time will tell what type of response we get.
If you're interested in this topic, I put up a pretty detailed explanation of why we don't support IE. The explanation is meant for our customers (not blog readers) but you'll get the idea. Give that a read and let me know what you think. If you're an IE user, will you accept this explanation and still give our software a chance?
Tuesday, October 27th, 2009
By Tyler King
Here at Less Annoying Software, we're big fans of Software as a Service (SaaS). On of my favorite things about developing web-based applications is that you can easily release new features whenever you want, but this also makes deciding when to launch a product a little more difficult.
With traditional software, a customer would buy a physical disk with the program on it. Whatever program the developers put on the disk is the one the customer would install and it would never change. Because of that, developers could only launch a new product when it had absolutely all the features it would ever need.
Because web-based software can be updated at any time without any user involvement, that old limitation no longer exists. The definition of what software needs is quickly changing as a result. This is obviously a good thing, but it also means that there is no obvious time to launch a product. If a company is developing a web application, there could potentially be a span of several years where the software works well, but doesn't yet fit the vision of the creators. So how do you know when something is good enough?
There's no one-size-fits-all way to decide when to launch, but there are some points to consider that might make the decision easier:
Are you charging?
If the software is free, there's a lot less risk launching early. No one can get too upset if free software doesn't work well. If you're charging money (which we are for our first product) then it seems obvious that you shouldn't launch until the software is worth the cost for at least some users. Once you're sure it's worth the asking price, it's probably safe to launch, even if it's not as worth the price as it will be eventually.
How many customers do you need?
If you're starting a social networking site, you probably can't succeed without millions of users. That means that if you launch and your marketing pitch isn't perfect or your software isn't mature enough, you could lose out on your only chance to grab enough users. On the other hand, if you only need a few thousand customers, you can get away with launching a product with less preparation. If someone comes to your site and doesn't like your design, you may have lost that person as a customer forever, but there are still hundreds of millions of other potential customers out there.
How valuable is customer feedback?
Most businesses end up becoming something that the creators never planned and it's all because of the users. If you're developing a new product, it's just guesswork until real people are using it. It's easy to make a lot of assumptions only to realize later that the world doesn't work the way you thought it did. For many companies, it might be worth losing out on the hype of a big launch if it means getting the product in the hands of users a couple of months earlier.
What will you do after launching?
If you plan on releasing a product and then moving on to something else, it probably makes sense to get it right the first time because there needs to be a logical stopping point. If you're plan is to continue working on the same product for the foreseeable future, it seems more reasonable to get it out there as soon as possible. The product will evolve at about the same rate it would otherwise so at worst you end up in the exact same place.
Can you handle rapid growth?
One potential reason to wait to launch is if you think that you don't have the resources to support customers and continue developing new features. Like I said, things change once people are using the software and that can make it hard to focus on your original vision. This is particularly a problem if there's the potential for you to get overloaded with users.
So considering all these things, I think most SaaS companies should launch products as soon as the basic functionality is working. The software market is changing and the benefit of getting users on your system normally outweighs the risk of people seeing a less than complete product. If the software works and you're trying to decide when to launch it, the answer is: launch it right now.
What do you think as a user? Are you the type of person that jumps into every Google Beta you can get an invite to, or do you only like using software once it's been around the block and you know exactly what you're getting? When websites make changes, are you excited to test them out, or are you upset that they changed something you were already used to?
|
New posts will be emailed to you each night
About this blog
This is a blog for small businesses interested in how they can better use technology. Most tech
is targetted at either individual consumers or huge corporations. We'll help you find the tools
that are powerful enough to help run your business, but simple enough that you won't need an I.T.
team to use them.
There are two main writers on the Less Annoying Blog: Tyler has worked on the tech side of several small businesses and knows first hand what the little guys need, and don't need. Bracken is finishing up a PhD at MIT and he's always experimenting with any new software he can get his hands on. We also run an online customer manager tool called Less Annoying Software which was created specifically for small businesses to track all their customer activity.
Search the blog
Tips and Feedback
We obviously want to write about things that you want to read, so help us out! If you are
interested in reading about a particular topic, let us know. We're also always on the lookout for
new software and tools to try out (and review), so feel free to forward information on any new
tech you'd like us to write about.
You can reach us at blog@LessAnnoyingSoftware.com
Archives
|


