“Easy Product Slideshows” Shopify app
While working on RaRu Design's website, we wanted a simple Flash slideshow that would rotate through certain product images. I whipped one up in Flex that suited our needs. It was a little wonky, using a alternate Liquid template to render the Product objects in JSON, which could then be read by the Flash. Looking around at Shopify's API, I decided to attempt a quick app to streamline the slideshow.
This is what I came up with. It's simple to use, inexpensive, and flexible enough to work for different clients. You can customize the slideshow, changing the slide duration, transition effects, tooltips and more.
Development
The development process was pretty smooth, owing a lot to Shopify's rails app generator. I was a little dubious of their "Build a Shopify app in 8 minutes" video, but after I actually followed the directions it went speedily.
In addition to the generator, there is the Shopify API client for ruby and a nice set of MongoHQ, who run a hosted MongoDB platform. I wanna write up the whole MongoDB bit, but suffice it to say that it went well, and MongoHQ was great to work with when I has support issues.
Shopify Application Approval Process
There has been plenty of negative buzz about Apple's AppStore, basically coming down to longer release cycles and finicky reviewers, so I was interested to see how Shopify handled this. The slidehow app is pretty tiny, and very different than most of the other existing apps in the Shopify app inventory. There are many integrated shipping solutions, order fulfillment services, accounting platforms, and that sort of thing. There are very few UI apps.
My app, to my surprise, was approved in under 24 hours. The Shopify team pointed out two bugs to fix, and after those were done, the app was approved. I was so excited I tried the app out on the RaRu Design site immediately, only to find a few show-stopper bugs. After fixing those, and getting some good customer feedback, I was off to the races.
I thought I would be a hundredaire within the month, but it took about 5 product installs to realize that I actually had to code the billing charges. Once I realized my mistake, I added the necessary snippets of code to actually charge my customers.
Bad Review
Within a day of publishing the app, I received a rock-bottom 1-star review. Ugg. The reviewer didn't find fault with the slideshow app; they were more concerned with that Shopify had let through an app that was 'faceless' and didn't really seem to have anyone or any company behind it. It is a little scary; giving API access in Shopify is currently all-or-nothing (read or read-write actually). Even if an app only needs read access to product images, it is given read access to customers and orders. I worked with the reviewer to provide some feedback to Shopify that would keep both customers and developers happy with the platform.
Stricter App Guidelines
A few days ago, I received an email from the same fellow who approved my app in the beginning. He asked me to remove all references to Shopify from the branding of my app. This makes sense. I unimaginatively named my app 'Shopify Product Slideshows' at first (to be migrated to an equally unimaginative 'Easy Product Slideshows'). Even the Shopify rails generator includes Shopify branding (at the time of writing), which will not pass the approval process. I understand that they may not have thought of everything up front, but it would be nice if the requirements were spelled out somewhere.
Overview
I dig Shopify's API, their open-source mindset, and their quick+painless approval process. For the sake of the customers and developers, however, they could step back and think it through a little bit more. Specifically, more thorough QA, thinking through the branding requirements ahead of time, and more granular API access would be nice.
