Building a Web-Based Music Player with Information Studio and Application Builder

by Justin Makeig

Information Studio is a new product that simplifies loading information into a MarkLogic database. It includes browser-based tools and high-level APIs that allow you to easily collect, transform, and load information from a variety of sources. Combined with Application Builder, Information Studio changes how you build rich, interactive information applications.

In the video above, I walk you through loading content with Information Studio and creating a search application using Application Builder. Not just any search application, though. I use iTunes metadata and a little HTML5 to build a web app that allows you to search for tracks in your iTunes library and actually play them in your browser. (Who hasn’t wanted better search for iTunes?) Because I like to listen to tunes on the go, I also built a mobile version of the application using Application Builder’s new extensibility hooks.

Both Information Studio and Application Builder ship with the latest version of MarkLogic Server. You can download it for free and get up and running with your own application in minutes. You can grab the code that I use to extend Information Studio and customize the Application Builder application from the project page on GitHub.


  • I figured out (with a little help from a friend) how to get it to work with http-get rather than document-get... Good stuff!!!
  • I've tried to get this to work to see some features of HTML5. Thus, I downloaded Chrome and Safari because the versions of Firefox and IE that I have don't seem HTML5 friendly. I am trying to get the iTunes files from my laptop on the network using "http" instead of "local files" in the xdmp:document-get. Now, I can click on the result and it changes to blue, but nothing begins playing. Since this video says that there are more videos to come and I can't find any more videos on the subject, I'm wondering there are details about settings for xquery or audio files that I have to configure somewhere, because it seems like whether I get a document from a local file system or over http that shouldn't matter...