News

Welcome to End Point’s blog

Ongoing observations by End Point people

Web Development for HeARTs Speak

Many of my colleagues know that I'm fairly involved in animal rescue as a photographer and more recently as a foster. I recently became involved in HeARTs Speak, a non-profit, volunteer-driven organization that brings together artists (photographers and more) who volunteer at animal rescue organizations.


Frank the Foster

I worked with them to help launch a new website with a design from Enso Blue, which brings us to the point of the article. Given a choice of many platforms and tools, what tools did I use in development of a new site with the only restriction being how much time I was able to put into development and maintenance? Here's a quick rundown the tools I used for the new website.

Ruby on Rails: Here at End Point, we develop many applications in Ruby and Ruby on Rails. It's a platform that encourages decent code organization and efficient development. Another option that came up was PHP with WordPress. However, since the website required a custom application and voting process for joining members, I concluded that WordPress would be a bit of a hassle with this level of customization (though I'm personally a big fan of WordPress and its community).

RailsAdmin: I blog about RailsAdmin a lot because it's become my go-to tool for providing a thorough admin interface that integrates nicely with Devise (user authentication) and CanCan (user authorization).

RailsAdminImport. This is an open source Ruby on Rails gem that I developed for an End Point client to import data, because RailsAdmin doesn't include import functionality out of the box. By installing this gem into the HeARTs Speak application, I introduced the ability to import data from CSV easily. Read more about it here.

New Relic. I installed New Relic's free offering's for both Rails application monitoring and server monitoring. New Relic is a very popular performance analytics and monitoring tool in the Rails space. They offer paid membership levels as well, but I am satisfied with the free basic monitoring at this point.

Full Page Caching. Known Rails pitfalls include poor performance and a demanding server load. I added full page caching to all front-end facing pages to mitigate the effects of poor performance. I recently wrote about page caching in RailsAdmin here.

Google Analytics. This is an obvious and popular choice. Google Analytics offers so much in the way of traffic analysis, conversion analytics, and now even real-time tracking. If you aren't using it on your site, you should be!

UI Elements. The HeARTs Speak website includes several user interface elements such as the Google Maps API, Facebook integration, and the popular jQuery plugin Nivo Slider.

Apache Performance Configuration. My server was already configured to include best practice performance tweaks, also described by Jon here and here.

WebPageTest. This is a nice service for examining performance of a website. Several of us End Pointers have mentioned it in blog articles before. If you aren't using a performance analysis tool like WebPageTest or YSlow, I'd highly recommend it.

Firebug and Screencast-O-Matic. Firebug is always a huge part of development for me. In this project, I used Screencast-O-Matic to provide an example of what it's like to work with Firebug to speed up the design iteration process, similar to process described in this blog article.



No comments: