Announcing the Napster API Preview!
Recently our counterparts over at Napster were discussing the upcoming release of the Napster API with us. The first preview was available at the Music Hack Day in Boston in November. While we were discussing I had asked if we should help connect the Remix community with the new API and run a preview for a limited number of users. The Napster team thought it was a great idea.
So without further delay, here are the details of the Napster API Preview:
- Users will be accepted on a first come first serve basis. We have a certain number of users we are able to accept, but we would like to get an idea of demand before we put a cutoff on the number.
- Documentation for the API and a private discussion group will be provided via Google Groups. Myself along with a Napster team member will be on-hand to provide support and answer any questions.
- We will run the preview until Monday January 4th, 2010.
What about the API itself?
The Napster API is a REST API with the 8 million song Napster catalog including:
- Napster radio stations
- Billboard charts
- Playlists
- Album artwork
- Related artists
- More details will be provided via documentation
Where do I sign up?
Send an email to remix@bestbuy.com with the following information:
- Name
- Email address you would like to use in the Google Group
- Make sure you state you are interested in the Napster API Preview in your email
- Once we get an idea of demand I will start sending invites and notifying people. I will also post updates here if we hit our user limit.
We are looking for very strong and honest feedback (positive and negative), when applying please consider if you will have time to provide feedback within the preview timeframe. If you create an application during the preview it may end up in the gallery of the Napster Developer Portal when it launches. I’ll also do a write-up about it here on the Remix Blog to make sure you get the credit you deserve!
UPDATE (12/11): I’ve invited those who have applied so far. I still have room for more developers or interested parties. Please let me know if you are interested!
Schrodinger’s Category.
Investigating a recent comment in our forums, we ran into something kind of tricky.
Jonny is looking for the child products of three categories on bestbuy.com that, it turns out, don’t actually have any child products in our systems.
Here’s one of them on bestbuy.com: http://www.bestbuy.com/site/Televisions/LCD-TVs/pcmcat193400050017.c?id=pcmcat193400050017 – 166 products as I write this.
And in Remix: http://api.remix.bestbuy.com/v1/products%28categoryPath.id=pcmcat193400050017%29?apiKey=bvn7tg3ftneqbun2h67ae7nu&show=name,sku,regularPrice,salePrice – 4 products as I write this.
Why the disconnect? It’s “working as designed,” sadly. We use FAST for both search and site navigation; many of the pages of bestbuy.com are powered at least in part by our search engine. One of things that this lets us do is create virtual sets of products, and that is what you are seeing on the page I linked above. Internally to dotcom systems, we’ve created a custom query path in FAST that concatenates all of the products we want to show on that page.
Unfortunately, this feature was not created with information redistribution in mind, so Remix can’t see it, and thus we can’t recreate this portion of the hierarchy.
I have some ideas about how we might address this, but right now, we don’t have a solution.
- Kevin
quick PHP example using curl
I wanted to take a moment to write a quick example using PHP to grab some results from the Remix API. You will need the ability to run curl in PHP. If you’re unsure, please check the PHP docs here. The following example displays the full array on the page, an array for one product and how to access a product attribute. Just add in your API key to make it work.
API Performance and 504 Errors
We’ve been noticing an increase of 504 errors in our reporting as well as I’ve recieved some comments from users about the API being slower to respond than normal.
We are aware of the 504 issue, and this will be fixed in a release next week so stay tuned for that update. Thanks in advance for your patience!
TopCoder and Remix Work Featured in Weekly Ad
Over on the Remix Challenge site I put up a cool little announcement about how the work that was performed with the help of the TopCoder community ended up getting some love in the Best Buy Weekly Ad Insert.
It’s a cool story, proves that not all of the good ideas are found internally, and shows off the power of crowdsourcing.
Head over to the Remix Challenge and check it out!
API Archives Currently Unavailable UPDATE: Files Available!
It appears that our full API Archives are unavailable right now. We are investigating the issue and I will provide an update on this blog post as well as on our twitter account (@bestbuyremix) when I have more information.
UPDATE: Archive files are now available. Thank you for your patience.
Minnebar 2009 Recap
What is Minnebar you might ask? This quote is from the Minnebar website:
For nearly four years now, a small yet growing group of Minnesota tech and design professionals have been striving to bring their various communities close together and make them stronger. It started with Minnesota’s first BarCamp and continued with the creation of nearly quarterly demo events where geeks could show off what they were working on. While we are continuing to collectively com together at these events each year, there is even more on the horizon.
Best Buy offered to help sponsor the event, and the event itself was held at the Best Buy Corporate Campus. Overall the event was very well run. There were multiple conference rooms offering a wide variety of sessions (I was sad I was only able to attend so few of the total offered). Also at various points a monitor was up showing the schedule, and a twitter feed of all the #minnebar activity. This was actually the first BarCamp I had ever attended. I’m just going to do a quick rundown of the sessions I attended, and what they were about:
Marketing via Social Media – This discussion was led by Alex Hawkinson and was directed toward using social media versus traditional marketing to be found not just globally, but locally as well. Much of the crowd discussion was centered around successes of social media strategy. Things such as keeping fresh content, not just using it as an ad platform, etc. I personally take it as reach your customers in the manner they choose to be reached. If you are not providing content I don’t like, I don’t have to listen to you. It’s much much easier to tune out marketing methods you don’t like now than it ever has been.
Also, while the social media space is perceived as ‘free’ or cheaper marketing my many, the actual human element and involvement required is much much greater. It was a good discussion with many people sharing great examples.
Sausage Making: Communication Lessons from the Open Source World - This was led by Samir Nassar. We centered around making things that you may consider uninteresting or mundane and talking about them and getting people interested.
The great thing about this topic is that you can see it everywhere. Take the show Dirty Jobs for instance. It takes (mostly) mundane work, the kinds of things that happen everyday and nobody ever knew how they worked and makes a show out of it. People watch it obviously, I know I love watching it. It’s basically the same method here. What you might think is boring in your daily work or project other people will totally geek out about.
One thing that stood out to me that someone brought up was “How do you keep your secret sauce, secret?” Obviously the answer was you don’t in an Open Source world. The one thing I would add is that if you have a good idea, someone will always try to copy it. It’s usually just a matter of time.
Assholes are Killing Your Project - This was led by Donnie Berkholz. This is a topic that would be near and dear to the heart of anyone who has ever dealt with a community before (online or offline) and had issues with one or multiple users. We discussed the amount of positive interactions it takes to balance out one negative interaction (which has been shown as five positives to one negative).
This was a really interesting discussion where multiple people shared their experiences about dealing with problem users and various solutions. The one question left to be solved (and it may never be solved) is what happens when participation in your community is completely free and voluntary? You can’t necessarily remove those people right? I loved this session. Update: Donnie provided slides from the session here.
Crowdsourcing Platforms: What works, what doesn’t? – This was led by Mike Ellsworth. I actually ended up sitting with Mike during lunch and we discussed some things like our work with TopCoder. Mike went through various crowdsourcing platforms and some use examples. Then we had a discussion around our own uses and platforms.
Interesting moment in this one, someone had asked about the human element and reporting on events in Africa. Namely in terms of how you determine that the data you are receiving is accurate, which is obviously pretty hard especially when it comes to events happening in another country that may not be on the news. The entire session was interesting, and even better was listening to all the examples of uses for crowdsourcing that you may have never thought of previously.
Remix + Adaptive Avenue: A Commercial Application of Best Buy’s Open API – David Quimby started this discussion, he was showing off his use of the Remix API in his affiliate widget type implementation. I obviously decided to attend to answer any Remix questions and also just give a little more complete overall vision of the API. I ended up answering quite a few questions as well about future functionality.
App Engine Experiences – Dan Frankowski and Max Harper from BlueShift were on hand to demonstrate creating an app with Google App Engine. Along with the demo they explained some of the benefits, limitations, and comparisons of App Engine versus other similar services. I personally don’t have any experience with App Engine but I wanted to attend to get an idea of what it’s all about, mostly because I’m considering trying to teach myself a new web development language, something that I haven’t done in a very long time. The guys did a good job showing off the basics of App Engine and answering questions from the crowd.
Overall I’d say I attended a good mix of sessions. Just watching the twitter feed it looks like some of the ones I didn’t attend were where the controversy of the day was located. You can check out the twitter search link above and probably see what I was talking about.
At the end of the day I was able to connect with a few people and answer some additional questions and clear some things up about the API. I also got to learn tons about what other people are working on and their background. The great thing about an event like this is that I have a high chance of running into most of the people here again in the near future.
I’m excited to go to the next one (and hosting our own Remix session), I’ve also taken some of the things I’ve learned here and seeing what it would be like if we hosted a Remix developers conference. Those of you that use Remix and those that are considering, what would you think about that?
Holiday Store Availability Reminder
As many of you probably know, one of the largest shopping days of the season is in just a few days. Many of you have probably already seen or heard of Best Buy’s doorbuster items this year.
Remix provides Store Availability based on forecasting and current supply on a daily basis. This time of year those numbers are quite volatile, and on Black Friday especially which makes it hard to predict.
Also, we are going to set the Black Friday doorbuster SKUs to <inStoreAvailability>false</inStoreAvailability>. So if you currently are not filtering by that attribute, you should to ensure that products are not displayed incorrectly.
If you have questions, comments, or concerns please feel free to reach out here on the blog, forums, or twitter.
Random thoughts for a Friday night
When we talk about Best Buy Remix we talk about a lot of things. We talk about opening our data to the world, agile in a massive enterprise and trying to do our part in making the internet a better place just to name a few.
We get asked often why people should use our API. I won’t get into any examples here but Joe has made a great post here you can check out. What I’d like to say on the topic is that our data is valuable and free. Beyond building a better Best Buy, which we believe people can do, our data can be used in many ways which is only limited by imagination. Our data will continue to grow and evolve in our journey and we already added an additional 1.2 million products for one of our brands. Now that the hint is out…find it.
One of our engineers commented the other day that we probably have one of the most transparent API’s through our communication. It’s funny because we feel that we still have a ways to go for the vision we have in transparency. We want to make sure you are getting updates on what we are up to, where we have been and where we are going. Our goal is to give back to the community in every way we can. Hopefully someone, even a competitor, can learn from our mistakes and improve on what we’ve done.
At times it can be odd being an Agile team in such a large enterprise. We’ve only begun in the awareness, teaching and getting people to understand that we are not just the crazy team named after a mix tape. We work with waterfall teams everyday and have to strategize on how to deliver things to our Agile world without getting hit by too much mist from the falling water. When we talk about Remix we are an XP (Extreme Programming) team that pair programs driven by TDD (Test Driven Development). We’re driven to bring OSS into the enterprise and make it a better place by doing so.
As a team we are going to dedicate to making this blog a better place. If you’re interested in the journey, we’ll offer any knowledge we can on how we accomplished such an API.
-Bryan
I’m a Mac, PC and Remixer.
Kevin beat me to the punch when we talked about writing a blog post about our moving to the Mac from the windows platform. If you didn’t read his blog post check it out here. Here is my story.
My Journey to the Mac started with a decision. I’ve been a heavy Windows user for years. I’ve managed servers running Windows and supported the OS for most of my computer using existence. Maybe my decision was more of a dilemma, when I really think about it. I’ve been looking for a new laptop for the past year or so. My addiction to technology is similar to how a heroin addict lets the drug deplete his paycheck. Here I was knee deep in a withdrawal state of technology.
When I started with Remix I was entered into an environment where our whole development team uses Mac’s and two of our other teammates are what you call “Fan Boy’s.” With that being said Mac’s were entered into my life in all their shiny goodness on a daily basis. I’ve always liked the idea of being able to boot both operating systems and give OSX a real shot. After asking some of the common questions on how well the virtualization works I was nearly sold on the idea. Only two things really were holding me back from overdosing on technology. I have a love and appreciation for the two mouse/trackpad buttons that you get with every PC and well the Mac is expensive. On the MacBook Pro you can now set the bottom right click of the multi-touch pad to right click. Problem 1 solved. Problem 2, time to go sell some blood.
I finally hit the order button on my MacBook Pro with the 2.66GHz processor and 4GB of ram. I also ordered the Matte screen and the faster rpm hard drive. I can now be as cool as Justin Long. This wasn’t what I would call my first attempt at jumping into the cool and hip world of OSX as I had bought a Mac mini when they first came out but only used it a handful of times. I really couldn’t find anything to make me want to use it. I made a promise to myself that this time would be totally different as the Pro was not an expendable expense like the Mini was.

I’ve been using the Mac almost exclusively for the past two months. I did bootcamp a Windows 7 install and then use Parallels to Virtualize the install. I only use it when I have to. I truly wanted to give OSX the real shot I felt it deserved. With that being said, I’ve been on a learning adventure. Things are much different from someone that knows Windows very well. OSX is far from a perfect operating system all the Fan Boys make it out to be. It has it’s own quirks and it’s funny watching Kevin and I find them separately and talking about them. In my next couple of blog posts I’ll talk about what I like and don’t like. I am also going to have a Remix Technology blog post coming out soon discussing what we’ve been up to over the past couple months and reflecting on it.
-Bryan




