Always Pay Your Designer

January 24, 2007

Or at least change your web site’s admin password.

Haha. It is to laugh. You rock designer-person, whoever you are.

Update: The customer must have paid their designer – the site used to display a message that payment had not been received.


Why You Should Blog

January 18, 2007

USAToday posted this article yesterday with some guidelines for getting your web site prominently displayed in Google search results. You can read the article, but the three main pointers are:

  1. Your site needs to be linked to from other quality websites.
  2. You should have a clear website title.
  3. Your site should contain descriptive copy that includes the search terms (called keywords) that articulate how you want to be discovered by search engines such as Google, Yahoo and MSN.

Blogging (in particular with WordPress.com) makes it super crazy easy to meet all three of those criteria.

  1. Every time you write a post about someone else’s post, WordPress (and most popular blogging software) will post a pingback to the other blog’s comments that links back to your blog. The more pingbacks, the more links you get, which drives up your search engine rating. In addition, sites like WordPress publish lists of recently edited posts, which are also indexed by the search engines.
  2. Your pretty much forced to have a specific title for each blog post. As long as you choose a title that corresponds to the actual content of your post, this criteria is satisfied.
  3. Blog posts are, by definition, full of keywords.

Some of my posts have appeared in Google search results in as little as a couple of days. If you want to get the word out about your product, yourself, or whathaveyou, blogging is a no brainer.


The iPhone, and Why Software Sucks

January 17, 2007

iphone.jpg I was a little late catching on to all the buzz about the iPhone. I just watched the MacWorld keynote, and wowzers – that thing is snazzy-jazzy with a dash of uber-coolness. I want one right now -gimme gimme gimme!

So yeah, we all know Apple is a creative company, with some obviously talented people, but I dare say they wouldn’t be half as creative if their fearless leader (ol’ Steav-o) weren’t spearheading the show. I posit that in most organizations the iPhone would’ve shipped once the designers blessed it with that ginormous 3.5 inch screen, confident that anything extra (like that jaw-droppingly bodacious finger-scrolling action and so forth) would just be “fluff” not worth the extra time and money. Not that anyone can blame them. Building software is hard. I believe it was Steve McConnell that once said that software design problems are often such that we don’t even know what the question is until we get close to the answer.

But Apple seems to have developed quite a knack for the wow factor. Everyone’s initial reaction to the iPhone has been much more than just, “that’s neat”, or even “I’d like one of those”. Seriously though, why aren’t there more fantasticly wonderful products on the market, particularly considering the enormous technological advances made in just the last few years? The things Apple has included in the iPhone are not that technically difficult, per se. Touch-screens have been around for a while, and all the nifty finger-motion stuff you can do with the iPhone is indeed nifty, but not beyond the talent of a skilled (and dedicated) hobbiest programmer.

I just found a video of one of Scott Berkun’s presentations entitled Why Software Sucks (shown at the end of this post), which details some reasons why it’s so insanely difficult to build software. A few possible causes mentioned were “Lack of synthesis of diverse skills”, “Tactical mistakes”, and so forth, but the obvious reason is simply not paying attention to what the customer really wants. Or not listening well. Or whatever you want to call it. I ran into this dilemma with a recent project wherein, after repeated interviews with the (internal) customer, I was convinced I knew exactly what they wanted. I repeated to them verbally what I had learned, documented their request and sent followup emails, and so on, but when the feature was delivered it wasn’t what they expected. It was a simple thing to correct, but the root of the problem was that I didn’t have a clear understanding of what the customer really needed even though we both thought I did.

That’s just one of the many pitfalls of software development that perhaps explains why we don’t see more innovative products like the iPhone. Maybe once we get a product close to satisfying the majority of users we collapse on the figurative green hillside of success and breathe an enormous sigh of relief, surrounded by daisies blowing in the wind. Or something. Satisfying most customers on the first try is insanely difficult. Making a product that’s jaw-droppingly good is Developer Nirvana. Which is why the iPhone is so impressive. Apple is good. Very good.

Here is Scott’s nifty presentation entitled Why Software Sucks, which provides a lot more (in case you wanted it) “glass is half empty” talk about why software, well… sucks.


The Power Switch

January 14, 2007

I’ve noticed many times over that when a good ol’ guy or gal gets promoted to a management level position, they often, shall we say, lose their previously holistic perspective, and become much more “me”-centric. It’s almost as if a switch was flipped that turned off their ability to see things from other’s viewpoints, or to consider contrary arguments.

And finally, there is scientific proof! Yes, scientists have at last proven that power breeds self-centeredness! Unfortunately, this is just one of those articles we can pass around to our friends and nod approvingly after reading – we knew this stuff all along, after all. No secrets here. 

Unless you’re management. In which case, the link to the aforementioned science filled article may provide some insight into why you, um… well… heh heh.

Just read the article. 


SQL Server Search

January 12, 2007

I’ve added a new utility to the downloads page, a little stored procedure I wrote many moons ago for searching an MS SQL Server database for objects. It’s been gradually improved over the years, and could probably be improved even more, but I leave that exercise to you, dear reader.

SQL Server Query Analyzer has an Object Search feature, but I’ve always found it quicker and easier to just type sch ‘SearchFor’ right there in the query window to find all objects that contain ‘SearchFor’. Of course, since I provided the full source of my little stored proc, you can change the name to whatever you want. I just used sch ’cause it’s quick to type.

Check it out.


Outlook 2007 dumps IE for Word

January 12, 2007

Microsoft seems to have sparked a little controversy over there decision to render received HTML emails in Outlook 2007 using the Word 2007 rendering engine. I have to agree with this blogger that this sounds just plain… well, retarded.

Click the link to find out the horrors that await designers, or anyone wanting to send purty emails.


How Secure is My Windows Password?

January 5, 2007

Watch this video to find out…


I Got an Error

January 4, 2007

Words that instill horror in developers and support persons everywhere. Because usually the question, “What error did you get?” remains unanswered.

I got an email from a user today complaining that security settings prevented them from seeing some events in our internal event management system. My followup question was obviously, “What event(s) can you not access?”

I also get this from fellow developers and power users, which is almost unpardonable. When I get a bug ticket that contains a screenshot of a .Net error dialog, with the ”Details” pane collapsed and only the generic message visible, it’s a mite frustratin’.

What if we applied this lack of communication to other common situations we encounter in life. Like for example, this one…

A man and his wife come out of the grocery store and head for their minivan. Both have forgotten that the man gave the car keys to his wife earlier, and as the man reaches into his pocket for the keys he suddenly stops and turns to his wife and says, “I can’t get in the car!”

Incredulously, she turns to him and says, “Why not?”

Immediately realizing he obviously hadn’t supplied enough information, he says, “Oh… I don’t have the car keys.”

Or, what about this (maybe better) example…

A couple of landscapers are digging a whole to plant a bush, when one of them loudly exclaims, “Something’s wrong! Why isn’t it working?”

The other worker says, “What do you mean? Let me take a look.” And upon closer investigation discovers that the first worker had merely struck a rock.

“Take this rock out, and then you can keep digging”, says the second worker to the first.

And so with that said, I would like to take this opportunity to say, with great passion and urgency, to all of the users out there, “Help me help you. Give me some details.”


Don’t Click – A New Approach to UI Design

January 3, 2007

A fellow named Alex Frank has put together a pretty impressive web site at DontClick.it showcasing new (better?) ways to get user input using a variety of mouse gestures that eliminate clicking.

Although I don’t see the imminent death of clicking anytime soon, I really like his ideas. This is neat stuff, and used appropriately (maybe with Windows Presentation Foundation?) could really enhance the user experience.

Hop on over to his site and give it a whirl.


Nifty Tools ‘n’ Utes

January 2, 2007

I hope everyone out there enjoyed a wonderful holiday and New Year, as did I. I thought I’d continue the Christmas spirit of giving and so forth with links to a few of the nifty things I have in my Favorites:

- JScreenFix
JScreenFix is a nifty little ute that (supposedly, I haven’t actually tried it), fixes the annoying pixels on your LCD or Plasma monitor that don’t work right anymore.

- Unlocker
Ever try to delete a file or folder only to discover that it’s already in use by another (unnamed) process? This little ute will not only let you know what that other process is, but it will free the file lock for you so you can successfully delete the file.

- ProggyFonts.com
A delightful little collection of monospaced bitmap fonts designed for programmers, by a programmer.

- CSS Cheat Sheet
A handy dandy quick reference for anyone learning CSS, or for old timers that need a quick refresher. Also looks cool hanging on your cube wall.

- Cain and Abel
I recently came across this post on digg.com and found it interesting how easy it is (and also punishable by death in most organizations) to sniff out plaintext passwords from a corporate network using a little package called Cain and Abel. I have not actually tried this, but no doubt this tool could be used to tighten a network, or at least learn from.