Inspiration

8 days ago, I attended a talk by Alexis Hiniker, Assistant Professor at the Information School at University of Washington, who came to Stanford to speak about her work on studying User Engagement and Intentional Technology Use in both kids and adults. A major focus of her presentation was the impact that uncontrolled tech usage is having on children, who are currently living in a time where their use of tech is largely unregulated. The one fact that stood out most to me from her talk was that on an average day, children in the U.S. spend much more time using technology (smart tablets, smart phones, video games, etc...) than they spend in school, an issue that has consequences ranging from diminished social skills to obesity stemming from sedentary behavior. Professor Hiniker's findings over the course of her experiments (most notably, her experiment involving "Coco's Videos") indicates that self-regulation is the most important factor in promoting intentional positive tech usage behaviors in children. Without this, most interventions are ineffective at both producing and sustaining positive tech usage, with some in fact even undermining children's self-motivation to regulate themselves.

Thus, this project sets out to apply the core findings of Professor Hiniker's research into a kid-friendly hack that piggy backs off of the Marvel Comics API to prototype a fun, immersive, and active experience for kids. Enter Marvel Active Adventure!

What it does

The core idea of Marvel Active Adventure is to create a comic-book experience for kids to embark upon and, in doing so, emphasize responsible tech usage and more active lifestyles. Marvel Active Adventure accomplishes this in two ways: Special Missions and Adventure Mode.

Special Missions: Special Missions is the feature that applies the thesis of this hack. Special Missions is a comic storyline that has kids following the adventures of Spiderman as he saves the world. Each mission involves the user doing some kind of unregulated activity - in the case of this demo, jumping jacks or running in place - that ultimately leads to the completion of the current quest. The catch is that Special Missions only appear when the user has been inactive for ~20 minutes. Upon detecting this, the app sends a local notification to the device indicating that Spiderman needs help and encouraging the user to accept the quest. Doing so accomplishes two things: (1) helping children to not spend egregious amounts of uninterrupted time using tech, and (2) to get children moving often so that they are less likely to develop symptoms of obesity.

Adventure Mode: Adventure Mode plays off of Special Missions in that if users do not want to have to wait for Special Missions (which is a good thing!), then they can play an endless Adventure Mode that challenges users to be more and more active. This feature mainly targets the goal of fitness in children by always providing some physical activity for kids to do if they're bored.

How I built it

The entire product is built in Swift 3, with resources for Marvel Comics coming from the Marvel API. All graphics not from the Marvel API were created through Sketch and iMovie. I began coding this project around 1:00pm on Saturday, and worked up until the deadline on Sunday morning. The first half of Saturday was spent setting up environments, getting the home view to work, and writing classes to represent the two modes. Saturday night into Sunday morning was spent writing the core functionality responsible for promoting self-regulation in children.

Challenges I ran into

  • Working as a 1 person team + Late Start Time: Required that I be efficient and strategic with how I planned and developed the app.
  • Detecting Sedentary Movement: My initial plan was to use CoreData to detect step counts as a metric for sedentary movement, but I learned through research that most iPads don't actually have pedometer functionalities. Additionally, kids don't generally use wearables. I ultimately adapted my app to use the time spent running in background as a metric for sedentary movement.
  • Marvel REST API calls in Swift: Being my first time doing REST calls in Swift, I had to spend a good amount of time learning the ropes. This was one of the more satisfying things I learned at this hackathon.
  • Relearning Swift: I didn't realize that Swift 3 was so different than Swift 2, so I initially had to devote a bit of time relearning Swift. I was definitely lucky that the two versions aren't too different (or that Swift 3 hadn't already been phased out because apparently Swift 4 is already a thing too)

Accomplishments that I'm proud of

  • Successfully doing an entire hackathon project on my own
  • UI/UX (especially book flipping animation)
  • Implementing Marvel's API to create an interactive, fun experience
  • Creating demo materials for two storylines
  • All core functionality is somewhat working the way I envisioned it
  • I was able to finish on time

What I learned

  • How to use REST API's in Swift/iOS Applications (first time)
  • How to do Collection View Animations (like page flip)
  • How to implement Local Notifications on iOS
  • Various Swift Libraries
  • Not to be too ambitious with design at early stages of development. I lost a good amount of time trying to perfect design tweaks when I should have been coding more functionality.

What's next for Marvel Active Adventure

The goal from here is to make the missions in Adventure Mode/Special Missions Mode more immersive. That includes making stories more relatable to the comics they appear in, increasing the different kinds of activities presented in missions (besides just running and jumping jacks), including more ways for children to actively use the app aside from Adventure Mode (i.e. other challenge modes), and further tapping into the Marvel API to produce a more "Marvel"esque experience that closely follows Marvel storylines.

Built With

Share this project:

Updates