by Gary Myers

Earlier this year, ObjectVideo released an updated OV Ready specification and the corresponding OV Ready reference application (which now includes an ‘event push’ functionality) to our partners to incorporate onto their devices. In addition, we provided the 1.0 version of our new web UIs, which we call the ObjectVideo management console.

For those who are unfamiliar with OV Ready, it is an ObjectVideo program that constitutes a protocol specification, reference code and compliance tools to allow interoperability between various devices and applications with respect to video analytics operations and alerting. More detailed info is provided on our website.

Even though that one-sentence summary is quite a mouthful, think of HTTP as an analogy. At a basic level, it is a protocol that specifies how web browsers and web servers can talk. It doesn’t matter if you are using Firefox or Chrome or IE, you can still talk to IIS or Apache. OV Ready is similar except the focus is on ObjectVideo OnBoard configuration, rule management and event output. We want to make sure all ObjectVideo-enabled devices (cameras, encoders, servers, etc.) can be used by a wide variety of management applications (VMS, PSIMs, etc.) regardless of type or brand.

At the technical level, the OV Ready specification defines a protocol that uses XML over HTTP/HTTPS. OV Ready is based on the REST architectural approach versus SOAP (I’ll do a post on the differences in the near future). What this means is that the XML is easy to read and the API is based around HTTP URIs so that everything is easy to understand. In fact, OV Ready and its use of REST heavily influenced the PSIA to recommend REST be the architectural basis for all forthcoming specifications, not just the standard for analytics.

Conveniently enough, the OV Ready specification fits perfectly with the creation of a browser-based user interface – the web UI – primarily for rule management and parameter configuration. Because ObjectVideo also provides a reference application (with full source code) that any of our OEM partners can use to easily make their devices OV Ready-compliant, we decided to create the web UI to rely solely on the reference application to just send/receive the OV Ready XML and to serve static HTML, CSS, JavaScript, and image files. What this means in technical terms is that the web UI utilizes AJAX to dynamically create all the pages purely on the client’s browser – no server-side scripting (like PHP, Ruby, Python or Perl) was used.

For the graphical elements, such as defining a tripwire or area of interest, we deliberately stayed away from browser plug-ins such as Adobe’s Flash and Sun’s (err… make that Oracle’s) Java to reduce the requirements and compatibility issues. So we chose to stay strictly with JavaScript and the canvas supported in the latest browsers.  We require Firefox 3 or higher or Internet Explorer 7 or higher, although from a pure JavaScript performance perspective we recommend Firefox over IE, and IE 8 over IE 7. Informal tests showed that WebKit browsers like Chrome seem to work, but these have not been through complete testing to ensure proper layout in all cases.

Overall, I’m really pleased with the ObjectVideo management console. We were able to draw upon years of experience and feedback on our existing tools to create something that is more powerful and yet still user-friendly. Being web-based,  it more easily integrate with our various partners’ products, either alongside their existing web pages or embedded into a traditional client application. Browser technology has certainly come a long way and now really allows creation of rich, interactive web applications such as ours using just HTML, JavaScript and CSS.

Please share!

Tags: ,

2 Responses to “update OV Ready: willing and able”

  1. John Honovich Says:

    Gary, thanks for the detailed explanation.

    Do you have an on-line demo or video that shows the Management Console ‘in action’? I am trying to get a better sense of what it does and how it is used.

    Are you concerned about future issues with bugs / incompatibilities using AJAX? AJAX is fairly mature but cross-browser variations in implementation can create problems, especially if the third party (like a camera manufacturer) does not have on-staff specialists who understand those details and issues well.

  2. Gary Myers Says:

    Hi John,

    Right now we don’t have an online demo of the management tool, although it is in our plans since the UI is a perfect fit for that.

    As for AJAX incompatibilities, I’m not sure how much of an issue that will be since it is so prevalent in the market and the biggest push as of late in the browser wars is Javascript performance. For example, all of Google’s apps use it to provide a better experience. That being said, we do have minimum browser requirements and will continue to test new browsers and versions as we go.

    Under the covers we use a pretty common toolkit called jQuery which is well supported in the industry (even Microsoft is going to utilize it more with Visual Studio 2010) so there is a whole community providing fixes as needed. Actually, most of the cross-browser issues are not with AJAX but with CSS and layout support. We added more browser-specific code for this than on the Javascript side especially for older browsers (I’m looking at you IE 7!).

    As for OEMs having to diagnose and fix issues, obviously OV does provide them support. However, with all the source given to the OEMs and the fact that we use well-known technologies it does become a lot easier for them to modify our code to either fix issues or to add new functionality.

    -Gary

Leave a Reply