Monday, February 8th, 2010

Improvement doesn't always involve new features

In my last post, I talked about how everything can be improved.  I didn't make this distinction at the time, but I implied that I was talking about improving existing features as opposed to creating new ones.  Obviously new features can be great and they can help expand old products, but that's not the same thing as improving on what already exists.

Companies often use new features to trick customers into thinking that they're actually doing something useful.  This works a lot of the time because customers forget what the company is actually supposed to be doing for them in the first place.

I get at least one email per week from Chase Bank telling me about how the rewards structure for my credit card has been improved, or how every time I spend money I might win some sort of prize, or how there's some sort of new concierge service.  I see these emails as a red flag that Chase isn't actually doing anything useful.  They aren't emailing me about how their terrible website has been improved.  They aren't telling me that they worked with Visa and Mastercard to lower processing fees so that more businesses will accept my card.  They haven't figured out a way to combine checking and savings accounts so I can earn interest and pay bills with the same account.

Chase is a bank, not a concierge and not a lottery.  The fact that they're working so hard promoting features that have nothing to do with their core business makes me think that they have run out of real ideas (or they're too lazy/greedy to actually pursue real ideas).  If you want to cut to the core of how hard a company is working to improve their product, focus on the things that they're actually supposed to be working on.

If you're responsible for creating a product, you have to add new features sometimes in order for the product to grow.  Just make sure that the features you add enhance your core functionality rather than distract from it, and make sure you aren't adding features at the expense of improving your existing product.


Posted by Tyler King

Saturday, January 30th, 2010

Problems are never completely solved

Last night I went out to a Thai restaurant with some friends.  When the bill came, I saw something that I've never seen before.  At the bottom of the bill, there was a "Tip Guide" showing what 15%, 18%, and 20% tips would come out to.  Maybe I'm behind the curve and this is commonplace now, but I was stunned.  Restaurant bills have followed the same format for decades, and finally someone took the time to reconsider what information should be on these bills.

There are a lot of assumptions we make about how the world works, and these assumptions are partially responsible for the mediocrity we see in too many products these days.  A long time ago, someone came up with the first version of the restaurant bill that we're all used to.  Since then, very little thought has been put into the format or content of these bills.  We consider these bills to be a "solved" problem and we move on.

If you think that a problem is solved, that means that there can't be any room for improvement. That's a horrible attitude to have.  In many areas, we realize that we want improvement (faster computers, more fuel efficient cars, cheaper plane tickets) but in others we just accept uninspired standards (how email works, online banking, your kitchen sink, and restaurant bills).

As consumers, we have a responsibility to demand improvement in all areas.  Even "solved" problems need to be examined periodically to make sure that there aren't new, better options available because of advances in technology.  With the case of the restaurant bill, technology wasn't even involved.  It just took someone with a little bit of creativity.

If you have a job, even if you don't directly create a product, I encourage you to constantly consider how you can improve yourself and your work.  If something as simple and standardized as a restaurant bill can get better, that means that whatever you're working on can be improved too.


Posted by Tyler King

Tuesday, January 26th, 2010

My thoughts on the Apple tablet

As you may have heard, Apple is expected to announce a new tablet tomorrow (January 27th).  All the information so far has been based on rumors, but everyone seems pretty sure that the tablet (or whatever they end up calling it) will basically look like a larger ipod touch and it will work like a netbook.  Several people have asked me why it's getting so much hype, so I thought I'd post my thoughts here.

First I should say, I hate Apple.  This post isn't about why I'm going to buy the tablet because there's absolutely no way I'm ever going to buy anything from Apple.  The fact that I won't buy one doesn't mean I can't be excited.  For example, I don't own an iphone, but I know that the popularity of the iphone had a lot to do with my Palm Pre being so excellent.

Anyway, there are two main things that I like about the idea of an Apple tablet.

#1 - Bridging the gap between phones and computers
Despite how advanced smartphones are getting, most people still don't realize that phones and computers are the same thing, just with different cases.  As soon as the public is ready to accept that an iphone isn't a phone (it's a tiny computer), that will open up the floodgates for innovation, and it will hopefully put an end to a lot of stupid mobile trends (like 99 cent apps, no one buys 99 cent apps for their mac or pc).

In case you haven't been paying attention for the past decade, the application platform of the future is the web browser.  Unfortunately, the general public isn't ready to accept that their phones can run web apps just like their computers.  No one demands a facebook app that runs on Windows 7, so why do we need one that runs on the iphone?  Supporting mobile applications (rather than mobile web applications) is slowing down development in almost every area.  The Apple tablet has the ability to change the way people think of mobile operating systems because it looks like a big phone, but it works like a small computer.

#2 - Exploring new user interfaces
For as long as I've been aware of computers, the only real way to interact with them has been through a keyboard or mouse.  This has really narrowed the way designers and users look at  software, because we can't think of a world where we can experience software in a more natural way.  The technology in movies like minority report seem like science fiction, but they really don't have to.  The limiting factor isn't our ability to write the software, it's our hardware's ability to interpret what we want to do with software.

I don't expect the Apple tablet to do anything too revolutionary, but it will at least start to open everyones minds to the possibility that a keyboard and mouse aren't necessary.  My guess is that when other companies see the Apple tablet, they'll start trying to come up with their own weird systems for interacting with computers.  The keyboard/mouse system has needed some competition for years now, and the tablet might just be the straw that breaks the camel's back.

So those are the two reasons I'm excited for Apple's announcement tomorrow.  What do you think?




Posted by Tyler King

Friday, January 22nd, 2010

Things I like: Image Editors

I spend too much time talking about bad software.  It's easy to point out the wrong way to do things, but that's not very useful unless I also give examples of the right ways.  With that in mind, I'm going to try to periodically post about software that I really like.  These posts will be a blend between concepts (what makes good software) and practice (you should use this specific software for this reason).  Today, I'm talking about my favorite image editor.

Most people think that there are basically two options for photo editing: Microsoft Paint (or something equally basic and useless) or Adobe Photoshop.  Photoshop can do just about anything, but it's too complicated for most people (including me).  If you want to use Photoshop, you basically need to take a class or spend countless hours banging your head against the wall as you experiment.

In addition to complexity issues, Photoshop has a glaring weakness: vector graphics.  In case you don't know, vector graphics are like normal images, except everything has been drawn (on by the computer) and the source of the image can be edited.  For example, if you draw a tree in MS Paint, it's a flat image and the only way to change it is to draw different things on top of it.  A vector file would actually store how you drew the tree so that you could go back and change the thickness of lines, colors, and anything else about the image.

For some reason which I can't begin to understand, Adobe decided that normal images (or bitmaps) and vector graphics shouldn't both be well-supported in one program.  They have Photoshop for images, and Adobe Illustrator for vectors.  Sure, Photoshop can do basic vector editing, but it's really bad.

So if I don't like Photoshop, what do I like?  Without a doubt, I think the best image editor is Adobe Fireworks.  I know what you're thinking.  You're thinking, "but Tyler, Adobe is incapable of making decent software. Even their PDF reader is a horrible embarrassing mess.  They are in the running with Intuit for 'Most Annoying Software Company Ever'"  Well, you're right about that, but Fireworks was originally made by Macromedia and then Adobe bought Macromedia.  Despite having several years to mess it up, Adobe has refrained from making any major changes to the software so far.

So what's good about Fireworks?  The main thing is that they didn't let complexity get in the way of basic functionality.  Sure there are super-complicated tools that no one could figure out on their own, but everything you know from MS Paint works the exact same way in Fireworks.  Someone who has never used it could easily figure out how to draw a basic picture, add text, cut and paste.  The Fireworks designers clearly realize that you can have powerful features without ruining the simple ones.

Also, Fireworks seamlessly switches between vectors and bitmaps.  If you draw a square, it stores that as a vector so that you can edit it later.  If you paste in a picture you took with your camera, that's a bitmap.  Vectors and bitmaps live together in perfect harmony.

Finally, one of the coolest things about Fireworks is how it stores the images.  Most image editors like Photoshop have proprietary file formats that can only be opened by other people with the same expensive application.  Fireworks files are actually just normal .PNG files which is a standard image format that anyone can view.   All the fancy Fireworks data is stored with the image, but it is hidden.  That way, if you send the file to someone without Fireworks, they just see a normal image.  If you send it to someone with Fireworks, the have access to all your wonderful vector information.  This makes collaboration much easier.

There are a lot of other reasons that I think Fireworks is way better than any other image editor I've used, but this is already about five times longer than it should be.  The point is, if you're looking for great software, try out Fireworks.


Posted by Tyler King

Wednesday, January 20th, 2010

What kind of developer would you hire?

I recently had a conversation with someone about what type of people a start-up company should hire.  I obviously weigh the importance of technology more heavily than most people, but I'm of the opinion that one of the first hires any company makes should be a CTO (or just a developer if we're being honest).

The purpose of this blog post is to discuss the merits of different types of developer hires.  Here are some assumptions:

  1. The company isn't directly in the technology industry.  If it's a tech company, then it goes without saying that one of the founders should be the CTO.  If you're starting a tech company and none of the founders have strong technical skills, then you need to go back to start and try again.
  2. The company will only hire one developer for now.  This person needs to be able to handle all technical needs for the foreseeable future.
  3. The company has enough funding to pay a very high salary, but they aren't swimming in money so they need to shoot for the best value possible.
  4. The founders don't have any connections to someone that would be a good fit.  If you know someone that you can trust, that makes the decision a lot easier.

Considering these assumptions, I see two main hiring questions:  (1) How much money can you really justify spending on a tech guy, and (2) what is the appropriate balance of experience vs. talent.

Let's start with the second question (weird, right?).  One important thing to be aware of when deciding between experience and talent is your own ability to measure both qualities.  Raw talent is pretty easy to judge when it comes to technology.  Any strong developer should be able to show you something they've built.  It could be a web app, a video game, or a school project.  Whatever it is, you should be able to play around with it and decide if this person has the technical skill you're looking for.

Experience seems a little harder to gauge because it is almost entirely intangible.  Working at a company doesn't necessarily provide "experience" unless a person is actually faced with challenging problems that they can learn from.  A resume is helpful, but there's just no way to know how a candidate will perform in the real world.  I've also never really believed that references are trustworthy.

Having said all that, I think experience is potentially much more valuable than raw talent, mostly because a candidate can only gain valuable experience if they are already talented.  However, because I don't think anyone is any good at evaluating experience, I would probably try to hire someone that has ridiculous technical chops with the expectation that they will need to be managed by a non-technical person.

Presumably, the company already has a leadership team with lots of business experience.  These people should be knowledgeable enough to guide a 22 year old programmer.  The main mistakes a young developer might make are almost entirely business related (poor communication skills, lack of end-user focus, etc.) and a non-technical person can help with that.  The opposite is not true.  If you hire an experience developer that isn't a technical rock star, they will eventually run into a tricky tech problem that they won't be able to solve.

You might be wondering why I'm acting like experience and talent are mutually exclusive.  That gets us to the first question we originally asked: how much should this developer cost? I think a company can hire great talent right out of college for about $80k per year.  Great experience will cost more like $120k per year.  Both will cost $250k or more.  I just don't think it's worth paying that premium for experience that other members of the company already have (for the most part).

An added perk to hiring a young person is that there is a small chance they will end up being truly remarkable.  You pretty much know the ceiling for a 35 year old.  If they're looking for a $120k salary, that means they're only worth $120k.  A 22 year old might be worth $500k, but nobody knows that yet so they have to prove themselves.  When a talented 22 year old asks for $80k, that's their floor, not their ceiling.

So obviously every case is different, but if I had to give general advice it would be to hire the most talented young person you can find.  Make sure a founder or manager will have time to carefully oversee this developer so that his or her inexperience won't be much of a problem, and hope that over the next few years, this person grows into the CTO your company really needs.  If that doesn't happen, hire a real CTO when the company is more mature and can justify the cost.

What do you think?  If you have to speak in generalities, what type of person makes for a good early technical hire?


Posted by Tyler King



Receive Email Updates:



About this blog
This is a blog about software, business and technology. We are Bracken and Tyler, brothers who are both want to help others find and use the best software tools possible.

We also run a company called Less Annoying Software where we offer a web-based software platform that helps small businesses manage their contacts, improve customer service, and track their sales pipelines..
Search the blog
Tips
If you have any feedback about the blog or you have a topic you'd like us to write about, send us an email.
Archives
2010 (7)
2009 (34)
August (6)

Home  |   About  |   Product Tour  |   Use Cases  |   Contact Us  |   Blog
© 2010 - Less Annoying Software, All rights reserved. (Privacy Policy - Terms of Use)