Portfolio

An accounting of some of the projects I am most proud of throughout.

Stretched Out Software Inc – 1999-2016

Multimedia Sales Tool, Lorenz Surgical – 2002-2006

One of the clients of my business intelligence company was a biomedical firm which specialized in sterilized instruments for cranial surgeries. Their advertising agency had created a web based tool which was supposed to be used for salespeople to visit a surgeon in an O.R. prior to several weeks of surgeries to get an order. They were unaware that the operating rooms are shielded and that wireless connections were not possible.

We were hired to visit with the customer and see what (if anything) could be done on the time table which had been set. The solution we came up with was to recreate the trays in which the instruments were delivered inside Macromedia Director with full interactivity for picking out what they wanted. The salesperson would save "configuration" files onto their laptops which were later printed as orders for fulfillment.

Macromedia Director

Multimedia Job Performance Aids, CSX, US Navy – 2006-2016

One of the projects that I'm most proud of was my involvement with a project which performed knowledge capture in the form of and audio/video multimedia tool. The goal was to capture the knowledge of workers on the ground and at sea who had sometimes figured out a better/faster way to accomplish sometimes life-saving processes. All ideas were documented and run by the subject matter experts (SMEs) to make sure they were still safe, captured in the form of photos and video and presented with an updated technical note. Some of these projects had huge impacts on the cost in dollars and lives to the crews which relied on them. My role in this project was to build and maintain the playback engine as well as to assemble the final product for delivery.

HTML, CSS, Javascript, Flash, Actionscript

Xojo Inc – 2011-2022

Xojo Cloud Hosting Service – 2012-2014

In early 2012, I was tasked with designing and implementing their proprietary cloud hosting system for use with their flagship Xojo IDE product and web framework. The concept was simple: Single-click build & upload of a binary web application to a VPS server somewhere in the world, and configuration of the back-end. The system needed to support multiple uploaded applications. Additionally, the system needed to have a robust security system in place to minimize the attack surface if at all possible. Each system has a smart firewall, intrusion detection and runs Security Enhanced Linux.

In addition to configuration of customer servers, the design required a robust back end system for communicating with the Xojo order and billing system so that user's could purchase a VPS from the Xojo website and have it automatically spin up in a datacenter of their choosing. Once running, the servers needed to be "controlled" from the desktop development environment in a secure way, but also easy enough for non-web savvy users to use.

Xojo, Bash, TCP, JSONP, HTTP, Automation

Xojo Inc – 2011-2022

iOS App for Conference Attendees – 2015-2020

In the winter of 2015, as my then employer Xojo was talking about our upcoming developer conference in Austin TX, a colleague and I decided we wanted to do a side project to run the newly released Xojo iOS framework through its paces. We decided to create an iOS app leveraging the new technology as a showcase of some things that were possible.

That first year, the main part of the app was just an event list, a map showing relevant locations and a news feed that we read in from the Xojo Twitter account. Each year, we gave ourselves a little more time for updates and the app grew to include Passbook Passes for the event which included time-based geocoded messages for the local major airport welcoming attendees as they arrived and for the hotel and event space, directing attendees to the correct locations. It grew to allow the users to "favorite" the events they intended to attend which automatically added the event to their calendar, touchID and faceID for authentication before leaving session feedback and remote notifications which were used to update the schedule and send out time-sensitive updates if necessary.

While the project was only worked on for 6-8 weeks a year, development spanned across six years including 2020 as the Xojo Developer Conference was scheduled to take place just a week after the WHO declared COVID as a worldwide pandemic.

Xojo DevOps conversion - Summer 2015

In early 2015 as Xojo was adding yet another building target, it came to our attention that we could no longer rely on the semi-automated build process that had been in use since 2006. The process for building the flagship Xojo IDE had reached 18 hrs from when we decided to do a build until we had ready-to-release installers for macOS, Windows and Linux. Collaborating with the current build engineer, I spent the time to convert the build process into GoCD. It took all summer, but by the time I were done, builds were down to roughly two hours. It was so successful that we added two more build machines and automated the rest of the internal and external projects over the next six months.

GoCD, Bash, Python, Automation, macOS, Windows, Linux

Xojo Web Framework 2.0 – 2016-2020

After five years maintaining the web framework which brought me to Xojo in the first place, the framework was starting to show its age as newer, more compact and more modernized frameworks like jQuery and Bootstrap became widely adopted by the masses. Xojo's users were asking for something that looked more like a web app and less like an attempt to bring a desktop app to the web (which was one of the primary goals of the first framework).

I spent a year researching and designing a new web framework nearly from the ground up, keeping the base Xojo HTTP engine, upgrading it for HTTP/1.1 compliance and rewriting the front end completely in TypeScript, using jQuery and Bootstrap as our base libraries. The goal was to rely on liberally licensed controls whenever possible so that Xojo could focus on the part of the product that was truly ours, the connective tissue that made Xojo web what it was supposed to be. A way for citizen developers to easily make web applications without having to know http, HTML, CSS and JavaScript to make all that happen.

We had a lofty goal for v2 of the framework which included having all of the controls which were present in v1, updated as necessary, as well as several new controls and all of this built on a system which was easily extendable with 3rd party controls. It was our goal to make 3rd part controls work just like Xojo's web controls so that we would know very quickly if something had broken that was not caught in testing.

JavaScript, TypeScript, CSS, HTML, jQuery, Bootstrap

Xojo iOS and macOS Framework Maintenance – 2018-2022

After the departure of our primary macOS/iOS engineer, I stepped up to continue work as necessary to bring dark mode and new features to the macOS and iOS frameworks. This work involved extensive work with Objective-C and C++ and the beginnings of exploring the possibility of transitioning the frameworks to Swift, although at the time, it never got past the concept phase.

Objective-C, C++, Swift