How I Launched an Apple Watch App for FOX as a Co-op

Fox Technology
FOX TECH
Published in
7 min readFeb 9, 2022

By Jackson Hacker

On a chilly Monday in January 2021, I started my first ever co-op assignment as an inexperienced 20-year-old University of Cincinnati Computer Science student. For those unfamiliar, the UC Cooperative Education Program allows students to gain real-world experience throughout their program by alternating school and work semesters while earning their undergraduate degree. For my rotation, I had a position with FOX Sports working as a software engineer on the newly revamped FOX Sports mobile app. I was extremely nervous to touch such an enormous and widely used product, and I expected my responsibilities to be extremely limited so I wouldn’t be that intern who broke everything.

Little did I know, within the next year I would propose, research, implement, and receive approval to launch a brand-new FOX Sports product– the FOX Sports Apple Watch App.

Here’s how it happened.

Getting Comfortable

When I started at FOX, I was introduced to the team of engineers and all the tools we worked with. The first couple days were a whirlwind of phrases, tools, and acronyms that sounded completely foreign to me. The magnitude of the product I was working on was staggering– millions of users, tens of thousands of lines of code, and dozens of dependencies. I felt a bit out of my league.

I recall being told by my peers that the first week of my co-op would be very overwhelming and that I would eventually get the hang of things, and luckily, that’s exactly what happened. With a lot of help from my mentor, Sam, I became familiar with the tools that we used for testing. I learned to create mock data scenarios for the app and monitor network traffic, and I dove into the automated UI testing code in our iOS project.

The first project I worked on independently was an automated test suite for video analytics, which are an important moneymaker for the FOX Sports App, since they produce the statistics used to sell ads on our videos and livestreams. Previously, we were testing these manually by combing through network traffic while running videos and live streams.

The idea to develop this suite was mine, and my mentors on the engineering team allowed me to craft my own solution. I was not on my own, however, as I was always able to reach out for guidance, and my mentors would always give helpful suggestions when it came to reviewing my code. It was incredible to have ownership of a solid chunk of code and to be the expert on something for once; this was a true confidence-booster.

Scores on Your Wrist

Part-way through my final semester, Sam asked if I had any ideas for a project. As someone with an Apple Watch, I thought our Sports app ought to have a Watch companion. The mobile app had a ton of content centered around news, scores, stats, and video — way too much to fit on the Apple Watch. So, we settled on a list of games with recent, upcoming, and live scores.

Top Scores on iOS

The above screen in the iOS app shows current popular games and includes the league abbreviation team names, logos, scores, start times & odds information. For our proof-of-concept, we would see how much of this we could fit on the Apple Watch. I had about 10 weeks until the end of the semester. Time was ticking!

In software development, we have to break problems down into manageable steps. The first goal I had was to just display placeholder team names, logos, and scores on the watch.

Initial FOX Sports Apple Watch app prototype

Apple Watch apps and iOS apps share the same development tools and languages, but the intricacies of designing and programming screens are different. Unsurprisingly, the Apple Watch’s capabilities on the UI front are more limited than those of the iPhone or iPad. I had to do my own research about the Apple Watch’s quirks because no one else on the team had any experience with it.

Beyond the user interface, the watch app needed logic to retrieve scores from FOX servers and format it for delivery on the display. This logic is done in the iOS app and uses thousands of lines of relatively complicated code that ideally, I would be able to reuse. Unfortunately, due to the limitations of the Apple Watch, this wasn’t possible.

The solution to this was to clone parts of the main iOS codebase, strip them down, and alter them for the use-case of the Apple Watch. I spent a lot of time combing through code to understand how it works. Essentially, the end product was a collection of shaved-down iOS code adapted to the watch.

Eventually, I had real data flowing in from the FOX servers. At this point, I could present a demo to the team. The feedback was overwhelmingly positive and our product manager took interest. I was presented with the possibility that my project could go beyond a proof-of-concept and be released as a FOX product.

Apple Watch app running with real data on my own wrist for the first time

Reaching the Finish Line

I devoted the remaining few weeks of my semester almost entirely to pushing this app to a status that would be considered a minimum viable product. It needed just a bit more key functionality. The idea that something I dreamed up and created might end up in the App Store was exhilarating, and the adrenaline pushed me forward.

I ran into some difficulties implementing one of the final cornerstone features, which involved communication between a user’s Apple Watch and iPhone to sync their favorite teams and leagues between our apps. The framework used for this on iOS is finicky and difficult to test, but I was able to eventually land on a working approach.

Once the syncing of favorites feature was completed and a few final bugs were ironed out, I opened an enormous pull request to get the thumbs-up to merge my code into our iOS codebase. Although my code was being reviewed incrementally as I worked on features, I was extremely nervous to commit it to a critical code base for fear of messing everything up, but after responding to a few suggestions from senior engineers, I was able to merge.

I presented a final demo of my work and sought approval from product owners and executives to finally release it to the public a couple weeks before I was scheduled to finish working at FOX for the semester. I nervously awaited the green light and hoped that all the polish and fine-tuning I put into this project would be well-received by those with the power to make my dream of releasing a reality.

Screenshot of the FOX Sports Apple Watch app in the Apple App Store

The FOX Sports Apple Watch app was released to the App Store during the final week of my co-op semester in December of 2021. I cannot believe how far I have come as an engineer in such a short time, and I am incredibly grateful to everyone at FOX who gave me the opportunity to grow so much while working on such amazing products.

Are you a computer science or engineering student interested in getting some hands-on experience before you graduate through either a co-op rotation or internship? Come join our team. The FOX office in Cincinnati, Ohio is proud to maintain successful relationships with many local universities. Please look for an opening in your university’s Handshake app or contact Tom Zentmeyer via LinkedIn. We typically have several openings each school semester across our various development teams.

And if you’re not located in Ohio, don’t worry, we have internship opportunities available year-round through the FOX Internship Program. Check out our openings HERE

Be sure to follow us on Medium so you’re the first to know when our latest articles are available!

About FOX Tech

Make Your Mark Here. At FOX, we pride ourselves in shaking things up and making things happen. We’re a community of builders, operators and innovators and each and every day we experiment, collaborate, and co-create to develop the next world of news, sports & entertainment streaming technology.

While being one of the most well-known brands in the world, we provide our employees with the culture of a start-up — fast paced, non-hierarchical, full of smart ideas & innovation and most importantly, the knowledge that each member of the team is making a difference in defining what’s next for FOX Tech. Simply put, we love to do great work, with great people.

Learn more and join our team at tech.fox.com

--

--