It's Time For NoMVC

Posted: April 27, 2010 In / 6 Comments

Comparison of web application frameworks - Wikipedia, the free encyclopediaMVC is a really popular software architecture pattern used on the web. Its become so popular that its too popular. On the Wikipedia comparison of web frameworks it doesn't list the top level architecture for a program. Instead it lists whether MVC is used and if its push or pull. I can't list the number of times I've read or heard a criticism of a program because its not using the MVC pattern. This is turning into a bad thing. Read more »

Building Web APIs Developers Want To Consume

Posted: April 26, 2010 In

Over the weekend I was writing code to consume some web APIs. The project sounded like fun and on a whole it will be. The problem came when I actually took a look at the APIs. They were built in a way that made me think about walking away from an otherwise fun project. Yikes. This is not good.

This got me thinking, what makes a web API the kind a developer wants to consume? What types of things, beyond the service being useful, make a difference? Three things came to mind that make a difference for me. Read more »

jQuery Date and Time Pickers

Posted: April 12, 2010 In / 1 Comment

Recently, I was looking into date and time pickers for jQuery. jQuery UI has a great datepicker but I wanted something that provided a slick time input as well. When I did some searching I found quite a few options but two seemed to stick out above the rest. Read more »

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 / 12 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 »