This is my second try at writing this post, the first one trailed off into a rant that was not
appropriate for even the most seasoned sailor.
When I was first told that a project that I was working on might use .less I was frankly excited. I
had been dreaming of the day when I could add variables to my .css documents to make creating templates
eaiser and faster for my clients to edit and extend.
What I quickly discovered was that adding .less to poorly thought out, inconsistent, and non-complaint HTML5/CSS3,
turns a dream project into a nightmare for all involved.
Not to lay all of these issues at the feet of .less, the fact is that .less does work, but it isn't a replacement
for writing good clean code to begin with. The truth is that if you write good code, then you probably don't need .less
in the first place.
OK, so instead of me just bitching, lets look at why .less turns
out to be a bad fit for this project.
Using variables in .less is really the most powerful feature that it brings to the table, and it is a
big one. It's also very easy to get carried away and try to cover every current and future need. So .less is more,
don't create variables unless you need them.
Code portability quickly becomes difficult if not impossible. Nesting elements is another strength of .less, but
you can quickly end up with blocks of code that have so much specificity that they can't be reused, nor can they
easily be overwritten by designers and developers that later need to extend your code.
If you have people who are tasked with customizing a site later by adding custom .css to the
site (like I do), .less makes using tools like firebug and other such editors almost useless. The output
that .less generates is also more difficult to troubleshoot than it needs to be. The compiled nature
of the .less documents also makes the line numbers meaningless.
Conceptually .less isn't all that difficult to learn, this assumes that you start at the beginning with a
reasonably sized project with reasonable goals. On the other hand, telling a person with limited HTML/CSS
experience and no programming background to digest and edit against a .less output file that covers more than
10k lines of code, well, that's probably going to cause some frustration.
Again, this post is more about making good choices and not too getting caught up in the excitement of a new
technology or API. Keep It Simple Stupid, build a solid foundation, later you can start adding frills.
I have used Twitter off and on over the years, but till now I really hadn't gotten much out of it.
So what changed? Well, This time I'm only following people that are tweeting about Design, Web Programming and SEO. So all
of a sudden I'm finding resources that I would have probably never found, and those resources have been vetted by people that I have
chosen to follow.
I'm not suggesting that you ignore all of your friends out there, but if you are trying to make Twitter be a
resource as opposed to something you will ultimately ignore, choose who you follow wisely.
I'm always on the hunt for good information about SEO.
I do plan to go into a deeper discussion on SEO strategies and practices at a
later date, but for the moment I wanted to share a few of the resources that
I'm using to enhance my knowledge.
I generated a QR for CodeRazor.com so I can add it to my business cards. You don't have to own
a smart phone to take advantage of this medium, but its a good idea to have someone make sure that
its linking for you.
In my many years in the creative industries I have worked with great designers
that are also great coders. As yet I have never worked with a great designer that
couldn't write their own code.
I think there are a couple of issues here... You may imagine a great work of art but
if you can't translate that dream into something that can be seen you are either stuck
as a dreamer, or at best a story teller. Even more to the point, I can imagine a wonderful
painting, and I can do a pretty good job of drawing what I see in my head so that you will
know, at least basically what I would like to paint... But just because I can draw it does not
make me a painter. I will never be able to explain to someone else what I want, and have them
produce my true vision.
This is often the problem with people who design websites, but don't know how to code. They
create wonderful works of art, but if they don't at least know how to code, they are unlikely to
create truly great designs. More often than not, the person who has to translate that design into
a working website is the true artist. Of course, if the person writing the code doesn't understand
design, they are also unlikely to generate a great product.
This leads me to my second point. Creating a beautiful design for a website, either
as a concept, or as a fully coded product, does not make that design good. A website
visitor will quickly abandon a site that is difficult to navigate or understand.
Beauty can greatly enhance a product, but it will almost never blind a user to poor design.
CodeRazor.com was started in late 1999 or early 2000. Like now, I used it as a place to hone
my skill and to market myself to potential clients. Though many things have changed in the industry
over the years, it's still nice to have a page that you can point to and say that you built that on your
own.