iOS experiments: evaluating mixes

I haven’t written in a bit, but here’s some more stuff I’ve been thinking about in my spare time: listening to my music projects-in-progress in as many possible contexts as I can.

Why is this more than a simple task? Audio files are big. Important: these are not your favorite streaming service’s audio files. These are hi-res, uncompressed, 24-to-32-bit audio files that are being semi-professionally mixed and mastered by a sound engineer for me. I can’t stream these without murdering my data plan, and there’s no easy or obvious way to put all these files I listen to within the stock iOS ecosystem. Plus, I need to manage and track changes to mixes easily as we address notes about those mixes.

issue 1: managing the recording project

I use Trello for all my recording projects currently, and their iOS apps are pretty fantastic and getting new and more complex features monthly. So no issues here.

issue 2: getting the mix

When James, my mixing/mastering engineer friend, has a mix for me, he usually posts a comment on Trello with the private S3 download link. I love how easy it is to just spin up a mix for listening, but this gets problematic when I'm on the go. I listen to a lot of music (including these mixes) on trains to and from work – streaming a 50-200 MB audio file is murder to my data plan, and way too slow for any meaningful listening.

So I need to download to my phone as soon as I get James' mix. I've come to really appreciate Readdle Documents as my storage system for audio files, or any files, really. Documents has the ability to auto-sync any folder from any major cloud service. James (my mixing engineer) and I primarily rely on Google Drive and Amazon S3 as our main repositories for managing and sharing files around our music projects; Google Drive’s got some nice revision history tracking that allow us to keep track of what’s changed in a particular file or session. I can dump any of James’ mixes into a Google Drive folder, and in less than 20 seconds, it’s on my phone ready for offline listening.

Amazon S3 is a different beast, though – we use it primarily for large session storage and archiving – but I still occasionally need to access that on the go. Panic’s excellent Transmit app makes browsing S3 buckets super easy, and it’s beautiful on my iPhone 6s Plus. Frankly, if Panic built Google Drive support and some local file sync support into the app, I’d probably use Transmit exclusively for all file management on iOS.

issue 3: mix notes

As I mentioned above, we use Trello to manage the recording project at a high level. But sometimes I’ll be listening to a mix on the go and get a quick idea that I want to write down. Apple’s stock Notes app, with 3D Touch, makes for really quick note-taking that I can access later from anywhere. I love the new checklist feature in Apple Notes, mainly because it's nice to look at and super responsive.

If you don’t have an iPhone with 3D Touch, Drafts is an excellent alternative here. It's super minimal and uses Markdown syntax to easily organize notes you take. You can even set up very custom share actions that allow you send your drafts anywhere in a swipe.

In either case, I can easily take notes on the fly and share them to James in Trello or whichever messaging app in which we're talking.


That's pretty much it. Not much to it, but I find it valuable to review how I perform more file-heavy, less-simple tasks with the constraints of iOS such that I can waste less time and have easier access to the projects I love working on.

iOS experiment 1: changing and tinkering with a WordPress site theme

As I mentioned last week, I’m trying to make my iPad Air 2 actually useful in my life. Currently, it’s a rarely used content portal despite being almost as powerful as my MacBook Pro and having a fantastic app ecosystem.

Plenty of folks have talked about the beauty of being able to code on an iPad – there’s apps like Coda and Textastic that have been germinating for years in the App Store – but there’s so much more to web & software development than just writing code. You need a local development environment. You need to be able to manage changes to your code via Git or Subversion. You need to be able to show people real changes before pushing those changes to your live site or app. You need to be able to read and manipulate data. There’s plenty more I can’t even think of, since – hey now – I’m not actually a full-time developer.

That said, I manage a few sites built in self-hosted WordPress, one of which is this site. I got tired of having to find and fix bugs with the old theme, so I wanted to see if I could simply change a theme and hack it to my liking, all via my iPad.

Why is this not so intuitive to the untrained eye?

WordPress has an amazing theme directory of its own, which allows for direct installs to your website; plus there are thousands of premium theme repositories across the Internet which package beautiful themes in nice .zip packages, which can be extracted easily within your hosting environment for use. I’ve been doing this for years and it’s second nature at this point to launch a WordPress site and tinker with countless themes. However, this is a bit harder to do on iOS:

  • WordPress’ iOS app has no awareness of its own theme directory;
  • There’s no true in-house file management solution in iOS;
  • iOS’ handling of .zip files in itself is murky at best;
  • There’s no obvious way to set up a local environment of your WordPress site on iOS to tinker with the theme before pushing it live

So, how should we deal with this?

Finding and getting a new theme

As I mentioned before, it’s really easy to find WordPress themes on the Internet – just Google it. When I find a theme I like, I need to download the .zip file containing its assets and somehow get it onto my hosting platform.

I’ve come to really appreciate Readdle’s Documents app for all my file downloads and management. It has its own built-in browser, which handles file downloads much more seamlessly than Safari’s stock file handling. I’ve found that some WordPress theme providers require a login to access a theme’s files (ThemeForest, for example), so having Documents for both the logged-in experience on one of these sites and the downloads I need to perform is really helpful. I can then open up and look at the files within Documents, and upload them straight to my FTP server provided by my hosting provider – all within Documents.

Testing the theme out

Web & software developers commonly refer to a ‘local’ environment for making changes to their code & testing those changes. I haven’t yet found a good way to do this all directly on my iOS device; however, with websites, it’s pretty easy to set up a private sandbox to test out new themes before pushing them to my live site.

I use Namecheap for both my domains and shared hosting; they give me a pretty robust SFTP server to host all my files for my websites. I’ve set up my 3 main websites to point to this server, as well as 3 “sandboxed” versions of those websites in a subdirectory – /sandbox/brandonlucasgreen/, for example. In that folder is another WordPress install which is private to the world and only accessible to me, which I set up simply through the cPanel interface. Setting up a new WordPress install in iOS Safari isn’t quite as speedy as it is on my MacBook Pro, but it’s not terribly hard to get done.

What doesn’t work well on a 9.7″ screen is WordPress.com’s stock post editor.

Thank goodness for Ulysses, which is so much more pleasant to look at, extremely good at organizing my writing (both long- and extremely short-form), and can get my posts to WordPress via a simple Workflow.[^1]

Having a sandbox to break things within is great, but I also wanted to try some sort of revision management on the iPad. Turns out there’s a great app for that in Working Copy. I love this thing – I can make simple code changes right inside the app, push them to the sandbox git repo I created, see the changes instantly, and then push them to Github and production once I’m satisfied.


Split-screen-working-copy.jpeg

Messing with data

Occasionally I need to hack together posts and other WordPress settings in various states, and sometimes it’s easier to do that directly in the database WordPress uses, rather than in WordPress’ (admittedly slow) admin interface. WordPress operates on MySQL, and I’ve found that Navicat’s MySQL client for iOS is a solid app for dealing with this.

This is just a start, but after messing around with a few apps and getting comfortable with a smaller screen, I’m reasonably confident that I can manage my website entirely from an iPad. Next up: working with audio on an ipad.

[^1]: They’re even adding native WordPress support in Ulysses 2.6 coming soon!

Moving to iOS: an experiment in creative restraint

On Monday I’m receiving a company laptop. I have mixed feelings about this – it inevitably and subliminally will have me working more on trains and on weekends, but I’ll be able to do so much faster than I currently do via Microsoft Remote Desktop.

Why do I bring this up? I bring this up because I have a beautiful, expensive Retina MacBook Pro that I’ve been using for the bulk of all my work for almost 3 years. It’s my indispensable sidekick for recording music, writing, (attempts at) coding, managing my finances, pretty much everything. Since starting my current job, though, I’ve started to spend less and less time with it – occasionally pulling it out on crowded trains, opportunistically pushing it to its limits by recording for hours at a time on weekends, painstakingly RDP-ing into my work machine just to run a few SQL queries. Sometimes it sits on a desk for days at a time, neglected.

Now that I’m getting this other laptop, I have even less use for the thing.

I have an iPad Air 2 – this thing is also generally neglected in my household. Alicia will occasionally use it to watch TV in bed, and I’ll occasionally check Twitter or read some blogs with it, but that’s about it. I had downloaded Ulysses for iOS a few months back thinking I could use this iPad as a blogging machine, but even that felt redundant with the MacBook Pro.

I realized, however, that the work laptop has given me an opportunity to change the way I work outside of my day job a bit. After reading about the amazing power in the new iPads and the app potential brought by iOS 9, I’ve decided to run some day-to-day experiments using the iPad Air 2 in attempting to make it my primary computer.

The iPad does not replace coffee.

There’s already been a ton of writing on this – I’m really happy to have dug into the writings on iPad on MacStories, Daring Fireball, the Music App Blog and other sites, so I have plenty of foundational ideas to work with. I’m interested in seeing how I can leverage my iPad for my personal use cases:

  • rapid blogging in Ulysses,
  • music recording in Auria Pro with a plethora of synth/sampler/effects apps wired together via Audiobus,
  • pseudo-local website development with Working Copy, Coda and Transmit,
  • managing my music, technical and personal projects with Trello and various stock iOS apps

…and I’m sure many more along the way. I’m mainly interested in testing just how portable my tech can be and moving to a single operating system (that is, iOS), but I’m also curious as to what new possibilities there are brought by the iOS framework and app ecosystem.

More to come. I should probably start getting used to this tiny keyboard…

It’s a glorious day when Apple fixes your bug (UPDATE: oops, still broken)

UPDATE 3-16-16: I did some more thorough tests on my iPhone and MacBook Pro and have run into the Smart Reminders linking bug again – specifically when adding links from Safari on my Mac, then opening them up on my phone. Back to Apple Support forums. Ugh.

It takes a minor miracle to get Apple to fix a bug in any of its software or services. Just look at all the discussion threads about bugs on their forum.

The thing that’s been killing me for months? Dumb Smart Reminders. Apple claimed that, in iOS 9 and OS X El Capitan, you’d be able to remind yourself about virtually anything on your device – a note, a text message, a Trello card, a file on your FTP server – and the reminder would be saved with a simple contextual link for quick access.

Problem is, it’s been categorically broken. Ironically enough, it’s broken when you try to use your phone in the way Apple keeps pushing us to use it – through Siri’s (admittedly mostly great) voice recognition.

If you wanted to remind yourself about a website you were viewing on your phone, and you decided to use Siri to do that, Reminders would (sometimes) create a link correctly to Safari. If you happened to have another app installed on your phone at all (in my case, Ticketmaster, Google Chrome and TripAdvisor), Reminders would instead link to one of those apps – then if I tried to access the website, iOS would attempt to open Ticketmaster and fail to render the website. I’m not the only one with this problem; it apparently happens unpredictably with any number of apps that you may or may not use.

tripadvisor-reminders

Argh.

It wouldn’t have been as infuriating if this was only an issue on iOS – but of course it happened in OS X too. If I saved the same website to Reminders on my Mac using Safari, for some reason, Reminders would instead create a link to Chrome. This wasn’t as bad – at least the site would load – but when you’re like me and strictly use your web browsers for specific reasons (eg. Safari for personal, Chrome for work), this gets annoying.

The worst part, though, was that I could totally see what was happening: if I uninstalled TripAdvisor from my iPhone, Reminders would stop linking to it – but instead link to Ticketmaster. Then it’d link to Chrome if I uninstalled Ticketmaster. If I reinstalled TripAdvisor, it’d start linking there again. Basically, Reminders would work without any other apps potentially risking the link to Safari. You’d think that Apple coded this such that Reminders was aware of the source app of the Reminder, and persisted that link forever. There was some dumb app prioritization happening that was causing TripAdvisor to take preference over Ticketmaster, which got preference over Chrome, which got preference over Safari. (No offense to any of these apps, they’re all great – which is why I have them on my phone, god damnit.)

So, while I wanted to use Reminders for exactly what Apple intended it for, I couldn’t, and had to rely on another (admittedly great, but not for me) app, 2Do, to manage my tasks.


Six days ago Apple released the sixth (sixth!) public beta of iOS 9.3. Yesterday morning, I got frustrated because I was duplicating task lists for my upcoming wedding in both Trello and 2Do – so I decided to try out Reminders again. Saving Trello cards as a Reminder seemed to work. Saving a Note seemed to work. Reminding myself about something in my Amazon wish list worked. Even a stupid webpage someone had sent me went correctly into a Reminders list.

IMG_0154

Yesterday was a glorious day.

Many voices, but only me in the room

There’s an interview with Annie Clark and David Byrne in which they describe their working relationship for Love This Giant:

DB: This was a more intertwined collaboration than most I’ve done. In many ways it was more democratic — we were constantly bouncing what we were doing off one another. Which is creatively great, but also slow — democracy is slow. [laughs]

AC: The tech-y stuff was a headache, honestly. We’d send files back and forth in [music program] Logic, and because I had an older version of the software, I would have to reassign a bunch of David’s tracks that he had painstakingly assigned, and then send it back to him with an apology….One of the earliest songs we worked on was called “The Forest Awakes” and it started as this 6/8, hockety horn thing that I sent to David. I had been kicking that idea around for a while, but I could never figure out how to sing over it. What melody would even fit over this that wouldn’t feel like a distraction? David sent it back with a melody, and I was like, “Yes! Thank god!” It was a puzzle I couldn’t finish, and he put the right piece in.

DB: Most of the excitement for me is when I could see things getting to a point where I’d go, “This is nothing like anything I would’ve come up with alone.” It’s the whole point of collaboration.

This challenge has stayed with me for some reason. Making music with others is incredibly satisfying, but not only is it hard by default — it’s even harder trying to wrangle people who aren’t nearby. When we moved to Salem, I knew this was going to be a challenge — I had made a bunch of friends & connections down in New York but only knew a few people on the quiet North Shore of MA that played music. You can obviously connect with these people, but I wanted to maintain creative relationships with people I knew I could work well with:

James, a sound engineer and friend from high school who has been mixing/mastering Sophomores tracks with me for the past two years; and

Mary, a singer I met in 2014 at a house music showcase and I’ve been writing dark bluesy rock music with for a few months

One lives in Bushwick Brooklyn, the other lives in Astoria Queens. It was convenient to play and record with them in NYC, but the new distance presented its challenges. Mary and I had discussed traveling to record and perform but that requires weeks of notice and planning. So, I had to figure out my own working system for remote collaboration.

Managing the work

Since I’m a project management nut, this was naturally the first thing that I worried about. Fortunately, I had already found a love in Trello that led to project planning issues being resolved quickly.

I created a Sophomores organization in Trello that contains all my projects. Each project (an album, EP or collaborative project) gets its own board — for instance, I have a board for sessions with Mary, another for my current album in progress, and another collecting ideas for a music video I’ll eventually have made.

For a given project, each song has 3 cards representing it (songwriting, my own mix, James’ mix). There are also supplementary cards for other related tasks — transition notes, metadata, file structure, etc.

All official progress updates are made as comments via Trello. Whenever James has a new mix of one of my songs, he posts the URL to listen on his S3 server, and we can easily do rudimentary version tracking via the comments on a particular card.

We use checklists to collect and respond to feedback. Sometimes James and I will get a little carried away and add silly comments here and there, but it’s for fun.

Making the music

Now to the actual music making. I’ve been using Logic Pro X and Reason primarily to make music for a while now with some great results; James works on a PC and Mary doesn’t have a recording rig at all. So we needed a way to easily send each other ideas, bounced mixes and sometimes full sessions.

Amazon S3 largely solves James’ and my issues for file sharing. I can upload an entire Reason file and bounced tracks in a few minutes, and he can pull this into his own rig easily. We both use Presonus’ Studio One for mastering and metadata, and sharing full sessions via an S3 bucket is easy. On the list: start versioning these things.

Sending audio to/from Mary is a bit trickier since she doesn’t have a recording rig of her own. Thanks to iOS and GarageBand, however, this is starting to become easier. I can record basic guitar, piano and scratch vocal tracks via my iPad and Apogee Duet, and send them to her to review — she can even do the same on her phone. Then I can import these into Logic for more nuanced work. Vocals are a bit tricky still — I have a decent space for recording (to be detailed in a future blog post) but Mary and I are working to figure out a working setup for her to record her own vocals. Fortunately, Mary’s got a voice that sounds great via even a basic dynamic mic — so an SM58 should work fine for her.

This is all a work in progress, but I’ve enjoyed being able to make music in such a modular manner while still collaborating with some of my close friends. I’ll continue to post updates on my recording projects both here and on my own site — those who are interested, please share your own ideas on this stuff.