30 Jun

Today we got our long awaited Hillcrest Labs reference kit. We are probably one of the first third-party developers on the new platform and would like to thank the good folks at Hillcrest Labs for the opportunity! For those not familiar with Hillcrest Labs, the company is the pioneer behind the first pointer–based, award-winning interactive media system for TV. Basically it’s a pretty cool HD set top box with a unique 3D controller that developers can write software for!
I must say, I was most impressed by The Loop, the innovative 3D controller based on the company’s Freespace motion control technology. It’s not only easy to use, it’s extremely accurate and actually fun! (This would make for great game controller!). Having used a number of 3D controllers in the past, this puts them all to shame. You can visit Infinity Labs for a demo of The Loop. The setup required a HD TV (so I had to bring one in from home) but otherwise it went pretty smoothly and by the end of the day I had successfully created my first “hello world” application!
The Hillcrest Labs development environment is interesting. It basically uses the Javascript language (which we have a lot of experience in) for interactivity/programming and its own flavor of SVG – an XML-based file format used – for describing both static and animated graphics. SVG is a new experience for us, but we are big Adobe Illustrator CS users which can be use to read and write SVG using a add-on (plug-in) from Hillcrest Labs. Over the next couple of weeks we’ll be building some applications on the platform and we’ll let you know how it goes.
30 Jun
I have always been a big fan of Rapid Application Development (RAD). Wikipedia defines RAD as:
…the term and its acronym have come to be used in a broader, generic sense that encompasses a variety of techniques aimed at speeding application development, such as the use of web application frameworks and other types of software frameworks.
In the past, the key to a lot of rapid application development has been the use of software frameworks or toolkits. Unfortunately these types of frameworks are sadly missing when it comes to widget development.
Recent entrants in the space have failed to deliver compelling widget RAD solutions for a variety of reasons. First and foremost, most of them (such as WidgetBox and ClearSpring) are marketplaces or distribution plays and have no real intention at being or becoming a toolkit! Although both WidgetBox and ClearSpring have things such as “Facebook App Generators” or accelerators, these simply try and stuff existing Flash-based widgets into new social networking platforms and are not toolkits per se. Others like KickApps see themselves as hosted, white-label platforms! The closest thing to a widget toolkit is probably Sprout Builder, but its feature set has limitations, some find that its “development” environment is complex, and users have no control over the memory footprint or branding.
In general, here are some problems with many of today widget toolkits:
So what’s the alternative? At Metablocks, we build custom widgets to exacting brand, size and platform requirements. We have our own “internal toolkits” that speed up the process when it comes to things like XML communication, tracking and user interaction, but these are small and agile software frameworks that bring no extra “weight” (or wait) to the project. Obviously many of the things we do, cannot be duplicated with a general purpose toolkit. Thing like two-way communication (even within social networks), custom tracking and reporting, advanced video and audio support to name just a few. In addition, if something goes wrong, there is always someone there to fix it. If you have tried a general purpose toolkit and are less than pleased with the results, please give us a call!
Once you have a custom widget that works, THEN you can a marketplace like WidgetBox to distribute it. Remember that most of these companies (like WidgetBox and ClearSpring) are trying to solve a distribution problem, not a development or design problem!
29 Jun
Here is a round up of some interesting UI related blog posts that have come out in the last couple of weeks:
28 Jun
We recently ported a Flash-based game to Facebook and were faced with some of the challenges of the Facebook platform imposes on Flash apps, mainly the limitations Flash applications have when communicating with their “container” (the Facebook canvas page).
When building and integrated a Flash app with its container, many situations come up that require you to pass information into the Flash application (via Javascript or Flashvars) and get information out of the Flash application (via Javascript or a redirected URL and a query string). Anyone who has build a more complex Flash application knows what I am talking about! Unfortunately, Facebook doesn’t support the type of communication.
Since Facebook doesn’t support external communication via Javascript or FBJS, and since Facebook doesn’t support navigation by the Flash application (via navigateToUrl or getURL), it becomes difficult to convert more complex Flash/Flex applications and widgets into Facebook application.

Since we do a lot of Flash to Facebook porting work for clients, we have to develop workarounds to many of the problems that plague Flash apps on Facebook. Here is one such solution:
Enabling Flash to Facebook Book to Flash Communication:
If you having problems porting your Flash apps and widgets to Facebook, let us know! At Metablocks, we love solving hard problems, especially Facebook related ones!