Created several proof-of-concept webapps in 2017 experimenting with ideas that will make virtual meetings more immersive. Our approach was largely inspired by the Star Wars™ films. If you remember, the Jedi Council held meetings in which remote participants were sitting in seats using holographic projections of themselves and vs. versa. I prototyped the same two-way immersive meeting idea using WebGL 3-D and WebRTC in web browsers.
websockets more than AJAX but AJAX is still used in every web app I create. While AJAX was originally intended for XML and SOAP payloads, I now use JSON as the payload of choice.
Flash plug-ins used a similar XMLSockets protocol which is why I didn't start using AJAX until Flash was winding down. More recently, since 2016, I've used WebRTC for client/server communication since it supports binary data communications in addition to low-latency video streaming over UDP.
Experiences using this skill are shown below:
[I know, this section just echos the same stuff as on the résumé. I plan to expand later.] Worked with PhDs, staff and university interns researching disruptive technologies. Barco Labs deliverables are research papers, patents and demos. Any research that might become a viable product in 2 to 5 years is then passed off to one of the product divisions. (Due to the trade secret nature of this research some details cannot be revealed.) Accomplishments:
Developed several browser-based video playback and video device management applications. Some examples (in reverse chronological order): [I know, the section below is too wordy. I'll improve later.]
Engineered the high-performance tile-map server technology for the company that provided all the custom map overlays displayed by the universal map applications (above). Features included:
Designed and implemented complex, real-time, universal map display applications in Adobe Flash for the web and CocoaTouch for the Apple iPad that yielded a significant increase in revenue and helped achieve financial independence for the company (according to the President/CEO, Maurice Bailey).
Designed and created all of the Universal Flash Viewer plug-ins including all the graphics art work. They were all implemented in pure ActionScript 3 without the use of the main timeline. All ActionScript code was contained in separate source files. All plug-ins followed a standard design pattern:
The redesigned map plug-in solved a long-standing problem with the old map plug-in that was actually a port of some old code written by someone else. The new plug-in required a lot less memory, was a lot less buggy and it could show dozens of different base maps from multiple map tile servers. All of this could be configured without touching any code (unlike route-me and OpenLayers). The map type selected in this screenshot was the USGS topo map. The pushpin labels were draggable and individually displayable.
FlyteComm wanted to put the map tile servers under that same RSA SecurID gateway as the ASP .NET servers but the company's server infrastructure did not allow that plus there were known scalability issues. To demonstrate to IT there was a better way, I setup a VMWare virtualized system to prototype a better server infrastructure. The system consisted of:
Many of FlyteComm's customers had proprietary map overlays that they didn't want others to see. However, FlyteComm's array of virtualized map tile servers were shared among all customers. I updated my FastCGI tile server C++ code to authenticate every tile request using MD5 HMAC authentication using secret keys known only to the tile servers and ASP .NET app servers.
Developed a prototype version of the FlyteComm Universal Viewer for the iPhone/iPad as a marketing tool to guage customer interest. This prototype iOS app generated so much customer enthusiasm that the company went full speed ahead developing it into a real product. The iPad/iPhone application was written in Apple's Objective C for iOS 5 in XCode 4.3. There were many challenges. We could not use Apple's MapKit, based on Google Maps, because of Google's licensing restrictions on commercial use.