Visualize Your Page Size with Browser Size

Posted: March 5, 2010 In

I was recently asked to review the look and feel of a website for someone. When I first looked at the site I was surprised at how wide the content region was. Sitting at close to 1200 pixels wide I thought to myself, there's the first red flag. But, when I pointed it out to the site developer he didn't think the width was a problem. After talking to him for a few minutes I discovered that he was under the impression this was now an acceptable resolution to use.

He was under a false impression. But, how do you show someone they are wrong? Browser Size is a tool that can help do just that. It takes a look at page size and shows you what percentage of browser users can view how much of the page.

If we take a look at 1200 pixels we see that only 50% of those surfing the web can view that width without having to horizontally scroll. Yikes! Read more »

Showdown: Blueprint vs. the 960 Grid

Posted: March 4, 2010 In / 8 Comments

I've head a lot of great things about using CSS frameworks in site builds. Two of the more popular options I'm interested in are Blueprint and 960. When I tried to find a good comparison between the two I found, for the most part, opinion pieces on why one was better than the other. I couldn't find a detailed enough analysis to feed my need. What is an inquiring engineer to do? I did the analysis myself. Read more »

More Git GUIs

Posted: March 2, 2010 In / 1 Comment

After posting about SmartGit in a recent post I was contacted about numerous other Git GUI programs. While I think SmartGit is the best all around solution for your average users there are other programs for Git GUI users to consider. The nice part of these programs is that they are free for commercial use. Read more »

Pluggable Entity Operations in Drupal 7

Posted: March 1, 2010 In / 2 Comments

In Drupal 7 core all the common objects, like nodes, users, comments, and terms, are called entities. Entities are a base level conceptual object designed to be used as a base for objects in core and contrib. But, there is a problem with the core entity pattern we can improve on in our contrib modules.

Entities have a controller used for their loading operations. The controller is a class that can be swapped out for alternative controllers when developers want to do something fancy, like have their own node caching setup. But, only the load operation is on the controller. The other CRUD (create, read, and delete) are hard coded in functions like node_load, node_save, and other object operations. The CRUD control for entities can't be completely swapped out. Let's take a look at a base pattern to use for completely swappable controllers. Read more »

Farbtastic 1.3u

Posted: February 26, 2010 In

Farbtastic 1.2 was released years ago. In that time jQuery has changed creating a need for farbtastic to change as well. For example, internal logic in farbtastic was calculating the offset but changes in jQuery caused it to not calculate it accurately in all cases. Switching to the jQuery.offset method, which was added after the release of farbtastic 1.2, fixed the problem.

So, when I recently moved Farbtastic over to GitHub to continue development I created a tag called 1.3u (the u stands for unofficial) containing updates that were already being using in production sites. Read more »

SmartGit - The Best Git Gui So Far

Posted: February 24, 2010 In / 10 Comments

As Git becomes more popular and widely used a GUI becomes even more important. This was especially important when Drupal recently looked at what version control system it was going to switch to. (If you're interested in the Drupal (unofficial) decision checkout Angie Byrons post on groups.drupal.org)

When I surveyed the Git GUI landscape SmartGit stood above the rest for your standard user.

SmartGit Read more »

Building Your Own Git Server

Posted: February 23, 2010 In / 2 Comments

Many of the projects I work on are not appropriate for public version control systems like Github or Sourceforge. They might be client projects or code I am tinkering with but am not sure what I'll eventually do with. In these cases it's good to have a private version control site. Since I am now a Git user that server needs to be Git based. Luckily there are a couple great choices. Read more »

Switching to Git

Posted: February 22, 2010 In

I recently switched to Git to manage the source code for projects I work on. I still use CVS to manage Drupal modules on drupal.org and SVN for many client projects. But, when I have a choice I choose Git.

Git, for those of you who don't know, is one of the most popular Distributed Version Control Systems (DVCS). A DVCS can be used in a traditional central repo style setup or a distributed approach. For more details checkout the Wikipedia article on Distributed Version ControlRead more »

Downloading Dependencies With Drush Make

Posted: February 19, 2010 In

Quite a few Drupal modules rely on outside libraries to work. Some are JavaScript based requiring outside plugins and others are based on outside libraries. When users install these modules they, also, have to download and install the outside library. This is a pain that drush make and the Libraries API in modules can help with.

A typical setup will have a drush make file with a project and associated libraries defined within in them. The author who puts together the profile or top level make file will need to know the library and where it needs to go.

A little known feature about drush make files is that all projects can have make files and drush recursively builds each one out. So, if a module has a make file and the module is included in another make file the modules make file will be executed as well. Read more »

Farbtastic is Dead, Long Live Farbtastic

Posted: February 17, 2010 In

Farbtastic is one of those widely used jQuery plugins you may not have realized you were using. One place many people have seen it in action is on Twitter. If you've changed the colors on your twitter page and used the color wheel to select the color you've used it. Farbtastic is the color wheel in Twitter, identi.ca, Drupal, Wordpress, and many other tools and services. While farbtastic is widely used it does have one major problem. Farbtastic is dead. The latest release of Farbtastic is version 1.2 written to work with jQuery 1.0. Remember how long ago that was? Read more »