Welcome back

It has been a long while since davidsiegfried.com was maintained regularly. A loooong while.

The good news is, I am back in business with some new topics and a new WordPress theme.

Just to give a little credit where credit is due; I started this theme with underscores for WordPress. These guys did a great job getting the basic styles and files all together so I didn’t have to. I got to jump right into organizing the styles they had, adding in LESSCSS and making the site Responsive. I then did my little bit of designing using Sublime Text 2 and Winless.

Thanks as always to WordPress and Dreamhost for the platform and the server respectively.

Looking forward to writing more here. There is also more work to do on the theme but, we will see when I get to that.

My Responsive, WordPress Adventure

Up until about a month or so ago I had been working on local WordPress sites with the help of  a fantastic little program called xampp. This program simply installs Apache, PHP, MySQL and PHP MyAdmin control panel automatically. For whatever reason just as I was about to embark on the adventure of making the Pakkisteam.com site responsive, that is to say use media queries to adjust the stylesheet for different sized devices, xampp died on me and my way to work on WordPress sites locally was gone. I don’t remember the exact issues I was facing but I do know I had trouble getting my phone to view files from the Xampp server over wifi which was sort of main thing I needed to do.

I attempted in vain to repair, reinstall, find a different version of Xampp and finally called it a dead issue. I think part of the problem was that as Xampp installs on your computer as a service the act of fully removing it and all of its components is quite difficult. So whatever was wrong was going to stay wrong and I was going to move on to my own install of Apache, PHP and MySQL. Had I done this before? No. Was I ready for a challenge? With Google at my side, Yes.

I started with Apache and this tutorial Learn How to Install Apache, PHP, MySQL, and PHPmyAdmin. Things went hit or miss and needless to say I had to do a lot of googleing for the little quirks that came up. I also ran into another tutorial, mixing and matching and comparing a bit betweent he two helped a lot Tutorial : Installing Apache 2.2.11, PHP 5.3, MySQL 5.1.36 & PhpMyAdmin 3.2 in Windows 7/Vista/XP. The trouble with these tutorials is they are never fully up to date with the newest version of the programs and neither of them expressly cover windows 7, no one wants to. So I am working off of old tutorials on a system that has already had some apache files on it from the time of Xampp. Granted no one can have a full tutorial for all the specific issues I had. I did learn a couple of things however.

Skype. Skype is a perpetual stealer of port 80, the same port set up to use apache on. There are a few things to do about this. Skype has a setting to change to port to some other obscure number, or when installing apache you can choose your own port like I did, I went with 8080. Now my local server is http://localhost:8080. It seems minuscule, but it makes a big difference.

Regedit.exe Windows registry editor is your friend for removing an already installed service such as Xampp’s apache. There are directions available for removing services, be care what you do in here, but, there is really no other way to remove a service in a sane way.

Moving on to WordPress

So finally I had an Apache, PHP, MySQL, phpMyAdmin system set up and was ready to start making something responsive happen with WordPress. I go to my phone browser and type in my local IP address, at the time it was http://192.168.1.101:8080/. That should have been my web server and from there the various WordPress site I was working on. It turns out I could see the site from my phone however without the attached stylesheets and other associated files.

WordPress General Settings Panel

The answer to this problem was the general settings panel (above) in WordPress admin control panel. Here, there are two fields where you can enter the url of the site. By default these will be set to localhost. The quick fix is to change this to the adress via your local ip address followed by the post number and then the name of the directory you installed wordpress to. In this case http://192.168.1.101:8080/pakkisteam.com/.

There is a better way to do it, as you will find, changing this in the WordPress settings works like a charm, until your local ip changes. In this instance you may find yourself locked out of your own WordPress admin panel unable to make any changes. The solution is to edit your wp-config.php file. At the top of that file just below <?php add these two lines:

define('WP_HOME','http://192.168.1.101:8080/pakkisteam.com');
define('WP_SITEURL','http://192.168.1.101:8080/pakkisteam.com');

Here you can set your directory to override the configuration you specified in your WordPress admin panel under general settings. This is my preferred way to edit the sites location as it just eliminates the chance of problems. Now you should be able to open your site up via your wifi enabled handheld device.

Responsive styles (and you!)

Now, I am not intending to teach you how to use responsive styles here, but I will get you on the right track. I first heard about responsive style sheets from Ethan Marcotte at An Event Apart Minneapolis, 2010. As one might have had to be there to get the gist his speech I would point you first to his article at A List Apart simply titled Responsive Web Design. Once you get started on them you will find the code is the easy part and learning how to design a site to be adaptable might be completely foreign, hard to grasp or throw your sense of design control into tilt.

For me, responsive web design using CSS3 Media Queries (by the way, I recommend you read that as well) is the only thing that makes website make sense anymore. With a world of people discovering your website on new android, iphone and other mobile and handheld devices, you can hardly ignore the importance of a site that adapts itself for different screen sizes.

The one thing no one likes to mention is how to get your phone to recieve the styles via media query and display the text at the right size too. Let’s put it this way, if you want responsive styles or really, any styles to look right on your mobile device (mine is an droid) try adding this META tag into the head of your HTML document.

<meta name="viewport" content="width=device-width, initial-scale=1.0">

From there I think you might have a bit more success with your site displaying correctly on your mobile device. It took me quite some time to find that answer so you’re welcome if you find this before you get started.

Those links provided above, the little bits of wisdom I have found were what got me started on getting my WordPress sites to stop being old fixed with fuddy-duddies and on to progressive, cross-platform behemoths. You can check it out for yourself at Pakkisteam.com

Just wait, next time I’m going to be working on an HTML5 responsive site and I’ll share my trials, errors and results. Thanks!

Finished is a bad thing on the internet

When it comes to finishing something people are generally wired to think that finishing is a good thing. If you finish something, you can be done with it, you can feel a sense of accomplishment and most importantly you can move on. With almost all forms of projects finishing is a really good thing.

Finished is a word that can be used in a negative way as well. Those damn dirty Finish people! Only joking, no racial slurs here. Of course I was refering to the word finished as in done, dead, knocked out, down for the count. That is a pretty negative thing and generally is bad for a business, sports team or my late grandfather.

It turns out, that when it comes to the internet, being finished in the accomplishment sense is not really possible. Yes, you can finish you design, finish a site build, finish a widget or a feature but can you actually be finished with a website? Unfortunately too many people would answer this question with a resounding yes. The correct answer to this question is no.

I know others have been preaching on this subject for some time now, so it might not be a new concept, but think about it. Name a site that you enjoy checking out, it doesn’t have to be daily or weekly, but think of a site that has engaged you, made you think, shown you something awesome. I’ll will bet money that the sites that fit these criteria were not launched one day, someone breathed a sigh and said, ‘there, finished’ and they didn’t touch the site again until it was time for version two, six months or a year later. Essentially websites are not printed materials, the best sites are living breathing entities. When a site is actually “finished” it is likely on the way to the grave.

Sites that sit for long periods of time with no new content are less relivant, google knows this and weigh their search rankings on sites that are updating frequently. Google, which is actually a company made out of pretty smart people and not a giant scary machine, is taking a perception of an outdated site and putting that into their search engine results. The search engine is simply perceiving what a normal human would percieve, an old site that hasn’t been updated is likely old news and therefore less important.

What does this mean

The point I would like to make here is this. Launch your site before it is ready. Speed to market still means something and the sooner you are up and running on some level the sooner people start to notice what you are doing. Every feature you waited to add in the original launch is a value add to frequent or infrequent visitors when you release it down the road. The biggest companies working on the internet all knew this and started off very slowly. Amazon was a mere shadow of what it has grown into. Google has and will always be slowly adding features, their site is never finished, but they do it tastefully, little changes here and there that keep adding new value to their product.

Something I believe is useful is something generally refered to as a soft launch. A soft launch is a launch ofsite that you start having friends family and anyone else start looking at. Yes it is available to the internet as a whole, but you don’t start marketing very hard right away. I have made this part of my process when launching sites. Just this weekend I soft launched a site, http://pakkisteam.org. This site has no where near the amount of features I would like it to have, I am still working on things, tuning this and that and getting the site ready to be heavily marketed. However, in this state people I tell or any of the site owners tell are taking a look, getting an idea of what is coming. Also, the site owners are adding content, learning the admin panel and generally becoming framiliar with the site. When we finally do start telling the whole world about the site we will all have had time to iron out the bugs, add some final touches and really be ready to launch.

But, we wont call that finished either because finished on the internet is the same as dead. Don’t finish your sites, continue to work on them, your will start to gain traffic faster and those visitors will thank you for continuing to improve your product.

Long overdue update

Well, I haven’t updated in a while so I thought I could make a quick post on my work in the web world and my life.

a 10k app

I had meant to make a bigger deal of this but, a couple months back my good friend James and I entered the 10k apart contest. The idea was to write a web app in 10k or less. We did achieve this goal after a couple late nights and entered into the contest. We did not win place or show but it was a great excersize for both of us anyway.

What we came up with was a fast food caculator for our top 3 burger joints. You can try it out at http://mediacrab.net/10k/. Essentially you click you burgers or fries or whatever you want from any of the restaurants and it calculates the calories, fat, protein carbs, etc. Maybe not the most useful thing, but, not all bad.

More importantly it was a great exercise in HTML5, CSS3, Jquery and Typekit integration. As I have played with all of these before I think this project helped me greatly iprove my understanding of HTML5 syntax and CSS3 media queries as the layout is what Ethan Marcotte coined an adaptive layout using a flexible grid and CSS3 media queries. Another interesting learning point of the project was really seeing how much you have to think about your code when every kilobyte counts. Much compression happened and I also got to liking the feel of stylesheets that are considerably more compact, keeping all the styles for each element on one line versus one property per line.

Jessica’s Cakes

I still don’t consider myself a WordPress pro but I am getting better with it every day. With that in mind my best piece of WordPress development wrapped up about a month ago when I finished jessicascakes.com. There is the usual blog piece to this site as well as a very fluid but arranged looking layout which I am fairly proud of. The best part is that Jessica of Jessica’s Cakes is easily updated by Jessica by simply writing her blog as she does and adding pictures to galleries. Simple, easy. She can keep the site up to date and I am free to just help here and there when she needs it. So far everything is going well and she has had so many great comments on the site it has been great. As this was a Creature Works project I need to tip my at to Jesse, Dale and Martha. I have been at Creature Works for over a year now and still having a lot of fun creating and maintaining some great websites for some great clients.

What am I doing now?

In all honesty I have been taking my personal web projects a bit easy. I still get to do plenty of coding at Creature Works on the 9-5 but my personal projects have been on break mode. I have been playing a lot of Starcraft 2. Which is a very great game, spending time with my wife and family as always and watching my favorite football team. I have been taking some time to get some updates underway for pakkisteam.org but I am taking my time and just enjoying myself. I feel very confident as a web standards enthusiast, wordpress customizer and general seo professional right now and I am just letting the feeling sink in. I have been considering another side project but I am not in a particular hurry.

Happy fall everyone!

Back to my web roots

Here and there I do a little pro-bono project as I imagine many web designer/developer types are prone to do. I am not sure what it is about the web but occasionally it demands of us our time and effort on something we know will never pay out. I don’t think you’d see the same thing from professionals in other fields. Imagine a free surgery, a free day in court; those things just don’t happen (and if they do I’m going to say with some assurance not as often as a free website happens).

I think this is because information, as Jeff Veen once famously (in my mind) said, wants to be free and those of us working on the web want to make it free. I also think this is because at our roots web designer/developers also want to make things for people who would appreciate them, money or no. We just all had to make a living too. And if this is not the case for most designer/developers out there it is at least the case for me. I do occasionally enjoy helping a good cause or a poor but deserving organization to a good website. I also generally like to see how fast I can do it.

When free is going on, why not try for a bit of speed? I think either of these projects took less than 6 hours, and without having to build in wordpress or any fancy jquery bells and whistles, these two sites harken back to my roots. When web pages were hypertext documents, the written word with links, a couple pictures here and there and a lot of love, quickly. The difference now of course, theses sites validate as XHTML Transitional, include stylesheets, not mustly old table structure and look considerably better than the pro-bono sites I had built when I was a young lad with fresh eyes to the web. Here’s to going back to my roots and a couple of old fashioned, pro-bono sites.

Thoughts on An Event Apart

I posted earlier last month about my excitement involving my chance to attend An Event Apart in Minneapolis this year. I just wanted to take a couple minutes and write my thoughts, impressions and opinions about the conference. As this was my first conference and I had heard so much about the quality (and of course the major names in web design, development, UX and content strategy) I was, at times, excited, nervous and delighted.

First impression

Nothing sets the stage for a promising day of learning like a gorgeous hotel in the middle of my favorite big city. The Hilton Minneapolis not only provided a great location, fantastic conference rooms and decent wifi (I never had any issues while others may have). An it never hurts that the first thing I had a chance to eat was a spectacular omelet, and while we are on the subject of food and venue, I’d like to make a note. There was so much delicious food available both days, I could have gone there just to eat. I was seriously in epic food heaven. I also found myself riding the escalators to the open 2nd floor balcony and gazing out at the busy city streets in-between speakers just because I could. The setting and food both get some erroneous amount of stars because they both pleased me.

Speakers, teachers, comedians, story tellers

So, the real reason to be there was not the plethora of food. The real reason to be there was because some of the largest brains in all of web design, front-end development, UX and content strategy. The beauty of the whole thing was that these people were not only extremely knowledgeable, they were approachable, gracious and generally good humored, fun folks. While some talks were drier than others, many of the talks kept me not only interested in subject matter but entertained as well.

I enjoyed every presentation but allow me to mention some highlights.

Ethan Marcotte (@beep) has been leading the charge for the last few months with a principal he calls adaptive design. The ideas that a flexible gridflexible images + CSS3 media queries = a design for all screen sizes and mediums is one of the best ideas I have ever heard of in web design. I think, to the point that he is making, this is finally a design structure that is native to the web. No longer forced to stand in the shadow of print design this is a place where web design can be what it needs to be, it’s own unique type of art and science. Fighting screen sizes with a fixed layout has been a folly for years, fighting devices with a fixed layout is rather silly and honestly I had been hesitant to do it because it seemed so much like a losing battle. Finally, though I had been playing with this already, Ethan’s demonstration is a point I can look at and say, this is when it all changed, this is when web design stood up, got out of print designs shadow and moved on.

The other presentation I will mention, though there were many memorable ones (and if I had a mind to I could write many many paragraphs about each presentation), is the presentation by Minnesota native and epic content strategist Kristina Halvorson (@halvorson). As someone who does not specialize in the content strategy game (but wishes I had a much, much better grasp on it) I was absolutely floored by her presentation. Something that I battle with when dealing with clients is that I have no plan set in stone for how clients should attack their own content and how I should help them with it. Kristina helped by providing me with some tips on actually providing some direction, an outline and a process surrounding how a client could tackle their content and how I can get involved in assisting them in that process. It doesn’t sound like a lot, but some direction I obtained from her presentation plus knowing she has a book out on the subject is going to give me a lot better grounding in content strategy as I try to help clients attain their content goals moving forward.

The personal touch

One of the bigger things at the conference for me was the after party. The food was great, the speakers were awesome but you know me, I just want a beer. Well, not really. I really enjoyed hearing from others in the field and getting the “community” part of the web community figured out — and in person, not on twitter for once. I had the chance to talk to a lot of great folks, not near as many as I would have liked but, most importantly I got up a little courage to follow up with one of the presenters.

In my mind I am still the youngest one in the room. Was that the case at AEA MN? I suppose there could have been younger people or people my age all around, usually not, but it happens. I am sure whatever the case I am not that much younger or that much less experienced, but, it can get to feel that way. Fortunately I was inspired by another young person (still older than I am by a bit) who has really made a name for herself with her knowhow and success. I sat down to talk to Whitney Hess because I have found myself inspired by her success and notoriety. Would I like to be working at her level, well, I am not sure, but having the community know who you are and respect your thoughts would be a really nice thing. It was really easy to see how Whitney has achieved what she has. She was instantly friendly, open, smart, funny and really everything you would expect someone working at her level would be. We chatted about a lot of different things, but what I took from the conversation and the whole night was this:

  • Essentially, being worried about getting out there and shaking hands is all in my head. I don’t look young, I don’t feel young, that is a barrier I have provided for myself. Even if you feel, or actually are 12, get out there.
  • If you’ve had a successful project you have something to teach someone.
  • Don’t expect the people with more experience to be unfriendly or unwelcoming of you and your ideas. I think at some level we all have a desire to pass on what we know and learn from those who know less.
  • And by the way, get your twitter handle on a card and hand it out in social situations. Great way to have people remember you by connecting afterwards on twitter.

That was my experience with An Event Apart. Really a great group of people attending the conference, an awesome line up of presenters (although, I do still wish I could have had the chance to see Andy Clarke’s talk), and just generally an excited, passionate atmosphere that has carried on for me weeks afterward. I am still excited to be working on the web as a part of the web standards movement. It is an exciting time to be a web designer/developer.

Everybody WordPress for the Weekend

So when I am not too busy on the weekend I’ll take a few hours to to sit down and work on a “just-for-fun” web project. Sometimes it is something for me, sometimes it is a learning project or a design project with no real aim, but recently my friend James Krantz and I have been working on a wordpress custom WordPress site. The intent with the site is to give it as gift to some old friends of ours. They are currently using a blogger blog and we both think it is holding back their potential and creativity so we are building them a new wordpress site.

James and I occasionally team up on little projects as he has a knack for developing complicated back-end systems (including ruby on rails, ajax and php) where as I specialize in front end development, design and theming WordPress sites. In this case James is building a custom plugin that acts as a rating system for the blog posts. I am developing an adaptive layout and turning it into a WordPress theme but I am not going to let James have all the fun and do all the complicated development. So, when I needed a custom widget I gave it a go myself.

What I needed was a widget that would list all the authors who work on the blog with some easy to set options. Right now it has the ability to show or not show the number of posts, include or exclude the admin account and include or exclude people who have not published a post. I think there is room to add more functionality in the future but essentially the widget enacts this function:

wp_list_authors( $args );

Read more about this function in the wordpress codex.

There are more features that could be added in the future but, for the moment the widget is just supporting what I feel are the most important options. The widget admin panel looks something like this:

It’s pretty simple but, to me, being able to make some simple functionality an easy to use widget is worth the time. I also know there are others who do not have the time to build such a widget. This widget also allows for users of a blog to add, change or edit setting in their sidebars, which is an important feature of WordPress. So, for your downloading pleasure, here is the code of my widget. Just install it like a WordPress widget and check the widgets menu area to title it and make changes. Enjoy!

download link: list-authors

Also, I will be adding this to a developer page at some point so check for updates if you are hoping for some more features.

HTML5 for Web Designers Review

I waited the full ten days for the shipping of A Book Apart’s first “brief book” HTML5 for Web Designers by Jeremy Keith. A Book Apart is a joint venture by Jeffery Zeldman, Mandy Brown and Jason Santa Maria dedicated to making short books, 90 pages in this case, for the folks on the front lines creating websites for a living. Because I match this target audience I thought I could weigh in on the book and the direction A Book Apart is taking.

I decided to just get my thoughts out on the book, the scope, depth and the idea of these short focused books.

The Format

The idea of a shorter more digestible book format is a winner for me, but it has its certain trade-offs. I think a book that I could read in just an hour and a half or so has a lot of worth because it is very obtainable for busy people. I generally group web design/development books into either ‘hammock readers’ and ‘desk readers’, where the desk readers are books I have to work my way through lesson by lesson at my computer and hammock readers are those I read here and there in my free time but can take a few weeks reading at leisure. I think HTML5 for Web Designers has to be a part of a new subset. Even with a very short attention span you can set a couple hours and a simple goal of finishing the book while sipping some ice tea and taking it easy and be done before you know it. The book might not have all the examples you want, all the background info you might be curious for, but it gets you the basics and tells you where else you can look if you still need more information. And honestly, the fact that it is in print makes a difference for me, I don’t have he capital for an Ereader and sitting at the computer reading a pdf is a real drag.

For reiteration sake I think the format works, quick, to the point and something I can tackle in a couple hours without loosing focus.

Jeremy Keith

I have read a book by Mr. Keith before, I am actually currently working through his Dom Scripting book to reiterate my knowledge of the DOM and JavaScript to much success. Jeremy has a clear precise and very thorough approach to topics whilst maintaining a dually practical and theoretical viewpoint on the subject. For this book you can tell at times he had to cut himself off a little and leave a few things for further investigation, that being the point of a shorter book however, it seems to have went just fine and he even snuck in at least one bit of “whimsy”, a word that floats around the A Book Apart webpage, that made me laugh. I think they did get the right guy for this book.

The Book, Apart?

Trying to deal with the topic that as is pointed out covers a spec that is 900 full pdf pages in one tiny little book is a daunting premise, but, as the scope is directed at someone just on the design/front-end development end of things it becomes a bit more manageable. Like everyone I have seen a lot of HTML5 hub-ub around the blogosphere and even seeping into the higher traffic spaces like youtube but there were things of which I still had little understanding.  I had read about the semantics of HTML5 spec (of which there is an entire chapter dedicated) in some detail and have been using class names to simulate semantics like article, section, and hgroup for the last year or so. However things like canvas and all its potential are still a little lost on me. Jeremy gave me a little better grounding but it seems like something like canvas really needs its own book. I understand the basic intentions but I would not be sure after reading even how to begin working with it. Jeremy does have a chapter dedicated to using HTML5 today, but, I am not sure after reading this that I am really in any hurry to do anything but play with HTML5 right now. As things solidify towards 2012 and what sounds like the first version of implementation of the language I am sure I will be ready to make the move, but, I wont be using it for client projects until that time, at least, I don’t believe I will.

This book, though brief and at times missing some detail I’d like was high level and written with a standards compliment front-end developer in mind. More importantly has me very excited for HTML to become the norm on the web.

Favorites/Final Thoughts

My two favorite sections of the book were surprisingly the history of HTML section and the semantics section. I am a sucker for history and semantic mark-up so this might lead to a bit of a bias but I feel these areas were well flushed out and really contributed to my understanding of the goals of HTML5. It is not just a new language for the sake of a new language or to kill flash or any such nonsense, it is a new language to improve the internet for all users in many ways.

My last point is on the clarity I am finding in the web world this week and is only half related to my new understanding of HTML5 provided by this book. On Thursday on The Big Web Show I watched Nicole Sullivan explaining that a good stylesheet is made out of many reusable widgets or pieces. So basically, if I have a certain type of arrangement of content I could potentially copy that and move it into another page in a different place on the page and not have to restyle based on its movement. There was a place in the semantics section of Jeremy Keiths book where I got that same idea in my head. HTML5 is working to create documents that are chunks of code that can exist anywhere in a web document and not have to be recoded or restyled. Clearly the Web is moving this way from everything I have been seeing and it is a result of content management systems and a whole host of really smart designers/developers who understand the potential power and flexibility the web STILL has as a medium (plenty of potential is, as of yet, unrealized). Personally the prospect (and practice) of this idea is a thrilling one.

Great job to everyone involved on this book, it was an enlightening experience in many ways and I look forward to more.

Organize your CSS

I have been looking for ways to improve my stylesheets ever since I started writing them. The first stylesheets I had written were disorganized, unstructured and when I look back at them I usually don’t like what I see in so many ways. Writing CSS is one thing, writing good CSS is another thing. I have been working on this list for a while and I’d appreciate additions and feedback!

Starting with helpful comments

A great way to start a CSS document is to start it with a comment about various styles that go into this document. If you are familiar with wordpress, wordpress requires a comment to tell what sort of theme it is and who wrote it. I encourage another set of comments that list the fonts, colors and other mandatory style choices such as font weights and border thickness around images. Here is one I did a few sites ago:

/* Fonts:
 * Header Font: Chollaunicase
 * Paragraph Font: Helvetica, "Helvetica Neue", Arial, sans-serif
 *
 * Colors:
 * background grey
 *         #CCCCCC
 *         rgba: 204,204,204,1
 * Logo Purple:
 *         #662d91
 *         rgba: 102,45,145,1
 * Nav Blue:
 *         #29ABE2
 *         rgba: 41,171,226,1
 * p grey:
 *         #4D4D4D
 *         rgba: 77,77,77,1
 * Highlight Orange:
 *         #F15A24
 *         rgba: 241,90,36,1
 * borders red:
 *         #ED1C24
 *         rgba: 237,28,36,1
 */

Getting started with a section that explains some of these choices might keep you or another designer sane later in the game if maintenance is required.

Let Eric Meyer help, please

I hardly need to explain this one if you have ever heard of or created a reset style sheet. I have yet to find a need to make any additions to Eric Meyer’s reset stylesheet and it makes everything so much easier when you have it implemented. Save yourself time and energy and use this on every project. Eric Meyers Reset Stylesheet.

Validate

Validation, not just for HTML anymore. The W3C also has a validation service for your CSS which doesn’t only help you make sure all your css is up to snuff (sorry browser hacks and css3 browser specific styling will not be valid) but it also makes suggestions based on styles you have repeated. I have used this at times to remove duplicate lines of CSS to create much leaner stylesheets. These suggestions can sometimes hinder your organization so I usually take them with a grain of salt, I am not a computer and I can not always make sense out of oddly organized CSS.

Organize those styles

I have found it very helpful to organize my stylesheets in a sort of mirror to the way I have organized my XHTML, with certain exceptions. I use a few different comments and indentations to do this allow me to demonstrate.

/*-----------------------------------------------------
    #header  //houses the .logo, .nav and .search-field
-----------------------------------------------------*/

First, I use giant comments to denote major sections of my CSS. I use the “#” selector or “.” selector to note whether the parent of this section is a ID or a Class attribute followed by the name of the class or ID tag and an explanation. I will use these for every section of my document when it is applicaable. NOTE: It is often worth while to create a miscelanious section for styles that work across the board such as fonts and other oft-used styles.

/*----------------------------------------------
    #header //houses the .logo, .nav and .search-field
----------------------------------------------*/
#header{
   background: transparent url(img/header-background.gif) 0 0 no-repeat;
   border: 1px solid red;
   float: left;
}
   .nav ul{
      float: left;
      list-style-type: none;
      padding: 0 5px 10px 0;
    }
      .nav ul a{
         font-weight: bold;
         text-decoration: none;
       }
          .nav a:hover{
             text-decoration: none;
          }

This part of my organization is where I copy the indentation from my HTML. I know that .nav is always contained in #header so for ease of reading later I will just use the same indentation I am using in my HTML elements. This way I avoid that long, hard to follow, vertical line of CSS and instead I have something indented that gives me a hint of structure without having to keep looking at the HTML. This all adds to a stylesheet that is much easier to work in.

Give your CSS some order

Since I began working on CSS I had thought there was a better way to list my seemingly random styles. I toyed with positioning properties being first or color and font properties being first but I had no real idea of why or how to list my styles. In the land or organization there is fortunately always a fall back. Alphabetize.

.header{
  background-color: rgb(225, 225, 225);
  border: 1px solid rgb(218, 16, 45);
  display: block;
  height: 20%;
  width: 20%;
}

From what had been a seemingly random lists of styles and properties, with just a little bit of alphabetization I can always quickly identify which style properties belong where without having to guess. When an entire stylesheet is formatted in such a way it makes finding the right style properties very quick and easy. This also removes the potentially random results you might obtain otherwise.

There are many advanced style techniques you can apply to a document and stylesheets can get long and at times verbose. Keeping in mind a simple set of organizational rules is something that has helped keep me sane when working with complex CSS documents. Though this is what I have found to be very effective there are a lot of different way these results can be achieved. I’d like to hear what you think and what if any of these best practices you use, or what others you find to be more effective.

A sneak peak

I sometimes get too caught up in code and wordpress and on and on with all the semicolons and brackets, functions, objects, variables and all the rest to remember that I enjoy and at times can be quite good at (if only in my mind) designing the web experience.

Of course, I have been trying to achieve a dribble account (a site to show off your current working projects) for quite a few months without any luck. You need to be “drafted” by a “player” or in regular web lingo recruited by a existing dribble user. So far no luck there so I have decided to put up a little sneak peak of my current top secret, free time, design project.

I have even left in the original badly cropped, poorly cut-out stock photo for your enjoyment. Hopefully we will all see this in code any maybe sneaking into wordpress by months end.