Jacobson Technologies1 was started in 1990 by Joe Jacobson in order to provide a variety of software services. Since that time I have gained extensive experience in a number of different industries.
Here are a few acronyms that are used on this page and in related industries:
Acronym |
Definition |
---|---|
API |
Application Programming Interface |
DSM-CC |
Digital Storage Media Command |
IPG |
Interactive Program Guide |
ISA |
Interactive Services Architecture |
ISA |
Industry Standard Architecture |
ISO/IEC |
International Standards Organizations |
ITV |
Interactive Television |
MPEG |
Motion Picture Experts Group |
MSO |
Multi-Service Operator |
VOD |
Video On Demand |
Much of my experience has been in embedded system programming for interactive television applications. As a technical lead engineer and senior software engineer for several years, my focus was to provide much of the system architecture, application design, and to implement some of the more difficult parts of these applications.
For example, I have been responsible for the following tasks:
MPEG Experience
While I am not able to provide details without revealing confidential information, here are some highlights:
- Developed numerous MPEG-2 private data carousel generation specifications and applications. These carousels can be streamed from video servers and received by digital set-top boxes, where applications can then read and process the data.
- Pre-existing MPEG-2 videos were modified to include private data as well - without compromising the quality of the existing video.
- MPEG-2 standards (ISO/IEC 13818), as they apply to MPEG-2 transport streams and private data.
- MPEG-2 standards (ISO/IEC 13818), as they apply to MPEG-2 DSM-CC messaging.
- Pegasus ISA standards as they apply to video on demand. This includes the Session Setup Protocol and ISA Architecture.
- Experience with proprietary, Motorola, nCUBE, N2 Broadband, MidStream, Video Propulsions (VPI) and other MPEG streaming systems. This includes support for both in-band, out-of-band and interactive network communication.
Digital Set-top box applications
A number of applications were created and validated through Motorola's Acadia Application Integration Center.
Video-on-demand applications
I focused these applications to provide Video-On-Demand functionality to the user through the TV Guide IPG. These applications have used the Motorola Interactive Network (an IP-like network) to provide application control of purchasing and controlling VOD movies. In addition, I gained experience developing a VOD application that did not have access to a Motorola Interactive Network, but only had modem access to a central controlling computer.
I designed and developed an application that would allow customers to navigate a VOD catalog of movies. The background of the screen was generated as a series of MPEG video frames and streamed from a video server. This application was developed as both a stand-alone demo and integrated with the WorldGate™ ITV system.
See the following for more information:
nCUBE (http://www.ncube.com)
Whitepaper: http://www.ncube.com/pressroom/downloads/tvgsheeta4.pdf
Broadcast-on-demand application
In this system, I developed a set-top application that works with the BigBand BMR that allows an MSO to "groom" all television channels on their network so that bandwidth is only required for channels that users are actually viewing. This allows the MSO to support more television channels with less required bandwidth.
See BigBand Networks (http://www.bigbandnetworks.com) for details.
Interactive Wagering Applications
I worked with a team of developers to create applications for EchoStart/OpenTV and Motorola set-top boxes. These applications allowed customers to place wagers on horse races in real-time.
See Television Games Network(TVG) (http://www.tvgnetwork.com) for product informationIPG 3rd Party Interface
I assisted with the design of an API that allows 3rd-party applications to work with the TV Guide™ Interactive Program Guide.
See TV Guide (http://www.tvguideinc.com) for product informationAdvanced Analog Set-top box Interactive Program Guide
I worked with a team of developers to create one of the first interactive program guide on an advanced analog platform, the General Instrument (GI)/Motorola CFT-2200. This application was integrated with several other vendor's applications to provide digital music and internet access, as well as other options to cable MSOs. The IPG was deployed in 6 countries in South America, in 3 different languages.
The application was developed using a mixture of C, C++, and 68xxx assembler. Most of the application code was developed in C++, while C was used to implement C++ classes which wrapped C APIs. Motorola 68xxx assembler was used for a small amount of glue code which provided initialization for much of the C++ runtime environment.
Due to the limitations of the processor being used, including it's memory access limitations, the IPG was made up of several different tasks, each of which communicated with the others as needed. An application framework was developed to minimize the impact of inter-application communication and synchronization.
See TV Guide (http://www.tvguideinc.com) for product informationAdvanced Analog Set-top Emulator
When development of the Advanced Analog IPG began, the hardware was not available to developers yet. This led to the creation of an emulator that allowed the set-top code to be developed, built, and executed on a Windows PC. The code for the emulator simulated all the APIs necessary for the client code to run as-built, and developers could immediately see the result just as they would on an actual set-top box. Since debugging was fully available from within the IDE used (MS Visual C++), the emulator turned out to be the environment of choice to create and test code for the IPG. Because it was easier to test as the code was built, development was much faster and we ended up with a more robust and stable application.
Debugging and load-testing tools
We built a test environment such that an array of many set-tops could be exercised at one time.
We built an application that would send IR commands to each of the set-top boxes simultaneously to simulate logical, or random user input.
I built an application to monitor the status of all the set-tops and their running applications as they were being load-tested. This application would immediately report to log files or through e-mail when an error occurred. This allowed for long-term testing under extreme load conditions. This technique helped lead to a more robust and stable application as it was able to exercise the entire application many times, over long periods of time.
I have developed numerous web sites. These include private Intranet web sites to support development efforts and public Internet sites.
See the following for some examples:
I have developed database applications for a Ministry which tracked information about donors and for people who wanted information about the Ministry, or wanted to receive a monthly newspaper that went out to over 300,000 people around the world. The design of the database applications focused on providing a user-friendly interface to the people who used them. Maintaining a robust, yet fast access to allow adding, changing, and querying the data was also a design goal. Extensive query mechanisms were put in place to allow sending periodic letters to certain people tracked in the database. The applications also supported interfacing it's data with a Computer Associates Accounting software package that then managed the financial information for the Ministry, as required for a non-profit 501(c)(3) corporation.
I also managed all of the computer systems in the Ministry, which included a Novell server and a large peer-to-peer Microsoft Windows network that was also integrated with the Novell network.
I implemented a custom mail gateway that allowed e-mail to pass from any user in the local office to any user in a remote office in Jerusalem. This was all done using a single Compuserve account over dial-up. I put in place a bulletin board system which integrated the custom e-mail system, as well as providing remote access (without IP) from users anywhere in the world. This allowed the principals to gain immediate access to the donor/donation database applications. Many small, custom utilities were built to provide all of this functionality, though the database applications were very sizable.
See Bridges For Peace (http://www.bridgesforpeace.com) for information.
TV Guide™ is a trademark of Gemstar-TV Guide International, Inc.
WorldGate™ is a trademark of WorldGate Communications, Inc.
All other trademarks are owned by their respective companies.
1 Jacobson Technologies also used the following names: Joe Jacobson's Commuting Computing and Simple Solutions (which is now trademark of another company).