Apple’s WATCH announcement yesterday left a lot to the imagination for the interested developer. Yes, there will be “WatchKit” to develop apps for the watch. Yes, it will have new UI elements and conventions. That’s about all we know.
My mind has been walking through what seem like possible scenarios for WatchKit apps. This is complete and utter speculation, but it seems to me that the following will be true:
WatchKit apps will ship as embedded binaries in iPhone apps, using the same basic principals as iOS 8 extensions. There will be some mechanism for the watch paired to an iPhone to detect and automatically install these “apps” based on what is available on the paired iPhone. Delete the container app from the iPhone, it disappears from the watch. Xcode will have a template to add a WatchKit app to an iPhone app project.
There will not be a separate app store for the watch, and likely no way to monetize the creation of watch apps outside the selling point as added value for the containing iPhone app.
The watch has no connectors. You cannot plug it directly into a Mac. Development and debugging will be through a connected iPhone.
My crystal ball is much more vague on many other areas, including:
How will WatchKit apps communicate with their containing iPhone apps? Something like Multipeer Connectivity with dedicated sessions? App Group linked shared storage? Some sort of push-notification system?
Will there be local storage on the watch?
Will you have to write WatchKit apps in Swift? Seems that would not be necessary on a technical level, but it feels like a possible Apple-like move to encourage adoption.
Will the addition of a watch, plus Yosemite continuity and the bevy of test devices on my desk cause me to leap up in fear whenever I receive any sort of notification!
Still so many questions, but I know I’ll be asking them. Excited about the possibilities.
Brent Simmons and Tim Schmitz have done a good job covering developer perspectives on selection of backend service dependencies. Scalability, longevity, security, etc. are all factors that have guided decisions about the future of sync and Drafts.
Honestly, CloudKit is not the right choice for the vast majority of apps. CloudKit will limit my deployment options to Apple platforms. At least for the time being, it will not allow me to move any logic to the cloud.
Choosing CloudKit was not the easy choice. The current version of Drafts uses the Simperium sync service, and my experience with the service has generally been a good one. Sticking with it would have required the least effort on my part. I have also deployed iCloud-Core Data in Terminology and Phraseology and have been pleased with the ease of deployment (since iOS 7 only!). Both Simperium and iCloud-Core Data lacked the level of control I wanted for some of the new features I’m adding to Drafts though, so it was time to move on.
CloudKit was not the easier choice from a client-side development perspective. This is new technology. There is not a lot of sample code, there are bumps in the road – and as a purely client-side technology, there are not things I can keep on the server side to more efficiently manage and update code.
I’m glad choosing CloudKit removes the need for me to manage servers or engage another third party service to do so, but that is not why I chose it. I’m not afraid of servers.
Why am I willing to make these trade-offs for CloudKit, despite it’s limitations? Because, ultimately, developer perspectives aside, I felt it was the right choice for my customers.
They will not need to setup another account with yet another set of credentials to manage. More importantly, their data will be stored with Apple, a vendor they have already choosen to trust. It will be stored in siloed, private data stores that not even the developer can access. That cannot be said for apps using Azure, Parse or other backend services.
Only time will tell if this is a wise choice, but for my particular app I feel very good about the decision.
More information, in this context, doesn’t help skeptics discover the best evidence. Instead, it sends them searching for evidence that seems to prove them right. And in the age of the internet, such evidence is never very far away.
Computing is getting simpler. That is a great thing. We are no longer in an era where the majority of the population’s gut reaction to a computer is fear. They have become central to our lives. Unless you are particularly geeky, you probably don’t spend much time thinking about the practical and simple steps you should be taking to protect yourself and your precious data and online identity.
If you consume too much modern media, you may feel paranoid and paralyzed about what to do to be “safe” in today’s online world. The point of this post is to get you to stop worrying and take a couple of practical steps to make better protect yourself and your family.
Setup Offsite Backups
Guess what? All the photos of your kids are not in a photo album on the shelf, or a box in the closet. They are on a hard drive. In the old days you worried about loosing everything if your house burned down, but it is far more likely your hard drive will fail or go missing. Leave that laptop at the coffee shop? Oops.
Backups that require you to actually run them are never a good solution, because you won’t do it. Go ahead and admit that, and sign up a backup service. There are many now, but I have been very happy with Backblaze. The process is simple, sign up for an account and install the software (Mac or PC). It will automatically backup your entire computer over the Internet, no limit on the amount of data. If your computer ever fails, or even if you accidentally delete a file, you can restore it. All for about $4/month. Totally worth it for the piece of mind.
Use a Password Manager + Secure Data Store
This one is a no brainer in my mind, because not only does it make your life more secure – it makes your everyday life much, much easier.
Go get 1Password. It is available for Mac, Windows, iOS and Android. As I write this, all versions of the app are on sale – but regardless of what you pay, it’s worth every penny. There are other password managers on the market, but 1Password is the cream of the crop from a great company with great support. This is not a good area to be cheap.
Want a simple introduction to why you want 1Password? Watch this video. 1Password integrates with your web browsers, and can both generate unique passwords for you, and remember the passwords you create and fill them in for you for all the online services you use.
If you are creating and remembering your own passwords for online services, particularly important financial services, you are probably not being very secure.
More than just passwords, 1Password can remember your personal information (addresses, etc.), credit cards and more and fill them in to browser forms for online shopping. And it can keep secure, encrypted notes that sync between all your devices so that they are available when you need them. This is your emergency backup system. Keep bank account numbers, insurance policy numbers, social security numbers, etc. that you occassionally need to reference but should not be carried printed on cards in your wallet.
Share Your Information
The last bit of practical information is that you are not an island. At least a spouse or other significant trusted person in your life should know your main passwords or how to find them.
We all like to believe bad and sudden things won’t happen to us, but sometimes they do. A good friend of ours lost their spouse to a sudden heart attack several years ago. I doubt knowing the password to his FileVault protected Mac account would have eased the pain of that lost significantly – but it would at least saved her the added burden of reconstructing all the records and digital assets of their family business and would not have lost the memories locked in the family photos only he had access to in his library.
If you are not willing to share your password with your spouse, you have issues far beyond the scope of this post, sorry.
So, to summarize: setup offline backups, use a password manager, don’t be an island.
This is not a comprehensive plan…but you will sleep better at night.
The discolored patch on the wall once held a sign. A substantial sign, made of durable, deep blue plastic, professionally lettered in an authoritative sans-serif font.
If it is not obvious from the photo, this sign hung over the P.O. boxes at my local U.S. Post Office branch. I rent one of these boxes for my business address, and drop by about once a week to see if I have any mail. My business is not one which requires a high volume of traditional mail, but I do have a few clients that still like to send checks and some other important bits that pass through this portal in the wall now and again.
I did not capture the original sign, but roughly speaking it read:
All mail will be delivered to P.O. boxes by 10:00 AM daily
This sign had likely been there since the branch opened, but it had at least been there since I started renting my P.O. Box in 2006.
About six months ago, the sign was modified. A small piece of white paper about two inches square with “11” written on it in magic marker was attached to the sign with Scotch tape. As I imagine you can guess, this paper was attached directly over the “10” in “10:00 AM”.
The bar for daily delivery had been lowered.
Despite the crude modification, this sign was still useful. It gave me confidence that if I was expecting an important piece of mail, and checked my P.O. Box after 11 AM, I was safe assuming it would not appear later that day.
Now the sign is gone entirely, and with it the promise that my mail will be delivered by any given time on any given day.
I miss that expectation, as small a thing as it was in my life.