Archive for March, 2008

Links for March 31st

Monday, March 31st, 2008

(from del.icio.us)

Travel Update

Monday, March 31st, 2008

In the next few months, there are some travels I’ll be taking. I may update this post, as I’m sure travels will update as well.

Chicago
work related, with free time at night
April 2 - April 4
Chicago
work related, with free time at night
May 7 - May 8
New York City
Baseball game at Yankee stadium with my dad
June 9
Chicago
work related, with free time at night
June 16 - June 19
Bushnell, Illinois
Cornerstone Festival 2008
June 30 - July 5
San Francisco
Adaptive Path UX Week 2008
August 12 - August 15

On another note, I have found TripIt to be an amazing way to organize travel. Certainly is worth it if you travel relatively often.

Links for March 29th

Sunday, March 30th, 2008

(from del.icio.us)

More CSS for large websites

Saturday, March 29th, 2008

I want to continue with my thoughts on creating and maintaining CSS on very large websites. In my last post on the subject, I mentioned that there are at least ten different layout conventions that I deal with on a regular basis.

For what it’s worth, I want to add a little context and say that those layout conventions (and ten is a rough estimate) power somewhere around four hundred pages, give or take a few. Certainly, the website is much larger than that number, but again those are the ones with which I have significant interaction.

Again, none of this is new to someone who works on a very large website, but all of it was new to me. In light of this, I want to shed a little more light on some of the techniques I use or have used.

Structured Sections of Styles

I began to practice this technique when most of my days were spent working with relatively small sites, that typically had a total page number of less than fifty. However, many stylesheets don’t do this, so I think it’s worth mentioning.

Structuring sections of styles allows the designer to keep things in logical places within the stylesheet: such as layout styles, link styles, typography, browser fixes, and so on. An example goes like this:

HTML:


<div id="wrapper" class="layout-a">
   <div id="subContent">
      <p>content</p>
   </div>
   <div id="mainContent">
      <p>content</p>
   </div>
</div>

<div id="wrapper" class="layout-b">
   <div id="subContent">
      <p>content</p>
   </div>
   <div id="mainContent">
      <p>content</p>
   </div>
</div>

CSS:

body {
   background: #fff;
   font-size: 76%;
   text-align: center;
}
/* Layout Styles
_____________________________________________________ */
/* constants */
#wrapper {
   width: 760px;
   margin: 0 auto;
   text-align: left;
   font: 1em normal Verdana, Arial, Helvetica, sans-serif;
}
/* end constants */
/* layout-a */
.layout-a #subContent {
   width: 260px;
   float: left;
}
.layout-a #mainContent {
   width: 400px;
   float: right;
}
/* end layout-a */
/* layout-b */
.layout-b #mainContent {
   width: 400px;
   float: left;
}
.layout-b #subContent {
   width: 260px;
   float: right;
}
/* end layout-b */

/* Link Styles
_____________________________________________________ */
/* constants */
a:link, a:visited {
   color: #f00;
   text-decoration: underline;
}
a:hover, a:focus, a:active {
   color: f00;
   text-decoration: none;
}
...

Thus, styles become very nicely organized and can easily be found by another designer, or a developer, or someone learning from your source code.

Multiple stylesheets

Most large websites already do this, but it is important to mention that multiple stylesheets are an amazing organizational tool, beyond (but not replacing) the need to structure the stylesheets themselves.

Example:

<link rel="stylesheet" href="reset.css" type="text/css"
media="screen, projection" />
<link rel="stylesheet" href="site.css"> type="text/css"
media="screen, projection" />
<link rel="stylesheet" href="businessUnit.css"
type="text/css" media="screen, projection" />

For myself, I use Eric Meyer’s great reset stylesheet to remove default browser styles (as well as, in my case, default styles from the CMS that conflict with my needs). There are several others around the internet. Use whatever fits.

In my situation, several different business units have very different styles for their respective sections of the website. So, its beneficial to add these in separately when they do not overlap. Often, each business unit has several different layout conventions, hence the use of layout-a and layout-b, and so on.

Calm down

Unfortunately, most large websites do not validate, neither in their HTML or their CSS. This can be a constant source of frustration for standards-aware designers and developers. Multiple people may maintain the code. Some of them may be serious back-end programmers who don’t care about what the browser actually receives at all. Others may be non-technology people who barely know what a browser is, but have the responsibility of maintaining code for one reason or another.

And that has to become okay, at least to an extent. Otherwise, jobs become depressing. Certainly, work for better support of web standards. Push the fact that even the IE team wants to support standards. Push for accessibility, and the fact that major websites are being sued for accessibility violations. These things are important.

But every once in a while, take a flight for a few hours. Rejoice in the fact that, at least for now, people can’t call your cell phone and tell you that the world is ending, and expect you to do something about it. They’ll have to wait till you land.

Links for March 28th

Friday, March 28th, 2008

(from del.icio.us)

Efficient CSS for large websites

Friday, March 28th, 2008

I could see this becoming a series of posts, but for now I’ll start with one. I spend my days, to a large extent, dealing with HTML and CSS on a very large website.

I used to spend the majority of my days dealing with XHTML and CSS in relatively small websites. Rather than having, say, four or five different layout conventions, I now deal with at least ten different layout conventions. There are sections of the site that are of varying ages, and sections that were designed at different times and by different people in the company’s history. Any very large website is likely to have these kind of issues.

One of the results of this shift in my work situation is that I now have very large stylesheets. While there is a large amount of re-used code, re-used styles, and so on, there is so much going on that it is difficult to have efficiency.

There are a number of CSS frameworks that have come out in recent years, from YUI to Blueprint to others. This trend is similar to the trend of JavaScript libraries, of course, and it is seen as both a good thing and a bad thing, depending on how it is used.

One of the things that I have lately begun to make use of, though, is the YUI convention of creating several different layouts based on one selector. Thus, we might have the following:


<div id="wrapper" class="layout-a">
   <div id="subContent">
      <p>content</p>
   </div>
   <div id="mainContent">
      <p>content</p>
   </div>
</div>

<div id="wrapper" class="layout-b">
   <div id="subContent">
      <p>content</p>
   </div>
   <div id="mainContent">
      <p>content</p>
   </div>
</div>

The benefit of this is that layout-a and layout-b can share an identical structure in their HTML, and be styled to match almost any layout convention with less code and more efficiency than, for example, creating different divs for all of the sections.

Any styles that are shared between the layouts are, of course, shared. They don’t have to target layout-a or layout-b. As I begin to implement this, I find code becoming more efficient and I feel that it would be much easier for someone else to come along and have to deal with it.

When I first began working on this type of site, I was very good at HTML and CSS, but apparently I was not very efficient. This degree of efficiency simply wasn’t necessary, although it certainly could have been beneficial. I post all this because I have a feeling that I’m not the only one who could benefit from this kind of thought shift.

Thoughts on del.icio.us daily posting

Thursday, March 27th, 2008

Now that it’s been a while since I started allowing del.icio.us to post links to my blog each day, I want to consider what effects it has had.

Certainly, it makes my blog look more active (more active than it is, really). I’m not sure, though, that that is a good thing. These link posts are getting a small amount of traffic, but my guess is that it’s mostly from people who see that there is a link to their blog post, or their site, or whatever. Maybe it benefits the people who run those blogs, or those sites. Hopefully it does, but I’m not sure. It might make me look like nothing but a link farm.

In any case, I’d like to invite any comments on the link postings. Are they useful? Are they appreciated? Should they continue?

Note: In all likelihood, when the coming redesign occurs (right after I stop being so busy with random things), the format of the daily link post will change. Perhaps there will be a sidebar item where the last daily link post is displayed. Certainly, though, it will not be displayed in the main content like it is now. Thus, I’m not entirely sure if I’ll leave it in the RSS feed.

Anyway. Thoughts are welcomed.

links for 2008-03-24

Monday, March 24th, 2008

The future of activism

Saturday, March 22nd, 2008

For some time, it has been clear to me that business is the future of activism. I want to say that again: business is the future of activism. It’s a shocking statement, if you really think about it.

Many people throughout the 20th century (and before) on all sides of the political spectrum believed, and still believe, that governments are the drive behind large scale activism. It has been a common belief that large-scale societal change cannot happen without government intervention.

We can see evidence of this in the rise of the Moral Majority, in which fundamentalist Christianity tried to achieve its various goals through achieving influence in government. Essentially, it failed in this. Lasting change that reaches beyond superficiality (and meets their goals) did not occur in society, and instead of influencing the Republican Party, conservative Christianity has spent the last several decades in blind acceptance of the Republican Party.

The political left also shows examples of this kind of thinking. Movements have tried to influence government for a great number of things in recent years, from nuclear disarmament to climate change. Essentially, it also has failed.

The interesting question that should arise from my statement is why business would want to be a catalyst for large-scale social change. The goal of business, at its core, is to make money. Business doesn’t exist to make the world a better place. Governments certainly don’t either, but it can be argued that they should do so better than businesses do.

I’m not entirely sure how to answer the question about why business would want to do this, but there is significant evidence that it does. Businesses of all sizes are finding it very desirable to put their resources behind causes that will not, at least in the immediate future, bring them a financial return. Issues from poverty to the environment to fair trade are being drastically changed by businesses.

Businesses are devoting their resources to causes from Kiva, where they can help other businesses in developing countries, to the Millenium Promise, where they can help end extreme poverty in the poorest of poor countries. Businesses of all sizes have the skills to achieve these goals. They know how to organize, they know how to get people behind something, and they know how to get passionate about an idea. Once these things happen, there isn’t a government on earth that will choose to accomplish the same things that are possible with these businesses.

I say all these things to mark a shift that has occurred, especially in the last decade or so. The business world endured a shock with scandals like Enron, and it was unclear if there could be a fast recovery of any kind. Businesses of all kinds, though, have begun to cause that recovery. Google has google.org, Steve Jobs wrote about a greener Apple, Microsoft has, among other things, made possible the Gates Foundation, and all kinds of companies have launched endeavors like Coke’s Corporate Responsibility strategy. I have no interest in white-washing large business. Certainly there are horrible things that continue to go on, and many businesses that don’t care at all about social responsibility, but the fact is that it is becoming a part of the business world to an extent that it never has. It’s a great thing to watch.

What’s going on with me?

Thursday, March 20th, 2008

I’ve been a bit lazy with posting, as of late. So, I want to provide a bit of an update of what’s going on. As these things continue to develop, they may possibly provide some material for more posts. Exciting.

Projects

I have several projects that will be happening over the next few months. Currently, a new site is being created for Revolution Atlanta. Hopefully, it will continue to go well. A few other projects are also in the works, and more details will be coming about some of them.

Also, I’m finally making progress (very slow progress, albeit) on creating a design concept for this website. Yes, this blog. I know I said I might have it designed by early 2008, and I also know that “early 2008″ is almost over. So, let’s shoot for mid 2008, and see what happens. I feel very happy about the general direction things are proceeding with this design.

Issues of the spirit

Recently, I mentioned on this blog that God has been working with me concerning the issue of prayer. He has faithfully brought it to my attention, over and over again. Recently, I finished reading The Great Omission by Dallas Willard.

It is an amazing book, and through it, especially, I feel like I am beginning to see a bit of the bigger picture of what is being said to me. The book covers the kind of authentic discipleship that is typically missing from the Western church, which is essentially the kind of discipleship that Jesus had in mind for his followers. We in the Western church have entirely skipped a lot of it in favor of things that are easier and less powerful.

As he examines this kind of discipleship, Dallas Willard brings together the teachings of Jesus on how to follow him. He looks at various spiritual disciplines; how they can influence a life to authentically experience and grow in the experience of God.

The hardest, and thus probably the most relevant, issue for me to learn about was the issue of solitude and silence. Learning to practice the presence of God by spending time away from other things.

I’m not any good at this. I see the deep relationship that it has to new monasticism, especially, and other parts of emerging things that God is doing in the world. I see the deep, paradoxical relationship that it has to spiritual community.

Interestingly, as I work on a website that I hope will express who I am to the fullest extent possible, I am also beginning to see the relationship that this kind of authentic spiritual experience, leading through silence and solitude to prayer and awareness of God, has to art and creativity and design. I’m beginning to see that, the more I get of this, the better a designer I will be.

That’s not at all to say that the best designers have to care about spiritual things, or that they would be better designers if they did. But it is to say that I, personally, will be a better designer if I can better integrate my life, and better learn to slow it down and be more aware of spiritual things.

I’ve been reluctant to post these thoughts, as they’re still a bit murky. I’ve had many of these thoughts for years, but I feel as though they are beginning to work together in ways that they may not have in the past, and that leads me to believe that it’s worth posting them.