This post was originally published on Medium.

Today we are launching Duomov. Dumov is a simple app that connects  two nearby iOS devices and enable them to shoot a dual video. To put it  simply: two perspectives of the same place or situation. It uses a  peer-to-peer WiFi connection between two devices. All you need is to  have WiFi enabled. Being connected to a network or having any kind of  Internet connection is not required.

The idea for Duomov started earlier this year when I hosted a good  friend of mine who was traveling through Europe in my apartment in  Lisbon. My friend was recording a lot of stuff for his travel journal  and we eventually found ourselves recording the same situations. That’s  when he said: “Wouldn’t it be cool if there was one app that let both  our iPhones record at the same time and then produced a single video  with the two perspectives?”.
Fast forward to May when I finally got the available time to start exploring this idea.

Two stage proof of concept

It was clear from the start that for this app to work, some sort of  communication between the device was going to be needed. I needed to  evaluate which kind of communication technology I would be using.  Bluetooth was initially considered but discarded before an  implementation was even attempted due to the fact that there’s not  enough bandwidth to transfer high resolution video through it. I set my  sights in figuring out how AirDrop does it.

Turns out Apple already had a fairly obscure framework called  Multipeer Connectivity which seemed to do what I needed. So my first  goal was to simply make two iOS devices talk to each other.

Coding started exactly 29 days before the app was approved by Apple and made available on the App Store

As it turns out, discovering peers and sending data between devices  was a fairly straight forward process. I also tested sending larger data  (the size of your average short iPhone recorded video) and everything  seemed to be working really well for what I needed.

The second stage of my proof of concept was having both devices start  shooting video at the same time, sending the videos to each other and  putting them together in a single video.

Duomov - First test from Raphael Cruzeiro on Vimeo.

The final result was a single video composed of the videos recorded  on both devices. It was still wildly out of sync but it proved that the  concept of the app was feasible for the amount of time that I could  allocate to develop it.

Turning a proof of concept into a product

A product must feel solid, intuitive and has to look good. There’s no  arguing that. With that proof of concept in hand, I contacted my friend  Pedro Henrique Marques who usually embarks with me on this product  development endeavours and he was thrilled by the idea.

Since we live really far away and are rarely even on the same  continent (last time I saw Pedro in person was 4 years ago), we had to  really on Trello and Slack for communication and planing. And luckily  for us, we are both used to remote work so things couldn’t have gone  smoother. We kept in constant touch, exchanging ideas on how the first  version of the app should be like.

As Pedro began working on the designs, I took the time to work on connectivity issues and video synchronization adjustments.

An early attempt on synchronizing the video merge process.  

On the very next day, the first designs were ready and the app was  also ready for its metamorphosis process. From crude proof of concept to  polished product.

We used Zeplin so that Pedro could publish his designs for me to implement in code.

In a couple of days we had the first testable version which we then  sent to a few friends who we eager to help us test this app. This was  invaluable to help us find a few conceptual problems and bugs early on.

Our bug count has been kept to a minimal since early on. This is  mostly to the fact that our product was well specced and the critical  parts were fully tested. Testing not only helped me avoid introducing  bugs to our code base, but it also helped me validate assumptions on  technology that was then unfamiliar to me such as Multipeer  Connectivity.

In little time our product was already feeling solid. This was really  fortunate since Pedro was attending a wedding and took the chance to  field test Duomov.

The main functionality was starting to look good. After yet another a  few adjustments to the video merger, we began the final steps for v1:  going over all the UI looking for misaligned stuff and localising the  app in 7 languages (English, French, German, Japanese, Portuguese,  Brazilian Portuguese and Spanish). Again our friends proved invaluable  in testing the Gold Master version for us (a special thank you to Igor  & Milena Escobar).

Finally the big day arrived and with a well deserved sense of accomplishment we submitted the the app to Apple.

I literally kept checking my phone every 2 minutes thinking I might have missed a notification.

The review process was fairly smooth. We only had to provide a bit  more information to the review team but weren’t asked to make any  changes to the app.

After getting the notification that our app was pending developer  release, I exchanged a few short messages with Pedro which went  basically like this:

“Should we wait for our official launch on Monday or should we release now?”

“What the hell, why not!?”

And we are a go!

We are now already working on an update with a bunch of improvements  and also writing down ideas for a v2 on our notebooks (Have an idea? Drop us a line!)  while at the same time restlessly checking on Fabric to see all these  new people trying our app. Overall, the experience of developing Duomov  was extremely smooth and fun. We went from absolutely nothing to having a  1.0 version on the App Store in 29 days while also doing other jobs on  the side.

My take on why things went so well? Not being afraid of exploring new  technologies and doing thinks differently from previous project,  embracing the fact that we need to work remotely and making sure that  our both our work and planing are asynchronous.

You can check more about our app on our website or you can click here to go straight to the App Store.  If you do enjoy Duomov, you can help us by posting the videos you  create to you favourite social media outlet with the hashtag #duomov, or you can also spread the word to your friends (maybe even acquaintances).