Navigation

ADS specializes in using Ruby on Rails to build advanced, scalable, database-backed web sites for organizations of all sizes. Find out more at our website.

Atlantic Dominion Solutions

Google App Engine Wrap-up

By: Robert Dempsey | Tags:

I stayed up extra late last night (or was it this morning) to sign up for the launch of Google App Engine, a new service that “enables you to build web applications on the same scalable systems that power Google applications.” Here are three posts from Google Operating System, ReadWriteWeb, and Google Blogoscoped that cover all the details. You can also keep up with all the latest Google App Engine news on the Google App Engine Blog.

Share this post

Robert Dempsey of Atlantic Dominion Solutions and Mike Blake of AppTrain Software will be presenting an introduction to JRuby at the Gainesville Java Users Group on Wednesday, June 13th and again at the Orlando Ruby Users Group on Thursday June 21st. Rob and Mike will discuss JRuby and its benefits to both Java and Ruby developers, and include two code demos. Visit the ADS blog for an introduction to getting JRuby running on Mac OS X and creating a Rails app that runs on JRuby.

Share this post

Standout Jobs is an early-stage startup looking to overhaul the job search and recruitment process. They posted a video on YouTube telling why they started Standout Jobs, and that they are looking for a Ruby guru. This is a great way to real in potential employees. I wonder if other people are doing this…

Share this post

I listened to a great presentation by Larry The Liquid on REST last night at the Orlando Ruby Users Group meeting. Along with getting me hyped up about RSpec (and then leading to my lack of sleep last night working with it), Larry got me thinking about the future of web applications. DHH, in his Railconf 2007 keynote, discussed the further inclusion of REST in Rails 2.0. For Rails developers, RESTful coding means that we code once and have an instant API, able to be utillized by third-party applications via urls. REST, at least in the Rails world, is becoming the preferred method of creating an API. At ADS, more of our clients are asking us to add an API to their app to allow third-party access. Along with that, the REST style of coding is good practice, promoting the fat model/skinny controller philosophy.

In the 90’s, the ASP (application service provider) model sounded good, however, high-speed Internet was cost-prohibitive for most consumers. This has changed. According to a study performed by Parks Associates, high-speed Internet penetration is now at 50% and growing. This is good news for those of us creating web-based applications, and the folks that make their livelihood online.

During his keynote at Railsconf last week, Ze Frank informed us that people are authoring more content than ever before. Sure there is a lot of garbage out there, and services are emerging to help us wade through it to get to what we want, however let’s not get caught up in labeling the content, but rather look at it for what it is - expression and communication. People are expressing themselves through their creations, and communicating that expression using the Internet as their medium. One of the main points I glossed from Ze’s talk was that facilitating that communication is what it is all about. That is where success lies. Why else are social networking sites springing up left and right? We sit in front of our computers for more hours than we spend with our families. With IM, VoIP, email, online chat and more, the barriers to communication have been destroyed, as long as you have a computer to sit in front of that is. I regularly chat with developers from Canada, Poland, South Africa, Australia, and other parts of the world. It’s fabulous. But I digress. Let’s get back to the subject: the future.

While most of my Rails compatriots may not like hearing me say it, JRuby is very exciting, and I believe a jump in the right direction. It will help Ruby and Rails get more of a foothold in the enterprise space, and it demonstrates the convergence of programming languages. Frankly, I think language wars and continuous bickering are pointless. What does a CEO care about what language their apps are written in? What they want to know is how much will it cost, how fast can they get it, and is there support for it when it breaks? With Rails we can answer those questions with confidence. On a similar note, ThoughtWorks is addressing these issues with JRuby support. One other thought crosses my mind here too - large companies like Google don’t stick with one language, rather they use a combination of languages, using each for what it is best suited.

With more applications adding APIs, and the convergence of programming languages, the future looks good. I hope to see more languages working together to create truly awesome applications that I can easily tie into using Rails and Ruby. How do you all see it shaking out? Let me know. I look forward to your thoughts.

Share this post

I wrote a little blurb a while ago about MooTools not playing well with Prototype (at least not the latest BETA version ?¢‚Ǩ‚Äú we love the new stuff). This continues to be the case as there appears to be conflicts with the two libraries. So for now, we have to choose between Prototype/Script.aculo.us or MooTools.

I am not one to give up without a fight, and I really wanted to use MooTools as it has some killer effects. This past Friday I sat down and figured out how to use it, and am happy to report that it is super easy. In fact, it took me about 5-10 minutes to recreate the main navigation menu on the Rails For All site using the Accordion plugin that MooTools provides. This tutorial will give a quick rundown of how to use MooTools in your Ruby on Rails applications.

I started the day by watching the Beauty in Design video tutorial, which I highly recommend. After that, I created a new Rails app, downloaded the newest version of MooTools, and included the mootools.js file in head tag of my application layout.


<%= javascript_include_tag 'mootools' %>

The next step was to create my navigation menu. For the sake of brevity, I will include two levels of the menu here. On the Rails For All site we have multiple language translations so we have the menu in a partial, rendering the language based on a session variable. Here’s a chunk of code from the menu partial (shortened for brevity).





The list items in the top level list are effectively our menu headings, and will be the links that active the accordion effect and expand the menu. The top level list items then contain a list of items that are the ?¢‚Ǩ?ìsub-menu?¢‚Ǩ¬ù items that appears when the menu is expanded.

Now, to make the Accordion effect work, we need a little JavaScript magic. Adding the following script to our head tag turns our menu into the cool accordion effect we want.




We put this script into the head tags to ensure that the effect is applied when the pages are loaded. Let’s take a look at what we have here.


window.onload = function() {}

The above creates a new function that will fire off when the current window is loaded.

The Accordion effect takes three arguments: togglers, elements, and options. Togglers are the clickable elements that activate the Accordion effect (our top-level menu items); elements are the page elements that will have the effect applied to them (our sub-menu items); options are available options for the effect. Our one liner below creates an array of elements called title, that holds the page elements that have a class of ?¢‚Ǩ?ìbox_title.?¢‚Ǩ¬ù


var titles = document.getElementsByClassName('box_title');

The next line of script creates an array of elements that have a class of ?¢‚Ǩ?ìexpand.?¢‚Ǩ¬ù


var expanders = document.getElementsByClassName('expand');

To wrap it up, we add the following line to create the MooTools Accordion effect and make the magic happen.


var myEffect = new Fx.Accordion(titles, expanders, {show: 0});

The one option argument that we have added is show. We tell the effect to show the first item in the array of togglers, which automatically expands our first menu item.

That’s it! The result is a menu that works swiftly, allows us to have a more compact page with a great many menu options, and not overwhelm our users with too many menu options at once.

We definitely recommend MooTools. It has a small footprint, loads quickly, isn’t choppy in its application of effects, and is super easy to use. Download the latest and play around with it. Enjoy!

Does the code above look funky? Download a copy of the tutorial in PDF: ADS MooTools Tutorial

Share this post

Script.aculo.us 1.6.4 Released

By: Robert Dempsey | Tags:

A day after 1.6.3 was released version 1.6.4 came out to fix some IE bug fixes. Get the goods right here…

Share this post

Good evening all,

The wonderful folks at script.aculo.us have released version 1.6.3 which they say is full of lovely bug fixes. Get the latest here or read about what got fixed and what is new.

Share this post

How Web 2.0 effects your business.

By: Robert Dempsey | Tags:

This is a great article by ZDNet discussing Web 2.0 strategy and how having one effects business. It’s a follow-up to Gartner’s 2006 Emerging Technologies Hype Cycle. Read the ZDNet article here. Read the Gartner Report here.

Share this post

Social Networks are Killing Email

By: Robert Dempsey | Tags:

I found this interesting little article over on Bokardo.com about how email is getting killed off by social networks. Give it a read and let us know what you think.

Share this post