Multi Tenancy

Multi Tenancy is a weird concept on mobile computing. Having two distinct users utilizing the same hardware is commonplace on the desktop. Yet on phones we somehow ignore this very useful attribute of modern operating system design.

Let me give you some examples of how it’s useful. First of all imagine a parent handing their child her cell phone and allowing them to play games without risking something bad happening to the data on the device. Second imagine handing your phone to somebody at a bar to allow them to watch a video but also not expose your device to anything malicious. Lastly imagine doing a presentation and not having other non-related apps interfering with that presentation on your phone.

With these examples in mind it’s easy to see why the virtues of multi tenancy would be useful on a mobile operating system. Thankfully while this does not exist exactly as described there is a feature on the iPhone that does solve some of these issues. This feature is called “guided access.”

Using Guided Access a user of the device can limit a third-party from accessing other apps or from Interacting with a part of the app by blocking certain parts of the screen. A six digit pin of your choosing protects users from escaping Guided Access.

It’s a very useful feature that virtually no one uses from what I can tell. But one can see how this could be a nice partial replacement for true multi tenancy. You still can’t have two users on the same device with separate contacts (as an example) or different email accounts that are separate from one another , and so on, but it’s still a very useful feature.

Hat tip to my friend Taylor for alerting me to the feature’s existence.

Context Switching

Context switching is one of the most important issues with using an operating system of any sort. What I mean by that is if you have two tasks running in parallel and one of them needs your attention it becomes a very real issue for usability.

In the simplest example, let’s talk about a terminal window, like SSH. If you have a program that, for instance, wants to message all users on the system with some information it will overwrite the screen you’re currently looking at. This is a pretty terrible user experience if the page is being repainted regularly. Not only is it distracting and might impact whatever you’re doing negatively, but it’s also potentially hard to read and switching to that task is overly complex.

On a smart phone, context switching is just about the worst experience imaginable. I’ll talk about how bad alerts are in a future post, but for now let’s just talk about when I do care about the alert and do want to switch contexts.

First thing’s first. Let’s say I want to do the equivalent of an “alt-tab” in Windows, but on an iPhone (as an example). There really is no such thing, and no keyboard equivalent of that that doesn’t have some other massive impact on usability (accessibility features do not count since they hurt the user experience so dramatically in other ways).

That means, my hands now have to leave the keyboard to click on the home button to launch the other app if it is open, or worse, hunt around for whatever sent me a push notification and open it. Or if I’m lucky enough to be able to get to the alert/push message in time to press it before it disappears, it will switch me immediately so that I can interact with it, but then I’m left with the same issue of having no way to get back to the screen without hitting the home button again.

This context switching turns out to be one of the biggest productivity faults with the iPhone’s design and it’s something the Windows mobile has spent quite a bit of time getting right from what I can tell. It’s definitely an area of improvement. My general take on this is that Apple probably just never expected anyone to use an iPhone in this way and that’s why it’s missing. Or they may have decided that people should use the iPad if they want to produce vs consume because the iPad does have this feature – meaning it’s a software only issue that hasn’t made it to the iPhone despite being equally useful.

Without speculating too much, I think this is an incredibly useful feature, that has been either intentionally or unintentionally ignored, but makes the iPhone (as an example) unnecessarily slower to context-switch and more difficult to use for a Smartphone Executive.

Fan Review #1

I got a message from Peter Wilfahrt who is the first person to come forward to tell me they are using their smartphone as their primary work environment, like I have. I think it’s worth hearing it straight from his mouth:

Servus RSnake,

Thanks for inspiring me and others to try living by a smartphone. I challenged myself to use just a smartphone for 30 days even in my office environment.

That’s a bit tricky because as a consultant I’m doing a lot of presentations and on office days writing for strategic papers and advisories, statements and comments for government and enterprises. Besides the normal pen-testing and development work.

Therefore I’m using a lot of “Pages” for writing or better “Mail” with a minority of formatting and sending the info to our communications department to pimp it up for marketing and CI.

For tech work I’m using “Serverauditor” because it’s one of the SSH apps I found that can work with port forwarding and ssh keys.

What I found and what’s a bit challenging is that the iPhone hotspot is not routing through a VPN. Just connections from the phones itself but no tethering .

Keep on your writings, I’m looking forward to some cool tips!

Peter

I think Peter has some great points and I’ll definitely be diving into all of this at some point. With regard to the hotspot, that isn’t something I’ll necessarily ever have to deal with, since I don’t intend to use laptops (maybe other people will, but for me, this is a non-issue). Either way, this is really exciting to see others taking up this rather difficult but fun challenge. The photo of this post is his, and shows his setup, which is almost identical to mine. I’m sensing a theme here, maybe there are just some set-ups that work best, and we’re already getting close to finding them!

Big thanks to Peter for sending this over. If you have similar stories, please share them with me and I’ll post them if they’re interesting.

Production vs Consumption 

One of my first heated conversations original the original iPhone was when people started talking about it as a desktop replacement. I distinctly remember talking to Jeremiah Grossman about how he thought the iPhone could replace the laptop for many people. I vehemently disagreed at the time because of something I call “Consumption vs Production.”

As an example of what I mean is think about what you are doing right now as you read this. You are consuming data. You’re reading words I’ve written. But you aren’t producing anything. I’ve gotten very good about bucketing my day into one of these two categories. Reading Facebook? Consumption. Writing email? Production.

My beef with the original iPhone was that it was probably the best device ever made for consumption, but lousy for production. Writing long-form documents or code seemed improbable or impossible at the time.

That has changed considerably over the years. First is the concept of multi-tasking which was very lacking from the first variants of the iPhone. Subsequent revisions came with multitasking but still lacked screen real estate. That was eventually solved by the iPhone 6 and beyond. Lastly apps were the biggest bottleneck and have continued to be a burden.

We’ve finally come to a place where consumption isn’t the only option for smartphone users. You can now utilize the phone for an incredible variety of options. I, personally, am very excited by this prospect, because it enables me to be productive with an enjoyable consumption device.

Apple’s WWDC16 Review

The WWDC16 developer conference was pretty interesting. Here’s a run down and a brief summary of each feature:

WatchOS

  • Background updating of app data and “instant” launching of data brings application loading time on the Apple Watch down to 1/7th the time it used to take. That’s a pretty sizable increase, but this will no doubt add a lot of extra battery load and data requirements.
  • Scribble on WatchOS will allow you to draw out individual characters on the screen to quickly respond without actually having to use the keyboard.
  • The new SOS feature is probably the most important new feature for the aging public, as it competes with companies like Life Alert and the like by giving quick access to access 911/999 or whatever geographically relevant emergency service number is nearby. And it also sends an emergency text with location data to your contacts. It’s a wonderful feature, and I’m sure other cell phone operating systems will do this in the future. The number of lives this will save once it is fully adopted will be enormous.
  • Breathe is an app that helps users take time out of their day and breathe more. It’s basically guided breathing, designed to lower your stress. Stress hormones (Coritsol) can lead to fat. Will Apple watches make you thinner? Who knows?
  • Apple pay on the watch will allow more seamless integration with existing Apple Pay features. It looks like Apple is making a much bigger investment in Apple Pay – no doubt because it makes them more ubiquitous and it also allows them to make money on each transaction, competing with the likes of PayPal and Google Pay.
  • Gyroscope access on watch for developers feels a bit like a security leak to me, but I’m sure there will be a great number of new apps that can leverage it for health applications. Keep in mind, accelerometers are accurate enough to pick up voices these days, so this is a feature that can be used to tap in your voice. Pick your apps wisely. It would be really nice if Apple allowed this feature to be turned on and off per app, like it does for camera and Microphones.

Apple TV

  • There is a new remote app that will make using the Apple TV more useful straight from your phone.
  • Single sign on is a great new feature that reduces the number of times users have to authenticate for each new app they want to use. No more authenticating with a browser each time you want to watch a new TV station. This will be a big deal for all sorts of content publishers.
  • Apple announced better searching with Siri to allow the same context aware search that they want to give their users accross platforms.
  • Dark mode is a nice feature that lowers the brightness of the background, however I was expecting them to do something more clever – like making it time dependent, or reducing the blues, like they can with the Nightshift feature on the iPhone.
  • One somewhat odd feature is that it allows the user to add apps on their phone and simultaneously adding it to the TV. I can see this going terribly wrong in all sorts of different ways. What if that app wasn’t exactly one you wanted the family to know about? It also begs to question who owns the authentication at that point, will it only work when that phone is present (what happens when they leave the party?) etc… Etc… This one could end up being troubles for Apple and users alike.
  • The iCloud integration with videos/photos and the like is increasingly being pushed by them. Microsoft is doing something similar with the likes of OneNote/OneDrive – pushing all users into the cloud. This is a nice feature but it’s also rather unnerving to know that that information is so easily accessed without any sort of guarantees on how it is secured.

macOS

  • Firstly the company renamed OS X to macOS and the next version will be called Sierra. This is actually a nice switch and one that should have come ages ago. But better late than never. I wonder if this will affect the user agent of the browser though. If your website uses browser User-Agent strings for something this will be an issue to watch out for.
  • The company talked a lot about “Continuity” between the iPhone and Desktop. I like this concept a lot – as it allows the average user to move between devices easier.
  • One such feature is auto-unlock via watch. Just make sure your watch is on you at all times… Like… Don’t ever leave it charging next to your computer?
  • Universal Clipboard is a great feature, but really should be expanded to all sorts of different devices. This one will absolutely screw people who forget what they were clipping and end up getting something on another device, or overwrite their clipboard accidentally. I’d prefer it if such a feature were enabled only on a case by case basis instead of universally.
  • iCloud Drive is really becoming more of a Dropbox clone, where devices have synced applications.
  • Optimized Storage removes old files and syncs old files that you may want again to the cloud. In their demo they freed up almost half of the drive. But this requires that you are okay with syncing all of that data to the cloud.
  • Apple Pay for browsers is a nice feature – and will no doubt be a fun attack surface for experts going forward.
  • Tabs in Apps (as opposed to browsers) is a ho-hum feature that will no doubt make developers lives easier. But it doesn’t have as much impact on users because the number of apps that will use it is no doubt relatively small.
  • Picture in picture allowing in-browser movies to play in separate windows is a really nice feature that is a long time in coming. It allows the user to watch TV while still paying attention to their work since they don’t have to dedicate the entire screen to the movie or their browser.
  • Siri on MacOS Sierra will give users more context aware searching. This is really nice as it will allow you to do searching more intuitively in the way you tend to think about things. Like “Find me that conversation with George last week with Sara on the the thread.”

iOS 10

  • Raise to wake feature is one that makes it so that one less button needs to be pressed to wake up the phone. This will probably have battery implications, and heat issues in your pocket if you happen to be doing a lot of weird exercises with the phone in your pocket. Perhaps they have some way of detecting that it’s in your hand, and I hope so, because this could be a really annoying feature otherwise. I can see plenty of situations where I have the phone in my hand but yet don’t want it awake (yet). Ultimately I’d prefer if this feature was completely optional.
  • Notifications on the lock screen have gone to an entirely new level. For me this feature is 100% unwelcome, and hopefully easy to disable. Keep in mind one of the major lock features on the iPhone allowed complete access to the phone via Siri and contacts. Also there are a lot of sensitive items that live in people’s text messages, calendars, etc. I really hope this feature can be easily disabled. That said, it’s a neat looking feature that has lots of wonderful context aware and rich useful features allowing you to read, dismiss or interact with apps without unlocking your phone.
  • Developer access to Siri seemed like a hit – but it’s a bit of a question how this will actually work. If I want to own the word “food” and so does some other application owner, who wins?
  • QuickType guesses what sort of answers you would naturally type in. So if someone asked, “What’s Bill Henderson’s phone number?” QuickType can look in your contacts and guess that you probably want to send his contact information to whomever you are speaking to. This could be a big time saver but hopefully you don’t have two people with the same name, etc… Etc…
  • Photos can now identify which places you’re in and the phone to identify faces, object and scene recognition. This has plenty of uses, for making searching through photos easier. It’s not clear if this was going to be made available to app developers, but it’s easy to see a world where other types of wearable devices like glasses, or real-world cameras can help disclose who’s at your door without having to remember their name or even see them with your own eyes.
  • Better maps give you better routing details, alternate routes, traffic, etc. One of the more interesting features was it allows apps to hook into maps to do things like book cars, book a restaurant etc. all within the map itself.
  • Apple music looks prettier. It also has easier navigation, lyrics, discovery service (think of this as Spotify’s discovery service competitor) and interestingly a way to connect to artist’s social profiles.
  • Apple News – currently has 2000 publishers and a way to do subscriptions. I like this feature because it gets news publishers out of the business of selling ads and back into doing journalism. “Breaking news” notifications showing up on the lock screen would be nice, but for me this feature would be most useful only if it were breaking news of certain very specific requirements, because notifications are already way too noisy and distracting as is.
  • HomeKit introduced a new “Home” iOS app. This feature looks really neat and I can see a lot of potential in its future. It has timed events (wake me up at X time and open the shades” or specific type of events “It’s movie night, turn down the lights and turn on the TV”. It’s a really great looking feature but this is going to require some physical hardware in people’s houses to work. One way around part of that is that remote access is done through AppleTV if you’ve already got one. This enables geofencing as well so certain things can happen at certain times when the Apple TV recognizes that you’re in proximity of your home.
  • Voicemail transcription services on the phone is a really nice feature for when you’re in a meeting, someone’s left you a voicemail but you don’t want to be rude and put the phone to your ear.
  • Allowing application developers to access the phone enables companies like Tencent to alert you to potential spam numbers calling your phone (that’s supposed to be illegal but bad guys don’t seem to care about the law.) 😉
  • iOS 10 allows a nicer 3rd party call screen to give companies more flexibility in using the device. This is a bit of a hit to carriers because more data will be traveling over WiFi (in my opinion that’s great).
  • They also glossed over more types of buttons to call people over alternative phone apps like WhatsApp or Facebook etc. This will give you a much faster way to find and call your friends.
  • Cisco Spark app integration will allow you to get your desk phones on your iOS device.
  • Messages had a big overhaul. They have rich links, better access to the camera and photos, 3x bigger Emojis, Emoji prediction, Emojify words that when highlighted can easily be turned into the corresponding Emoji, bubble effects, Tapback, handwriting, digital touch, full screen messages, etc. Most of this seems relatively small and more likely to be an annoyance than useful, compared to the fact that iOS is now opening messages to developers. At first this just seemed to be competing with FaceBook messenger’s ability to send money though the app. But because it’s app driven it allows things like collaboration within apps through messenger for things like taking everyone’s order online straight through the interface.
  • Notes collaboration will be a super useful tool across devices – allowing multiple parties to work on a single document.
  • They glossed over several other features like a “conversation view” in email, editable live photos and a split view Safari (sadly only on iPad).
  • Privacy was a big punctuation mark at the end. With end to end encryption, on device intelligence rather than in the cloud, no user profiling in searches, and something they describe as differential privacy, the iPhone is designed to keep you more private than ever, while still allowing you to collaborate as you want. I was hoping they’d offer additional features here, like ephemeral iMessages, etc but maybe that’s coming later.

iPad

  • Swift playgrounds is an app that allows people to learn how to code in Swift to create more applications. It comes replete with lots of example applications, demo code and a new coding keyboard. Sadly this is only for the iPad, and only Swift and doesn’t seem to have a way to immediately turn it into an app and publish it. But maybe all of that is coming. I collectively heard 5 thousand application developers in the audience shrug at this because they probably see it as a new onslaught of competitors entering the market, but this is surely good for Apple. I’d really prefer if Apple didn’t treat iPhone users like second hand citizens, but I understand that there is limited screen real-estate so sometimes this happens.

All in all it was interesting. Not much in the way of fixing many of the existing problems with many of the apps, notifications, or usability, but the new features are very nice.

Period Shortcut on iPhone

I’ve never been a big fan of cloud based applications or cloud based programming as a general rule, because I lose control over what I’m working on, it’s more difficult to use those services when I’m traveling with spotty connectivity, etc. But for the sake of moving down the path of a phone desktop replacement, it’s important to get at least vaguely comfortable with the idea that if you need to do some programming work, you’re probably not going to want to be doing that on your phone.

I’ll talk about doing dev-work on the phone itself in a bit, but for now, let’s talk about cloud solutions. Over the last week I’ve slowly gotten myself used to connecting through iSSH to remote Amazon Elastic Cloud Computing (EC2) servers to test various features, develop simple applications and general ease of use. I’ll dissect iSSH at a later date as well, but I ran into other interesting issues almost immediately.

Firstly, as I said in a previous post, I use Vi (or Vim) as an online editor fairly regularly, because it makes my life easier. However, there’s a usability feature of the iPhone that gets in the way. If you hit double space on the iPhone it creates a period. If you in Vi a period will do one of two things. It will either write a physical period if you are in editing mode, or it will run the previous command. Yes, whatever thing you just did, it will do it again. So if you were just editing something and you added a word, that word will get added again. Extremely frustrating.

If you’ve seen the Silicon Valley episode for spaces verses tabs, you’re probably chuckling to yourself right now, but the reason I use spaces is because terminals are often fixed-width and line wrapping is reduced when you use spaces. Anyway, without getting into a religious war, on the iPhone it can be overridden by going to Settings – Keyboard – “.” Shortcut and disabling that shortcut checkbox.

	Disable
Disable “.” Shortcut

Ideally something like this would be optional and easy to enable or disable on an app by app basis when a user identifies a problem with their shortcuts. But for now, this workaround does work well, if you are okay disabling this otherwise helpful shortcut for the rest of the applications that need it.