Several months ago after rolling out the lifestreaming features on this site, I became unhappy with the way that the design scaled with the new feature. Around that time I did a purely-visual refactor (just templates and CSS changed--no code), but it has sat untouched on my hard drive for several months.
Today I ran across that redesign and since it essentially looked complete, I deployed it to the site. I'm still not very happy with the design, but I think that this time it's at least easier to read than the last one, which had become very cluttered and difficult to navigate and read.
Let me know what you think in the comments.
What could have more of an impact on visitors of a website than its design? It's the first thing that people notice when they visit the site, and it dictates what they see and how they interact with the site. A bad design can drive visitors away, whereas a good design can bring people back again and again.
It seems that a common misconception is that design is how to make a site "look good". While this is true, to an extent, the design also determines the flow of information from the screen to the user. In the words of Andy Rutledge, "It's not about the design, it's about communicating.". This only underlines the importance of good design.
37signals designs their interfaces first, citing two basic reasons. First, design is lightweight relative to programming. That is, it's much easier to change the position of a navigation bar than to change the data persistence layer of the backend. Second, is that the interface is your product--if the visitor sees and interacts and remembers the interface and its design only, then the design really is the site itself. I'm not sure how much I agree with the former, as I believe that design is becoming more and more heavyweight, but the latter definitely has some merit.
So it's a reasonably well-accepted fact that design is one of the most important aspects of a website, so why don't more people focus on it? I think that the problem is specialization: programmers--preferring to write code and think through the program logic--attempt to muddle their way through creating a user interface, while designers--preferring to perfect the margins, whitespace, and typography--attempt to muddle their way through defining logic of the backend.
Of course, I'm talking about smaller projects of only one or two members. Once they get larger than that, they need to bring a few of "the other" type of people into the mix. That being said, where are the people who are excellent dual designer-developers? Of course people like this exist, but these people are few and far between.
Part of the problem is that both disciplines are ones of constant improvement. As a developer, I know that I will never stop getting better and more experienced in my craft. I will always look at code that I wrote a year ago and cringe. This is part of what makes developing interesting to developers. As I understand it, the same is true with design. This property of both disciplines renders learning the other discipline futile, or at least makes it seem futile (which is a bit of a self-fulfilling prophecy).
Is it possible to become at least conversational in the language of design, when your experience and main interests is developer? That's what I'll be trying to discover in the next few weeks and months. I don't have more than a few hours a week to devote to it, but I've embarked on a bit of "independent study" about design, trying to learn from the best out there about grid-based layouts, color theory, etc.
The encouraging thing is that both designers and developers trend towards being bloggers as well, and that means that there's a wealth of great articles and information out there to learn from. Keep an eye out here for updates on my progress, my successes/frustrations, and other theoretical ramblings about design.
I've just relaunched the redesign of this site. Nothing major is different, but one fun thing that I'd like to highlight is the way the blogroll is displayed. I got the idea from Motel de Moka, which has more links to work with than I do.
First, I set up a very simple model:
class BlogRollLink(models.Model):
name = models.CharField(max_length=128)
date_added = models.DateTimeField(default=datetime.now)
url = models.URLField()
But we've got a problem at this point: we can't order this by the number of characters in the name. So we must modify our model to have an integer called name_size, and then override BlogRollLink's save function to fill in that field any time the model is saved. Our final model is below:
class BlogRollLink(models.Model):
name = models.CharField(max_length=128)
name_size = models.IntegerField(editable=False)
date_added = models.DateTimeField(default=datetime.now)
url = models.URLField()
def save(self):
self.name_size = len(self.name)
super(BlogRollLink, self).save()
def __unicode__(self):
return self.name
def get_absolute_url(self):
return self.url
class Admin:
pass
Now to display this on every page, I've created a context processor named blogroll_processor. It looks like this:
def blogroll_processor(request):
blogrolls = cache.get('blogrolls', None)
if blogrolls == None:
blogrolls = list(BlogRollLink.objects.all().order_by('name_size'))
cache.set('blogrolls', blogrolls)
return {'blogrolls' : blogrolls}
And we're done! A nifty "waterfall" of blogs. Let me know what you think about this technique. Is it stupid?
I just found a designer! And it's one of those guys that is way too high-profile for my budget, but he's interested in my idea!
WOOHOO!
For the past month or so, in my free time I've been working on a potentially very profitable/successful idea. I've had this idea for years, and have waited for someone else to do it, but nobody did. This summer seemed like the perfect time to realize this idea, and to see just how far I could go with it. There have been challenges in writing the back end for it so far, that much is certain, but by far most of my time has been spent looking for a designer.
I realized almost immediately that my design skills are not adequate to realize my idea in any decent way, so one of the first things that I decided was that I would need to enlist the help of a designer. I have a budget of no more than $1000, so it should be fairly easy to find a decent if not good designer, right? Wrong! I never could have imagined that finding a designer would be so hard!
My first tactic was to email the guy who created inviteshare.com, because I like that design a lot and think he's a budding web designer who just needs to be discovered. He responded, seemingly interested, and as soon as I presented my entire idea he was gone. I'm actually fairly suspicious that he'll try and implement it himself, effectively stealing it from me. But judging from his previous development work, I don't think I have too much to worry about.
My second tactic was to troll at a community for web designers/developers, like sitepoint.com, and look for potential candidates there. One can not appreciate just how many AWFUL designers there are out there, until they visit the critique section of sitepoint. And it's the same for all the designer web forums. For the most part, the good designers don't go there while the bad ones go there to get help from the other bad designers.
My third tactic was to scour blogs of the truly great designers, and look at the comments.
...along with the best agencies:
...and so on and so forth for about 30 of the best of the best designers and agencies.
I would look at who posted comments and go to their websites, but even those people--fans of the best--are way too high-profile for my price range.
Right now, I'm not really sure whether to get some books and try and teach myself the principles of design, or to try and earn some more money, or to simply keep scouring the net for that budding designer that's willing to work for me for a reasonable price.
It'll be extremely interesting to see what ends up happening in the coming months.
All Content

