iie labs

Naming Patterns used in Online Applications

Posted about 11 years ago by Philip Ingram

Perhaps what i’m about to propose has been done already, however, if so, “it” hasn’t come across my feed reader.

All applications are created equal…

All applications of the same genre, when boiled down to the bone, bear some sort of resemblance to one another. While the information contained within is different, and model names change, the basic pattern or structure of what goes on doesn’t.

The Big Idea

Taking a page from Skateboarding or Figure Skating, what if these basic patterns were given names, just like tricks are in those two sports.

When you hear that Tony Hawk did a McTwist on his ramp, or that Brian Boitano completed a Triple Lutz, if you are into the sport, you know what he did. It is this naming which i propose to the Rails and App creation community as a whole.

Imagine a world where Django devs and Rails devs can communicate on what their app is doing, without having to really know ruby/python or their respective frameworks.

Examples of Old Naming Convention for Applications

Let’s take an example of an e-commerce pattern:

  1. User clicks checkout after adding some items to a cart
  2. User is asked for his Credit Card and hits submit on the form
  3. The application creates an Order record and an OrderTransaction record in the database and sends the Credit Card info to the Merchant Account
  4. The Merchant sends a success response back and the OrderTransaction is updated and the Order is updated with the success status.
  5. User then sees a success page and various information on what happens next.

That is a mouthful to convey to someone, isn’t it. How would we convey this to someone using a Naming convention?

Example of the NEW Naming Convention

Same scenario just explained differently:

  1. User checkouts
  2. the App Sends and Fausers* the data
  3. Lastly, the app Successes or Errors

* Named after Cody Fauser who illustrates this pattern in his peepcode ebook. Also ryan bates does it in his railscasts on AM too.

Shorter more concise explanations lead to better innovation

As the New example demonstrates, It’s easier to understand a more conscise explanation.

New users of rails or app creators in general can focus on learning the lingo, which learns good app creating patterns, which puts smarter dev’s out in the field and tighter code, for losers to hack.

What are you thoughts?

Feel free to leave your comments. I know that i’ll be advocating to organically grow certain terms in my community. I put it upon you to do the same.


blog comments powered by Disqus