Designing Sean

Husband. Father. Web Developer. Music Lover. Gamer.

About Me

More About Me


A couple of changes here at that I know all of you are anxiously wanting to hear about.

First, I have switched hosting providers to the most excellent Webfaction for hosting. I will admit it is definitely a shift in terms of how one thinks about setting up websites and such. But once it locked in, I find it much easier to manage and control.

Plus, you can run pretty much anything. Which leads me to change #2.

I am now running my blog using the most excellent Ghost blogging platform. I decided to take a chance and fund its KickStarter campaign, and so here I am with version 0.3.1.

Since it is new, there are not a lot of themes just laying about, so I decided to get my hands dirty, and fork the default theme for my own purposes. A work in progress, but it will suffice for now.

And who knows, with a new host and blog platform, maybe I'll actually keep blog more!

Custom Directives in Angular

I have been building a "prototype" of PeopleMatter's Schedule app over the last couple of weeks. I say "prototype" because what I am really doing is reproducing the existing app, just using AngularJS instead of .Net and Knockout. This will allow us in design to try out different solutions to existing problems much faster than waiting for a scrum team to pick them up. Now that I say that out loud, maybe prototype is the right word.

Anyway, doing this has been a GREAT learning experience for AngularJS. In particular, the ability to create your own directives to fill in the functional gaps that Angular doesn't cover is fantastic.

For instance, I needed a way to give an element focus. Doing this the Angular way meant coming up with my own directive. Check it out:

The key for me was realizing that Angular uses jQuery under the hood to do a lot of different things. If you aren't including jQuery in your project, then Angular provides a trimmed down version. However, to get this particular directive working, you are going to need the full jQuery library included before Angular.

So how does this work? You basically either fire a jQuery listener to execute a function in $scope, or you test a $scope boolean which then fires some sort of jQuery event. Assuming you are familiar with jQuery, writing custom directives becomes a snap.

Be Tron and Fight for Your Users

Originally posted on the PeopleMatter blog.

Being Tron

This probably both dates me and marks me as a bit of a nerd, but I like the 80s movie “Tron.” If you have not seen it, the movie is about a guy who gets transported from our world to inside the software world of a computer.

From the perspective of the real world, Tron is a security program written to block malicious programs from accessing and stealing data. Inside the computer system, Tron is personified and is a hero. Why? Because, as he puts it, he “fights for the users!”

As one of the people who designs the user experiences found in the PeopleMatter Platform, my job is to put the user first. I approach any change or new feature by asking, “How will this impact our users?” I strive to think, not about how I would use our website, but how the user would. My personal goal is to be Tron and fight for our users as we continue to build the Platform.

In the design world, we have many tools to help us stay focused on our audience — though none of them are quite as cool as the light cycles and discs from Tron. The user experience of a website parallels the customer experience of guests in the service industry. With this in mind, it is possible for you to take some of the tools we use to keep ourselves focused on the users and turn them into tools you can use to help your team provide great experiences in the real world for your customers.


Storyboards are an excellent way to walk through how users will use our product and identify their motivations. Rather than just writing it out in words, you draw it. You start by defining the problem, then identify the solution and recap the benefits. Even drawing a simple stick figure goes a long way to help visualize a problem and solution.

Storyboards are also an excellent opportunity for training your team members. If a picture is worth a thousand words, you could easily transform your text-heavy, new-hire training manual into something visual. This has the added bonus of being easily referenced on the go.

If you are worried about having to draw things yourself, then have your team do it. Not only are your employees more likely to retain the information after drawing a storyboard, but it will help you to quickly identify potential misunderstandings long before they make their way to your customers.

Usability Tests

Once we have a feature close to ready, it is incredibly helpful to take it and put it in front of people for them to test drive. While watching someone use one of your designs for the first time can be very humbling, it is an absolutely fantastic learning experience. One of the interesting things about usability testing is that you do not necessarily need an actual user. Someone who has not seen the feature — like a new hire — can stand in just as easily.

You can take the idea of usability testing and apply it to the service industry by putting your teams in role-playing situations. This is a great way to have both new and experienced team members work through different customer scenarios. Just like with usability testing, your team can role-play with each other, with one person standing in for the customer. This gives the added bonus of both people having the opportunity to learn from the role-play experience.

Fighting For Your Customers

Nothing is more powerful for your business than customers who walk away feeling great about the experience your team provides. To do so, you need team members who can handle both the good and the bad with confidence. The tools discussed in this post can help take great hires and turn them into great employees. Employees that will be your very own Trons — fighting for your customers.

The Cobbler's Children...

"The cobbler's children have no shoes."

After many fits and starts with hosting my portfolio on my own site, I give up. Between my "real" job, my business, and my family, I just do not have the time to maintain it properly, especially when there are things like Behance out there that will do it for me.

Plus - as my previous post mentioned - some of the things I want to show do not fit neatly in a traditional portfolio site. Where would I put my code? And how many hours would I waste to make it happen?

So as I drove in to work today, I decided to abandon the idea that would host my portfolio. Now, it is blog only. My work can be found at Behance and GitHub. My work history at LinkedIn, and my social profiles at Twitter and Facebook.

I have always agreed with the idea that a jack of all trades is a master of none. So why shouldn't the same apply to websites?

GitHub as a Portfolio

So though I am in a job where I do not do a lot of coding, it occurred to me that - should I ever want another job - I would need to show that I can, in fact, code. But how do you do that in today's world?


GitHub is a great place to expose to the world my coding prowess (or lack thereof). I had been using it to store a side project I have been working on for our side business, but have recently realized that I should put a bit more effort in to keeping track of other things I have build. I recently added a project I worked on at my previous job that was jQuery heavy, and I am strongly considering upgrading so I can have a couple of private repos to store some of the proprietary work that I do now.

If you code, you should post whatever you can to GitHub. Not just so that others can use what you write, but so they can see how you write, as well.