Curriculum – Part 3

So, what is a college to do? There is too much to fit into a 4-year undergraduate program, let alone a 2-year masters degree. There are too many skills, too many approaches and processes, and way too many tools. Where should the focus be?

Do you go for breadth to make sure students understand the landscape and where they can play in it? I believe that to be very important, but it must be done briefly to allow focussed instruction as well.  I try to canvass the design landscape in a single semester for my students, because I want them to break out of the graphic design silo that I find them in. It doesn’t necessarily give them enough depth in any one discipline to qualify them as a professional, but at least it gives them the opportunity and direction to pursue something that particularly interests them.

Do you focus on process, assuming that if students graduate with a strong, yet flexible design process, they will be able to adapt it to every situation, every job, every domain they find themselves working in?

Should education be heavily weighted toward skills and tools, making graduates immediately employable in production, knowing that they will grow and develop strategy muscles through mentorship and on-the-job training? Or should specialized skills and tools be ignored, knowing that they may be outdated within a year or two after graduation?

Is it better to build a program around up-and-coming disciplines, planting flags and defining roles, even though they may not be hiring in large numbers for several years? Or would students be better off focussing on areas of practice that may not be pushing the boundaries but are hiring like mad?

And are there different answers depending on whether its an undergraduate or graduate degree program?

To be continued…

Read Previous Parts

The Simplest Things

I was helping a friend this evening who is having to do front-end web development for the first time. He knows about enough CSS to hang himself, so he asked me to give him a few pointers. We talked about ems and we discussed padding and margins. I covered the basics of precedence, and I explained that he really shouldn’t be using complex Sass nesting.

Out of all of it, though, I think the one thing that will help him the most was the simplest little thing. He’s been using Chrome’s developer tools for months, but he didn’t realize that you can click the little magnifying glass to switch to “inspect” mode within the browser window. All this time, he’s been hunting through the DOM. Just think of the number of hours that little tip will be saving him.

So Much Fun

This week’s class finished the first quarter of the semester, and it was a major milestone. It was the night that my students voted for the game concepts they liked most and then picked the ones they are going to be working on. I think we have some ideas with great potential. Of course, they’re going to evolve quite a bit over the next few weeks. Which of these would you like to play?

Cat Chase
A game where a normal, everyday occurrence is turned into a huge ordeal or epic quest. Example: cats going to be fed by their owner. The race to the kitchen to eat first (therefore, the most food) is played out like a long and arduous journey. In reality, it’s just a cat’s perception of its competition.

Asylum Survival
A turn based board game like Candy Land, but instead, much, much darker, and you have to survive through the night in an asylum, collecting items and encountering enemies.

Urine Trouble
You’re sitting in your 6x6 cubicle. The boss is on your case about finishing your TPS reports. The faster you finish, the faster you get to come home, but you have to pee. You have to pee really badly. Really really badly. The catch is, if you take the time to go pee, your coworker can finish his or her assignments faster and get on your boss’s good side. But if you hold your pee, then you can have an accident and have to change your pants. Sounds like urine trouble.

Tallest Tree
A fight for survival as you grow to become the ultimate tree. Start off as a seed and grow to become the tallest tree in the land while also trying to find and destroy your opponents’ trees.

Machine Uprising
Asymmetrical multiplayer game (1v1, 2v1, 3v1). One player controls the powerful cyber-forces, while the other players control a single human character each. Human players must work together to overthrow the opposing forces and save humanity by destroying the all-seeing cyber core (The Watcher).

Animal Life
You have to complete levels by surviving one day as an animal from the bottom of the food-chain to the top. It is a board game and you all start off as a plankton.

We’re in the battle for the net.

An important message from

On May 15, 2014, the Federal Communications Commission proposed rules that would permit rampant discrimination online, undermining Net Neutrality. The FCC’s proposal would be a huge boon for the cable companies and would undermine the Internet as we know it.

Under the proposed rules, cable giants like AT&T, Comcast, and Verizon would be able to create a two-tiered Internet, with slow lanes (for most of us) and fast lanes (for wealthy corporations that are willing pay fees in exchange for fast service).

Cable companies would have the power to discriminate against online content and applications — they could pick winners and losers, shake sites down for fees, block content for political reasons, and make it easier for Internet users to view cable content. (For instance, Comcast owns NBC, and so has incentives to make it easier to view NBC content than that of other providers.)

The Birth of a Book: Part 18

The stylistic changes, grammar mistakes, and poor typography were relatively easy to detect and mark up. It took a lot of time, certainly, but it wasn’t difficult editing. What really blew my stack were the changes to my code.

As I mentioned in a previous post, I had actually been instructed not to format my manuscript. I was to mark sections of code, basically by saying [code starts here] and [code ends here]. That would have been really annoying. More importantly, I had very specific ideas about the way I wanted the code formatted in the book. I wanted to use color to enhance its readability. So, I ignored my instructions and formatted the code exactly the way I wanted utilizing color and a monospace font.

I have an entire chapter on formatting standards in the book. Within that chapter, I provide examples of poorly formatted code and then show what it looks like properly formatted. There was one such example that had been corrected! The text was explaining what was wrong with the indentation of the code block, but the code block’s indentation was just fine.

In the same chapter, I talk a bit about whitespace, explaining that rulesets should be separated by blank lines, but on that page and throughout the book, the whitespace had been completely bolluxed.

I had to comb through every line of code in the book searching for errors that had been introduced. After several iterations, I think I got everything fixed.

And with that, finally the book was ready to be sent to print

To be continued…

Read previous parts.

Practicing What I Preach

I mentioned yesterday that I’m working on some major product improvements. They’ve been a long time coming. I’m taking advantage of this situation to institute a design pattern library. Each UI element we design is being implemented as a plug-and-play component with modifier classes that handle different uses. As we go, we will document each component, explaining when and how it should be used. Every library entry will include a screenshot and an HTML snippet. More complex components will include multiple examples to illustrate different states and contexts. We’re doing this on our development wiki where all of the developers will be able to access it. Eventually, it will be possible to assemble entirely new screens in minutes by simply copying and pasting code out of our pattern library.

If you would like to learn how to do this for your company, consider attending my workshop at Midwest UX 2014.

Designer’s Toolbelt: Icon Fonts

I’ve been aware of icon fonts for awhile, but I wasn’t particularly interested in using any of the free ones out there. Don’t get me wrong, Font Awesome and Entypo, among others, are lovely icon sets with hundreds of icons to choose from, and for all those UX professionals and front end developers that don’t have the talent or the time to create their own icons, they’re a god-send. That said, they are still limiting, and they entice you to settle for something less than optimal. When you are working on enterprise software for specific industries, you’re going to require a lot of icons that aren’t covered in a typical set. Furthermore, you should remember that your UI is your brand. The iconography is a significant part of that. An application’s icons should match the sensibilities of the industry, customer, and users. Add to that the fact that I’ve already established a robust iconic vocabulary over the past 14 years, and you can begin to understand why I’m dead set against using a generic icon set, free though it may be.

Now, that doesn’t negate the huge technical benefits to using icon fonts. Especially now that we have retina displays and responsive layouts for all screen sizes, the ability to specify the size, color, and effects of a vector graphic in CSS is irresistible. So, where does that leave me?

I finally took the time today to research what is involved in creating your own icon font. It turns out that it’s quite simple, thanks to some excellent tools. I turned an Illustrator file containing my UI icons into a bunch of SVG files, imported them into IcoMoon, and had a font file downloaded in a small slice of my afternoon. Other tools you can look into include Fontello and Fontastic.

I’m in the process of doing some significant improvements to our products, and this is going to be the way I handle all of our icons going forward.