Earlier this week, a security flaw known as Heartbleed was published that affects approximately two-thirds of all websites that use SSL encryption. This issue greatly impacts ecommerce websites because every online store that accepts credit cards must use SSL encryption.
Since its disclosure, there have been many news reports about Heartbleed and how it’s affecting websites, software and services across the internet. We want to provide more details on Heartbleed and how it affects ecommerce merchants. Most importantly, we want to stress that merchants and their customers using Shopify are safe from Heartbleed.
Creative Commons photo by paul (dex). Click to see the original.
HackDays -- the gatherings that bring together Canada's brightest geeks to build projects in a single day -- kicks off 2012 with a session in Toronto on Saturday, February 12th. This one's an interesting one, as it's a part of the extended Social Media Week, the global multi-city conference taking place from February 13th through 17th. Here's a quick explanation of what Social Media Week, and this year's theme, Empowering Change Through Collaboration, are all about:
In keeping with the idea behind Social Media Week and HackDays' spirit of building stuff with readily-available APIs, the theme of this Toronto HackDay is "Apps for Good". Take the APIs -- including Shopify's ecommerce API -- to build applications that can change the world around us for the better. You'll have a day to do it, and the best apps, as determined by a panel of judges, will be awarded prizes (the prizes are usually pretty sweet: we've handed out MacBook Airs and iPads to the winners).
Shopify will be there! More specifically, I'll be there, representing Shopify, along with some other Shopifolks, to help run the event, help participants with the Shopify API and generally provide moral support to everyone there. We'll also be sponsoring the event and providing a prize for the best use of our API.
If you're looking to take on a hacking challenge and put your skills to the test, meet your fellow geeks and build an app for the greater good, HackDays Toronto is for you!
Shopify has some big customers with online stores that need apps written for them. We've been getting a lot of custom work requests from customers who need applications for their ecommerce website's fulfillment workflow - that is, making sure the right things get put into the right boxes, and sending them to the right people for the right price. We also get requests for other things that online shops need: analytics, promotions, CRM-integration-jazz, or some kind of automatic client-retention. But for now, I'd like to talk about fulfillment.
Fulfillment: it's that part of the shopping cart transaction where the order has been placed and paid for, and now it's time to send something to the customer. This sort of app is a web application that will typically talk to a couple of APIs:
The Shopify API, which will have the relevant data from the shop, most notably information about the order that was placed,
and some fulfillment API, which the app will use to get the order to the customer.
If you're looking for some contract programming work writing software that does useful stuff for reliable customers and you're a reliable, responsive type who can be counted on to write stuff that people need to make their businesses go, Shopify would like to pay you for your services. The application you're writing will be interacting with APIs, which means that you're free to use the programming languages, frameworks and technologies you prefer, as long as you can solve the problem. And because this project is about fulfilling ecommerce orders and not socially networked cat pictures, this contract will pay nicely.
Is this the sort of development you can do? If so, drop me a line at firstname.lastname@example.org and let's talk.
Have you always wanted to migrate to Shopify but never wanted to take the time to actually upload all of your products? Have you told friends on other ecommerce platforms they should switch to Shopify, only to hear that it’s too much work to change platforms? Well, now there’s no excuse, just use Importer!
Perhaps it’s an app that phones customers or sends them an SMS message when their order has been shipped. Or voice notification to a bricks-and-mortar store that tells the staff that a customer is coming to pick up their order. With a little creativity, some coding and our APIs, you can write an app that’s both useful and cool enough to win one of our prizes…
First prize is from Shopify: it’s Edward from Shopify’s preferred rig! A hot-rodded 11-inch Macbook Air with 256GB solid-state drive and 1.8 GHz CPU along with a gigantic 27-inch Apple Cinema Display. Small and light for when you’re on the go, a nice big screen for when you’re at home, the office of wherever you decide to keep the display and plenty of horsepower to build apps.
Second prize comes from Twilio and it’s a robot hacker’s dream: a stacked LEGO Mindstorms swag bag with the NXT 2.0, a bundle of touch, light and sound sensors, and a Bluetooth dongle to keep your creations connected. I, for one, welcome our new LEGO robot overlords.
Third prize is a joint Shopify/Twilio effort: a Kindle Fire, the newest multi-touch full-color hotness from the world of ebook readers.
We try to keep things simple – it’s about building cool apps, not being buried in regulations!
Entries must be submitted by 11:59 PM PST Sunday December 11th.
We’ve been profitable for a while now, so landing this money wasn’t about survival; it’s about ambition. We’re aiming to be the number one ecommerce platform, so we’re using the money to fuel our growth: more staff, more stuff, and more services.
As we like to say, “When the train comes in, everybody rides!” And by everybody, I’m including developers who build on the Shopify platform.
The idea behind the Shopify Fund is very simple: we want to support developers who build apps for the Shopify platform by giving them money so that they can work full-time for a few weeks on those apps without having to worry about paying their bills.
And I’ve got a million dollars to make it happen! Say it with me: One. Meeeellion. Dollars.
Many of us at Shopify, myself included, have worked at small or one-person development shops, so we know what it’s like to have to pick and choose projects in order to stay afloat. We hope that the Shopify Fund will make that choice easier and make it possible for you to build apps for our great ecommerce platform and fill your wallet at the same time.
The Shopify API and App Store
(This section’s for developers who aren’t familiar with Shopify. Feel free to jump ahead if this is old news to you.)
Those of you new to Shopify might not be aware that it’s not just a hosted ecommerce system, but also a platform that offers a RESTful API. This API gives you the capability to programmatically perform many of the actions that a shopowner can perform from his or her control panel. With the API, you can automate tasks to make shopowners’ and customers’ lives easier, provide shopowners with different views and insights into their shops’ data, integrate Shopify with a world of online services and generally expand that capabilities of Shopify shops.
Shopify also provides a place for developers to sell their Shopify apps: the Shopify App Store. It’s a one-stop shop that:
Makes it easy for shopowners to browse, purchase and install apps for their Shopify shops
Makes it easy for developers to reach a market of over 15,000 active shopowners and make money (there’s an 80/20 revenue share; you get 80% of the sale price of your app, Shopify gets 20%)
In 2010, almost half of our active shopowners had installed at least one app.
How the Shopify Fund Works
If you’re a developer with an idea for a Shopify app, we’d like to hear from you! Drop us a line at email@example.com and we’ll evaluate your idea. If we think it’s worth funding, we’ll provide an advance in the neighbourhood of $5,000 to $10,000 (and hey, maybe more if we think it’s going to be big) on future sales in the App Store.
If this sounds like a literary advance, that’s because that’s the model we’re using – but a little bit nicer. Here’s a quick description of how it works:
If we think your app idea’s a good one and we fund it, we’ll give you half the advance up front.
Once you finish the app, you get the other half of the advance.
Your app goes in the store. Until the app’s sales reach the amount of the advance we gave you, the revenue share is 50% for Shopify, 50% for you. That’s right, you’ll still be making some money!
One the app’s sales reach the amount of the advance we gave you, the revenue share goes back to the standard 20% for Shopify, 80% for you.
If you have programming skills but can’t think of any Shopify app ideas, check out the App Wishlist in our wiki. It’s full of ideas, and one of them might be right up your alley.
If you still can’t think of any Shopify app ideas but have killer programming skills and would like to work on a Shopify app, we’d still like to hear from you. We might be able to assign you to a project of our choosing.
…be sure to check out the new Shopify Fund page and if you’re interested, drop us a line at firstname.lastname@example.org to find out more or to propose an app that you’d like to have us fund!
Keep an eye on this blog as well: we’re going to be talking about building apps on the Shopify platform for the next little while.
Shopify is a pretty capable ecommerce platform on its own, and for a lot of shopowners, it's all they need for their shops. However, there are many cases where shopowners need features and capabilities that don't come "out of the box" with Shopify. That's what apps are for: to add those extra features and capabilities to Shopify.
Apps make use of the Shopify API, which lets you programatically access a shop's data -- items for sale, orders and so on -- and take most of the actions available to you from a shop's control panel. An app can automate a tedious or complex task for a shopowner, make the customer's experience better, give shopowners better insight into their sales and other data, or integrate Shopify with other applications' data and APIs in useful ways.
Here are some apps that you can find at the Shopify App Store. These should give you an idea of what's possible:
Jilt: This is an app that makes shopowner's lives easier. It helps turn abandoned carts -- they arise when a customer shops on your store, puts items in the cart and then for some reason never completes the purchase -- into orders. It sends an email to customers who've filled carts but never got around to buying their contents after a specified amount of time. It's been shown to recover sales that would otherwise never have been made.
Searchify: Here's an app that makes the customer experience more pleasant. It's an autocompleting search box that uses the data in your shop that lets customers see matching products as they type. The idea is that by making your shop easier to search, you'll get more sales.
Beetailer: A good example of taking the Shopify API and combining it with other APIs. It lets your customers comment on your shop's products and share opinions about them on social media sites like Facebook and Twitter. You can harness the power of word-of-mouth marketing to get people to come to your store!
Shopify apps offer benefits not just for shopowners and their customers, but for developers as well. Developers can build custom private apps for individual shopowners, or reach the 16,000 or so Shopify shopowners by selling their apps through the App Store. The App Store is a great way to get access to some very serious app customers: after all, they're looking for and willing to spend money on apps that make their shops more profitable. Better still, since a healthy app ecosystem is good for us as well, we'll be more than happy to help showcase and promote your apps.
If you've become convinced to write an app, read on, and follow this series of articles. I'll explore all sorts of aspects of Shopify app-writing, from getting started to selling and promoting your apps. Enjoy!
Once you're there, click on the Become a partner button. That will take you to the Become a Shopify Partner form, a single page in which you provide some information, such as your business' name, your URL and if you're into Shopify consulting, app development or theme design as well as some contact info:
When you submit this form, you're in the club! You're now a Shopify partner and ready to take on the next step: creating a test shop.
Step 2: Create a New Test Shop
Test shops are a feature of Shopify that let you try out store themes and apps without exposing them to the general public. They're a great way to familiarize yourself with Shopify's features; they're also good "sandboxes" in which you can safely test app concepts.
The previous step should have taken you to your Shopify partner account dashboard, which looks like this:
It's time to create a test shop. Click on the Test Shops tab, located not too far from the top of the page:
You'll be taken to the My Test Shops page, where you manage your test shops. It looks like this:
As you've probably already figured out, you can create a new test shop by either:
Clicking on the Create a new Test Shop button near the upper left-hand corner of the page
Clicking on the big Create your first Test Shop button in the middle of the page. I'm going to click that one...
You should see this message near the top of the page for a few moments:
...after which you should see the My Test Shops page now sporting a test shop in a list.
Test shops are given a randomly-generated name. When you decide to create a real, non-test, customer-facing shop, you can name it whatever you want from the start.
In this example, the test shop is Nienow, Kuhlman and Gleason (sounds like a law firm!). Click on its name in the list to open its admin panel.
Step 3: Launch Your Test Shop
Here's what the admin panel for a newly-created shop looks like:
If you're wondering what the URL for your shop is, it's at the upper left-hand corner fo the page, just to the right of the Shopify wordmark. Make a note of this URL; you'll use it often.
Just below that, you'll see your shop's password:
(Don't bother trying to use this password to get to my test shop; I've changed it.)
You're probably looking at that big text and thinking "7 steps? Oh Shopify, why you gotta be like that?"
Worry not. Just below that grey bar showing the seven steps you need to get a store fully prepped is a link that reads Skip setting up your store and launch it anyway. Click it:
This will set up your test store with default settings, a default theme and even default inventory. You'll be taken to the admin panel for your shop, which looks like this:
This is the first thing shopowners see when they log into their shops' admin panels.
Now, let's add an app!
Step 4: Add an App
Click on the Apps tab, located near the upper right-hand corner of the page. A menu will pop up; click on its Manage Apps menu item:
You'll be taken to the Installed Applications page, shown below:
For the purposes of this exercise, a private app -- one that works only for this shop -- will do just fine. Click on the click here link that immediately followed the line Are you a developer interested in creating a private application for your shop?:
You'll get taken to the Shopify API page, which manages the API keys and other credentials for your test shop's apps:
For each app in a shop, there's a corresponding set of credentials. Let's generate some credentials now -- click the Generate new application button:
The page will refresh and you'll see a big grey box containing all sorts of credentials:
Here's a closer look at the credentials:
You now have credentials that an app can use. Guess what: we're ready to make some API calls!
A Quick Taste!
Here's a quick taste of what we'll do in the next installment: play around with the Shopify API. Just make sure you've gone through the steps above first.
The Shopify API is RESTful. One of the benefits of this is that you can explore parts of it with some simple HTTP GET calls, which you can easily make by typing into your browser's address bar. These calls use the following format:
You could type in the URL yourself, but I find it's far easier to simply copy the Example URL from the lost of credentials for your apps and editing it as required:
For example, if you want some basic information about your shop, copy the Example URL, paste it into your browser's address bar and change orders.xml to shop.xml. Press Enter; you should see results that look something like this:
Nienow, Kuhlman and GleasonBoston185 Rideau StreetK1N 5X82011-07-22T14:43:21-04:00falseUSnienow-kuhlman-and-gleason1524.myshopify.com937792555 555 5555
How about the products in your shop? There are some: since we skipped the full setup, your test shop comes pre-populated with some example products. Copy the Example URL, paste it into your browser's address bar and change orders.xml to products.xml. You should get a result that looks something like this:
The text you see here is a Product Description. Every product has a price, a weight, a picture and a description. To edit the description of this product or to create a new product you can go to the Products Tab of the administration menu.
Once you have mastered the creation and editing of products you will want your products to show up on your Shopify site. There is a two step process to do this.
First you need to add your products to a Collection. A Collection is an easy way to group products together. If you go to the Collections Tab of the administration menu you can begin creating collections and adding products to them.
Second you’ll need to create a link from your shop’s navigation menu to your Collections. You can do this by going to the Navigations Tab of the administration menu and clicking on “Add a link”.