"The second idea is to create a POS system that integrates fully into Shopify. Thus one can use Shopify to manage sales for all the store's inventory both those that one sells through the web and also those that one sells from the physical store. The POS front end for Shopify will allow for Shopify to expand into those with both an online presence and those who also have a storefront. This is perfect for small businesses. I believe it could be very disruptive to the POS market because it would be very easy to adopt for customers."
When you get feedback from customers I doubt the line to join the dots of an online presence moving into a physical presence isn't that long.
I bet their customers have been asking for a way to synchronise their shop floor stock with their online stock, and Shopify would naturally want to be the provider of the whole experience.
There's probably many reasons why your idea never got picked up originally. They may have been already working on or thinking about it; it may be similar to another idea submitted; they may not have expected it to be a viable option at the time.
The fact they didn't even respond sucks as that's not a good community spirit. Just be pleased that you've managed to predict what the future was. The trick is how to do something useful with those predictions.
I'm not entirely sure what your alluding to. My guess is that your claiming they took your idea and ran with it, which irks me.
All I will say is that its a bit unreasonable to assume that Shopify didn't have this in the game plan since going public. With Square slowly moving into Shopify's territory this is a fairly expected movement for Shopify.
I said what I said, I didn't accuse them of stealing the idea in my post. But there is a murkiness with these types of contests though where one asks for ideas from a community with the promise of rewards for the best ideas. Obviously in hindsight, my idea was a really good one (which was the point of the contest no?) but I didn't get funding, not even a response.
Our first sprint on this product was following the first principles as outlined by that book.
We found that the strategy works really well on paper but there are significant scaling issues on the querying side when you throw massive amounts of data at it. A simple sales report over cities for one of our larger shops under moderate load would could take 5-10 seconds to generate, which is pretty unacceptable. Caching would only take us so far because of how much data gets ETL'd every moment.
I definitely don't discount the dimensionally modelled strategy, but to make it proper fast, and not 1990's let-me-hit-report-and-go-get-a-coffee fast, you might need to write your own OLAP stack that's optimized for what you need[0]. I'd also do it in go or c.
Once we ship, we'll do a technical post on what worked and what didn't.
[0]I'd love to be proven wrong on this, so if you can generate fast reports with massive amounts of data ETL'd in real time, I'd love to hear from you. oren.mazor@shopify.com
I fail to understand why waiting five seconds to generate a report that will impact my business decisions is "unacceptable". I have numerous reports I've implemented that take over a minute to generate; they are complex queries that sometimes involve interesting statistics, and the idea of calling them outdated solely because they don't return data in a fraction of a second seems like a fundamental misunderstanding of what businesses do with reports.
We started out with mondrian+mysql, but quickly had to drop mysql ("mysql is great until you want to put data into it and then get it back out again" - unattributed, to protect the guilty). Our primary work was with postgresql in the beginning. which, in my opinion, is a pretty solid database to work with overall.
We did partition all of our dimension and facts tables, which helped a great deal. Aggregates were a problem that is specific to us, so we couldn't cheat the usual way that reporting servers do.
The other problem is that our stack is suddenly fully of things like java and olap and postgresql, which made onboarding people who wanted to help, and just debugging, a pain.
I like that comment about the coalface/bookworm, but sometimes it takes somebody on the outside to see what I'm missing.
With all due respect to pgsql, mondiran and mysql - you're using the wrong toolkit. You need a column store, like Vertica, kdb+, TimesTen (now Oracle?), Sybase anytime (I think that was what it was called).
You can do very well at much, much lower cost in the Python world: pandas, PyTables, or even just straight numpy.
Seriously, using any of these would make the report generation time basically zero, and you'd just have to make your ETL work quickly enough to feed it; how well this can be solved depends on how you store the original data ("pre-facts").
The book written by this guy http://blog.wesmckinney.com/ (and the guy himself, if you can get him) will probably advance you way more than experiments.
I am only as familiar as orenmazor describes above.
Would you have said that if I urged him to get a hammer to hit on nails, rather than a screwdriver? It is about as dogmatic. (you can put nails into a wall with a large enough screwdriver - I've done it myself before when the nail was small enough and i had no hammer - but it's still the wrong toolkit)
Agreed. The control they give their theme developers is shamefully woeful. You're actively encouraged to use Javascript as a work-around for their very limited templating sytem. If they were to add querying, or even just a few more options for selecting products (e.g. by type, brand, etc.) then Shopify would be a great contender to other e-commerce stores. Currently it feels they're only focused on things that can bring them more revenue.
I'm the founder of Forward Commerce (http://getfwd.com), a new platform focused on giving developers more template control without all the pain.
One of our early adopters was a very notable/early Shopify customer who encountered the kind of problems you describe with templates and customization. I am pleased to say they have been successful using Forward and Shopify combined in order to solve these problems, and are planning to migrate completely when the time is right.
Shopify is a great solution for small business without irregular catalog and checkout requirements. I am however surprised that they haven't done more to support businesses that grow beyond this stage.
I felt like that too. My country payment options are lacking, api has some old bugs and shortcomings like no SKU search, taxes system doesn't fit for many business that have products with different tax type, no multilang, and plenty of ugly liquid and js solutions.
Also, checkout has a small legal nitpick here in europe, where a check has to be somewhere and in shopify is not. That means plenty of EU stores might be in a grey zone. Same with cookies in the checkout, but that's another story. I guess they will fix it but i guessed that 7 months ago.
I like Shopify in many ways, but after two (small) stores with them i have two main issues:
- EU distant. I feel US market is the main thing for them and EU is left behind using weird solutions for complex tax cases or pricing, few payment gateways, and so on. The checkout issue ilustrates this.
- Pushin new features while not fixing old ones. Shopify 2, Shopify Payments US, and now the POS are the examples. Meanwhile my app has to do crazy stuff to sync my products ids with their native ids.
Said this i will probably keep using it but Prestabox is tempting me for the next project. Any experiences with it?
Also, Shopify guys, the 15 days in advance warning for an api change in mid august was nice!
I agree, in some areas they are simply amazing. In others, they have a lot of work to do.
For example, the devs at my company that have had to use shopify hate it. Their systems are based on hacking javascript for everything. The deployments are very painful too. No way to see what it will look like without previewing it live on the site.
Agree that testing/deployment is a pain. The solution I've come up with is to use the shopify theme manager app, which syncs local files to the online store, then have to two copies of the repo on my local machine, corresponding to the live store and a testing store. It's a pain, but it's Bette than hacking on the live theme files.
Their shipping options completely suck for anything but trivial sales, too, unless it has changed in the last month or two.
(Example: most products are free shipping but a few large products are not free; there was no control to exempt products from free shipping, nor any control to say products were not eligible for certain shipping methods. Not all merchants can overnight a 50kg box, for example.)
Yeah, I tried to push for that. The margin on the products was too small. Due to some nasty wording in franchise agreements, the actual markup was 25% at most, terrible rates for retail. There just wasn't enough room to play with discounts/promotions as well as external servicing. At least not at their low volumes. I've seen other FBA projects go quite well though.
Magento does everything if you wade through the data. Like if you wanted stats on... off the top of my head, abandoned shopping carts by region and product, you could.
I think in Shopify you can view how many abandoned carts there are in the orders section, and it's not filterable.
I mean how difficult would be for Shopify devs to add a reports section on stuff like this. Just tabulated data would do, I don't need any animated graphs. It's very frustrating because the data is just out of reach in Shopify.
Edit: I'm not a Magento advocate here, I really really want Shopify to get better quick so I can stop using Magento.
Reporting can be surprisingly complicated. You can allow users to run raw SQL queries, or have a reporting interface that is basically is an SQL query builder behind the scenes, and have extremely powerful reporting abilities. The problem is you might have a user create a query that takes 5 minutes to run, and then refresh the page 15 times killing your db server/s. Many places have a separate DB read replica (or multiple replicas) just to allow this type of reporting run by certain users.
For an environment like shopify (which I've never used, so speculating), their reports are much more likely optimized database queries or views, or even created from specially stored statistics data not from querying raw db tables, with caching or pre-generation at some point. This means there's a lot of thought behind every report, and what's possible with the current db/stats schema. Adding a column to a report might mean modifying the db schema.
The final issue is that user interface complexity goes up as reporting flexibility goes up. A super powerful interface that few people take the time to use is worth less than a limited interface that provides value to more people. The task is attempting to satisfy power users and more complex needs, while providing a very useful default functionality out of the box.
This sounds like a case where providing users with a dimensionally-modelled reporting schema would be a big win. It would help both with the slow query problem and the super-complicated interface problem.
I appreciate the difficulty of trying to run a business without this information being available to you.
Once you start juggling the vast amount of data that needs to be stored, fetched, calculated and referenced to provide a report, it becomes a lot more than "why dont you just". And thats before scaling the system to the non-fail-whale standard that we run our infrastructure at.
But it is coming very soon. In fact, it's already available to PoS customers.
As I mentioned, feel free to ping me to talk more about this. I would love to have more input.
Specific to your abandoned carts comment, the view is filterable. Type in "Canada", for example, and it'll show all abandoned carts in Canada. We'd love to learn more about what you're looking to accomplish that is difficult to do right now.
I realize that POS is a term that is widely used as a TLA for point of sale, but it feels like Shopify POS is an unfortunate name given that it's also a TLA for piece of sh*t.
POS is the standard industry term for this kind of software. Anybody who would actually buy this product would never mistake this. And anyone who might mistake it for the other meaning needs only to click through to see it is indeed a POS system.
As other's have said, it's an industry standard term. Whilst in acronym heaven, I actually had to look up what TLA meant. Three Letter Acronym for those wondering.
I've sung the praises of Shopify on multiple occasions, here and in real life and to various clients. Their products and services just continue to get better and better, across the board.
The site doesn't say that the POS supports a barcode scanner, but the video says that it does (and shows it in use). As a retailer, not having a barcode scanner would be a prompt deal breaker[0]. It should be featured somewhere on the microsite.
[0] lack of a barcode scanner isn't bad if you have 16 products. Once you're managing any serious level of inventory, especially with unique size/color combinations, there's so much risk for error if each item isn't being scanned. Then there's speed of service to the customer; it's just quicker.
Shopify constantly seem to be pushing new ground, although I find it hard to imagine a store on that platform turning over $1,000,000+ just seems to limited unlike Magento.
How about discount codes? I had to write a screen-scraping python script to get student discount codes working and then I then had to write it again to deal with Shopify 2's new interface!
I manage the 3rd party apps program at Shopify – feel free to let me know if you have any questions about getting started. @blairbeckwith on twitter and blair@shopify.com.
We're beta testing the order create api endpoint on our enterprise Shopify plan right now, enabling us to hackily import manual phone/wholesale orders via an internal app we developed. It's definitely a step in the right direction, but Shopify really needs to prioritize a backend order creation tool.
Every e-commerce product across-the-board has this feature, and it's disappointing to see a platform as well-crafted and mature as Shopify still without many of the essentials.
We can now officially create orders via a POS system, but still can't create an order on our own website without registering as a customer or jumping through 3rd party shipping/tax/payment APIs.
It's interesting how you mention Magento when talking about online stores with a high turnover.
I work with ATG, Hybris and IBM WebSphere mainly. These are the biggest players in ecommerce and some of the biggest brands with massive turnovers use these platforms.
Magento is seen as a bit of a joke among big enterprise ecommerce players. The kind of thing will a low entry barrier and with a userbase primarily made up of small retailers.
However, I would love to start my own ecommerce agency and the low barrier to entry could make magento the perfect choice for me. I'm not sure if any retailers actually spend serious money on it though, unlike the 3 big players I previously mentioned.
That of course makes sense. :) I would maybe have considered a different name anyway. But maybe it is just me, I also have problems with people who have Bull Shit in e.g. Cosmology or Biology.
Am I missing something or is there no barcode scanner? It seems like a no-brainer to me. You wouldn't even need additional hardware, just use the camera as a scanner.
The iPad POS market is saturated, and Square already has a tremendous foothold. I have serious doubts about the whether this system can succeed so late in the game.
Moreover, I can't really be brought to care about these types of POS systems, primarily because they're all categorically atrocious. Many of my favorite coffee shops have been replacing their registers with iPads, and the universal result has been longer lines and more errors in recording orders. These things have consistently caused a regression of the customer experience in businesses. They're slow, they're unwieldy, and for whatever reason people demonstrate considerable ineptitude at using them. In my opinion, there is absolutely nothing wrong with the cash register. Things like Square should be used only in instances where using a traditional register would be untenable. The fact that companies are needlessly adopting these things and subsequently worsening the experience for their customers is tremendously disappointing.
The iPad will never be better at taking people's credit cards than a traditional register. It wasn't designed to, and companies should stop pretending otherwise.
> The iPad will never be better at taking people's credit cards than a traditional register.
Are you serious? You do realize that most "traditional registers" are used in conjunction with a credit card terminal and/or a computer + monitor POS system right? Both of those things are computers, and the iPad is slowly replacing a very large number of the things that a computer was traditionally used for...primarily because of three main advantages: portability, size, and enhanced UI (multitouch, gestures, etc.). All three of those (especially the last) offer huge advantages for registers and POS systems.
Sure, most offerings are currently somewhat buggy and scrappy. But what new technology isn't? I can guarantee it will get better. This is pretty classic innovation life cycle (http://en.wikipedia.org/wiki/File:InnovationLifeCycle.jpg). What you're saying is the equivalent to somebody in 2005 saying "Flash memory will never be used in place of traditional hard drives in laptops." That person would, today, feel pretty stupid.
> The iPad POS market is saturated, and Square already has a tremendous foothold. I have serious doubts about the whether this system can succeed so late in the game.
The search engine market is saturated, and Yahoo! already has a tremendous foothold. I have serious doubts about the whether Google can succeed so late in the game.
This seemed very familiar to me. I remembered seeing Square offering a POS kit[0] just this spring. Interestingly though, they no longer sell it and instead are only offering a (very slick) stand/reader[1].
I wonder why they stopped offering the whole kit. My only guess it was a MVP style trial balloon offering to gauge interest before building their own hardware. Or, it didn't fly, which may not bode well for Shopify either.
As someone who runs a pretty big shopify store (in terms of SKUs) littlebirdelectronics.com, this makes it super easy for us to move from being an online store to a brick and mortar store.
In the past we've tried to sell our wares at Makerfaires and the like, and in the end we'd be getting people to use our laptop or iPad and place their orders through our site.
This dramatically simplifies the whole affair!
Credit where credit is due, this is pretty awesome :)
The one key advantage that Shopify has, as I see it, is that merchants who use Shopify already have their inventory loaded into the system. Synchronizing their online stock and physical stock now has little barrier to entry beyond the cost.
How does Shopify do with multiple locations for stock? Say you have inventory in your physical store and then have the inventory you're selling online at a warehouse elsewhere which you also use to re-stock the b&m.
That's a great question that I don't have the answer to. I have done some development work for a Shopify site recently. As I recall Shopify's default inventory system would likely be limited for a company with multiple locations.
It's surprising to see no Interac support, since Shopify are from Canada. I don't see any store here using this unless it supports Interac debit cards. I use a Square card reader with my iPhone at a merch booth at concerts, which doesn't need the full POS components, but more storefronts here support Interac than credit cards and you would be turning away a lot of business in a storefront context by not supporting it.
As the director a development agency, we cannot use Shopify for our clients until they create the ability for products to have custom fields. Some products need to present more information than is standard, such as a wine store that needs to display vintage, alcohol. volume etc. Til then this excellent new technology is useless to us.
Unless I've missed it, there isn't a way to cleanly add meta fields to the admin backend for products. It has to be done via an app, which means data entry needs to be split between built-in Shopify fields and meta fields via a Shopify app interface on a different screen.
I think most of the newfangled POS vendors will help migrate data across. Maybe not historical sales data, but certainly inventory. I also think it's not long before everyone can search local inventories nearby. Unless one of them dominates from the beginning, I can see many POS + web front ends competing for a long time.
My counter to your first argument is this: if someone's proprietary digital wallet service takes off (like Square's) or someone with a huge base of users with payment data (read: Apple or Amazon) gets in the space, all other POS vendors will get hammered by churn.
Speaking of the space. Are there any card readers that lets you bring you own payment processing? Would love roll my own POS software but have yet to find a card reader that has an open API.
Perhaps think of something inbetween too. Someone who sells online then attends farmer markets/artist events/trade shows/flea markets and wants to do physical transactions.
This looks like the sort of product that makes me wonder why no one thought of this before. Or has any other online e-commerce platform did something like this before?
Ah. I guess I am pretty out of touch with the online payment systems world, as none of the international payment gateways work in India from a vendor's point of view.
...it would immediately be a target of fraud and unhappy customers and soon have to charge a more substantial fee. Bitcoin early adopters are willing to put up with more insecurity and inconvenience than most customers.
Do you feel like that's a really useful comment and added anything to the conversation? Bitcoin is fascinating but represents what % of global transactions today?
We had looked into other names and POS/point-of-sale was the most recognizable and familiar with storeowners. Yes, the acronym is a little unfortunate. :)
The acronym always makes me snicker but having dealt with some clients talk about their POS systems, it's a very widely used acronym. In fact, it was a big US company for which I was first part of a conference call where the acronym was used. I snickered in a "they're calling it an iPad? Really?"-way. Then I got used to it. Just like iPad.
I kind of cringed when I saw the name too. But I can understand why Shopify chose it. Potential customers are going to google for "POS" along with a handful of other keywords.
I totally disagree. Anyone working in the retail sector (the target customer) will understand immediately what POS means since POS is a well-known business acronym.
"The second idea is to create a POS system that integrates fully into Shopify. Thus one can use Shopify to manage sales for all the store's inventory both those that one sells through the web and also those that one sells from the physical store. The POS front end for Shopify will allow for Shopify to expand into those with both an online presence and those who also have a storefront. This is perfect for small businesses. I believe it could be very disruptive to the POS market because it would be very easy to adopt for customers."
Back when I applied to the Shopify Fund there were little requirements it just asked for ideas: http://web.archive.org/web/20111018133854/http://www.shopify...
I never heard back from them.