Spree Commerce

Try It Now

Get to Know SpreeConf DC Speaker: Nick Gauthier

Posted on March 21, 2013 by Lynne Brehmer

We are excited about our awesome lineup of speakers for SpreeConf DC taking place May 20th – 21st at the Studio Theatre in Washington, DC. To spread our enthusiasm, we are starting a new series called “Get To Know Our Speakers.” We’re kicking off the series today with SpreeConf speaker Nick Gauthier.

Nick Gauthier

Nick Gauthier

Co-Founder at Exobrain & B’More Awesome
Nick Gauthier is a web freelancer, consultant, and trainer specializing in Ruby on Rails and JavaScript. His experience spans from SQL to Sass and he always tests, all the time. He wrote Recipes with Backbone with Chris Strom and recently released his eBook Mobile Web Patterns with Backbone.js. Aside from freelancing Nick runs B’More Awesome, a Baltimore-based web training organization, and he also co-founded Exobrain, an online mind-mapping tool.

Rails 4 in Action

Nick will be speaking at SpreeConf DC about some of the ways he’s used the new features in Rails 4 to build applications efficiently with the latest web technology. Nick explains that Rails 4 introduces a bunch of really cool, new features: Multithreading and ActionController::Live combine to provide clients with Server-Sent Events for real-time activity feeds. Turbolinks has blasted application performance way beyond what we’re used to seeing. And, changes to how rails applications cache information has made caching simpler and easier to use.

Getting to Know Nick

We asked Nick to give us his thoughts on the latest happenings in the Ruby space and some of the interesting projects he’s working on right now.

1) What trends are most exciting to you right now?
This may come as a surprise, but I’m currently very excited about design. It’s great to see so many new products being released with a focus on user interaction and not just a barrage of features. It’s really added a new challenge for web developers to meet the design goals of an application, because it’s generally a hybrid of front and back-end coding, and it’s always unique and interesting.

I’m glad Rails is doing such a great job supporting this new style with a two pronged attack of increased performance (caching and turbolinks/pjax) and excellent functionality as an api for client-side code. Front-end libraries like Backbone.js and Ember.js pick up where Rails leaves off when really custom interactions need to take place.

2) Any interesting projects you’re working on that others may be interested in?

Always! I’m currently working on Exobrain, which as mentioned earlier is a simple and focused mind-mapping application. I’m also working on a new web-based presentation application, but it doesn’t even have a name or url yet so I can’t share it :-(.

As part of working on client projects, I’m working on an easier and faster way of wireframing UX and transitioning to an implemented application with a gem called throwup (still in its early stages). As a support for the presentation application, I’ve been working in a lot of real-time systems, and part of that is a gem called tubesock (also in its early stages). Tubesock makes it easy to use websockets in Rails, and I wrote about it recently.

3) What are you most looking forward to at SpreeConf this year?

First and foremost, I’m looking forward to all the familiar faces from last year’s SpreeConf (and of course all the new faces!). I’m also always excited to see people in the Ruby on Rails community doing Real Stuff™, serving real users with real products, so I like to hear from people using Rails and Spree to support their business.

4) What do you hope SpreeConf attendees remember about your talk when they get home?

I hope they remember to always push the boundaries of current technology and to try to accomplish what has yet to be done, even if there isn’t a gem for it!

5) Do you have any interesting picks – blogs, technology, books, new companies to follow?

I’m currently reading The Design of Design by Frederick P. Brooks Jr., which is a book about the process of designing complex systems. Frederick Brooks has been designing complex architecture (computers, buildings, helicopters, and more) about 12 times longer than I have, so I’m learning a lot.

Come meet Nick and hear his talk on Rails 4 in Action at SpreeConf DC, May 20th – 21st. The $199 early bird rate ends March 31st so register now and save!

IRC 101 - Realtime Spree Talk

Posted on March 20, 2013 by Andrew Hooker

Internet Relay Chat (IRC) is a protocol for live chat designed primarily for group communication via discussion forums called channels or rooms. Spree has had an IRC channel since April 2008, and it has been a valuable resource for Spree users to get help quickly and to get to know other community members better. It’s not unusual to have several core team members, creators of Spree extensions, Spree users, and even general Rails developers present in the Spree IRC room at the same time. There’s typically between 30 and 50 people in the room, and there is usually somebody available no matter what time of day.

Read below to get started using IRC and communicating with the Spree community.

The Easy Ways

If you have an IRC client installed, Click Here and it should automatically connect.

If you don’t have an IRC client installed, Click Here to use a web-based client to access the Freenode IRC network.

Pick a nickname, fill out the CAPTCHA, and click connect. You should be in the Spree room ready to talk!

Becoming a More Permanent Resident

There are a variety of IRC clients available on every platform imaginable. A few that we recommend are WeeChat (Mac, Linux), Pidgin (Mac, Linux, Windows), and XChat (Linux, Windows). It’s fairly simple to use most of these clients. They normally save your nickname and all your configuration settings, so all you have to do is launch the app to be connected. The vital information you’ll need to get it configured is below. Freenode is a large enough network, that many clients actually come preconfigured for it, so it’s simple to get started.

Vital Information for Expert Users

If you have an IRC client installed, Click Here and it should automatically connect.

If you want to set up your configuration manually, here are the settings:
IRC Network: Freenode
IRC Server: morgan.freenode.net
Port: 6667
Channel: #spree

Getting More out of IRC

Once you’re comfortable with IRC, you might look to get more out of it. Part of the value of IRC is there are a wide variety of channels on the network (over 13,500 at the time of this post), covering a wide variety of topics. Most clients will show you the list by simply typing /list in the web chat. The list will print in the “Status” tab. Some large channels that might be interesting to give you inspiration: #jquery, #rubyonrails, #postgresql, #mysql, #css. There are channels on virtually every topic imaginable, so check out the list and find things that interest you.

Hope to see you in the Spree IRC room soon!

Ten Reasons You Can't Miss SpreeConf

Posted on March 19, 2013 by Sean Schofield

We’re really excited about SpreeConf DC and hope you are too. The two-day event takes place May 20th – 21st at the Studio Theatre in Washington, DC and features training on Spree as well as presentations from thought leaders in the e-commerce and Ruby community. This will be our third conference and if you haven’t come to one yet, we’ve put together ten great reasons why you can’t afford to miss SpreeConf DC.

#1 Learn About Spree 2.0

SpreeConf is a chance to learn more about the new and exciting features that have been added to Spree. This year’s conference includes several talks focused on the new functionality included in Spree 2.0. The Spree team has been hard at work improving split shipments and adding new international features. Come and talk to the Spree team in person to find out how you can take advantage of the latest and greatest advancements in Spree.

#2 Stay On Top of E-Commerce Trends

E-commerce is one of the fastest growing industries in the global economy right now. Many e-commerce companies fail because they can’t execute quickly enough to beat their competition. SpreeConf speaker, Adil Wali, will share the lessons he learned about scaling multiple e-commerce businesses, including ModCloth, one of the fastest growing companies in the fashion industry. We’ll also hear from Eric Koester, founder at Zaarly, about how to capitalize on the micro-prenuer revolution by serving this class of “freelance entreprenuers” who are taking advantage of platforms such as Airbnb, Etsy, Kickstarter, and of course Zaarly.

#3 Learn About Other Technologies

SpreeConf obviously has a strong empahsis on e-commerce but it is also a chance to learn about the other important technologies that enable Spree (and the rest of the Web). For instance, this year we have a great talk from Nick Gauthier about how to put Rails 4 into action for your e-commerce application and an awesome session from Sandi Metz covering practical guidelines for choosing what to test and how to test it.

#4 Meet the Team Behind Spree

This is an opportunity to meet the creator of Spree as well as the core team that maintains the project. If you are either currently using or contemplating using Spree for a project, you can’t afford to miss out on the chance to talk to the people that power the technology! Are you having difficulties with something in Spree? Do you have a feature request? Now’s your chance to tell us in person.

#5 Meet Fellow Spree Developers

In addtion to meeting the core team, the conference is a great opportunity to meet fellow developers in the community. You’ll be networking with other developers around the world who are also working on Spree projects and have the chance to compare notes. Previous SpreeConf attendees have included developers from Gucci, Chipotle and Blue Nile as well as various startups and developer shops.

#6 Meet Fellow Store Owners and Founders

SpreeConf isn’t just for developers. We have plenty of founders and store owners that come to our conferences as well. Whether you’re a startup or an established online business, there will be other business owners for you to network with and learn from. Previous founders and owners who’ve attended SpreeConf include Makerbot, Birchbox, Sticker Mule and Github.

#7 Help Shape the Future Direction of Spree

SpreeConf is also a chance to discuss and debate the future direction of Spree. We use the conference as a chance to communicate our latest thinking about where the project is headed but it’s also an opportunity for you to lend your voice to the discussion.

#8 Decide Whether Spree is Right for You

If you’re a developer or store owner considering Spree, this is the perfect opportunity to evaluate the technology and our community up close. We have plenty of developers and owners who come to our conference that are currently using Magento or other e-commerce solutions. If you’re considering learning a new technology or making a big investment in a new e-commerce platform, you owe it to yourself to check Spree out up close and personal.

#9 Find a New Job or Customer

One of the main reasons to go to any technical conference is to look for a new job or to get new customers. SpreeConf is a great opportunity to hire someone onto your technical team or to find customers looking for professional services.

#10 Meet Interesting People and Be Inspired

Finally, conferences are all about the people. Whether your motivation is to learn or to conduct business, SpreeConf is the perfect opportunity to shake things up and travel somewhere new to meet some really cool and interesting people. We have a great online community but sometimes there is no substitute for meeting in person. When you get a large number of smart people together in one place it usually results in suprising and interesting benefits and amazing creativity. We’ve built lots of networking opportunities into the schedule including lightning talks, a happy hour, and a SpreeConf after party.

How to Optimize Your Spree Store for Search Engines

Posted on March 07, 2013 by Eric Hochberger

Alarm Grid Home Security is using Spree to build traffic and trust! When we started Alarm Grid, we made the decision that all of our store-building efforts would go toward 1) increasing trust, 2) improving consumer experience, and 3) improving our rankings for important keyword buckets.

Sounds pretty simple, right?

So… First things first, we got our store up and running. After considering all of our options, we settled on… Spree… YIPPEE!

As an SEO consultant who has worked with some pretty big brands, my job has often been to go into companies whose bottom line is doing a-ok and explain to their tech team why what they’re doing is inadequate. You’d be amazed how many Fortune 500 companies don’t have their house in order when it comes to search optimization.

In the case of Spree, so much is done right out of the box, optimizing the site was a delight. I found myself getting to add features in support of SEO rather than asking our technical team to make deletions to the system because some programmer took a terrible shortcut back in the day.

Content Types

Every site has different types of content. A good content baseline would include products and probably some sort of blog. But if you want to improve your SEO ranking using a system driven by content, you can probably think of a lot more content types than just the two.

If you’re not an SEO expert, or haven’t ever wrapped your head around the idea of content types, it’s pretty simple. Google only reads text, so in that sense, all content is the same. But Google categorizes text, so if it can tell that the text is a video transcript, a list of times or details about an event, or information and prices about a product (or even a review about that product which is a different content type entirely), it will treat the content very differently. You can get a good, comprehensive list of content types and everything that Google wants to see within them at schema.org.

Alarm Grid started with products, like any e-commerce store would. Spree handles that pretty well out of the box.

Then, we added product manuals by importing documents from Alarm Grid’s Scribd account using the Scribd API. We then built an entire system in the backend to handle our user’s security FAQs, of which we have collected more than 10,000 (we haven’t answered them all, but we have that many we’re trying to get to). And we extended our products using the official Spree review extension. To date, we have collected more than 100 user-generated reviews. Using YouTube, we uploaded videos to our YouTube channel and then put them up on our site as a new content type. Since Google can’t see or hear what’s in videos, we have gone through the considerable effort of transcribing them, and making sure that our most important videos are surrounded by good content marked up by schema.

Flat URLs and Taxon Design

My philosophy is that URLs should be as short and sweet as possible. I like nested URLs, but they can cause some problems, not to mention that any benefit gained from the signal a nested URL sends to Google can be gained by a good bunch of hyperlinked, on-page breadcrumbs. And in the case of Spree, as you’ll see, a flat URL structure gives you a lot more flexibility as you grow your site into the behemoth you always know it can be.

The result of our flat URL structure is wonderful. My team can move taxons anywhere they want. Which means if a taxon was mis-categorized 8 months ago, I don’t have to worry about re-categorizing it today, because when I move my taxon, the integrity of my URLs is preserved.

The code? Pretty simple thanks to Ruby, class_eval and decorators.

Canonical URLs

Adding a rel=“canonical” to the header of your site will ensure that the URL on your site is appropriately understood by Google. Simply put, Google sees http://www.site.com/subdirectory as an entirely different page than http://www.site.com/subdirectory?=somevariable. Now, sometimes that will be a new page with new content. But at other times that variable is nothing more than information you were trying to extract or preserve. Using the rel=“canonical”, however, you can tell Google that the URLs are to be treated as the same URL.

It’s a little more complicated to patch canonical URLs into Spree. MVC critics may argue with our method, but we set the canonical inside the controllers using filters and output them via an override. Relevant code on gist.

Full-site SSL

We are a security company, so it’s no surprise that we opted to overengineer the security of our own website. Oftentimes, sites will only put SSL in the portions of their site that are taking down credit card information. We went the extra mile and wrapped our entire site in SSL. Google used to have a lot of trouble with SSL. I would never have done this only 2 years ago, but Google is getting better and better, and their capabilities are much better than ever before. We are finding that Google loves SSL. In fact, it’s removed duplicates that the https vs http URLs that not even canonicals could fix. Relevant gist to get Spree to do this.

Duplicate content

Out of the box, Spree needs a little bit of duplicate content cleanup. For example, in the default template, both the homepage and the /products page are exactly the same thing. They display the same products, have the same pagination, and probably the same text. You can get around this in a few ways. The first thing you can do is disable or make inaccessible to crawlers one of the two pages, you can change the homepage so it’s different than the product page, or you can add tons and tons of completely different text to the two pages. Google will read the text, and the fact that they list the same products stops mattering as much. We fixed up our homepage and will soon also be adding content to the taxon pages. If you can help it, you should add as much content to internal pages as you can.

Hope that helps!

We’re not done. We are going to do as much as we can to turn out unique and wonderful, interactive content. We’re not sure what the future holds for our site, but whatever it is, it’s going to be creative, and it’s going to be built with help from Spree.

Anyhow, good luck! We are excited to be members of the Spree family and are happy to continually contribute to the development of our favorite ecommerce system.

Thanks Spree!

Shop the Alarm Grid website and follow them on Twitter and Facebook.