Our Background with DCMP
We place high priority on the quality of work we deliver. Even more, though, we value client relationships. For years now, we’ve partnered with the Described and Captioned Media Program (DCMP), an on-demand video service or “lending library” designed for children pre-K through 12th grade who are deaf, hard of hearing, blind, visually impaired, or deaf-blind. We’ve worked with DCMP on a number of projects, rolling up our sleeves to solve user experience challenges and creatively deliver on requested features. Our past work focused on redesigning dcmp.org, creating a design system, and accessibility testing new features. Most recently, however, we continued our multi-year partnership by tackling a less familiar project scope: native app development.
At the time DCMP approached us about this project, we had a stronger background in web-based application development than native app development. However, DCMP wanted to work with a partner they trusted—and one who knew how to problem solve. They were confident we could deliver. That’s the thing about working collaboratively with a partner year after year, the transparency leads to trust, which leads to high-quality work.
Discovery Efforts
Problem solving at Sparkbox starts with a Discovery Phase. For this project, we spent a few weeks exploring environments, limitations, opportunities for parity across platforms, and dependencies. We also gathered feature requirements, knowing that the native experience was going to be an iterative one—not all the features a user could access in the browser application would be available on the native apps. We experienced the technologies we were building for, like Roku and AppleTV, in a very hands-on way. We dug in and investigated what it would be like to build and ship in these environments (tvML vs native Swift, for example).
The tangible outcomes of this discovery work included a story dependency map (which specified the types and sizes of features), dependencies, and where developers could work asynchronously. This story dependency map was ultimately used throughout the project as one tool to track our progress and note alterations. A user flow diagram was another outcome, displaying the views and path points—both forward and backward—of when a user is in the app. All this work positioned our developers from the unknown into the known so they could get up-to-speed effectively.
Working and Learning Together
Following the Discovery and these documentation deliverables, we worked with DCMP on project processes, like what tight feedback loops would look like and how to keep the review process on a smaller development team from being blocked with a single point of failure. This resulted in our two teams becoming one: their developers and ours both writing and reviewing code, participating in daily standups and retros, and pairing.
One of the earlier challenges in working together was figuring out how exactly to have those tight feedback loops with Roku where there wasn’t a dedicated simulator. We solved this by using a hardware dongle to project the Roku box onto the screen. Later when we were in the thick of development, we were presented with more challenges we had to creatively solve as a team. For example, how would we handle the particular use case of a seasonless series? How could we create scenarios where the app fails gracefully? With these challenges, as with all the others, we solved them collaboratively. We got on Slack and Zoom to make sure all members had the opportunity to share their good ideas.
Honest Partnerships Lead to Quality Products
With a solid Discovery and process in place, we were set up to achieve success just as in any other development project—because success is rooted in good planning and development practices, which translate to many mediums. Our strengths in these areas—plus web technologies and user experience—allowed us to deliver great native app products that met DCMP’s users’ needs.