Sunday, June 2, 2019

WWDC and Work Carry

I'm not attending WWDC as an attendee this year, but I am heading down for a couple of events and put together my travel bag. This is the same bag I take on vacation, to the office, etc, and pretty much my daily work carry for getting things done. It is light and awesome.

MOSISO Laptop Shoulder Bag

I struggled a long time to find this bag and it's just barely what I want. I wanted the smallest possible bag capable for carrying my iPad Pro 12.9" along with the Apple Magic Keyboard with a Studio Neat Canopy Case. This bag is just the right size to fit the iPad Pro, but is a little too small to care the keyboard fully within one of the zippered pockets. I haven't had an issue yet where the keyboard falls out or is snatched out by a ne'er-do-well, but it seems like it will happen. I also wish the clips attached to the side so it hung the long way rather than horizontal, but overall, it meets my needs and I am happy.

iPad Pro 12.9"

This is my main computer these days and I love the screen size, power, the apps, the pencil, and the cellular connection. I don't pay for cellular since I'm around WiFi the majority of time, but it's neat to be able to buy a day or a month pass from Verizon or Sprint if I need one (which is rare). I use the Ztotop Case which is inexpensive, but feels nice and uses the magnets to attach to the iPad Pro. I really don't like cases that have the keyboard built in, because I use my iPad a lot to just be hanging out and reading and there is no need to feel the bulk of a keyboard in that situation. The Apple Pencil attaches magnetically to the iPad and hangs out just fine with the case on. When I put the iPad my MOSISO bag, I do take the pencil off and put it in the side pouch. While the Apple Pencil can fit in the case still attached, I usually find the pencil has detached so I figure there is no point.
For those time I do want a keyboard, I want to have a full size keyboard no slightly smaller portable version. So I use the Apple Magic Keyboard contained in a Studio Neat Canopy case. When I'm using the iPad Pro on the go the Canopy Case works perfectly to hold it up and when I'm at home working on my more ergonomic environment, I have the keyboard on my keyboard tray and the iPad sitting on my desk. Works well in both scenarios.

iPhone XS Max

Part of the reason I rarely pay for a cellular connection for my iPad Pro is that this monster phone can do everything the iPad can do - but just a little less conveniently. So there has to be a pretty big reason for me to feel like if I'm doing something that requires internet and I don't have WiFi, I really need to pay for the big guy. I am forever grandfathered into AT&T's Unlimited Plan that I got with my iPhone 2G. AT&T keeps trying to tell me that newer unlimited plans are a better value, and sometimes I review the latest plans, but they are not.
I keep my iPhone inside a Mujjo leather wallet case and it's amazing. My wife convinced me many years ago to move to a wallet-less lifestyle and I have never looked back. I carry a credit card and my driver's license in the case (and a $20 bill tucked inside), but that it is. Restricting myself to this has felt liberating.
I have AirPods with me always, and after one of my kids hid them from me for a week, I also put them into an AhaStyle case with a Trackr on it. I'm excited by the rumors that Apple's "Find My" program might start supporting Trackr's as well!

The Cables and Stuff

These all fit neatly into the MOSISO laptop bag and head with me everywhere.
I carry the Belkin Valet Charger for my external battery because it does the job, but more importantly, it has an Apple Watch charger built into it. That means I don't need to care an extra Apple Watch cable for charging purposes.
The Anker 2-port charger is good to charge two items typically that is battery + iPad with the Apple Watch on the battery and the iPhone plugged into the battery. It's not enough juice to keep the iPad powered while I'm actually using it, but it works fine to charge it overnight and since the iPad lasts all day that is more than enough for me.
I have an Anker Powerline II which can connect to Lightening, USB Type-C, or Micro-USB. Mostly there to charger the iPad. I then use a random Micro USB cable to charge my battery with the Anker lightning charging cable the iPhone from the battery.
I also have a Nomad Carabiner clipped onto the bag because having an extra USB-A to lightning can be handy.

Friday, May 24, 2019

Downloading Video on the iPad

So my eldest son really, REALLY, wanted me to get the Transformers Combiner Wars Trilogy onto the Apple TV so he could watch it at home. I knew that it was available for streaming on Rooster Teeth. So here was the challenge, would I be able to get a copy of the video using only my iPad? Answer: Ahhhhh yeah.
First things first, after going to the page I needed to get the URL of the video stream. Safari for iOS won't do that for me, but I was able to use MIHTool as a developer browser for iOS to pull down the rendered HTML source.
I pulled the HTML source over to Writemator so I could full text search through for the stream to find the m3u8 URL in the source. I fired up iSH and installed youtube-dl. Sure enough, I got pull down the source from youtube-dl.
After it downloaded, I was able to use the Files app with FileBrowser to toss it over onto the Drobo via SMB and finally using Screens back to my macOS server I added the file into iTunes.
BAM!

Monday, March 25, 2019

I Love a Coverage Plan

The modern working environment has an expectation that you’re available even when you’re not working and that belief leads to bad behaviors for managers and employees. I love when employees take vacation because it gives them time to recharge and gives me the opportunity ask them to put together a coverage plan on how to deal with the things they do while they enjoy vacation. Here is the real kicker, employees frequently offer to be available, do tasks, respond to emails and I’ll tell them in a nicer version of this sentence: “if you are responding to email or corporate instant messenger while you’re on vacation I see that as underperformance.” I would be ecstatic if I could disable someone’s access to corporate resources while they are gone to avoid any and all cheating that may appear.
The steps of completing the task should not be in the coverage plan
For a long vacation (1+ weeks) I’ll tell someone to start their coverage plan a month before they actually leave and use it as something to touch base around in weekly checkins. For every task they do: where is the task documented? who will be the person responsible for doing it in their absence? The coverage plan is a checklist that references other process and procedures documentation.
Waiting to do the task is not an excuse to avoid documenting the task
Sure, it’s fine if there are tasks where the correct coverage is to delay it a week because training someone else is too hard, but those tasks also need to be specifically called out as “I will do this when I get back from vacation” and should also reference the documentation of how to execute that task.
Delegation should be lateral or downward
As your manager, my role is to help you identify the right person to cover for you, but the ideal coverage plan does not have the manager doing any of the coverage for an employee. This inspires inter-team training and reliance. As a head of Professional Services I may not be able to delegate pricing approval downward, but instead of delegating up to the CEO can the head of Sales, Marketing, or Product be in charge?
Client expectation and risk are part of the coverage plan
In addition to all the things you know need to covered, what's the context for unknowns? Do you have clients that are particular frustrated and need extra love/attention? Are there clients doing work on their side to call out, "Client A is doing a big release next week and everything is good, but they may reach out about it." Ideally these notes are in the CRM, but sometimes the coverage plan is the best place.
Don't forget the unexpected
Finally that "out of office email" needs to respond with when you'll be gone and the coverage contracts. Maybe there is more than one? "For technical questions ask PersonA, for project management PersonB" but it should always end with the line, "For another other questions please contact PersonC and they can connect you to the right resource." Also, that PersonC, make sure you're delegating laterally or down NOT to your manager.
So remember...
If you're an employee take a real vacation. You're manager will be incredibly impressed by a solid coverage plan, especially if you've delegated everything to peers or down. "Don't worry about it, my vacation doesn't create extra work for you."
If you're a manager, don't let your employee get away with working on vacation. You get better employees when their rested and stronger organization when processes are documented and can be covered.

Saturday, March 23, 2019

Apple Subscriptions - Fixing a Hostile Consumer Experience

I know Apple cares about my experience as a customer beyond just the UX of an app or the physical design of a device or even the packaging. It's this care about me, my privacy, me experience that keeps me as such a loyal fanboy.
I have been posting a lot on LinkedIn these days and LinkedIn extended an offer for a free trial of LinkedIn Premium. The offer said, “After your one month trial, we will automatically charge you….” I figured I wouldn’t do it. It seemed obvious it was going to require my credit card and then the only way I could cancel would be to call them. That is the standard, user-hostile approach to subscription retention. Even in my teenage years, as someone who DESPISED calling on the phone, I was able to work up the courage from time-to-time to do the free AOL trial and then end the month with the 20 minute phone call to cancel.
For the LinkedIn offer I curiously tapped and saw that it was an App Store subscription. “Oh, done!” I thought. For an App Store subscription I don’t have provide LinkedIn my credit card. I was able to do the subscription, and then immediately after the trial started I could cancel the subscription with Apple without ever having to call anyone. I get to experience this trial and I have 100% faith that I’m not going to get charged because I forget to cancel later. Thanks Apple! Love it.
It's an example Apple at it's greatest. Find a bad user experience, in the case a very common hostile user experience, and banish it. You want to play in the App Store ecosystem of subscriptions then you have to play fair with your consumers.

Tuesday, March 19, 2019

iPad Pro: AirPlay Works the Way It Should

I incorrectly assumed AirPlay from my iPad Pro wouldn't work the way I wanted it to. Plugging an external display into and iPad Pro doesn't work the way I want: only the left-most split screen app is able to route the external display. I assumed that AirPlay would have a similar problem, but AirPlay to an AppleTV works EXACTLY like I would expect it to. No seriously, it's awesome.
After loading my movies and TV shows into the iOS TV app using an app called WALTR, I can AirPlay from that app to an AppleTV and then just switch away from the app and not worry about it. So while that show is playing, I can still run two apps split screen as well as the flyover app. Awesome. I also tried successfully with the YouTube app to make sure there wasn't any proprietary Apple stuff happening, and YouTube worked just as well. I can also use the Control Center widget to control the external app.
I tried a similar thing with the iPhone, and I'm very happy to report it also works exactly as I want it to. I can start streaming the iOS TV app to the AppleTV and then just switch away and do other stuff on my phone no problem.

Thursday, March 14, 2019

Don't Forget to Ask Questions

The best minds of my generation are thinking about how to make people click ads. - Jeff Hammerbacher
When interviewing candidates, I'm surprised how few (especially engineers) do not ask questions back to me to help shape their answers. When I ask most people to perform a task in an interview, they expect I've done a good job thinking through what I want to ask them, and jump into performing on the task. If you're doing an interview, one of the starting points for any problem solving excersize is to gather information and confirm that you've gathered it correctly. This is the true problem solving approach and tends to impress interviewers, even if they don't have any more clarification to give.
When I interview engineers one question I typically ask is a simple data modeling question: "I want to create a database table (or class hierarchy or whatever) that maps who reports to whom in the company. How would you model that?" It's straight forward, but then I get to follow it up with "now our company is grid-based so you typically have both a manager for you skill and a different manager for your product. Can you model that?" The interviewee will make various changes to their model. "Great, but I forgot to mention that we are geographically disperse so sometimes there is also a local office manager in addition." When someone is quick on their feet and can incorporate my changing requirements that's a great thing, but ...
One day I was interviewing someone and after my first task she paused, "okay, we'll let's clarify requirements before we do design." She then proceeded to ask me various questions about the organizational hierarchy and desired performance characteristics. I tried to play dumb, but she was so good at asking she got everything out of me and just had to do the one design which took far less time than me stumbling out each new requirement.
I took that to heart in future interviews that I did myself - when given a task to complete I now pause and ask clarifying questions before proceeding to create the answer. I hope that's helped me too.
P.S. I hired her. One of the best engineers I ever hired.

Tuesday, March 12, 2019

Clearing up 50GB

Well that was nice! I was having this problem where I couldn't get the latest update to OSX Mojave installed on my laptop because I didn't have the space. I've spent a lot of time eyeing iPhoto Library.migratedphotolibrary which seemed like it was taking up 52GBs of space, but in theory that is just duplicate spaced used by the new Photo Library with both files hard linking the same data on disk.
I finally took the steps to copy the migratedphotolibrary off the internal hard drive to the Drobo and the delete the the bundle and... yep, I got 52GBs of free space back. So it looks to me like some time during the migration from laptop to laptop some copy operation changed those hard links into duplicate files. At least I've got plenty of space now, right?
Update: It was pointing out to me the most likely culprit was the conversion to APFS.