Matthew Lang avatar

Matthew Lang

My web development setup for the iPad Pro

While it was my intention to write about my web development workflow on my iPad Pro at a later date, one of my readers got in touch asking about how I use the iPad Pro in this capacity. Rather than hold off I thought it would be a good time to elaborate a bit on my workflow when using the iPad Pro for web development. What follows is still under review and isn’t my first attempt at using an iPad Pro for web development.

My first iteration on using the iPad Pro involved the Blink app and setting up a remote development environment on a DigitalOcean server. This took a while to setup but even then I found that using Vim as my text editor on a touch device didn’t work for me. So it was back to the drawing board and what follows is a second pass at putting together a web development environment for the iPad Pro. It certainly isn't final but it’s working for me now.

Another point to consider is that this web development environment is tailored towards Ruby on Rails development. A similar setup will work for other languages and frameworks providing you can run your development environment locally in iOS or on a platform like Heroku or Engine Yard.

Remote services

I'm using a number of remote services not because I need too just to be able to work on an iPad Pro, but because they're already part of my workflow on the desktop and I can use them on the iPad Pro as well.

Github

I’m using Github for source code management for a number of reasons like client familiarity, Heroku integration and a few other reasons. The main reason I'm using Github though is that it's tried and tested. You can't argue with that.

I've tried a number of source code management services like Gitlab and Bitbucket. While there are benefits and drawbacks to each service, Github is my preferred source code management service.

Heroku

Heroku has been my go to hosting platform for Rails applications for a long time now. I’ve tried other platforms and while they might be good fits for particular clients with specific needs I’ve found that Heroku has everything that I need for hosting most Rails applications.

I’ve already mentioned that github is good for Heroku in that it’s baked into the pipeline service that Heroku offers. Automated deploys are a great thing and using this in conjunction with Heroku’s CI tool is one less thing for me to configure.

Client side apps

With our remote services in place it's time to focus on the client side apps. Apps that focus on developer productivity have largely revolved around other things that developers do like project management, issue tracking and documentation but there are more text editor apps becoming available on iOS and I’m confident that there will be even more apps like this overtime.

Working Copy

I’m using Working Copy as my local Git client. I’ve been using this for a few months now. It's easy to setup and it works well in iOS 11 with split view and the drag and drop functionality. Working Copy also integrates well with GitHub, Bitbucket and Gitlab. So I’m not tied to using one particular Git source code hosting service.

Text Editors

And now the essential bit of kit for any developers toolbox, the text editor. I’m running two text editors at the moment with the hope of selecting just one of these when I’ve given each of them a thorough test.

Textastic

I’ve used Textastic in the past but only as a means to edit text files remotely. Using it now as a text editor means that it needs to tie in with Git, have the essential settings I need for editing source code and perhaps the most important feature of all, a nice colour scheme!

Textastic-and-Working-Copy-together

So far I’m pleased with its feature set and there’s been little in the way of blocks when it comes to workflow. Once I had Working Copy setup to track my Github repos, I was able to drag a branch into Textastic and start working. Changes to files are marked in Working Copy so that you can commit your changes as you normally would.

Textastic doesn't have all the preferences of a desktop text editor like Sublime Text but the essentials are there. Editor themes, font selection and size, and tab size and type. There's also find and replace and symbol listing which is handy for larger source code files.

Textastic is working well for me but the one thing that I would like to see a easier management of the files I'm working with. A command pallete like Sublime Text would be a nice addition.

GoCoEdit

GoCoEdit is a new addition to the test. While Textastic I have history with, GoCoEdit is fairly new and I’m still finding my feet with it. It shares many of the same features as Textastic though, so it's easy to get started.

GoCoEdit-and-Working-Copy-together

Like Textastic, you can drag and drop a repository from Working Copy into the app to get started working. Changes to files are marked in Working Copy for you to commit.

Editor themes, font selection and size and tab size and type are supported as well. There's also find and replace functionality as well. I've also found that in GoCoEdit there is a command pallete with limited functionality. You can manipulate text, find and replace text and save a file using this but there's not much else you can do with it.

I must admit, I do prefer working with GoCoEdit over Textastic. Saying that though there isn't much between them and both are more than capable of being all-day text editors if you find you have to work on your iPad Pro for the full day.

There are many things missing from these editors that would be taken for granted in a desktop text editor like Sublime Text but apps like this are still relatively limited in what they can do on a iPad. The most essential features are there though.

Adapting

If there’s one thing I’ve learned from all this is that if you’re going to use an iPad Pro for web development or any other form of work then expect to adapt to a new range of apps. Sure you’re preferred apps might be available on iOS but the interface does require you to adapt to the new environment.

Thankfully iOS is getting there with better features like the split view and drag and drop. Features that we’ve taken for granted in desktop operating systems for years but are only starting to see in operating systems like iOS.

My web development workflow has required some changes for the iPad Pro but it’s nothing drastic and a bit of learning on a new device isn’t a bad thing.

Thanks to Curtis McHale for reaching out to ask about this and giving me that much needed nudge to write.

Another day, another blog post written. That’s three in a row. Need to get a couple of topics in place for tomorrow and Friday.

A lot of love for Cardhop on the blogs today. Going to have to give it a try at some point.

Features I would love to see in Safari iOS

I've been using an iPad Pro as a web development device for a few months now. Overall I've been surprised at the ability of the device to handle this type of work. Apps like Working Copy, Textastic and GoCoEdit have certainly helped as has the split view on iOS and more recently the ability to drag and drop between apps.

One drawback amongst all this though is the browser I use. Safari has been my browser of choice for iOS for a long time. I've had brief dealings with Google Chrome and Firefox, but they've never lasted in terms of use. I keep coming back to Safari.

As browser's go, there's little to fault about Safari on all the devices it supports. It works well on my iPhone and the smaller iPads I've used over the years. With the iPad Pro though, it feels that Safari is short-changing me.

Pinned tabs

Right okay. Pinned tabs aren't on everybody's list of priority features for a browser but I've been using them for so long on other browsers it seems that they've been around forever. That's not true in the case of Safari for macOS though. Pinned tabs have only been around for a couple of years with Safari which seems like a very short amount of time given that they have been available in other browsers for years.

So why pinned tabs on Safari for iOS?

Well, largely it's an organisational thing. There's a number of tabs that I keep open through the day and pinning these tabs in the browser allows me to quickly jump to them through the day.

Given the screen space on the iPad Pro models and even on the iPad Mini models, I'm surprised that the pinning of tabs hasn't already been done.

Web inspector

I was surprised to find that the Web Inspector on Safari for iOS is only available when you connect your iPad to another Apple computer.

Screenshot of Safari Web Inspecter preferences

Now while a web inspector is probably a big ask on a device that probably wasn't intended to be a web development device, I think it's a fair request. People are turning to the iPad Pro and looking for a device that replaces their laptop or even their desktop. The inability to run the Web Inspector without connecting the iPad Pro to a MacBook or iMac doesn't exactly

However, while you might not be able to use the Web Inspector for Safari iOS without connecting to another Mac, there is an app called Web Tools that replicates this need feature rather nicely.

Support for pinned extensions

I toyed with the idea of calling these starred extensions but pinned extensions might be a better idea, but first I have to explain what this is.

At the top right of the Safari app on the iPad is the share button. This button allows you to share the current URL with a number of other apps on your iPad or iPhone. I use it a number of times every day, mostly for sharing links to my Instapaper, Pinboard and Bear apps. I also use it quite a lot for opening 1Password. The share button on the iPad Pro is a quick and convenient way for me to share a link. It's also one more press on the screen than I care to do.

If you take a look at the Safari interface on my iPad Pro, you'll notice that there is some whitespace on either side of the address bar. What if this space could be utilised in a better way rather than just leaving it blank. What if (and only if your screen size can support it) you could pin a couple of your favourite share extensions to the Safari toolbar?

By pinning your share extensions to either the left or right of the address bar, you're putting your share extensions in a more convenient place.

There are obvious restrictions to this like screen size and even the orientation of the device which governs how much space you have, but surely the developers at Apple could make this happen?

The expectations of a Pro device

When you name your device as 'Pro' there is a certain level of expectation of it. I must admit I eye-rolled when I first heard that the new iPad would be called an iPad Pro, but as I heard more about it and watched the first couple of iterations of the device, I could see where Apple was going with this.

To support this new family of devices I think that there needs to another level up of apps that are targeted at the Pro line of devices only or at least variations of the apps that support Pro features.

These apps might be specialised and target a specific market of people, but given that the iPad Pro is already being seen as a viable option to a laptop and even a desktop, I think it's important for Apple to offer that extra bit of functionality that users may look for in an app.

These features that I'm looking for in Safari for iOS might not be a priority for the Safari team or even on the list of new features for Safari, but I'm sure that if Apple is looking to push the iPad Pro device to more professionals then there should be some distinction between the normal apps for iOS and those for Pro devices.

So many good things have happened on Micro.blog in the last few months and the cherry on the cake is the ]macOS client](http://help.micro.blog/2017/mac-version/).

My kind of prepping.

Just tried pumpkin spice cream liqueur. Erm …. not a fan. Might be alright for a coffee though.

Cowboys must stand for national anthem

Jerry Jones chips in on the NFL #takeaknee protest with an ultimatum for the Cowboys team.

“I’m not in the business of 51-49,” he said. “That’s not what we’re about. I’m removing the politics. I’m removing everything from this. What I have the right to say is who’s on that football field.”

Dallas owner Jerry Jones says Cowboys must stand for national anthem

Jones says he’s removing the politics from this, but it sounds like he’s removing everyone else’s politics on this by using the protest as a way to punish players.

Glad I’m not a Cowboys fan.

Another Star Wars Christmas

Another Christmas, another Star Wars movie. I can’t wait to see this.

Since watching it this morning, I’ve seen lots of theories online and I’ve even got my own theory about how the three movies will pan out but I’m keeping that to myself.

Had that moment in a software project yesterday when you realise you should have named something with ‘x’ instead of ‘y’. #epicrefactoring

Goodbye to being productive in the air

I can’t say that I’m a fan of seeing high-speed Internet access being rolled out onto airlines.

Why is it that flights often make for good working conditions? In spite of all the discomfort, there’s something zen-like and cloistered about being in an aircraft and incommunicado. Particularly when lights dim and people are sleeping or absorbed in their movies with headphones on, it’s easy to get in a zone with the material you’re looking at, on a laptop or from a printout.

Free in-flight wifi means we’re quickly losing an unexpected haven for deep productivity

If this happens, why bother putting windows in the aircraft? No-one will be looking out them anyway.

Drew moved up to his Tiger cubs green belt this morning. It’s great to see him making progress even at this level.

Drew finished building this year’s Lego Halloween set. Well done wee man! 👍🏻

An Instructor's Instructions

Michael Wade with the essential list for instructors.

Different ways to explain the subject and how to incorporate those ways into the class so if a student doesn’t grasp one approach then the next one or two should hit home.

12 Items an Instructor Should Consider by Michael Wade

Bonus points to Michael as well for using a picture with a Field Notes notebook in his post. Nice!

Currently having a geek out frenzy on ligatures in Sublime Text.

Typical. The day the Battlefront 2 beta comes out and I’ve got work to catch up on tonight.

Took the Star Wars Battlefront 2 beta for a spin tonight. Love it!

Star Trek Discovery episode #3 was a lot better last night. Going to stick with it.

I often struggle with content ideas for my freelancing blog. I should look towards my expertise more than anything else.

It doesn’t matter how narrow your expertise is. If you know better than anyone how to parse New York City subway schedules, I want you to write about it. If you’ve taught your cat to care for a Tamagotchi, I definitely want you to write about it.

Write an excellent programming blog by A. Jesse Jiryu Davis

Been a while since I did this.

One more technique I found helpful is keeping a “content ideas” file on my phone. Whenever a random idea pops into my head when I’m at the gym or about to go to bed, I go and add it to the file.

I think it’s time to keep a list of content ideas again.

Techo and Field Notes deliveries in the same week! 👍

Micro might just be the text editor that brings me back to full-time terminal use! On a related note, when are we going to get a proper Terminal app for iOS?

Back on the #langster for running errands at lunchtime. Great to be clocking up the miles again. #langsterforlife

This is the most restraint I’ve had to show in my life.

This tub contains the awesome trio of nuts, peanut butter and chocolate. I don’t know how they’ve lasted 24 hours in this house.

I have to say. The unique way in which micro.blog allows posts and conversation in the form of replies is a brilliant idea. I was unsure of it at first, but having spent some time with it over the last few months, it’s clear to see it’s a great feature.