July 23rd, 2009

My Dear John to Internet Explorer 6

Dear IE6 -

Since you came to being in the late summer of 2001, our relationship has been tenuous at best. Sure, you were better than IE5.5, but I soon found my mouse wandering to the more standards compliant ladies in the room - like Firefox, Safari, and Opera. It wasn’t that I wanted to not like you. We just had a hard time due to the fact that you never quite understood my position(ing) of things. From the double float margin bug, to you cutting off what I had to say arbitrarily, we just seemed to fight all the time.

And then came png. This new thing, which is so helpful to me and others who relate to you, which just caused you to pee your pants and act like it was a ghost really made things much harder on me and my design friends to create interesting designs.

Well, I have to tell you IE6: we’re through. I’ve been trying to gain the courage to tell you this for many months, but haven’t had the courage. However, with the recent announcements by YouTube and Basecamp that they’re dumping you too, I feel now is the time. I’m moving on to continue my fling with standards-based browsers, who in all of their wonder actually pay attention to my needs. They really get me, and go out of their way to try and understand the language I’m speaking.

Sure, we’ll still run into each other from time to time. I’m just not going to go out of my way to make things work out just for you. Sure, we’ll still have a “functional” relationship - but I’m not going to waste my time trying to make things pretty anymore. I don’t have the time nor the endurance to do it.

So, goodbye IE6. We’ll see you around (although hopefully less and less). Trust me when I say, it’s not me - IT’S YOU!

Cordially,

Josh

P.S. I’m sure I’m not the only one who is ready to say good riddance to IE6. If you’re ready, add your name to this letter by “signing” it in your comments.

July 9th, 2009

3 things Expression Engine could learn from Drupal

I’m an Expression Engine guy. I love how it works, and as a designer I’m drawn to the ease of use and the robustness of EE. However, I’ve been working with a client who is a part of a larger organization and requires their new site to be implemented into a Drupal system. As I’ve been working on this project I’ve aquainted myself with Drupal.

All in all, I’m not ready to abandon the Expression Engine ship to embrace Drupal, but I do think that Drupal has got three really great user features that Expression Engine could benefit from implementing.

Content Types

Drupal allows for the development of different types of content. Expression engine, while allowing for many different fields in many different weblogs, doesn’t allow for a differentiation in the name or process of those content entries based on type. The three default content types for Drupal are: blog entry, page, and story. This can be extended by creating different content types. The beauty of this for the user is that it allows them to conceptualize the “buckets” of content better than the weblog model.

Built in Navigation Design

One of the issues I have consistently when handing an EE-based site over to a client is the issue of understanding how the site is laid out in the control panel in comparison to the front-end. Drupal solves this issue by allowing the user to build the navigation and see it in an outline format. This not only gives the user understanding of the site structure, but full control over it’s sitemap. Using the basic weblog for every section model in Expression Engine, the ability to change a site page from one section to the other is a slight pain. With Drupal it’s simple.

I must admit, that this issues is solved with the use of nGen Works’ Structure which makes what Drupal offers in this regard look like childs play in comparison. I hope to offer a video tutorial of Structure in my next blog post.

Ability to Edit from the Front End

One of the largest blessings and curses of Drupal in my estimation is the fluidity in which it moves between “backend” and “frontend.” Drupal pops up helper toolboxes (often in awkward places) when a user is logged in allowing for them to alter content and manage the site. This was the hardest thing for me to get used to when first using Drupal after coming from Expression Engine and Wordpress. That said, one of the things that I liked about this solution from a user experience was the fact that if I needed to edit an existing page, it was a no brainer to find it. In Expression Engine, I often find it tricky trying to get clients to conceptualize where content is located based on what they know about the front-end. It seems easy enough to me, but it’s consistently an issue to them. Drupal’s solution makes it so that if a client can find a page on the front-end, they can edit it on the “backend.”

Brandon Kelly’s Editor extension for Expression Engine does help fill the void and make this easier. Also, hand-coded methods make such links possible as well. In some ways, these means are better than the Drupal answer, because you can navigate to the entry, and then have all of the page design set aside for a content-focused editing environment.

Conclusion

These three things, if adapted, would really add to the user experience of Expression Engine. I appreciate the thoughtfulness on the part of Drupal in identifying the meta-types of content a CMS generally works with and creating a system which makes their conceptualization easier. By giving navigation an area of it’s own helps solve several issues. And allowing users to access content editing through the front-end makes it way easier.

All this said, Expression Engine is still a better fit for my needs. Many people have very impassioned views on the superiority of one CMS to another, and I know that the community base for Drupal is just as crazy about it as I am for EE. But, I’m in love with the code-base for EE, the Control panel is light years ahead of the often clunky Drupal solution in usability and aesthetic, and it makes more sense to me as a designer. If I were a hardcore developer, or really in need of an open source option, Drupal might be a good option. But I’m not, so I just need to hope that one day Expression Engine can be its wonderful self, while maybe learning a little bit from it’s monster-open-source-blue-droplet brother.

April 16th, 2009

What happens when you forget about usability

This little parody video really makes the point that usability and simplicity should always be the cornerstone of good design and marketing. Oftentimes, we create briefs, talk about the target audience, and eventually over-complicate things only to find out that our designs are trainwrecks when they hit the wild. One of my favorite lines in this little video is near the end says, “Guys, we’re a little disappointed in how this thing is testing so we’ve got some minor changes.”

I find this little video to be a all too important call to simplicity and function as the bedrock of good solid design. We should always be asking the question, “Can we make this easier and clearer to the user.” Also, it makes a good point in the addage, “test early, and test often.”

The rub has been, and is continually going to be how to direct the client into simplicity and convince them that complexity just befuddles the user. This is where doing user testing - informal or formal - is important to getting buy in.

Hope you enjoy.

April 9th, 2009

GTD Apps: Things vs. The Hit List

Several months back I read David Allen’s Getting Things Done and became an instant acolyte of GTD. It is so easy, and it keeps me in check. The concept of getting all things that I need to do out of my head, and into a reliable organization system has been really helpful to me because it means I can forget things knowing that I can come back to them when I need to.

So, the next step was to create that reliable system. As a power-mac user I immediately began looking for a GTD tool that was:

1. Easy to use from anywhere - It had to be easy to use, and allow me to input tasks from wherever I was on my computer. This helps ensure that I actually use the tool.

2. Simple user interface - Additionally, the user interface has to be simple. If I couldn’t “get” the application within a few minutes, it wasn’t going to be right for me.

3. Flexible - The application had to be flexible enough for me to use it the way that I want to use it. For instance, while I understand that a “project” is anything which can’t be completed in a single tasks, I often like to embed smaller projects into larger ones.

3. Economical - I’m definitely willing to pay for a good app, but I wasn’t willing to spend a ton of money on it.

When it came right down to buying a few months ago, I chose to purchase Culture Code’s marvellous new app Things. I loved the user interface, the ability to create and manage projects in the side bar, the quick entry HUD that can be beckoned at any time with a simple keyboard shortcut. And at a price of only $49 it seemed to meet all my needs.

Screenshot of Things

Screenshot of Things

Sure there were a few things about Things that annoyed me. First of all, I didn’t like that all projects were grouped together no matter their size or scope. For instance, if I wanted to truly be a GTD acolyte, I should theoretically have “Active Projects” from everything from “Web site Redesign” to “Build Site Map.” The problem is that then I lose the essence of locating the “smaller” project within the scope of the larger one. And, since both of them are projects, they share the same weight in my sidebar. Sure, I could create an “area” for each larger project and then associate the smaller projects with that area, but I see “Areas” more like “Work”, “Home”, and “School.” So this seemed like an area where the simplicity of Things took away from its flexibility.

Another little thing that bothers me about Things is the fact that completed tasks don’t ever disappear in a incomplete project. I know that this is a good thing at times, but when I’m trying to focus in on what I need to do, all those grey completed task just get in the way.

So, even though these two things slightly annoyed me, I was really happy with Things, and it had really helped my work-flow.

Then, I decided to buy the MacHeist Bundle and along came Potion Factory’s GTD app The Hit List. At first I was just curious. I didn’t think that anything could meet my needs like Things had been doing. Boy, was I wrong.

Screenshot of the Hit List

Screenshot of the Hit List

What instantly delighted me about The Hit List is that the user has the ability to contain smaller projects within larger projects, and create a nest, which helps me be a better GTDer. Along with that, the sidebar is completely flexible using folders and even smart folders to organize the things I need to get done in whatever method I choose. Plus, setting tags and contexts are just as simple in THL as they ever were in Things.

Another enticing feature of THL is it’s focus on keyboard shortcuts. I can do pretty much anything in THL without leaving the keyboard, a major time saver.

Although I really like Things’ single screen feature for notes, due dates and more, I have to admit that THL’s “card view” is really helpful. By getting everything else out of the way when I’m in productivity mode, I can focus on the details of a single task without my mind wandering. Plus, the card view gives me a place to do thinking work (taking notes, writing memos, etc).

All in all, I have to admit that I’m very please with both apps. However, I think the flexiblilty of The Hit List makes it a clear winner in my book. For me, The Hit List is a grown up version of Things. I hope that Culture Code will take heed of some of the things in THL, and hopefully they can win me back in the future.

February 2nd, 2009

Changing my Mind on Drop-Down Menus

For most of my time as a web designer, I have been opposed to the idea of using drop-down menus for main navigation elements. However, with some recent sites I’ve been developing, I finally caved to the idea - mainly because I wanted a reason to play with jQuery, and I’ve found that I’m actually enjoying the results. My initial objections are real. First, they are often times un-semantic, and cause poor coding. However, with CSS and a little jQuery it’s completely possible to use nested ul’s to manage a semantic and well-ordered list with the hierarchy completely intact.

Second, I had come to the conclusion that drop-down menus were dodgy, and hard to use for the user, especially those users with motor impairment. I still feel that this is essentially true, and am still pretty adamant against drop-downs that try to go more than one level deep. How often I’m on sites where the drop-downs are touchy and almost impossible to make selections with. This all said, think that a single level drop-down menu is achievable in at least a partial sense. In my trials on creating a site with a drop-down, I really played around with the padding of the target links to make sure that they took up the full spacing of the menu, making it harder to “fall-off” of the link and lose the menu. I also did this by setting my anchor tags to display as block.

A key really is providing enough space (via padding and line-height) around the link to give the user enough to hold onto during the selection process. I understand that there are many users who because of a motor impairment might stumble with this still, but the pros to drop-downs pushed me to use them for this particular site. I also think it’s important that if you do use drop-down menus, that on interior pages you provide a persistent secondary nav-bar so that all users do not have to hover incessantly to find the rest of the pages in the section they are in. I know that Jakob Nielsen probably doesn’t agree with me on this, and I can understand why.

So, what are the benefits of adding a drop-down menu to a site? For me, the thing which made me choose to use it for these two projects, was the scan ability of the site, and the direct accessibility of the interior links. For sites with deep navigation it helps to be able to see the second level from 1 click, so that they can get closer to the content they want sooner. Also, I found that for sites with medium amount of content, drop-downs help to intensify the values of the service provided by the organization. By hovering over a main navigation item to see many germane, and well organized pages in that section increases user confidence - which is counter-intuitive to what I used to think about drop-down menus.

All this to say: I’m not sold on drop-down menus, but I have finally found reason for their existence in particular projects.