Concerto 2 Beta – DeltaOcelot!

Concerto 2 development continues to progress at a blistering pace! In just a little over two months (67 days for anyone counting), the Concerto team has released a second beta version – 0.2.0 “DeltaOcelot”. Perhaps even better news is that development pace shows no signs of slowing down and new versions can be expected on an increasingly frequent schedule. To get started head over to our installation guide here.

DeltaOcelot brings three entirely new and compelling features to the table. Support has been added for Vimeo videos. Youtube support is nice, but isn’t for everyone and options are always nice! Ticker text now supports basic HTML which should prove useful in distinguishing ticker text items of various importance. Finally, an activity feed has been added to help users quickly view pertinent information and updates.

In addition to new features, there are improvements to existing ones as well. Weather locations can now be specified by WOEID. The group management interface has been redesigned to be easier to use. Graphic caching has been improved, as has security. Finally, no incremental beta would be complete without an ample supply of bug fixes.

Please get in touch with us via our group or issue tracker if you come across a bug or have a feature suggestion for us.  You can find a full list of code changes for this “0.2.0 deltaocelot” beta release here.


Concerto 2 Beta

Five years ago today a half dozen students debuted “Concerto”, the home-grown digital signage system for RPI.  Today we’re proud to announce the first beta release of Concerto 2, building a much more robust an extensible platform for open source signage of the future.  To get started head over to our installation guide here.

When we first released Concerto 1 at RPI we had no immediate plans publicize the open source software powering it.  None of us were quite sure if the project was going to take off past the 2 maiden screens on campus, never mind have a place outside our small collegiate community.  We’ve been more than a bit surprised how well Concerto’s been received this far and are excited by all the interesting places screens have popped up.

If you’re looking at setting up a new digital signage system give Concerto 2 a try! We’re eager to hear any feedback and help with any problems that arise during the installation / setup process; let us know how it goes.  Reading our past early preview posts [1, 2, 3] will share an overview of the features you can expect to find in Concerto 2.

For the Concerto 1 users, this beta release includes all the core functionality you’re familiar with in V1.  Some of the more noticeable changes include a redesigned UI and workflow (the buttons are different, the nouns are the same), more granular authentication and authorization controls, and the notion of plugins so we can add support for additional content types to the system like RSS feeds, YouTube Videos, and more.  Behind the scenes we rebuilt the system from scratch, trading PHP for Ruby on Rails.

Those who’ve been living on the bleeding edge with us through the rockier early preview releases should find all of the current show-stopping bugs fixed in this release.  Everything that we knew about that was broken has been fixed and we made significant strides to achieve feature parity with the common V1 installation.  We’ve added a clock to the frontend among other improvements, tossed in a weather plugin, and fixed some misbehaving user management pages.  Thanks for all your help testing out the Early Preview releases!

Please get in touch with us via our group or issue tracker if you come across a bug or have a feature suggestion for us.  You can find a full list of code changes for this “0.1.0.charliehorse” beta release here.

Introducing Dynamic Content in Concerto 2 (and more!)

Concerto 2 has come a long way since we released the last update (0.0.2.alphamoose) back in December. Today we’re releasing the latest preview of Concerto 2, 0.0.3.bravochicken. This new build includes support for dynamic content, a fresh new content browsing UI, and dozens of backend improvements, bugfixes, and tweaks spread across over 230 commits!

To get started with the latest build of Concerto, check out our installation guide or view the 0.0.3.bravochicken tag directly. We’ve got virtual machine images, Debian/Ubuntu packages, and the regular old source code standing by to help get you up and running quickly.

Please note: this is an early software preview and a lot will still change from this version. The Concerto 2 Alpha is only for testing purposes and should NOT be used for actual deployments.

Dynamic Content

RSS Content Creation Concerto 2 introduces a plugin model to allow different types of Dynamic Content to be uploaded directly in the Add Content form letting you can setup an RSS feed in the same familiar place you would upload a new graphic. For now we’ve bundled Concerto 2 with plugins to support a very simple RSS display and YouTube video support. As we develop more plugins for the Concerto ecosystem administrators will be able to provide their users with a variety options when uploading content, hopefully with forms that don’t require you to serialize PHP arrays in your head.  We’re going to devote a full blogpost to the nitty gritty details of dynamic content in the future, stay tuned for more on this front!  If you’ve got a specific idea for a dynamic content source we should be keeping in mind open up an issue on Github.

Updated Content Browsing UI

Content BrowsingWe redesigned the core content browsing experience to provide a bigger window to show off the individual pieces of content in the system. For systems with lots of content, pagination lets users explore all the content in a large installation without an initial loading bottleneck. We also introduced some new filter controls let you rewind time to explore content of yesteryear or take a peak at what’s coming up in the future. If you’ve got Dynamic Content in the mix you’ll see Concerto 2 introduces stacks to collect all the content together under the it’s root.

Almost There…

Our first Early Preview release was shared with you back in late November. We quickly pushed out some updates in December’s release pushing Concerto 2 to to just about match the feature parity V1 provided. With this release we’ve tackled some of the harder challenges and limitations of Concerto 1 and I can safely speak for the rest of the team saying that we’re looking forward to sharing a stable beta release ready for testing in production environments quite soon.

After getting Concerto 2 up and running please send your feedback along to us (or send it along if you can’t get it up and running), we’ll be monitoring the Google Group closely for V2 related content and are keen to track down any bugs or unexpected behaviors that crop up.

New Concerto 2 Alpha Release: Frontend, Subscriptions, and More!

We’re excited to announce a new build of the Concerto 2 Alpha Release. Just in time for Christmas, this new build brings a working version of the v2 frontend used to display screen content, a new interface for managing screen subscriptions, a retooled administrator dashboard, and lots of other great additions!

View the 0.0.2.alphamoose tag on Github

Please note: this is an early software preview and a lot will still change from this version. The Concerto 2 Alpha is only for testing purposes and should NOT be used for actual deployments.

The Front End

We’ve put in a lot of work over the past few weeks to flesh out the software that displays Concerto content for all to see. Called the “frontend” in our technical lingo, this is the actual view that will appear on your screens. It’s organized by a template, which provides the screen layout and a background image. This build of the frontend includes some basic effects and can be used to view any screen that has been added by going to [concerto2]/frontend/[screen_id], where [concerto2] is the URL to your instance and [screen_id] is the numerical id for a screen you have added through the Concerto Panel.

Finally, A Proper Interface for Subscriptions

Screen subscriptions are the lifeblood of any Concerto display – they tell the screen which content feeds it should show, and how frequently. In the first build of the Concerto Alpha there wasn’t any nice way to manage these screen subscriptions. But in this build we’ve completely overhauled the entire interface. The interface is even simpler than in v1 – just click the “Add new feed” button to see a list of all feeds currently in your Concerto instance. You can start typing in the search box to filter the list. Click a feed to add it to your running list, where you can adjust screen frequencies with a series of sliders. These frequencies range from showing content in a subscribed feed very rarely to showing them often. When you’ve comfortable with your settings, just click the Save button lit up in blue to commit your changes to the database. When this is done, your screen will automatically pull down your preferences and assemble a fresh batch of content. It’s that simple.

Revamped Admin Dashboard

The Dashboard is your home base as a administrator to manage your Concerto instance and plugins. While we don’t have the entire plugin infrastructure in place yet, this will be where you go to activate and deactivate plugins, change settings, and view the status of admin utilities.

Other Changes…

We’ve increased the pace of development on Concerto 2 and have been making a huge number of tweaks and enhancements all over the application. Of note is a more accurate means of importing templates using XML descriptors. We are also putting bits of code in place to support our forthcoming plugin system, including view hooks that will allow plugin developers to expose settings and other views in the Concerto Panel.

We urgently need your help in testing this new build: please follow our new setup guide and post your feedback on our Google group. We hope you enjoy the new stuff and look forward to releasing another build with the full plugin infrastructure and other essential components within a few weeks. Enjoy the holiday and look forward to 2013 with us!

View the full list of changes between 0.0.1.alpha and 0.0.2.alphamoose here.

V2 Early Preview

Today we’re releasing an early tech preview of Concerto 2, bringing a fresh technology stack to the open source digital signage ecosystem that we’ve been cultivating for the better part of the past five years.  Concerto 2 has been rewritten from the ground up, providing a stable platform we can use to solve some of the challenges we’ve run into with version 1 like the confusing setup process, limited system configurability, and lack of support for new content types like video.  Over the next few weeks we’ll be releasing some of the new features Concerto 2 supports, starting today with the core stack.

This early preview release provides what we consider core Concerto functionality — the ability to upload content to feeds, have that content moderated by responsible parties, and then be displayed on screens subscribed to feeds.  This build doesn’t include many of the long-touted features like video support or better dynamic content; we’re committed to releasing these soon but need to start gathering some feedback on the core experience first.

If you’re interested in taking a sneak peek at what we’re working on in Concerto 2, I encourage you to follow the setup process here to get started.  Please note, Concerto 2 is still under heavy construction.  This software should not be used in a production environment. It is also not backwards compatible with a V1 database, so we’ve included a tool with instructions to import your V1 data into V2.

We’re aware of a handful of outstanding issues with this early preview, but we’d love to start getting your feedback to start ironing out as many issues as possible in the scope of this release.  Let us know what you think by posting your experience on the Google Group, or opening a bug on our Github Issue Tracker.

Note: Concerto 2 reports many production errors back to the development team using Airbrake by default.  At the moment this is an opt-out service, you can turn it off in the Dashboard or by deleting Gemfile-reporting.  We use this automatic reporting to help identify crashes and errors so we can fix them as quickly as possible.  We’ll post a blog with a bit more information on this process soon.

Moderation in Concerto 2

A key part of using Concerto is moderating content to appear on one or more feeds.  In Concerto 1, we introduced a very simple moderation feature that allowed people with control over one or more feeds to approve or deny submissions to their feeds.  The first version of the Concerto Panel featured a sidebar that always kept a running count of all submissions awaiting moderation.  For Concerto 2, we want to preserve the simplicity of moderation while incorporating it directly into our spiffy new Browse Content interface, which we hope will be a more streamlined way of perusing and managing content than what you saw in Version 1.  Let’s take a look.

Browsing content is faster than ever

The front page of Concerto 2, where you can peruse feeds in the network.

The new Browse Content interface combines the visual thumbnails of the Concerto Wall in Version 1 with a fast and fluid AJAX-enhanced navigation to give users a high-fidelity way of looking at content.  Right from the front page you can find a full feed list.  In Concerto 2 we’re introducing sub-feeds, which allow you to create simple hierarchies of related content categories.  For example, in my local copy of Concerto 2 I have an Entertainment feed, with several sub-feeds including Concerts and Comedy Shows.  Content can be submitted to one or more feeds as in Concerto 1.  So as you see here, on the front page of my local Concerto 2 install I have a listing of feeds and sub-feeds.  I can click on any of these feed titles to jump to that feed’s browse page.  With JavaScript turned on (though it works fine without it, too!), the page loads via AJAX in an instant.

The new Browse Feed page, centered on my Entertainment feed.

Here you see the Entertainment feed with several active submissions.  These have been previously approved to appear on the feed during certain date/time windows.

And now for the moderating

The new Moderate page listing. Note that there’s a defect with the number of feeds containing pending content that will be fixed shortly.

With the new Browse Content interface in mind, let’s take a look at how we handle moderation in Concerto 2.  We have a new top menu that appears at the top of the browser window while a user is logged in.  Here you see a big Moderate button, which is available in the top menu at all times if you are allowed to moderate one or more feeds.  In Concerto 2 as in the first version, feeds are “owned” by groups of users, all of whom have moderation capabilities over those feeds owned by their groups.

The Moderate button will display a count of pending submissions gathered across all of your owned feeds.  If I have nothing to moderate, the count inside the button is zero and it’s grayed out; otherwise, it’ll turn red.  When I click on the button, I’m presented with a list of my feeds containing pending submissions.

One way to moderate content – right from the Browse Feed page!

Now, instead of having a separate moderation view for a feed, it’s all integrated directly into the browse pages.  Pending submissions appear at the top of a feed’s browse page, and you can click the the button below each submission to approve or deny the content.  It all happens on one page, which means that you don’t have to keep clicking back and forth.  However, if you want to see a zoomed-in version of the content, just click on it to view.  We’ve carried the same Moderate… button across to this page as well so that you can approve or deny it right from this page as well.

When the content is approved, it’ll appear in one or lower lists on the feed’s browse page. And that’s all there is to it.  As with Concerto 1, you can change the moderation status of content at any time, either from a browse feed page or by clicking on and viewing a single content submission.

A moderator can also change the moderation status directly from the submission’s show page.

Try it out for yourself

Interested in playing around with the moderation interface on your own?  It’s live at  You can also join along with the development at our Github page.  Hit us up in the comments to let us know what you think about it!

Concerto Site Updates: Trademark Policy and Graphics

Interested in using the Concerto logo or name for another website, application, or publication?  We’ve added the Concerto Trademark Policy to our website.  This policy clarifies the usage of the Concerto identity and brand.  Check it out and let us know if you have any questions or comments about the policy!

In addition, we’ve added a new page to the site covering Logos and Graphics.  Here you can download PDF and PNG versions of our official project logo, in blue (the default colorset), black, and white (for cases where the logo appears above colored backgrounds).  We’ll be adding more information to both pages over the coming weeks, but we hope they are helpful to the Concerto community right from the start.

Frontend v2

As part of Concerto 2 we are completely rewriting the front end of the system, overhauling the JavaScript that powers the screens to be significant better structured so it’s easier to maintain, extend, and just play around with.  There will probably be fewer inappropriate comments as well (though we haven’t yet started to work on the automatic text-resizing problem yet… no promises).

Right now we’re developing the new front end using Google’s Closure Library, which will let us reap the benefits of well-structured object oriented JavaScript and minify really well using the Closure Compiler.  There isn’t as much documentation out there for the library as there are for many other tools like jQuery, Coffeescript, or Backbone.js but I was quite satisfied with the results when I used it for another project.  It seems to provide strong interfaces to lots of HTML5 components that we’d like to take advantage of as we push towards having offline capabilities and more interactive screen experiences.

If you’re curious about the technical details, the core of the frontend is a 5 layer cake.  I can’t draw a picture of a cake, but I can describe it in words.  At the bottom we have the Screen, which is really just used to encapsulate the whole process in one object and provide a standard connection interface to talk back to the Concerto server.  On top of the Screen we draw a Template, which right now consists of a huge image background (perhaps it could be HTML-based in the future) and bunch of Positions.  Each position represents one block on the screen, you see them in the backend when you’re previewing templates that show where your content will go.  Positions have a location to be shown and some styles, but most importantly they have a Field.  A field is where the Content ends up getting fetched, rendered, and transitioned into place.  They do most of the heavy lifting after the initial HTML scaffolding is setup.

To recap: Screen > Template > Positions > Field > Content.

In Concerto 1 there isn’t really any sort of layered cake in use, it’s much more like a fruitcake.  You can kind of see the different bits and pieces if you look really hard, but it’s mainly one big monolithic structure.

What does this mean besides a lot of extra files to manage when you’re working on the frontend?  Well for starters it let me refactor the code base to support what we call “mini screens” in about 20 minutes.  A mini screen is just that, a small screen that doesn’t take over the entire window.  You can see one when you visit right on the homepage, but in V1 that shares a completely different codebase (with an included memory leak for IE users) than the actual screen frontend.  Not so in Concerto 2, you can have a lot of screens on the same page without any additional work.

Four screens rendered in the same browser. Pretend the blue is the background and the green are fields.

Concerto 2 on Github

We’ve decided to use Github Issues to track Concerto 2 development.  We’ll be using the issue tracker and milestone system on our Concerto 2 Issues page to log all defects that are found with the software as we continue to develop, and also to plan out and share strategic objectives of our Concerto 2 roadmap.  We hope that by organizing everything in one place, right next to the Concerto 2 codebase, it will be much easier to keep tabs on our forthcoming release.

To view the Concerto 2 Issues tracker, click here.  You can also peruse the codebase here.

Right now, we’re bringing together a Requirements wiki page to keep track of all of our high-level requirements for v2.  We’ll be gradually turning those requirements into issues within our Github tracker.


Digital Signage on Google TV

The Fall update to the Google TV brought the Android Market to Google TV devices, allowing developers to write and publish applications for some digital-signage sized screens.  If you’re looking to run some digital signage on your Google TV you’re in luck, you can find a Concerto app in the Market today!

Concerto on the Android Market

Concerto for the Google TV lets you configure and connect to a Concerto server, letting you specify a server URL and customize a MAC address as needed.  If you’re interested in tweaking your server slightly, the device will also pass the current screen width and height as parameters in the initial URL.  If you’re having trouble sizing the screen manually like traditional Concerto v1 screens, you can use these to automatically set the size of the screen so content will render appropriately.

Don’t have a Concerto server but still want to check out a Concerto player?  The app comes pre-configured to connect to automagically connect to a demo server and pull in some dynamic content  keeping the information fresh.

The source code for the application is available on GitHub, and I encourage you to report any issues you run into.

Customize the URL and MAC address for Concerto on the Google TV