Monday, 4 April 2011
My Professional Background (Digital TV Software)...
If I am to write about professional topics in software engineering offering my opinion and the like, then it's fair I provide some bit of background into who I am professionally. I'm afraid I don't have that much of a story to tell, but I'll try to tell a story just like one's told in one of my favourite books Founders at Work: Stories of Startups' Early Days (Recipes: a Problem-Solution Ap) although I'm not nearly as great as those guys, but aspiring to get there some day ;-) Okay, this post isn't going to tell the story as planned, the story will be left for another post. Below is just a snippet of my current professional background.
I am in the business of software development in the field of Digital TV systems. What's that then?? Have you heard of a gadget called a Set-Top-Box (STB)? It's a cool little box that brings you digital TV to the home, offering you hundreds of channels and interactive applications, no doubt a couch-potato's favourite tool :-) You drive the STB through something called an Electronic Program Guide (EPG) - which is basically an application consisting of a few screens providing information to navigate the TV schedule, control the TV, etc - basic STB & EPGs are called Zappers that give you access to basic TV services and a limited schedule, possibly offering a feature called Reminders that allows the viewer to set reminders for programs in the future. Advanced STBs & EPGs range from Personal Video Recorders (PVRs) or your TiVo, allowing you to pause and rewind live TV, watch one program and simultaneously record other programs. Traditionally, these STBs were limited to the broadcast domain: satellite, cable and terrestrial. Like so many technologies, depending on the region, different standards are implemented - it also depends on the technology suppliers chosen by broadcasters. More recently though, with the ubiquitous internet and the plethora of interconnected devices being driven by the rapid growth of smart phones, STB technology is forced to follow suit by offering Internet services, collectively grouped under the moniker IPTV. For an overview of IPTV systems I highly recommend IPTV and Internet Video, Second Edition: Expanding the Reach of Television Broadcasting (NAB Executive Technology Briefings).
Anyway, there is still very much an ongoing battle for the living room with products like GoogleTV, AppleTV, Netflix, AmazonVOD, BT Vision, Roku (to name a few) that are competing and trying to disrupt the marketplace, which, in my opinion is always a good thing, especially since traditional broadcasters have long since enjoyed a monopoly, trapping consumers into their product walled gardens with strict pay walls...Sorry, I'm digressing. More on my thoughts about this particular industry in future blog posts ;-)
The fundamental technology that brings us this beautiful world of TV, is the family of standards called MPEG, Moving Pictures Expert Group. Another fundamental technology to this is content protection, or Conditional Access. Remember that PayTV broadcasters are offering premium content to paying subscribers, this content needs to be protected to prevent piracy, etc. Conditional Access is the backbone to securing revenue for the PayTV operators. If you're looking for a good overview of this technology domain, then I must refer you to no other than The Essential Guide to Digital Set-Top Boxes and Interactive TV
The STB in your home is just an end-point. A lot of things has to happen before-hand. I won't go into the details now, but just understand for now that the STB needs to receive a signal from somewhere, just as your mobile phone will not operate without a valid signal. Just as you have some transmission medium that enables you to receive mobile signal (those base stations / transmitting stations), so too is there a similar transmission and distribution medium for TV signals. And to get TV, you need content, i.e. something to watch/listen. This content needs to be prepared first for transmission. To get the nice TV program in your living room, content needs to be created, converted to some format and distributed to your home in some way (cable, satellite, telephone line, etc). This all requires intensive computer systems, called backend or Headend systems. Without a headend, your (traditional) STB is useless.
So what have I done that qualifies me to speak on this subject??
I have personally written STB EPGs (known as STB Interactive applications MediaHighway, OpenTV), ranging from your simple zapper boxes with simple graphics, to advanced screens with 7 day program guides and PVRs (generally powered by top 3 chipset vendors ST, Broadcom, ARM each with its own porting layer). STBs are no different to PCs and needs an operating system function, I've written low-level operating system components that enable EPGs to run. I've also written Headend applications in the IP domain, particularly contributing to IPTV streaming and VOD encryption systems. I have worked with STB manufacturers, Software Consulting and Middleware/CA/Headend technology providers, including PayTV Operators (Multichoice, DirecTV, BSkyB, Sky LA, Telecom Italia, Softbank, etc). As an engineer I've written code running in over 25 million homes in all the continents, as well as headend systems serving thousands of users. I've also managed the production of STB system software (Middleware Stacks), involved in multimillion pound projects and therefore have direct, first hand knowledge of not only developing STB and Headends, but also innovated on accessible EPGs to make them more easier to use, for example a Talking TV. Overall, I believe I have relevant, well-rounded experience and a versatile skill set that qualifies me to contribute to the Digital TV subject. I'll refer you now to my LinkedIn profile until I follow-up with another post going into detail into some of the projects I've worked on, including the story of how I came to be involved in software...