New Concerto 2 Beta Release – 0.4.0 FoxtrotFlamingo!

It’s been two weeks since our previous Concerto 2 beta release and we find ourselves at “0.4.0.FoxtrotFlamingo”. This release is jam-packed with UI enhancements and bug fixes. To get started, you can find our installation to get started in our Github wiki.

Most notable among the UI changes is a revamped dashboard. Previously, Concerto 2 had a bit of an identity crisis going on with an admin “dashboard” and a front page for logged-in users that acted a little as a dashboard of its own. We’ve rectified this by creating a consistent dashboard that is visible when a user logs into Concerto 2. The dashboard is broken up into a number of portlets and acts similarly to what you might expect: it’s a front door to everything you can do with the Concerto Panel. The dashboard tailors itself to your user account. If you have submissions to moderate, you will see a message right on your dashboard. If you belong to one or more groups or control screens, those will appear on the dashboard. An Activity Log of the latest happenings in your Concerto world appears along the right side of the dashboard. And future portlets will be coming!

A screenshot of the new dashboard in the Concerto 2 0.4.0.FoxtrotFlamingo beta release.

A screenshot of the new dashboard in the Concerto 2 0.4.0.FoxtrotFlamingo beta release.

The new dashboard is accessible via the root url of your Concerto 2 instance when you are logged in as a user, and it can be reached by clicking the big blue Concerto logo button in the top left of the page.

In addition, the administrator views have been reorganized into three main areas: Settings, Plugins, and Users. The Settings are grouped into several tabs based on common functional areas. We hope this organization will serve us well as we flesh out the final components of plugin management.

We’re really interested in your feedback about these changes to the Concerto 2 UI. Please tell us what you think in our discussion group and post to our issue tracker if you discover a bug or want to suggest a change.

You can find a full list of changes for this release here. Expect another exciting beta release in a couple weeks!

EchoInchworm Beta Release

We’ve just finished pushing our latest update to the Concerto 2 beta, “0.3.2.EchoInchworm”.  In the two weeks since our last release we’ve been busy addressing a handful of feature requests and bugs reported since the last release. You can find our installation to get started in our Github wiki.

Among the notable changes you’ll find support for legacy (V1) screen urls.  Concerto 2 correctly responds to urls like http://concerto/?mac=00:aa:bb just like Concerto 1 did.  You should now be able to test out Concerto 2 without updating the URL on your existing clients.

We also added a new <iframe> content type.  If you need to display a remote web page or dashboard, you can create a piece of content which will use an iframe to display the url on a screen.

This release also includes some speed improvements to content browsing and bug fixes to template importing (aka it works now, unlike the last release).

Almost as exciting as all of those changes is the updated demo system.  Head on over to http://nightly.concerto-signage.org and check out this Concerto 2 release running on Heroku.  If you haven’t taken the plunge yet, the demo’s worth checking out to see what Concerto 2 is all about!

Do get in touch with us via our group or issue tracker if you come across a bug or have a feature suggestion for us.  It’s great to hear when things work (or don’t) so we can improve for the future!

You can find a full list of changes for this “0.3.2.echoinchworm” release here.

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.

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 http://concerto.rpi.edu 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.