Archive for February, 2008

The Problem with Enterprise Software

Saturday, February 23rd, 2008

Frustrated userThis is definitely not a new topic, but I’m going to throw my two cents in anyway. Enterprise software, those expensive packages costing upwards of $20,000 or more, are considered a necessity by many big business operations. CRM, project management, and stats tracking tools are some of the big ones that come to mind immediately. When you’re running a complex system with lots of users, you need powerful tools that let you do all the things that the higher-ups deem necessary, and that’s fine.

The problem as I see it, is in the design of the software itself – and by the way, when I say design, I mean more than just the look and feel. Design is so much more, but that’s a topic for another post. There are two parts to the design problem: the visual design, and what is commonly known as “feature creep”, and they’re very closely related. The visual design part of the problem is a direct result of being low on the totem pole. The top priority is almost always new features.

One of the most basic principles of good design is to keep simple things simple, and to not over-complicate already complex systems. Enterprise software packages seem to typically over-complicate things by integrating as many new features as possible in order to please the customer base and get them to upgrade and continue paying for support. This feature creep is what makes the design completely secondary. I’m sure the manufacturers have good intentions at first, thinking that they’ll upgrade and tweak the design, but inevitably people will just want more features, and those trump the design in order to keep the money coming in. Some of you might be asking, why do you care so much about the design, all that matters are the features, and if it works? Well, here’s my opinion on the design: some people get it and some don’t. Intuitive, visually appealing software is going to make me enjoy using your product a little more, hopefully making me more productive and relying on your product. Some companies get this right, like 37signals. They make simple, easy-to-use software that’s a joy to use because of its slick visual design and intuitive functionality. I use a couple of their products and I love them. (Side note: We’re a little too large an organization to be able to use the 37signals products at work, and they don’t quite meet all our requirements). Anyway, I think the long term benefits of designing your product better are greater than just throwing every possible feature into your product that you can.

Another aspect of enterprise software that is slightly annoying to me is how a lot of them seem to try and make their product look like a Microsoft product. Yes, yes, I understand that making it look like this way will make most business users a little more comfortable, because they are likely already using products that look similar to it. But damn if it’s not annoying.

So, at the end of the day, you’ve got software that you can live with, but you don’t really enjoy using it. It seems like it shouldn’t have to be this way. Why can’t you spend the time to make your product a joy to use, testing it with real users, and then concentrate on adding more features.

Meh, it makes sense in my head, at least.

Database Version Control

Wednesday, February 13th, 2008

One of my favorite blogs of late is Jeff Atwood’s Coding Horror. Jeff is the programmer’s programmer. He writes brilliantly about everything software related, from technical subjects to user experience and more. I highly highly highly recommend subscribing to his blog.

Recently, Jeff wrote about the importance of database version control. I wholeheartedly agree with him. After all, your database is just as important as your code. In reality, versioning your database isn’t that hard a practice really. Whenever you create your database objects, simply script them out and place them in your application with your source code. I’m working on getting better at this myself, as Jeff’s post got me thinking about it. I currently have the database for this site under version control, and I’m trying to make an effort at work to do this, although nothing has really come up recently that would warrant this.

Bottom line is, your database deserves as much attention as your source code. It makes sense, and it’s not that hard to do. Subversion is your friend ;)

Update: So in my reading on this subject, I came across a tool that looks very cool and very powerful. It’s called Liquibase, and I’m definitely going to have to check this one out.

Site listed on BoxedCSS.com

Saturday, February 9th, 2008

So this is kinda cool. A couple days after I launched this site, I submitted it to several CSS Gallery sites. What are CSS gallery sites, you ask? First off, there are quite a few of them out there, chief among them www.csselite.com, www.cssmania.com, www.boxedcss.com, and many others. Essentially, they are places for designers to submit sites with hopes of getting them featured. As this is the first time I’ve submitted a site to such galleries, I don’t know how easy or hard it’s supposed to be to get your site featured. Nevertheless, boxedcss.com listed my site yesterday, so I was kinda stoked.

Check it out: http://www.boxedcss.com

Woot!

UPDATE: I just got another e-mail from the site, and my site was selected as the Site of the Week!  Woot again!