Inspiration

Our smartphones are keenly integral and integrated in our everyday lives, yet we still misplace them. We don't usually notice our missing smartphone until it's too late. To mitigate this, we thought it would be cool (and extremely helpful) if a connected smartwatch could alert us about our missing phone before it is too late, saving valuable resources such as time and money.

What it does

(W)HERE is primarily a watchOS app that detects when a connected iPhone is out of distance or range of an user's Apple watch. Ideally, this is done in the background through a constant back-and-forth transmission of small bytes of data between the Apple watch and the companion app on the connected iPhone. If the distance between the Apple watch and the iPhone is large enough such that a transmission is not received by the end device (iPhone), the Apple watch will alert the user about the possible misplaced/forgotten iPhone.

How we built it

(W)HERE is built using Apple Developer APIs such as (insert APIs). Because (W)HERE is primarily a watchOS app, a simple wireframe is designed (using Adobe XD) to visualize the basic features of this application. The wireframe of the companion app on the iPhone is also simple due to the basic (and key) functions for this application.

Challenges we ran into

While there were a few points in Apple's API that presented itself as opportunities, they were too unreliable in the end to secure a solution. Due to using a beta, Early Development using Xcode 11 proved difficult (SwiftUI Plugins would fail, rendering it useless without its live preview and strange way of connecting data and views. While we believe a pingpong solution can still work, time and heavy restrictions of the WatchOS data management proves difficult to circumvent.

Accomplishments that we're proud of

One of my personal accomplishments is that I was exposed to using Adobe XD while following Apple guidelines for designing watchOS apps as well as exploring the various APIs available on Apple Developer. Developing for WatchOS was a valuable learning experience.

What we learned

One of the things I learned was that there are resources available on Apple Developer which boost access to code for new applications. These open source resources are and become considerably useful in creating and experimenting with new applications. We also learned the messy ways in which running in the background severely limits are capabilities and how hard it is to work around private software.

What's next for (W)HERE

(W)HERE is currently a basic application which can have numerous additional and beneficial features and capabilities. Currently, (W)HERE functions for when the devices are at normal battery percentages and does NOT function for when the iPhone is at Low Battery Mode or has no battery at all. This is because background apps do not run when the iPhone is at Low Battery Mode or has no battery at all. An implementation that reflects this situation would extend the capability of this app for longer periods of time. On the companion app on the iPhone, (W)HERE can be improved to act as a beacon application when the connection between the Apple watch and the iPhone resumes (i.e. distance between Apple watch and iPhone decreases). This could potentially include a map feature with directions to locate the missing iPhone. (W)HERE can also be optimized to hold as little storage as possible on the Apple watch due to the limited storage available for users.

Built With

  • adobe-xd
  • ios13
  • mac-kit
  • swift
  • watch-connectivity
  • watch-kit
  • watchos6
  • xcode11
Share this project:

Updates