Archive for February, 2010

Great Moments in UI #1 – Forms

To date I’ve only touched on the not-so-great moments in UI, but since the study of user interface design is something I enjoy I thought I’d start posting about great UI I’ve seen around the internet or articles that really highlight great UI.

Mad Libs Styled Forms

First up is an article and example of “Mad Lip” styled forms by LukeW. Thanks to my coworker Adam for pointing this out to me.

Ron and his team ran some A/B testing online that compared a traditional Web form layout with a narrative “Mad Libs” format. In Vast.com’s testing, Mad Libs style forms increased conversion across the board by 25-40%. You can see a before and after view of the Contact Dealer forms where they ran these tests below.

I think there is a bit more at play here than just the mad libs styling. I personally find the new forms heading much more engaging. Not to disparage cars salesman, but they’re not especially known for their honesty, so changing the header from “Contact a Dealer” to “I’m Interested” to me really changes the perceived purpose of the form for the end user. Also the new form highlights what specifically the contact form is for. But the real star here is how the form is completely changed by wording it naturally. Gone is the feeling that you’re signing up for the draft.

I’m eagerly awaiting a chance to A/B test my own form using “Mad Lib” styling.

One drawback of Mad Lib forms though how well they scale for longer forms. By their nature they require labels within the fields and while natural text around the fields works as a label too I can see a longer form loosing out on legibility.

Tags: , , , , , ,

Image Loader 1.2

I’ve updated my jQuery Plugin, Image Loader, to version 1.2. A couple of people asked that it maintain the order of the loaded images when added to the DOM. So now Image Loader does just that while maintaining the asynchronous downloading of images.

If you’re by chance using my plugin I’d love to see what you’re doing. I built it with the idea of using it with the Cycle plugin, but in a manner that you can use it with whatever you choose. So if you’re doing something different let me know.

Tags:

T-SQL Tuesday: Spot Relationship’s with Database Diagrams

As part of this months  T-SQL Tuesday on “relationships” I thought I’d post about a handy feature in SQL Server Management Studio.

As the title of the article implies I’m going to discuss how database diagrams in SSMS can be handy to visually see the relationship’s in a database. But I think I could have also named the article “T-SQL Tuesday: Spot Relationship’s with Database Diagrams, or the Lack of Them”.

Out of the box and with a deployed database you may get a warning about trying to use a database diagram and that they’re not accessible. Quite often this is because the database does not have a valid owner. As always Books Online is our hero, you can use sp_changedbowner to change the owner. While you’re at BoL read this too, it explains database diagram ownership.

With that out of the way we can move on to the point of this article. Relationships!

SSMS’s database diagram’s when first made will ask you what tables you want to add to the diagram. Go ahead and add them all, you’ll end up with a nicely formatted diagram showing you your tables all lined up nicely with each other. Your results will vary but will likely be a mixture of the tables neatly arrayed with lines drawn between them … or … tables neatly arrayed one after another after another with nary a line to be seen. As they say, “Hope for the best but prepare for the worst.”

If you’re lucky and you have lines between tables rest assured that at least some tables have foreign keys between tables. But don’t rest too long because just because there are lines doesn’t mean there are enough of them (or there might be too many). It’s now time to look at each table neatly arrayed and familiarize yourself with the schema. I find that visually it is quite easy this way to spot likely candidates for FK’s. You’re also likely to spot other things, such as PK candidates, better normalization strategies, moments of sheer database schema genius, or pure database depravity. If you find the latter then…

Database diagrams are also great for spotting everything that’s missing as well. Orphaned tables are quite obvious sitting all by themselves, and again I find it visually easy to quickly tell if that’s the way it should be or shouldn’t be. If you find everything is missing you can start adding FK’s right there in your diagram. Simply right click on a table and you’re given quite a few options to start updating your schema. (See the warning below!)

Anyhow, I hope everyone gives SSMS’s diagrams a try. It does not replace sitting down and verifying your database’s relationship’s one by one. But it does make a great aid in doing so.

A couple of additional points to keep in mind when looking using database diagrams:

  • Remember there are times you might not want a foreign key. FK’s do imply overhead and in a performance consideration there may be a valid reason to not have them.
  • The diagram resizing isn’t really all that great, 75% means that the text is 25% less legible. Not very handy unless you want to get a REALLY high level view.
  • Go ahead and drag things around. I do all the time.
  • Try printing these out! Print to a PDF with something like CutePDF or if you’re lucky like I am with a large format printer print it out on a 3′ x 3′ piece of paper and start drawing all over it.

And finally a word of warning!

The changes you make in a database diagram can be committed! So don’t go trying to drop database objects in a production environment. I think it’s best practice to just not use them in production. Unless you’ve practiced your disaster recovery recently and feel quite confident in it.

Tags: , ,

EventVue’s Post Mortem

EventVue posted to their blog a post mortem on why they failed. Even though they say most businesses fail within the first few years you never get to hear from them post-failure. It’s sad to see anyone’s dream die, but there are valuable lessons to be had when those who fail discuss what they feel went wrong. Anyhow a couple of tidbits I found insightful for other startups:

didn’t focus on learning & failing fast until it was too late

I love how they stated it as not just learning but failing fast too. We all learn from failures and knowing what clients don’t like is just as helpful as what they do.

made compromises in early hiring decisions – choose expediency over talent/competency

You always hear how your first hires are the ones that matter most. What position are you hiring for, how do they fit the team and culture you want to build, where do you see them growing as the company quickly grows?

Anyhow, I appreciate the founders of EventVue posting what they did. It’s hard to let your startup go and harder still to admit what you did wrong. I’m sure in the future those that they’ll go on to start up new ventures that go further.