When using .LESS is just a bad idea.

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.

  1. 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.
  2. 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.
  3. 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.
  4. 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.

Choose who you follow on Twitter Carefully

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.

Learning more about SEO

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.

Definition of Intelligent Design.

Intelligent Design: The act of not letting "Make the site pretty" get in the way of making the site work for its intended audience.

Setting up a QR code

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.

The process is very simple...

  • Go to qrstuff.com
  • Choose your Data Type, In this case it was my website URL.
  • Tell it what URL you want to point to.
  • Choose a color, I went the traditional Black and White.
  • Then download your QR Code...
  • Thats it... and no, there isn't an actual save or submit button...

Design -vs- Development

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.

Menu

Links

Friends


About

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.

More information about CodeRazor.com...