radiant gallery

Jan 01, 2010

Having taken over the maintenance of the Radiant Gallery here is a description of the project.

The Gallery extension allows to manage galleries of images/videos/files using Radiant CMS.


  • Multiple nested galleries
  • Multiple upload
  • Import from ftp upload
  • Images/Files sorting by drag-n-drop
  • Automatic thumbnail generation for images after upload
  • Preview in lightwindow for images
  • Content fetching by keywords
  • Custom geometry for thumbnail generation


After installing radiant go to the radiant folder and check out the attachment_fu plugin under vendor/plugins and the radiant-gallery extension under the vendor/extensions folder.

cd /path/to/radiant
git clone git://github.com/technoweenie/attachment_fu.git vendor/plugins/attachment_fu
git clone git://github.com/hairballopolis/radiant-gallery.git vendor/extensions/gallery

In config/environment.rb add to the config.after_initialize block

  config.after_initialize do
    Radiant::Config["gallery.storage"] = "file_system"

Finally run the gallery install rake task

rake RAILS_ENV=production radiant:extensions:gallery:install

There is more information on the github radiant gallery project page

Posted by Thomas Cowell

Tags: rails

Merry Christmas and a Happy New Year

Dec 25, 2009

Merry Christmas from us at the studio

Posted by Thomas Cowell

Tags: fun

A simple menubar

Jul 20, 2009

Recently I have been trying to prototype an application and have needed a way to set the navigation bar during the initial development. So, here is a simple menubar I use while I am building apps.

In my rails app lib/eightsquarestudio/menu_bar_builder.rb

module EightSquareStudio::MenuBarBuilder
  def self.controller_list(skip_routes=[])
    list = ActionController::Routing.possible_controllers
    skip_routes.concat(%w( rails/info rails_info application)).each do |item|
    return list

module ApplicationHelper
  def menubar_builder(controller, *skip_routes, &block)
    result = []
    block ||= lambda do |c|
      link_to_unless(controller.controller_name == c, c.singularize, {:controller => c}) do |name|
        link_to(name, {:controller => c}, {:class => 'current'})
    EightSquareStudio::MenuBarBuilder.controller_list(skip_routes).each do |c|
      result << block.call(c)
    return "<div class='tab'>#{result.join("</div><div class='tab'>")}</div>"

If I get a chance I will wrap it into a plugin. If you have any comments or suggestions. Please email me mail at eightsquarestudio dot com

Posted by Thomas Cowell

Tags: rails

Is Cloud Computing Something New?

Jul 13, 2009

I have been looking a bit at cloud computing and I am seeing it as an evolution of the current internet. Here are my thoughts on what ‘cloud computing’ is and is not with relationship to web design and development

Wikipedia defines: Cloud computing is a style of computing in which dynamically scalable and often virtualised resources are provided as a service over the Internet. Users need not have knowledge of, expertise in, or control over the technology infrastructure in the “cloud” that supports them.

Here are a list of misinterpretations and the corrections

  1. The cloud is a new technology.
    • The cloud is not new technology although new technology will appear as part of the move to the cloud
    • There is a strong emphasis on networking together existing technologies
    • The web is the foundation to cloud computing
  2. Cloud Computing will completely change the internet.
    • No, cloud computing is going to change the delivery accessibility and integration of the internet.
    • This of cloud computing as a means of making to experience of the internet closer to the experience of desktop computing. What I mean is the distance in mouse clicks between various ‘applications’ and ‘resources’ that are regularly used.
  3. Cloud Computing means we don’t have to have our own server hardware.
    • You still need hardware somewhere, whether you have to support it yourselves, depends on your application.
    • Larger apps on fixed servers that have redundancy for heavy load/failure in the cloud is an excellent solution
  4. Cloud Computing will replace the web
    • Definitely not. Cloud computing is an augmentation and enhancement of the web. It is the move from fixed expensive hardware to virtualised cost effective solutions.

The best way to view cloud computing is that it is an evolutionary enhancement of existing technologies, improving performance, reliability and accessibility. Some technology will pass away, but that is part of the natural evolution of technology. Cloud computing offers exciting new opportunities to expand the web in an efficient and environmentally responsible manner.

Posted by

Tags: technology

Looking at the web on mobile devices

Jun 29, 2009

Recently I finished some work building web widgets for mobile platforms using HTML4/5 W3C standards, with CSS2.1 compliance and Javascript, primarily jQuery.

Developing for the mobile platform is fraught with a unique problems that have not been experienced on the desktop for sometime. I hope to illuminate some of the issues and provide a brief discussion. I also intend to do a few posts later on to fill out some of the issues.

Lessons learnt:

  1. Effects are expensive. Use to enhance, not distract or annoy.
  2. Users will click again if something doesn’t change in the the next 300ms
  3. “Less is More1”, good clean simple solutions working incoherence produce better results.
  4. Standards are important.
  5. HTML5 Storage is a important step forward in integrating the web with users day to day experience on ‘computing devices’
  6. Javascript Libraries are important part of providing a unified interface and user experience.
  7. Efficient Javascript Engines/Browsers are the difference between increased uptake and continued ambivalence about the web as part of the everyday.
  8. The Cloud is about simplifying content, services and improving user experience.

Complex interactivity will distract from a good user experience, through decreasing code efficiency and user understanding. When the code is slow the natural responses and expected feed back loop needs to compensate for this by providing a state indicator. The idea of “doing more with less2” is appropriate here as it causes the user to have a better experience. Look at the effect that the simplicity of the interface for Google Searches has had on the world. Every time you search you don’t worry about whether you are going to be able to understand the results, you just do. The question that needs to be continually raised is, “Is there are simpler way of doing this?”

Standards, are the great bane of some proprietary companies, but they are the important to the web becoming everything it should be. What do I mean, well a user has increasing expectations that they will be able to use a website without being concerned about the browser or technology that needs to be supported. The generic user doesn’t care about technology they just want it to work. In a heterogeneous browser environment, standards give developers the means of providing a unified experience across platforms.

HTML5 Storage, can you remember what a cookie is? Offline Storage is an important step to providing the unified experience users want when they are on the web particularly on mobile devices where connection may not be guaranteed. It reduces server load and improves web responsiveness.

“Cloud Computing” is the buzzword right now, but if it doesn’t provide consumers with improved user experience it will become unimportant. On a mobile platform if it increases responsiveness and improves content access, delivery and manipulation, then they will use it. But weren’t we talking about the web?

1 Ludwig Mies van der Rohe

2 Buckminster Fuller

Are you looking for a web designer/developer?
I am currently looking to build upon the expertise I have in this space; where code efficiency, creative solutions to complex UI problems and stunning and elegant simplicity have driven the design and development. If you are looking for someone with these expertise in front-end/widget development please feel free to email: mail[at]eightsquarestudio.com

Posted by Thomas Cowell

Tags: technology, front end