Swift, Swift, Apple Watch, Limits

I’m building an app with Swift 3 and running on Apple Watch. It’s been so much fun and a great way to dive deeper into some of the specifics of watchOS SDK. Also, a great way to improve my Swift 3 knowledge.

Since the app isn’t finished and I don’t have a permission to talk about the code, I will leave that part for some other time. Today, I would like to write about my experiences managing the project, working with watchOS 3 and testing the code on a device.

  • Before you commit to a feature, check the limits of the watchOS SDK. It doesn’t matter that it might sound basic or if features like that already exist on iPhones. WatchOS is a different story and there are lots of limits you need to be aware of. Read the documentation before writing code.
  • Writing apps for watchOS is slow. Allow yourself at least twice as much time as you normally would for iOS testing and debugging.
  • I’ve lost the whole day trying to debug code on a watch and nothing worked. If possible, keep testing the app on the simulator. If you have to test it on a watch, be aware of the fact that you might need to reset your watch from time to time.
  • Keep in mind that Apple Watch is a companion to the iOS app. It means two things. First of all, most tasks (entering data, signing in, enabling features, etc.) should be done on a phone. Secondly, you will need to build a robust iOS app in order for your Watch app to be functional. That means that the time and the effort you need doubles.
  • Be aware of changes and obstacles. Remember that you’re working with a maturing platform and using a language that might slightly change in a few months. SDK’s available for watchOS 3.2 might not be there on the next version of the platform. Also, current limits might be lifted by a new SDK.

Last but not least, keep releasing builds. Like with any other platform, it is easy to focus on bugs and limitations without getting enough feedback about the overall direction. This is something I’m definitely guilty of.

The Power of Open Source Software

Parse is going away

Parse- a backend software owned by Facebook is going away at the end of 2016. In less than a year, thousands of apps will have to migrate to their own servers or look for another hosting company to store user’s photos, game scores, documents or notes. Fortunately, the founders of Parse decided to make the project open-sourced which means that developers are welcome to work on it, improve it and use it for many years to come.

We had to migrate too

Lots has been said and written about the whole Parse situation. Our own project was affected as well. Once we reach a safe point and complete the migration, we will write about it. For now, I just want to comment on the power of Open Source software based on Parse’s example.

I was working on password reset functionality for our users. It’s that small feature you use when you don’t remember your password. The app communicates with the server, you get an email to your inbox and then you can reset the password.

While I was writing the code, there was a conversation happening about the progress of that exact feature on GitHub- the repository where the open source parse project lives now. That would never happen if the project was still proprietary.

The community of developers was able to shape the missing feature based on their needs and propose a solution that was optimal. Of course, Parse shutting down their service did caused a huge headache to me and thousands of other programmers around the world but I also think that it might result in something good. There is a much larger community of smart people working on Parse Server right now and they’re trying to make it even better than it was before.

The power of Open Source

It is April 2016, two months afterParse announced that they will be shutting their service. Since then, a huge part of the project is available online. More than 7,000 developers follow their GitHub account in order to track the progress and almost 2,000 people decided to fork it and possibly contribute to it. This is just one example of a project that’s growing faster now that the open-source community got a hold of it.

Another popular project that was open-sourced just a few months ago is Swift made by Apple. The company from Mountain View is trying to involve the community to shape one of their biggest assets– the new language to write iOS and OSX apps.

Why is it so important to keep code Open source?

In a perfectly closed world without shared code, your app would be only as smart as the developer who worked on it. The power of shared code allows your developers to look at the work of their peers, colleagues and sometimes even their competitors. No matter what we do, we all stand on the shoulders of our predecessors. We learn, copy, adopt and improve. Especially when it comes to code.