Sep 24, 2009

Java Import Brilliance

I am working on a project that originated from a third party contracting company. The code base is horrendous and full of the most amaturish code you can imagine. Here is a sterling example:


import java.lang.String


Yes folks, they are importing core language features explicitly.

Of course, there is also this awesome example of their handiwork:


import ours.blah.group.AClass
import ours.blah.group.ASecondClass
import ours.blah.group.AnotherClass
import ours.blah.group.AFourthClass
import ours.blah.group.YetAnotherClass
import ours.blah.group.ComeOn
import ours.blah.group.StillGoing
import ours.blah.group.YouNeedToStopThis


Actually I think I was merciful, that list looks a little short, there were probably a few more explicit classes there.

I'm so glad I got the go-ahead to rip apart some of their stuff.

Sep 20, 2009

Timely Obsessions

Every day I see more and more tech benchmarks. Years ago it was mostly for PC video cards and CPUs. To me that makes sense. You need a relative perspective to see how much you're getting for your money.

But now it seems there are benchmarks for everything. JavaScript runs faster in Chrome than Firefox. People are obsessing with Windows 7 benchmarks to see if it boots up faster than XP or Linux. Boot times? Seriously? Do these things matter to anyone without an agenda to persue? Is your time so valuable that you would pick an operating system based on whether or not it saves you 5-10 seconds a day? Does anyone writing or running these benchmarks believe anyone but the ubergeeks care?

In general, people do not care. No one will choose an operating system because of boot time. They want to know if their software runs on it. No one cares if JavaScript is faster in Chrome. Maybe their browser of choice just "feels" better to them. Many people decide what vehicle to buy based purely on it's looks and/or the status it provides. And they spend a heck of a lot more money on that vehicle than on any software product you're likely producing.

Most low-end computers purchased in today's market have far more resources than consumer applications can consume. We have reached a plateau. People are hesitant to switch from Windows XP because it already does everything they want it to. They aren't upgrading their computers as often because their current one is still as faster or faster than they need it to be.

If you want a larger customer base for your audience, speed is not going to give it to you*. I think we would all do well to take a look at the big picture. Focus on what your users want. Give them uncomplicated features they can and will use. Streamline your UI, then streamline it again. Ensure everything works rock solidly and as expected with no unpleasant surprises. Quality is king.

I know Ubuntu uses less resources. I know Chrome is faster. But I will still be using Firefox when my copy of Windows 7 arrives. I have a few seconds to spare, and I'm not afraid to use them. And so will many other people.

* Of course, in the web realm, this is all bunk. If your site doesn't load quickly, people will go elsewhere. Welcome to the new ADD world!

Sep 17, 2009

Top X List of Y

If you're a fan of South Park, or even if you're not, maybe you've heard of the following business plan (courtesy of the Underpants Gnomes):

Step 1 - Collect underpants
Step 2 - ???
Step 3 - Profit!

Ahhh yes, Step 2 remains elusive for many of us, whether it applies to fiscal profit, or even social or emotional gains. Some of you may nod or smile as you recall your erstwhile ideas which you had failed to concretely realize. Those of us ("us" as a species, not as in... whatever I am) who do become noteworthy and appear in textbooks, magazines, tabloids or tweets.

Unfortunately, there are always people who's coveted Step 2 is to latch on to the coat tails of others and leech off their exposure. They are the Kevin Federlines of the digital realm. Why work when someone else can do it for you? They have replaced the above steps with the following similar formula:

Step 1 - Collect links to other people's articles on Y
Step 2 - Post a Top X of Y list on a blog
Step 3 - Profit!

This tedious concept is especially prevalent in the technology realm. How better to catch people's attention than by claiming that not only do you have information on X, you have more of X than the next person?!

Please, I beg of you, before you post a Top X list of your own, consider if you are bringing anything new or interesting to the table. A Top X list is fine if it is mostly your own content. Otherwise, don't bother, we have Google, and whatever your X and Y are, I'm comfortably sure Google has more.