Archive for February 5th, 2008

The Perfect Team

A Perfect World?
In a perfect world, designers know how to develop, and developers know how to design. However, this is often not the case, and as has been brought to my attention recently, it can seriously bog down and lessen the quality of any user interface. There is a layer of overlap between the design and development teams of any project that needs to exist to facilitate perfect cooperation and a flawless user experience.

Problem Number One: Designers who don’t understand code
There are two main strains of this problem that I have seen take place. The first is that the designer holds himself back from creating a perfect design, unsure of whether or not things are possible. “Is it feasible to have X feature?”, he asks himself, and ultimately leaves it out of the design. Although the final product looks good, it could look better. The second problem that I have noticed is when designers go over the top with their designs, and implement design features that go against the code base, adding awkward features that look great but don’t necessarily scale. What works in flash, for example, does not always work so well in plain old HTML. This is where the code knowledge comes in.

A designer with at least a little development experience should have a general idea of what he can do, and will feel more comfortable speaking with developers with the “How about this?” sort of question. The developer and designer will be able to speak the same language, and can come up with a farsuperior solution.

Problem Number Two: Developers who don’t understand design
This is, in my opinion, far worse than the above problem. I have seen countless examples of perfect, flawless, completely unusable applications. Many developers see things very differently than designers: they design to display the data they output, and organize layouts according to the back-end. I frequently have drawn-out debates with a friend of mine, with whom I have been working on an online game. A recent argument went something like this:

“Matt: The defend and the attack forms are the exact same.
Me: Yes, but, they serve very different purposes. Defend is set-and-forget, attack is something that changes every round.
Matt: But the forms are the exact same, so they should go in the same place.
Me: No, the attack form should go where the attacks happen, the defend should go with the long-term options storage, since you only set it once, like the other options…”

And, so on, for a few hours. I’ll spare you the details. I’m sure you can tell who’s who: Matt is a developer, and only a developer. He is right; they are the same fields, the same select boxes, the same buttons. However, from a user’s perspective, they are radically different, because one is reset every few seconds during a fight. Matt is a brilliant developer; but, an intermediary needs to fight for the user, because the developer cannot always see from their standpoint when they’re used to thinking about pure functionality.

Go to the Library
What this all comes down to, is that each side should take a moment, and sit down and learn the other’s trade. Developers should see why designers do what they do, and designers should feel open to taking suggestions and discussing ideas with developers. It is when this happens that well-designed, attractive, usable applications can be developed.

Tags: ,

One Million Little Ideas

I’ve got a little problem. Everyone has their quirks; mine’s finishing projects.

It’s
some weird form of subversive ADD, lurking until I’m about 50% done
with a project and then viciously attacking with full force. It’s the
thing that fills up my hard drive with templates in PSDs and hundreds
of visual studio files named ‘test_X’ or ‘X_POC’. So, consequently, I
end up starting a good-sized handful of projects at once, making
commitments, and inevitably failing at actually completing anything
unless I secure a pot of coffee and stay up to 4 in the morning (90% of
Gevalum’s coding was done after 9PM, and 98% of it was with coffee in
hand. I estimated that I’ve consumed a total 65.3 gallons of coffee
since March 10, 2006, it’s beginning, assuming an average of a cup and
a half of coffee per day.)

Currently, my to-do list includes:
-
Gevalum’s big 5.2 update, including a new monster fighting system, a
new player-versus-player system, lots of little interface updates, and
streamlining the engine

- Bookloft, a site where users can get on and discuss their favorite books

-
Getting a huge enterprise-level application ready for a Star-Wars group
(asp.net, has to be scalable enough to add sub-groups with sub-groups
with sub-groups..etc and personal websites for each group commander,
and training manuals, and all sorts of stuff)

- Another one for a different group. Not as big, but still nothing to shake a lightsaber at.

-
Some kind of time manager. Probably something I’d open-source
eventually.. will provide more details in another post, if I get it to
it. It’s at the bottom of my priorities.

- Studying for the MCTS certifications for .NET 2.0 web-based development (70-536,70-528), and then the MCPD test (70-547)

- Studying for the MCTS in SQL Server 2k5 Implementation/Maintenance (70-431)

- Learning openSUSE 10.3 inside and out

- Setting up my new server

And spending as little time as possible doing these, so I can be with my pregnant wife. The list never ends.

I guess that’s where open-sourcing things comes in handy.

Tags: