Like all great films - and awards ceremonies honoring those films - there are plenty of behind-the-scenes players contributing to their success. In the case of the 2012 Orange British Academy Film Awards, one of those players was of the more literal variety: Brightcove’s Video Cloud Smart Player, which the British Academy of Film and Television Arts (BAFTA) used to display a wide-ranging assortment of video content leading up to and following its annual awards ceremony in London.

If you're a fan of Chrome Developer Tools, you might be frustrated by the lack of similar debugging capabilities on your mobile devices. Sometimes you want to inspect the DOM, print messages to a console, modify styles on the fly, or peek into local storage.
It is an exciting time! Career Fair season is once again upon us. This past week our Brightcove team went to three different schools and met some great students. Check out the schedule below to see if we are going to a school near you.


The function bc.core.cache() is great for all kinds of things: saving user preferences, saving application state, or saving "favorites," as in a reading list.
Here are some functions for managing an array of "favorites" in the cache. In this case, the favorites are news articles (objects), each identified by a unique ID:
Apps are full of lists—articles, videos, events, and so on—and these lists are often created dynamically with JavaScript. Say you're creating a list of news articles. Your HTML might begin like this:
<ul id="articles"> </ul>
How should you fill the empty <ul> with content? There are two basic approaches:
I recently had the opportunity to participate on a panel at the Business Video Expo (BVE) in Miami Beach. The topic, Video in the Cloud: Leveraging Hosted Solutions for Enhanced Communications, allowed me to share some best practices for online video strategies with an audience that was clearly eager to amplify their own initiatives.
I can't say enough good things about image transcoding in App Cloud: It's a snap to use, it saves bandwidth, it speeds up your apps, and it makes users happy. We just added two new features to make it even better:
You can now crop images on the fly! To crop an image, just add crop=x,y,w,h to the transcode URL, where x,y is the top left coordinate. Take the following image (originally 425x282):
"Lazy loading" doesn't mean you're lazy. It's simply a technique for deferring an operation until it's absolutely necessary.
If your template has multiple views, you should consider building up each view when the user enters it—and not before. You'll save memory and improve the performance of your app by preventing all your business logic across all your views from running at the same time.
App Cloud templates can be organized in any form or fashion, with one exception: the manifest file must be at the root of the template directory. Otherwise, you can use any conventions you like.
In my templates, I like to have one JavaScript file per HTML file. For example:

Like great cars and great fruit, App Cloud takes a "hybrid" approach to app development, combining the power of native device platforms with the flexibility of HTML5 as a development framework. For cross-platform, content-centric apps, this approach saves time and money—and the results can be astounding. Consider the areas where each platform shines:
What a great start to 2012! The Brightcove Community Team is really excited about the momentum and activity we saw in January! Here's a snapshot!
WHAT'S NEW?!
We are very excited to announce that registration for Brightcove PLAY 2012 is now open! Visit play.brightcove.com to learn more about the event and to register today. If you register before May 1st, you can take advantage of our early bird pricing rate and save $500, so make sure you act fast!
If you're trying to make AJAX requests from within the Workshop app—for example, with $.get() or $.ajax()—you'll notice nothing happens. Why? AJAX requests cannot be made across different domains.
App Cloud provides a device method for this very reason:
bc.device.fetchContentsOfURL(url, successCallback, errorCallback);
This asynchronous method can be used to load any kind of textual data, from JSON to XML to HTML. For example:

Looking for a great JavaScript validator? Check out JSHint. (We use it in the App Cloud SDK.) Be prepared for lots of warnings! You can throttle them down by turning off certain options like not requiring "===" in equality statements (although this is usually a good thing).

Designing a tablet UI often means making two different UIs: one for portrait mode and one for landscape mode. But it's easier than it sounds—and you can do it entirely with CSS.
Let's say you want to display a list of videos in two different ways: as a top-down list in portrait mode and as a grid in landscape mode. First, start with some CSS that applies to both portrait and landscape modes:
Whenever you interact with native device capabilities, be prepared to handle errors. Device functions return an error code whenever things don't go according to plan. For example, when scanning a QR code:
Caching data with bc.core.cache() will improve the performance and "stickiness" of your app. Here are three reasons to do it:
Seconds matter, especially in mobile phone apps. While you're waiting for new data to load from the server, you can display cached data. Often, the data will be the same. In any case, you're giving the user something to process instead of just a spinning wheel.

I just smashed my personal content feed optimization record in App Cloud. The original feed, a YouTube playlist, clocked in at 176KB. Whoa.
Check out these Chrome extensions for your next App Cloud project:
Generate a QR code for any URL, including your manifest file (manifest.json). Perfect for quickly loading your template into the Workshop app.
Remember doing stuff like this?
<div id="hello" onclick="alert('hello!')">Hello</div>
Or this?
document.getElementById("hello").onclick = function (evt) {
alert("hello!");
});
Or this?
document.getElementById("hello").addEventListener("click", function (evt) {
alert("hello!");
});
Or this, with jQuery?
Earlier today we announced that Matrix, the digital company of Telecom Italia, has chosen Brightcove Video Cloud to support its online video initiatives for the consumer news and entertainment website, Virgilio.it. Virgilio is one of the largest consumer sites in Italy with 15 million Web users per month, providing email, media sharing, news and location-based services to Italian-speaking users around the world.
In the past few months, there has been a raging debate about the relative merits of native vs. HTML5 applications. Obviously, Brightcove is a supporter of the hybrid application model.
We are happy to announce that smartycontent, a multimedia communication aggregator in Spain, has chosen Brightcove Video Cloud to power its i_smarty multimedia content player. smartycontent's service was launched with more than 7,000 video and has grown to reach an audience of 12 million unique users.
We’re thrilled to announce that Brightcove App Cloud has been shortlisted for a GSMA Global Mobile Award in the Best Cloud-Based Technology category. The awards, which honor excellence and innovation in mobile communications, will be presented at a ceremony during Mobile World Congress in Barcelona on Tuesday, Feb. 28.

The ringing in of every new year brings with it emphatic resolutions from across the globe to exercise more, get in shape, eat better, lose weight, etc. It also ushers in a host of articles, newscasts and blog posts - like this one - addressing those often hollow proclamations. Interestingly, online video is quickly becoming a tool that can help people keep those resolutions.
Mobile apps are proven to be effective in generating business value. But unless you are satisfied with a cookie cutter app from one of those app generators (I suspect that most reputable and respectful organizations won’t be), developing and managing your custom mobile apps could be very expensive and involve a lot of hidden costs. This is the case whether you are building an army of native app developers in-house or outsourcing the project to external development agencies.
Growing faster than any other segment of online advertising, online video advertising generates hundreds of millions of dollars in revenue each quarter for publishers from major media companies to special-interest websites.
For the second consecutive year, Brightcove Video Cloud powered the live streaming of Samsung Electronics’ Press Conference at the 2012 International Consumer Electronics Show (CES), Las Vegas, US.
Started in 1967, CES is the world’s largest consumer technology tradeshow. The 2012 International CES was the largest in the event's 44 year history, with a record number of more than 3,100 exhibitors across the largest show floor in CES history.
What do macaroni and cheese, peanut butter and jelly, and franks and beans have in common? Yes, they're all delicious. But more importantly, in each case the whole is greater than the sum of its individual parts. Peanut butter by itself is delicious, but it's made better with jelly. I feel the same way about video and apps:
Video breathes life into apps while apps provide a contextual framework for discovering and delivering video.
In December, the Video Cloud product team was hard at work releasing features to help our publishers increase engagement with their video content and streamline their publishing workflows. Read up on December’s release here, but don’t forget that you can always check up on the most recent release on our product updates page.