Introducing Pannellum

After a year of on and off development, Pannellum, a free and open source panorama viewer for the web, is ready for release. Built using HTML5, CSS3, JavaScript, and WebGL, it is plug-in free. The lightweight viewer, just 18kB gzipped, can be deployed using a single file and displays full equirectangular panoramas. One can easily embed panoramas in web pages as an <iframe>, using code generated by the included configuration utility.


Almost all previous web panorama viewers have been plug-in based, be it Java, Flash, QuickTime, et cetera. With growing browser support for WebGL, this is no longer necessary. As of writing, approximately half of the browsers currently in use support WebGL. With proper graphics drivers, recent versions of Firefox and Chrome support WebGL by default. In addition, recent versions of Safari and preview versions of Opera have WebGL support, although it is turned off by default. The notable exception to WebGL support is Internet Explorer, with no versions, including the preview release of IE 10, having support. Although large swaths of Internet users run browsers that do not support WebGL, support is steadily growing. Plug-in based solutions may have better support today, but WebGL and standards based development is the future.

One last feature that gave Flash an advantage over HTML5, was full screen support, but in the past few months this has changed. While still an early draft, the Full Screen API allows for web applications to programmatically enter full screen much in the way Flash does, allowing for a more immersive experience. When development on Pannellum started, this was not the case, and I originally implemented more limited full window support by opening a larger popup window. This original method is still supported for older browsers that support WebGL but do not support the Full Screen API.

Pannellum was started as I could not find a good plug-in free panorama viewer. The closest I could find was a three.js demo that displayed an equirectangular panorama. While it worked for the one image, everything was hard-coded, it lacked user friendly controls, and was missing basic features. In addition, it relied on a large, 64kB gzipped, JavaScript library. Pannellum displays a panorama using the same method as this demo, but the similarities end there. Although featuring a much improved user interface; embedding support; configuration using URL parameters; title, author, and license information; and full screen support among other things, Pannellum is still much smaller and easier to deploy. This is in large part due to work to carefully strip the three.js library down to the bare minimum needed using a JavaScript profiler. A Python build system is used to first minify the JavaScript using the Closure Compiler and the CSS using the YUI Compressor, then insert these along with data URIs of the images into the HTML file before finally running it through an HTML Compressor to produce the final viewer.

The initial release of Pannellum can be downloaded here, or one can see the project on Github.

Posted in | Tagged , , , , | 28 Comments

Last Moments of Blue Jay 3

After a number of previous successful test flights, Blue Jay 3 careened out of control with 1.75kg of payload, its wing snapped mid-flight, and it crashed into the ground at relatively high speed, splintering and cracking the fuselage. Fortunately, it didn’t hit anything or anyone on the way down, and Blue Jay 4 is still in one piece. The exact cause is unknown, but it appears to have been loss of aileron control after the wing warped, sending the plane into a sharp left turn. The force broke the left half of the wing off where it was attached to the fuselage.

Warped Wing

Careening

Broken Wing

Remnants of Fuselage

Aftermath

Flickr

Posted in | Tagged , , , , , | Leave a comment

Blossoms in Baltimore

Due to the unseasonably warm weather this year, the trees are blossoming in March here in Baltimore.

Blossoms

Blossoms

Blossoms

Blossoms

Blossoms

Flickr

Posted in | Tagged , , , , , | Leave a comment

Snow

A good six inches of snow fell here today. The birds and squirrels were still out, however. It was quite enjoyable watching the squirrels as they leaped and dug through the snow in search of food, freshly buried under a layer of white.

Squirrel on Snowy TreeBird on Snowy Bird FeederSquirrel with Nut in SnowSnow SceneSquirrel Jumping in SnowAzalea in SnowSnow Covered SquirrelBird in SnowYew in Snow

Posted in | Tagged , , , , | Leave a comment

Canon PowerShot SD400 Infrared Cut-off Filter Removal

Silicon, in the form of a digital camera image sensor, is sensitive to near-infrared light. However, digital cameras use a cut-off filter to block these wavelengths. Removing this filter makes the camera sensitive to near-infrared, and replacing it with a filter that blocks visible light but is transparent to near-infrared light allows for infrared photography.

All of the following photos can be enlarged if clicked. Sample images from the modified camera are at the end of the post.

Continue reading

Posted in , | Tagged , , , , , , , | 24 Comments