This is the Building a Product panel at the UC Technology Commercialization Forum on May 8th. Next to me are Dr. Christine Ho of Imprint Energy and Dr. Michelle Brown of Olfactor Laboratories, as well as the moderator Dr. Thomas Lipkin of UCLA. The picture is pretty low res, because it was cropped from an iPhone 4S photo taken 25 or so feet away by my wife. I should have brought my good camera for her to use…
On Thursday May 8th, I participated in the “Building a Product” panel at the University of California Technology Commercialization Forum at the Westin Hotel near San Francisco Airport. The day-long event had presentations by researchers who have products that are nearly ready to commercialize, as well as panels and talks by venture capitalists and members of industry.
The “Building a Product” panel was right after lunch, so it had great attendance. It was moderated by Dr. Thomas Lipkin from UCLA. The other panelists were Dr. Christine Ho of Imprint Energy and Dr. Michelle Brown of Olfactor Laboratories. We all had very different experiences in the transition from academia to startup, so the panel had plenty of different perspectives.
It was exciting to hear UC President Janet Napolitano mention Hiperwall and the other companies by name during her opening address!
Homeland Security Today magazine has published an article about how a powerful, yet cost-effective Hiperwall video wall solution helped the Coast Guard modernize their command center while maintaining and enhancing capability in a budget conscious manner.
Click the link in the paragraph above or use the URL below:
The Hiperwall Engineering Team had a great, carnivorous lunch yesterday at Agora in Irvine. We celebrated development of significant technologies and features for our next major release. It was a fun time of tasty food and top-notch nerd talk!
We are hiring at least one Territory Sales Representative to sell Hiperwall systems. We are looking for candidates that have some sales experience (a year or two), as well as basic understanding of computer networking.
Hiperwall is a startup that makes software to drive video wall systems, and as our software scales for systems with just a few displays to systems with more than a hundred displays (yes, some of our customers have huge systems!), the sales growth potential is huge. The position is based in Irvine, CA.
If you or anyone you know is interested, check out:
These are pictures of NASA’s new panoramic image from the Opportunity rover on Mars being displayed on Hiperwall. The image has more than 180 million pixels, so it would be very hard to see well on a single monitor. With Hiperwall, we can see the whole image, as shown in the first picture, by zooming out and having it fill the width of the wall.
Zoomed out to fill the Hiperwall’s 20 monitors
We can the zoom in and see more detail:
Closer view of Mars on Hiperwall
When the image is shown at full size (1:1 zoom), there is tremendous detail visible on each monitor:
Close-up Mars on Hiperwall
The Hiperwall software makes it easy to view high-resolution images such as these, as well as movies, streaming video, and live data feeds.
The Hiperwall booth at InfoComm in Las Vegas went very well. We brought a 12 monitor wall, consisting of 46” NEC thin-bezel monitors on a Premier mounting system and driven by Technovare Core i5 set-top PCs. We also borrowed two 55” monitors with embedded AMD PCs to show that our software is very flexible and can drive standalone monitors or even multiple display walls. We mounted the two monitors back to back on a single Premier mount with one monitor facing the aisle and the other into the booth. Our final configuration was the 12-panel wall, the 2×55” monitors configured as a separate wall, and a large-screen HP laptop configured as a third display wall. All these were controlled by a Gateway touchscreen PC and connected via compact 24-port gigabit Ethernet switch. Our sources were several minitower i5 and i7 PCs. One had a Datapath capture card connected to a 1080p Sony camera, while another had a webcam feed from a fancy D-Link pan-tilt webcam (we can control the pointing of the camera from the Hiperwall Control Node via our Sender’s built-in KVM capability), and another PC was running a very large, dense, and dynamic Excel spreadsheet that looked great on the display wall and showed that live content from proprietary applications is extremely easy to show on a Hiperwall.
A primary focus of our presentation was to show our new animation capabilities, so we ran a pre-release version of Hiperwall 3.0, and had several animation sequences configured into what we call “environments.” Our most spectacular one is a high-res photo of the Earth (NASA’s Blue Marble 2012) rotating (yes, we know the earth doesn’t rotate that way, but it looked good) with the Moon orbiting around it. The movie below is similar to the environment we used at the show, but we had our logo and other content on there as well. The major difference between our software and traditional video walls is that the animation is not a movie. Instead, we can animate any of our display content, including live feeds, on the fly, either through pre-built animations defined using our simple keyframe interface or via our XML-based web services interface. This means changes to animation steps or content being animated are trivial, which gives us a huge leg up on the traditional approaches.
Another animation we showed was a set of travel poster images designed by Saddle Ranch Digital for the Hiperwall system they installed for JetBlue. These spectacular posters were given life by our ability to move, scale, rotate, and filter them in real-time in animated sequences.
When these animations were running, passers-by stopped and stared, and many of them were intrigued enough to stay and talk to us and learn about our system. We had visitors from all over the world stop by. Some were customers, while many were dealers, integrators, and consultants. We even had a few of our competitors visit to see our product.
I believe the show went well. The booth looked good and all hardware worked! The Hiperwall software performed well, too, despite being a beta version (we did catch a bug with the Secondary Controller, so I’ve already fixed that). Many of the visitors that saw our capabilities told us they were very impressed, which is gratifying to hear that our hard work is well-received. Next year’s InfoComm is in Orlando, so I’ll hope to see you there!
I will be presenting “Hiperwall: Building a Product from University Research” at the UCI EECS Graduate Student Colloquium on 5/23. The presentation is linked below.
For several versions, Hiperwall software has offered a web-based External Interface (hereafter called the API) that allows external programs, including web browsers (yes, including Safari on iPad and iPhone) to open content and environments, close content, clear the display wall, etc. The Hiperwall 2.0 software added the ability to assign position and attributes to specific content as it is opened and to shutdown or sleep the wall (and wake it afterwards).
Hiperwall 3.0 adds an XML-based API that provides significant enhancements, including the ability to animate objects through sequences of commands that can change position, rotation, and visual effects, such as transparency and color filters. New abilities to query the size of display walls and specifications of available objects make it possible to write an application that can tailor itself to a display wall, even if that wall is comprised of multiple sub-walls distributed throughout a facility. These powerful API capabilities are similar to the new animation capabilities built into Hiperwall 3.0, an example of which is shown below, but even more flexible, since the API can be completely dynamic. The API turns a Hiperwall system into a giant sprite-drawing canvas where the sprites can be images, movies, live data feeds, streaming videos, or slideshows of any of them.
These new API capabilities are so powerful that I decided to write an example that showed just how dynamic Hiperwall content can be. Sure, a program like a slideshow or something similar would be pretty, but we already support slideshows natively, so I needed to come up with something really dynamic that demonstrates the ability to maintain control over a very energetic animation. I chose to write a Pong-like game called HiperPong. (My initial thought was Space Invaders, but I chose to simplify the idea to Pong because I want the program to be an example for our customers that want to use the API). This article explains the concept of operations for HiperPong, but does not provide code or documentation of the API. The source code and API documentation will only be available to Hiperwall customers via their authorized dealers once Hiperwall 3.0 is released, so please don’t request them from me.
HiperPong is a small Java program that runs on a networked computer (I’ve only tested it on Windows, but it should work on Mac or Linux). The UI is minimalist, as shown below. Since the program doesn’t have to run on the Hiperwall Control Node, a box at the bottom allows the user to type the hostname or IP address of the Control Node. The program then connects to the Control Node and queries the display wall dimensions, allowing the user to choose to play on a specific wall or all the displays together. It also queries the available content objects, and allows the user to choose objects for the two paddles and the ball. While the defaults look nice, you can make the ball a live video from a webcam or capture device, for example. There are two options to choose: whether to clear the wall when starting (so you can play the game over top of existing content running on the wall or not) and whether to have the program play by itself (otherwise the A and Z keys move the left paddle and the / and ‘ keys move the right paddle).
Once the user clicks the Start Button, the PlayingField code draws the center line down the middle of the wall and the left and right paddles, as well as the initial 0 and 0 scores. It does so by creating a Drawable object for each of them. Drawable is a class included in the HiperPong example code that maintains the state of a single object and allows the user to show the object on the wall and then animate it, and finally close it when it is no longer needed. The program makes the XML code to create the objects in the specified positions, and then uses an HTTP POST operation to send the commands to the Hiperwall Control Node. Each object is given a name (specified by the HiperPong program using a unique ID generator) at creation time. That name is then used by the program to modify the state of the object via the API. In this way, user programs can use their own mnemonic object names rather than having Hiperwall force names upon them.
After the playing field is created, the Game code starts a periodic task that runs 30 times per second. Each period, that task checks the status of the keys (if not auto-playing), sends commands to move the paddles, if appropriate, checks whether the position of the ball collides with the top and bottom walls of the playing field, checks if the ball is contacting the paddles, checks if the ball is out of bounds (scoring a point for one of the players), and sending a command to move the ball. The movement commands are not instant move commands, which would appear jerky, but use the Hiperwall software’s ability to interpolate movement, rotation, and other effects between the current state and the new state over a specified period of time. This allows smoother animations without having to manage at too fine-grain a level. The ball changes angle if it hits near the upper or lower edges of the paddles, and when the ball is hit by a moving paddle, the paddle imparts some spin onto the ball, which is causes the ball to rotate as it moves. If a score occurs, the old score value is commanded to appear to fly away by shrinking and becoming transparent while rotating 180 degrees, while the new score zooms into position from a very large and partially transparent starting position. The ball then resets to the center, blinks a few times, and then starts moving at a random angle. The game ends when one side gets 9 points, simply because I only made numbers from 0 to 9 as images that I imported to the display wall. A video showing HiperPong autoplay is below.
The HiperPong code shows how networked programs can use the Hiperwall API to create and manage very dynamic content on a Hiperwall display wall system. The API allows such code to create a named object, show it in a specified location with specified appearance effects, then animate it using absolute or relative movement and rotation as well as change the appearance over time. The HiperPong code shows how multiple XML commands can be combined into a single HTTP POST operation for efficiency. The code provides examples that can be used by Hiperwall customers to make their Hiperwall into powerful digital signage or advanced monitoring systems that can dynamically show events when they occur. These new capabilities to command the system over the network mean Hiperwall systems can be flexible, beautiful, and extremely useful with simple software using the API. Though HiperPong is written in Java, the API can be used by anything from Objective C to Python and anything that can make HTTP calls and process simple XML.
The Hiperwall 3.0 software is in Beta test at the time of this writing and will be shown at Infocomm in Las Vegas in June.
An occasional moment of fun in the Calit2 Visualization Lab as the Hiperwall team checks out video games on the Hiperwall system:
http://youtu.be/RSUlBdDK2ds
Dr. Sung-Jin Kim brought a Playstation 3 and his guitar to play Rocksmith. The video shows other games, including Battlefield 3 and Tetris. I can be seen briefly playing a co-op game with Sung-Jin.