Every week or two we spread the word of Node.js and the incredible things it can do by profiling creative, interesting and fun uses of Node.js in various products and projects. We call it “In the Loop.”
This time we are looking at MediacenterJS, a fully functional media center application that runs in your browser. We spoke with Jan Smolders about MediacenterJS and how you can view your movies and listen to your music with it – all from the comfort of your favourite browser on your favourite device. Before we get into our questions, here’s a quick bio of Jan:
“I’m a 27 year old frontend developer working for a company called ISAAC in Eindhoven, the Netherlands. Before that I was working as a graphic designer for various companies. I studied Interactive Media Design (also in Eindhoven).”
Can you tell us about MediacenterJS? Why did you build this with Node.js??
Jan Smolders: The basic premise of MediacenterJS is that it should be equivalent to something like XBMC but easier to customize and easier to use cross device – for example, with PCs, NAS, ARM and mobile devices. I started working on it after using XBMC on my Raspberry Pi. Although it worked just fine, it was quite slow and building a custom skin or adding content was quite a hassle. Also viewing movies on a Chromebook and Android tablet wasn’t as easy as I would like it to be. So being a front-end developer I started looking for ways to build a similar application that fits my needs in a language I felt comfortable with. Which led me to Node.js.
Coincidentally, the company I work for was looking into Node.js at the time as well, so I jumped at the opportunity to be the first in the company to learn Node.js. MediacenterJS started as a study into Node.js but got way out of hand.
Did you experience any challenges or limitations with Node.js?
The biggest problem I had with Node.js is the dependency to Node-gyp. Don’t get me wrong, it’s great that it exists and it expands the capabilities of Node.js tremendously, it is a enormous pain to get it working on Windows and ARM based systems. So for instance for the database I use DBlite, a great module for SQlite that does not depend on Node-gyp.
But probably the biggest issue I have had during the development wasn’t Node.js related. It was the HTML5 video support of browsers. There are still so many bugs and limitations it makes my head spin.
How did you keep your development on track?
Jan Smolders: To keep the development on track I used Trello to keep a clear view of the things that still needed doing. But mostly sheer enthusiasm for the project, spending loads of lunch breaks talking about the implementation of features with colleagues.
MediacenterJS is coming this Fall and it is completely free. Why did you choose to make this available free?
Jan Smolders: First of all this is a pet project and I’ve gotten so much help for communities like Stackoverflow, colleagues and friends, I could not sell this and keep a straight face. Also I hope people will try MediacenterJS and decide to build amazing apps and themes for it. So I encourage people to contribute. When the project goes beta, I’ll include as much documentation as possible to make it easy to get started. Even if you have limited Node knowledge.
Currently the project is almost at the alpha stage. But people can already check it out on Github and NPM and try it out. Although currently buggier than the final product of course.
Are there future plans to enhance MediacenterJS?
Jan Smolders: So basically I plan to release a beta version this fall. giving people a chance to get to know the project and use it in there homes. After that I plan to add several features I currently have on my wishlist, such as a Remote Control app and UPNP. Ideally, by the time the project hits the final release, there will be several apps and themes available. Eventually there will also be a Linux kiosk distro with MediacenterJS preinstalled. So you can put it on a flash drive or on a Raspberry Pi.
Do you have any other Node.js projects in the works?
Jan Smolders: As side from additional apps for the MediacenterJS framework I do not have any Node.js projects in development. Building this project is pretty time consuming as it is. That being said, I’m so thrilled by the possibilities Node.js offers I’m looking forward to new Node.js project.
Thanks for chatting with us, Jan.
If you have a cool Node.js project or product you think we should profile, reach out to us at [email protected] and we’d be happy to get you In the Loop.
- What’s in the upcoming Node v0.12 release? Six new features, plus new and breaking APIs.
- Ready to develop APIs in Node.js and get them connected to your data? Check out the Node.js LoopBack framework. We’ve made it easy to get started either locally or on your favorite cloud, with a simple npm install.
- Need for Node? Learn more about both the private and open options StrongLoop offers.