Categories
On Technology

Running a dumb robot vacuum with Shortcuts

I love the idea of a totally self-sufficient robotic vacuum to keep my floors clean. However, I am also cheap: a $1000 Roomba that empties its own waste is amazing, but not something I’m willing to chalk up for at this point in my life.

So, I got an Ecovacs Deebot N79 for sale on Amazon a few months ago. It’s great, but it’s also pretty dumb. Alicia and I call it DJ Roomba (obviously), and it’s very cute but kind of dumb.

It can schedule itself to run daily at a certain time, but no more granularly than that — I don’t want to hear a vacuum at 11am when I’m at home, but I do appreciate coming home to a clean house when I’m out and about. It does have Wifi capability and a companion iPhone app, but the app sucks: it requires 2 taps and several seconds of delay just to find DJ Roomba, and then I have to tell it what to do, and every time I want it to do something different I need to repeat this entire process.

It’s not great. I’d rather just build a scheme that DJ Roomba can follow automatically, whenever I want it to.

Homebridge and its flaws

I naturally Google’d the crap out of this problem. I quickly found sucks, a Python interface that connects to Ecovacs’ server and then enables one to issue commands to any robovacuums tied to your Ecovacs account. This was easy enough to set up. I then found a way to connect sucks to Homebridge via a plugin called CmdSwitch2.

I had never used Homebridge before, but I love the potential of HomeKit. I already have a moderately robust HomeKit setup in my apartment: some smart bulbs, a couple of switches (including a critically placed one controlling my modem) and a HomePod to yell at, so installing Homebridge on my Mac seemed like a fun little project.

Turns out I suck at and don’t enjoy the command line. The process of setting up Homebridge, connecting all the dots between Python, sucks, cmdswitch2 as a trigger that exists inside Homebridge’s config, and Homebridge itself, was a tedious process that quickly lost my interest. I kept having to kill and restart Homebridge to make sure everything was playing nice. I must have scanned the Homebridge QR code into my iPhone’s Home app twenty times to get it registered as an accessory.

The other major challenge: I didn’t want my wife to have to deal with this either, but we share an iMac. She uses it regularly for work, and often has to kill processes in order for Adobe apps to run optimally, or restart the computer if things go wrong — which also killed my Homebridge server. I found some options to automatically restart the server, and I could have kept trying those things, but my fun little hobby project of automating control of my dumb vacuum was increasingly frustrating me. I’d go to start the vacuum and constantly see the damn “No Response” in red.

So I gave up and dismantled the entire thing.

A few weeks later I realized that I don’t actually need Homebridge or cmdswitch2 at all. I really just wanted to run sucks on command: ideally a specific times of day or when I’m home, but just being able to trigger it from any of my devices (or my voice) would suffice.

Enter crazy and powerful Shortcuts.

Shortcuts and a simple AppleScript

Nobody I know personally really uses Shortcuts, but it’s sort of my lifeblood for controlling things around my home and work. I use it to set reminders without thinking, do a whole host of chores every morning & weekend, and generate canned email templates that I shouldn’t have to send as often as I do.

Viticci opened my eyes to the idea of Shortcuts triggering actions on a remote Mac via SSH, including waking it from sleep. I figured out that I could also run AppleScripts using the an SSH command — osascript.

I realize that most tech people probably know this already, but bear with me.

I then did the following:

  1. On my shared iMac, opened up Script Editor and created an AppleScript (.scpt) file that run a basic sucks command: sucks edge 15 clean 30 charge. This script, when run, tells Ecovacs to run the “edge” function on my vacuum for 15 minutes, then general cleaning for a half hour, then send the vacuum back to its charger.
  2. Saved that .scpt file my parent user directory on the iMac.
  3. In Shortcuts, wrote a very simple (1-step) Shortcut that triggers script via SSH. Rather than SSH-ing into the iMac locally, I enable SSH access and file sharing on the iMac, then connect to its IP address so I can run the command from anywhere.
  4. Repeated steps 1, but with a different script that simply tells DJ Roomba to go home, it’s drunk: sucks charge

Now I have two Shortcuts: Run Vacuum and Stop Vacuum. I can yell out to my HomePod, tap a button on my iPhone or iPad, to kick either process off. As long as my iMac is on, this will always work.

I can run this as part of another shortcut, such as my Bedtime Ritual one which darkens some lights around the home and reminds me to floss, clean out Roomba’s dustpan and a few other things. I can even have Reminders remind me to run the Run Vacuum shortcut at specific times or locations — for example, anytime I leave my house. Then, in one tap, DJ Roomba is up to his antics.

The possibility in iOS 13

This works really nicely, but it’s not perfect. I’d love to customize even further when and how DJ Roomba can run. It sounds like this all gets unlocked in iOS 13 via Shortcuts Automations. I’ll be able to, for example, run the vacuum on Saturdays as long as nobody is home, something I can do currently but only with HomeKit accessories.

This is really dumb and nerdy, but I find it satisfying and fun.

Categories
On Creating

Gear / Hyperportability

Moving out of the US has forced me to evaluate the gear I use to optimize for portability — but I am still an unabashed fan of the gear I own. Here is the gear I’m currently using to make things.


Hardware

Most of the time I’m doing things on an iPad Pro 10.5″ (256GB) or an iPhone 7 Plus in Slate Black (also 256GB).
 Heavy music production, code tinkering and design gets done on a late 2013 MacBook Pro with retina display, which I share with my wife. I also wear an Apple Watch Series 3 (GPS only, suckers).

I listen to audio with Apple AirPods or a pair of Sony MDR-7506s. I sometimes still play piano, and when I do it’s on a Korg nanoKEY 61 MIDI controller; on the go, I might bring along a Novation Launchkey 25.

Vocals used to be recorded in a padded closet with a Shure SM-58 fed into an Apogee Duet v3. But now, since my best-available recording space is a closet on the opposite side of my apartment from any reasonable workspace, I opt for a Samson Meteor USB mic, fed directly into my iPad Pro for tracking in GarageBand.

Software

Virtually everything that involves text starts in Drafts 5, and then usually ends up in either Things 3, MindNode 5, Apple Notes, Google Docs or a text file edited in Pretext. I publish to the web using WordPress, and sometimes tinker with my websites using Transmit (RIP), Coda or Kodex.

Most of my music is recorded using Logic Pro X or (when mobile, GarageBand for iOS). It’s all then backed up via Splice. Occasionally I’ll pull some samples or soft synths from Reason 9. My favorite piano sound is the SONiVOX Eighty Eight, and my vocals sound much better thanks to iZotope Nectar 2 and Stereo Imager.

When on the go or too lazy to sit at a desk, I compose or tinker with song ideas using iGrand Piano for iPad, the Moog Model 15, the fantastic drum machine DM-1 or Novation Launchpad.


Originally published at tonedeafcolorblind.com on July 15, 2018.

Categories
On Work

Adventures in remote desktopping

or, the obfuscation of ecosystem


I love working on an iPad Pro. It’s the device that I find myself wanting to continually pick up, and the device on which I seem to get the most done — not always finished products, but the best and most fully defined ideas I can usually bring to reality. That goes for many aspects of my life: personal projects to cultivate my relationship with my wife, writing and producing the bulk of songs, writing and communicating and planning product ideas and larger initiatives for my job, writing this blog post.

My job is doing product management which, while a very complex and multi-faceted job, is essentially reading, writing and talking. Hey now — the iPad is amazing for that. I’ve got Slack, Outlook, the Google Suite of apps, my writing and task management apps of choice loaded up, and that makes up about 90% of the job.

The other 10%? Fairly technical stuff locked down to company-owned devices. I’m diagnosing issues with complex operational products, testing features, writing SQL queries, reading code — stuff that would be insane for a large public e-commerce company to leave open.To do this work, I am effectively locked into a Windows PC. At least it’s a massively souped-up quad core Windows 10 PC, but…it’s a PC. Stuck between the Google and Office ecosystems. Locked down by IT administrators. This PC is a laptop attached to an enormous dock connected to two Dell monitors in a corner of a big room, neither of which I use or maintain a consistent connection to said enormous dock. Because PC laptop keyboards seem to be all-encompassingly awful, I have a separate, wired external keyboard and (also wired) mouse which still hurt my hands to use, just slightly less so than the laptop keyboard.

All to do about 10% of my job. Possibly less on some days.

Meanwhile, the iPad just sits there, next to said collection of heavy, bulky metal objects connected by many thick cables, waiting eagerly for me to return to the other 90% of my job.I was recently thinking about why I bother using the PC at all. I don’t mean this to undervalue our IT department, but what does it mean to be a primary working machine in the first place? Can I just pretend that my primary work machine is my iPad Pro, and the PC is just a novelty device that I bring in as the big guns?

Or, could I rely on VNC/remote desktop access for the few things I need the PC for? For a long time, I honestly forgot this was a thing: you could access your desktop computer, in its entirety, from another device.

Turns out Microsoft Remote Desktop on iOS isn’t half bad at all — and since my work machine runs Windows 10, it’s all tablet friendly (thanks Surface) and my sensitive work stuff translates nicely to a 10.5” tablet. I can tap to execute a script, or open a Chrome bookmark, or run a POST request in Postman, or…open a 80MB Excel worksheet.

I have three main gripes with this approach, which keeps me occasionally reluctantly returning to my PC:

  • iOS’s stock keyboard doesn’t seem to like unicode quotation marks — ‘ and ‘, but not `’`. I find myself copying-and-pasting quotation marks around SQL queries, which can become annoying.
  • Since Windows uses different conventions for key commands, and you’re accessing Windows via an iPad, sometimes basic key commands are hard to get right. The basics (Select All + Copy + Paste) work fine, but Windows-app-specific ones do not. I sometimes find myself needing to use a combination of hardware keyboard and Microsoft RD’s built-in software keyboard just to reopen a recently closed tab in Chrome-within-Windows.
  • Google Slides and Sheets (not Docs) are pretty terrible on iOS, so I sometimes need to use Remote Desktop for that. It’s sometimes actually more effective than the native app.

Temporary sanity

I’ve drastically undervalued remote desktop access, and now have an even deeper appreciation for both my iPad and Microsoft’s investment in the iOS ecosystem. It is now even easier to do my job from anywhere, even if that job is locked into certain systems and processes for various reasons.

Originally published at tonedeafcolorblind.com on May 22, 2018.

Categories
On Technology

We might have reached Peak Apps

It’s a great time to be a productivity nut. (Note that this post is going to be incredibly first-world-problem-y in nature.)

Since moving to Berlin I’ve had an opportunity to critically review how I work. My job is for the same company and essentially doing the same thing, but I was able to shed some of the burden of direct reports, longstanding internal processes and borderline-political work relationships, and kind of start fresh in a way. My morning routine has gotten more about me — taking time, eating a real breakfast, learning a bit of German via Duolingo, reading news instead of email.

When my mind is feeling nourished, I plan my day with Things 3, moving stuff for this evening to This Evening, comparing my pockets of available time with the number of tasks or projects I need to focus on, and deferring the least important things. I might draft up a few writing ideas or notes for projects in Drafts, some of which get linked to in Things and others that sit in my inbox for when I have a creative thought later.

My bigger idea boards for things that need planning or some kind of structure sit in Trello.

This all works for me quite well… but on some days it feels wrong. Why manage some projects in Things and others in Trello? They’re both really good, but why do I need Things to supposed Get Things Done when Trello can organize my projects with structure and let others collaborate with me?

Collaboration is important, right? But isn’t focus? Trello can do focus really well, I think. But then again, Todoist is also great for focus and collaboration — plus, it can automatically pull in tasks from anywhere via its API. But, Things can kind of do that through its own URL scheme and Mail feature.

GoodTask can do most of the above too — plus it integrates with Reminders, which is great because I can talk to it via Siri and not have to remember to say “using Things” or something very unnatural. Then again, why not just use stock Reminders since I can remind myself about most of the things I need to work on and have it smartly link back to those things? Moleskine Actions also looks really good too, I think. I haven’t even mentioned OmniFocus, because that’s…too much for me right now.

Literally all of these options are totally fine and look, perform and function amazingly. I haven’t even touched the writing, presentation, mind mapping, or spreadsheet apps. My brain hurts.

It’s a weird time to be a productivity nut. Most of the popular apps in most categories are all really, really good. How do you know which one is best? What is best, anyway?

Best for most people? Best for productivity nuts? Best for a married couple? Best for tech company employees? Best for strong female entrepreneurs? Best for stay-at-home dads? Best for digital nomads? Best for you? You’ll probably find a list like this and see roughly the same 10 to 20 apps in a given category, all of which are really, really good.

Navigating this is really hard. Not because the lists of “best apps” are too long or they’re too expensive or hard to find, but they’re just all so good. It takes a long, long time of trying each one out, being wowed by the unique features or design conventions or automation potential or scalability of each one, and having to decide which secret sauce of those is best for you. Apple is sometimes helpful with this, but other times not. I love the new App Store, but when I see a feature focused helping me “Get to Inbox Zero”, I can’t help but laugh at the 15 email clients they recommend for this — as if they’re sneering, “Literally any of these will work, we don’t care, just pick one.” It’s almost lazy.

Not to mention how those apps in a single category connect with the 10-to-20 best apps in a _different_category. I’ve finally decided on sticking to Things, but do I use that in tandem with Drafts? Bear? Ulysses? Apple Notes? Byword? 1Writer? Each of them? Some combination of these? I could use a cocktail of these different apps that basically do the exact same thing, but how much time must I give myself to figure out that perfect Manhattan of writing a few ranty blog posts on an iPad?

I also have to imagine it’s especially hard now to develop an app in the productivity or writing category and not be in this list. Either:

  1. You could copy some design conventions or differentiating functionality of one of those 10–to–20 apps, do some marketing pushes, and eventually be admitted into the wonderful apps club
  2. You could try and determine some feature or use cases that none of these thousands of people figured out already, and take a big gamble
  3. You should just give up and die

To be clear: I don’t think any of this is bad. I find it an interesting time in the world of mobile-first productivity and content creation where the consumer is pretty much always going to be delighted. Developers of that top-tier bucket of apps clearly know what conventions and functionality their consumers want and are willing to listen hard to understand how to best deliver that. The question for the consumer has gone from “what is the best app out there?” to “what is the app or apps that best suit my particular needs at the moment, but also jive perfectly with how I think or what I want to look at?” The second is a much more time-consuming question to ask, I have to imagine, for most people.


Originally published at tonedeafcolorblind.com on April 28, 2018.

Categories
Getting Better

32 places to put stuff

I have a lot of places in which I put things I care about.

I use Reminders to store…well, reminders of things I need to do. Basic lists.

I have a wish list of stuff I want to buy on Amazon, but then I have another list of other non-Amazon stuff to buy in Reminders.

I also have a few lists and notes for things in Apple Notes.

I keep my passwords securely in 1Password.

I use Trello to manage projects, but not all projects because not everyone uses that.

For some things, I need to make a Google Doc or Sheet. (Somehow, I’ve literally never had a need for a Google Slides presentation.)

Sometimes those projects have other materials. If I’m collaborating, they get shoved into Google Drive or (occasionally) Dropbox.

If it’s a personal project, it’s most likely iCloud Drive.

If it’s something in Adobe’s ecosystem, it might end up in Adobe Creative Cloud — I barely ever use it, but sometimes things occasionally end up in there.

I use Scanbot to scan papers, receipts and stuff for storage in one of these places

If it’s a work thing, it goes to Sharepoint which also includes a hook into OneDrive.

Sometimes it’s a manual or guide book for something, in which case it goes to iBooks, which is basically iCloud but also sort of not. Speaking of iCloud services and reading, Safari Reading List also houses some reading materials that I care about.

Photos can of course be stored in many places — it doesn’t really matter where they go as long as they’re everywhere all the time. In case they aren’t, well, they start in iCloud Photo Library, then go to Google Photos and Amazon Prime Photos.

All this stuff backs up to one of two external hard drives, and an Amazon S3 bucket.

Sometimes I write. I like Markdown for my own personal writing, so I write lyrics, creative ideas and blog posts like this one in Ulysses.

I can’t use that for my day job, though, so for that I use OneNote to write & share notes & documentation with my team.

We use a proprietary solution for managing technical projects.

Roadmap documents? Excel and Word. Not Trello, at least yet, because I need to get people to adopt it and we’re a pretty tight Microsoft shop. Speaking of which, Powerpoint.

We still use Slack to communicate, and I use it for some other things. Sometimes I save notes and to-dos as starred Slack messages.

Of course, there’s always stuff in one of 3 Gmail inboxes, my work email via Microsoft Exchange.

This is a list of apps in which I can put things I care about. They all have incredibly discrete functions in which they’re invaluable to me, but they all each have storage capabilities too. There’s also all the physical papers and forms and stuff filed away in a bookcase.

Thank goodness cross-platform search technologies these days aren’t awful, because if I had to remember in which place I stored something, I would be lost pretty much constantly. As much as the app economy and tech startups fascinate me, it’s almost too easy to lose track of everything. If productivity tools like Workflow and IFTTT make it so much easier to keep things in sync, and there’s backup solutions galore, why does the digital side of my world still feel so fragmented?

As much as Apple’s plan to store users’ entire Desktops and Documents folders within iCloud for syncing purposes is slightly nerve-wracking, I appreciate the effort to help consumers keep their shit in one place. I realize this anxiety is partly my own neuroses and my being raised on a file system paradigm, but I also have to imagine that the fragmentation of the cloud storage (and general digital storage) markets are part of why tech is so overwhelming for some.


Originally published at tonedeafcolorblind.com on September 12, 2016.