vPresenter
Altus' business was based around this rich media experience that tied together Video, PowerPoint Slides, navigable Topics and Scrolling Transcripts into one interface. Sam coded the last 4 major versions of vPresenter, beginning early in its evolution and introducing some of the key technologies that spurred its growth over Altus' history.
- Scrolling Transcripts
- A core differentiator that allows users to read along with audio - key for technical content and users who may not be speaking english as their native language.
- Search to Spoken Word
- Backed by vSearch's services accessed through AJAX users can search within presentations down to the spoken word, and then navigate to an area of interest quickly.
- Player Agnostic
- Adapter Pattern used to support either Real Player, Windows Media Player, Flash or Quicktime.
- Skinnable
- Highly customizable skinning through HTML and CSS.
- Embeddable
- Highly-flexible embedding capability with both a YouTube-like player and a fully-featured version that including all of its core capabilities.
vSearch
The bedrock of Altus' product offering, vSearch (also known as vPortal) was the culmination of a number of projects within Altus, tying together disparate pieces developed for particular client needs into one SaaS offering. vSearch provided customers with a portal to which they could publish and share sometimes highly confidential Video On Demand content within their organizations.
Here Sam coded in all areas of the application from persist, service, presenter and view layers. While he maintained his focus on the User Experience, he is also credited for overhauling the application at a fundamental level taking it from being a multi-tenant codebase, to a single-tenant codebase - greatly simplifying the customization of portal instances while making the codebase much more manageable.
- Search to Spoken Word
- vSearch's central capability allowed users to get search results within lengthy video clips at a highly detailed level, allowing them to see results from "transcript segments" with the video. From these results, users could then launch content at that point, share or even bookmark a particularly interest section of the presentation!
- Embedded Content Listings
- In addition to the ubiquitous Embbedd Player functionality in nearly all video solutions, vSearch also had a means embedded listings of content, allowing customers such as Cisco to leverage vSearch content directly within their own internal tools.
- Custom PowerPoint
- Building upon vSearch's command of a presentation's metadata, this capability allows users to add slides from numerous different presentations into one "virtual" presentation, which can then be shared with colleagues or exported into a "physical" file that includes not only the slide images, but the transcript of each slide embedded in the "notes" section.
Altus JavaScript Application Framework (AJAF)
In the early days before JavaScript frameworks were common place, developers had to "roll their own" for common JS tasks such as accessing the DOM, positioning elements, swapping classes and so on all while doing so in a browser-agnostic fashion. Altus' JavaScript-heavy applications were built around the "AJAF" framework (written nearly 5 years before prototype.js), with both vSearch and vPresenter leveraging the framework.
- Browser/Player Detection
- One of the biggest challenges in the early evolution of the internet was identifying and dealing with the variety of browsers and media players and their capabilities. AJAF's sophisticated detection routines allowed developers to write code that could deal with the idiosyncracies of each as necessary.
- DOM Manipulation
- The core of AJAF's capabilities were in facilitating accessing to the Document Object Model in a cross-browser way, allowing users to find and manipulate DOM elements without having to worry about browser inconsistencies.
- String Formatting
- Based of ColdFusion's convenient formatting functions, AJAF also allowed developers to easily format Date/Time Objects, pad numbers, etc.
- AICC/SCORM Support
- In order to facilitate AICC/SCORM support with LMSes, the necessary JavaScript to locate and communicate with their JavaScript APIs was built in to AJAF allowing either vSearch or vPresenter to communicate with products such as Cornerstone OnDemand, Saba, etc.