Hey all! Really excited about this idea, and thought I'd solicit some feedback before trying to get in touch with anyone at Big in Japan, the developer behind the ShopSavvy mobile app.

Anyhow, the main idea is that this app is used to scan barcodes and compare prices online and in local inventories. I'm not sure how they hooked into local inventories previously, but part of it is a recent partnership with Krillion, which allows them to offer real-time local inventory searches for certain products.

So what I'm wondering is whether it would be feasible to provide some sort of integrated service that could supply near real-time inventory data from local small online retailers. I'm not sure how this would fit into Big in Japan's business model, and perhaps it wouldn't, but I'm planning to send them an email just to see if they'd consider the possibilities.

If there's interest among developers and supporters, it would only strengthen any proposal -- and if people felt like brainstorming a bit, I'm sure they'd be more likely to take any offer of cooperation more seriously.

As an aside, I realize that UberPOS hasn't really hit mainstream (to say the least), but I also find it interesting to think how UberPOS coupled with real-time local inventory search might interact in a not-too-distant possible future... Perhaps it would be possible to search for products in physical stores?

In all honesty, while it might be valuable in other ways, my personal interest is actually in supporting local dealers. I like to support the little guys, but it happens to be all too easy to wander into a big box store and know they'll have exactly what I need. I'm excited about the prospect that this might give consumers the option to search small local inventories and easily visit the right places with the ShopSavvy app.

Maybe I'm being way too dreamy, but this seems like it could be a step toward shaking up the establishment a bit (ie. Walmart, Target, etc). ShopSavvy currently works with large dealers, but I'm sure they'd be open to targeting the long-tail, and Drupal Commerce could be just the tool to make that happen.

OK, maybe I'm too optimistic, but anyone have any thoughts? Was I unclear in my explanation? Oy... it's soooo late, and I'm so tired...! :)

Comments

rszrama’s picture

I think it's a marvelous idea. : )

We'll be much better suited to handle stock via the Commerce modules given our 1 product = 1 SKU, no bones about it, approach. A stock module can simply provide a field that can be added to any product type, and voila!

I think combining Commerce with the Services module will be a must, so we can easily have third party services integrate with the online store. Whether that's ShopSavvy, an embedded Flash widget on someone's blog, a Facebook fan page, or who knows what. With a solid API and Services that interact with them, it seems like it'd be a piece of cake to scan inventory, retrieve a list of products, etc.

So, I'd reach out to them. It definitely fits with one of our major goals for the project, and it would be a fun test case to play with the Services module. : )

patcon’s picture

Got a reply from Rylan Barnes of Big in Japan:
http://getsatisfaction.com/biginjapaninc/topics/drupal_commerce_communit...

We would love to play! Our pricing backend (called PriceNark) is ultimately flexible and can fit the needs of any system. Our only constraint is for the product to have a barcode number to lookup (otherwise, how could you scan it).

Due to the federated nature of Drupal, it probably wouldn't be wise for PriceNark to query each instance individually in real time. What about a model that worked in reverse, where Drupal admins could push their inventory into PriceNark's databases whenever there were changes?

Could that work? I'm new to Drupal and am still trying to get the hang of how folks use it for online and local commerce.

In light of Rylan's response, I stumbled across a previous blog post in which they give a run of the API:
How to build your product API for ShopSavvy

REQUEST

http://api.provider.com?barcode=012345543210

RESPONSE

<Response>
  <Product>
    <Title>Toothbrush ABC</Title>
    <Image>http://www.acme.com/pic1.jpg</Image>
    <Image>http://www.acme.com/pic2.jpg</Image>
    <Image>http://www.acme.com/pic3.jpg</Image>
  </Product>
  <Offers>
    <Offer>
      <Merchant>ACME</Merchant>
      <Quality>New/Used</Quality>
      <Price currency=”USDollars”>14.99</Price>
      <Link>http://www.acme.com/product/123</Link>
      <Phone></Phone>
      <Address></Address>
      <Latitude></Latitude>
      <Longitude></Longitude>
    </Offer>
    <Offer>
      <Merchant>Store XYZ</Merchant>
      <Quality>New/Used</Quality>
      <Price currency=”USDollars”>14.99</Price>
      <Link>http://www.storexyz.com/product/123</Link>
      <Phone></Phone>
      <Address></Address>
      <Latitude></Latitude>
      <Longitude></Longitude>
    </Offer>
    <Offer>
      <Merchant>123 Store</Merchant>
      <Quality>New/Used</Quality>
      <Price currency=”USDollars”>14.99</Price>
      <Link>http://www.123Store.com/product/123</Link>
      <Phone></Phone>
      <Address></Address>
      <Latitude></Latitude>
      <Longitude></Longitude>
    </Offer>
  </Offers>
</Response>

Slight aside: Since every size package and every repackaging of the item must have a unique barcode (which translates to SKU/product), could this lead to awkwardness for store-owners when managing inventory? Will it be inconvenient in any way if they are required to create a new product for what they perceive as a slight variation in packaging? In the current setup, will this make it difficult to compare product sales over time?

As for the specifics of Rylan's push suggestion, I imagine any solution would involve some combination of Rules and Services. Also, not sure how this might fit in, but there is a PubSubHubbub Hub module in the works:
http://drupal.org/project/push_hub

Not a coder myself, so anyone have any thoughts on how this could be done?

patcon’s picture

rszrama’s picture

Pushing changes out when they're made locally wouldn't be a problem at all. I'd probably take the approach of queueing changes up for export on a cron job. So, you edit 5 products over the course of an hour, and the next time cron.php runs it send them all out at once and updates the local queue as complete (assuming we receive a positive confirmation message back from ShopSavvy). This can be integrated through Rules or through my own module, Export Queue.

As for packaging, Drupal Commerce is already set up this way. We had systems like this in mind, so every variation of a product is already going to be forced to have a unique SKU. If you can imagine the Ubercart setup and reverse it, that's what we have. So, in Ubercart, you have a single product node and attach as many attributes to the node that you want with the option of specifying a unique SKU per attribute combination. In Drupal Commerce you setup attributes as Fields on Product Types and then create Products that must select an option for the attribute and each have a unique SKU.

Seems like this could be a fairly simple operation. Only other thing you'd likely need is an initial export once the site is ready to go live.

patcon’s picture

Thanks for the info Ryan!

I realize you're busy and would need someone else to take the helm on this, but I'm not particularly a coder, so I don't think I'm that person -- I was just really hoping to drum up some support.

I'll try to dig into your module when I get a chance. Maybe this could be my first contribution, but having said that, if anyone else would be interested in poking around, feel free to jump in on this thread!

patcon’s picture

Might be relevant:

Proposal - Rules data transformation plugin
http://groups.drupal.org/node/58928

Work-in-progress master's thesis for integrating Services with Rules 2 in Drupal 7
http://klausi.fsinf.at/master-thesis-about-drupal-and-web-services

rszrama’s picture

Status: Active » Postponed

Because this is a contrib thing, I'm going to mark it postponed until a contributed module project can be opened up.

rszrama’s picture

Component: Commerce » Contributed modules

Just updating the component since this would have to be a contrib module.

rszrama’s picture

Status: Postponed » Closed (won't fix)

Been a long time; closing this out.