iPad Pro

I’ve been really loving working on my 10.5-inch iPad Pro since I got it around a year ago. Recently the newer, fancier 11-inch pro came out and as much as I lust after the new design I’ve decided not to upgrade this time around.

The main reason’s the hardware side of iPads seem so vastly ahead of iOS, my current model has a good chance of getting the improvements I’m wanting without shelling out for new hardware every year or two. There’s a bunch of stuff that’s limiting on my current pro that only software can really address. The things that hold me back are relatively minor in isolation, but combined they paint a picture of productivity friction that doesn’t match the pro moniker.

USB drive support in the files app

I don’t think this is something I would use all that often, I certainly don’t on my Mac, but it’s one of those capabilities that when you need it, you need it. Its absence is a particularly egregious limitation given how Apple devices have been shooting 4k video (which are very large files) for some time. Copying large files like this to a drive is often a much faster way of working and collaborating on this sort of thing.

Safari

iOS 12 multi tasking

Mobile Safari is an amazing thing, but sometimes it just doesn’t cut it, particularly when it comes to downloading files. For example, I want to download a file from a stock image site to include in this blog post, no can do (at least not in an obvious way) in Mobile Safari, yikes!

The camera app

Something I really like about the notes app on iOS is the document scanning function built into it. The only issue, I use Bear for note taking. On an iPad I rarely, if ever, use the camera for taking pictures but I frequently use to scan documents or take pictures of whiteboards. It would be great to be able just pop open the camera app and scan away. Scanning should be a system-wide capability and the camera app seems the obvious place to have it.

Image via The Verge

Multitasking improvements

There’s quite a bit in this space, but for me, it’s all about polishing what’s in the system now. I love using split screen to have two apps side by side, normally I use this when I’m doing things like replying to emails and want a browser to look stuff up at the same time. The biggest issue is there’s no way of seeing which application has keyboard focus. Yes, it’s a minor thing, but it’s little bits of friction like this that add up on daily iPad use.

Setting default apps

There’s a vast number of fantastic third-party apps available to meet just about any need. For instance, I use Outlook for my email, calendar and contacts because it works better with the Office 365 infrastructure at work. Unfortunately, you can’t set an app like Outlook to be the default “manager” of these activities. So if I click an email link in Safari, up pops the standard mail application. Not exactly ideal and certainly not pro.

The good news about all of these shortcomings is they are 100% solvable and (touch wood) are fairly likely things to come in a future release of iOS. Cool factor aside, skipping the new iPad Pro this time around feels like the right thing to do. There’s a lot of room for my existing device to grow with software updates, so it just doesn’t make sense for me, no matter how high the cool factor. The joy of Apple products.

Running lessons​

Over the past few years, I’ve had an on and off relationship with running. I’m not sure I’d go as far as saying “I’m a runner”, but I have run a few half marathons and had periods of time where I’d run at least 5 km a day. Over this time I’ve learnt a few things I didn’t expect when I started.

There’s a difference between knowing the path and walking the path

Yes this is a quote from The Matrix and yes it’s a cliché, but neither of these things makes it any less true. I’ve always known if I really wanted to run 10km or even a marathon I could. Here’s the thing, knowing I could do these things didn’t change me, it didn’t challenge me, it didn’t add any real value to my life. In fact, all it really did was inadvertently stop me from doing things that make interesting people… well… interesting. Doing is where the value is, so go out and do.

It’s all in your head

Running is physically challenging, you can’t just get up in the morning and run a marathon (not well anyway), you have to train your body to meet the physical demands of a run. The aha moment for me was about my 3rd-4th run. About then I started thinking about not running. I started hearing my mind saying, “screw this”, “why bother”, “might as well stop”. Overcoming my own self-talk was 90% of the battle and it continues to be. The great thing about this is building mental toughness, persistence and grit have a far greater effect on everyday life than simply being fit. Staying mindful of your thoughts is the first step to overcoming them.

Goals matter

Without the right outcomes, there’s no purpose in an activity. This sort of calls back to the mental component of running. If I don’t give myself a ”why” it’s much harder to fight the voices of decent in my mind. Goals give me sort of physiological ammunition, so when I start to think of stopping, instead I can just smile and say to myself, “not today brain, today is for X”.

Marathon runner
Me about 100m away from completing my first big “race”

Balance is important

When I first started running I would go out every day and just try and smash it. I’d push myself hard and as a result, tire myself out. It wasn’t long before physical tiredness gets the better of mental will, and I stop running with the excuse, “I’m just not a runner”. As it turns out to find success I didn’t need to kill myself. What I needed to do was show up. Not every day is going to be your fastest, your longest, your best, but if you don’t show up you make certain it won’t be. This also applies to recovery and rest. Introduce some “nothing” into my day really helped me to learn to take time for nothing, clearing my head, refreshing my body, giving myself a chance to succeed.

Every day is its own challenge

After a few runs were behind me and I got comfortable in a “quick 5km”, running begins to feel mundane. Becoming a little less impressed with each run I needed to challenge myself again. For me, this was another aha moment. Greatness is all about raising the bar. It’s treating myself like a project, being mindful and working to become a better version of me. Yesterday’s challenge was for yesterday’s version of me. Greatness comes from how a behave here and now, not yesterday. Today is where greatness lives.

Oh yeah!

Hey, so in case you haven’t heard already the Oculus Quest is a thing. It’s been a long time coming but we finally have proper PC free VR. I’m not going to go into any real detail about it other than to say I’m super excited to get my hands on one of these things when it’s released next year. If you want to know the ins and outs of what’s currently known about the product I’d suggest watching tested.com’s coverage of it at Oculus Connect 5 below.

Video via Tested.com

Making a podcast

News flash, I’m working on a podcast. Maybe even more than one.

I’ve always loved podcasts and have been listening to them for as long as I can remember. I’ve been kicking around the idea of creating my own show for years, so when a friend of mine suggested we do one together, I was immediately interested.

We’ve had many ups and downs, using many different mics, locations, software tools etc to get the quality as high as we can reasonably afford without a full-on studio. I’m planning to do a few posts about the process of pulling this all together. It’s been quite a journey and I feel it would be hugely valuable to anyone wanting to kick off an in-person show.

Something that really surprised me was how an in-person show is actually more complicated to get good results than the remote recording most shows seem to do. There seems to be a large amount of good content on creating shows via Skype, which is really useful, but I’m hoping to share what we’ve learned recording face to face.

Topics I’ll cover include:

  • Hardware
  • Software
  • Environment and technique
  • Distribution

If you’re keen to get going and want some good resources now, I’d suggest looking at Jason Snell’s excellent podcasting articles over at Six Colors, Marco Arment’sPodcasting Microphone Mega-Review” and Dan Benjamin’sPodcast Method“.

We’re still not quite there with our show, but we are getting better at it every time we record. Best of all we are having fun doing it, which is really the most important thing.

Keynote countdown timer ⏲

I made a thing!

I was helping a friend with a Keynote presentation deck. One of the tricker parts was that it needed an automatic 30 min on-screen timer to tick down. I’m something of a Keynote wizard, but I hadn’t made a timer before, but I happened upon this great tutorial on how to create one. Timers can be useful for all sorts of presentation types, particularly in classrooms and workshop situations. As easy as the process is to create one, it is quite time-consuming. So rather than do it once and be done with it, I thought I may as well share it.

To that end, here’s my Keynote countdown GitHub repo or you can download it direct. Enjoy.

Github Learning Lab🔬

I’ve been using GitHub for a while now as part of my spelunking into the world of VR and Mobile development. I think it’s fair to say it’s done a great job of protecting me from the inevitable mistakes of learning something new. Having said that, it does take a while to get your head around anything other than the basics.

Thankfully there are a large number of resources available to help you along the way. Most recently I discovered GitHub Learning Lab, a fantastic resource for learning how to use the platform for your own projects or contributing to others.

I think the thing I enjoy most about this particular option for learning is that it’s actually using the tools themselves. Yes, there is text and video to consume, but you actually use GitHub itself to work with the course material. I’m a real learn by doing sort of person so this sits particularly well with me.

So if you’re new to GitHub, or just want to solidify your knowledge of it, I suggest you take a look.

 

How to: Setup CocoaPods in Xcode

Hey, guess what? I’m learning iOS development and have been for months! Thought I might increase my rate of publishing to my blog if I did what I did for my VR course and posted study related stuff here. So to that end…

Here’s a simple step by step guide for adding CocoaPods to your iOS projects. There are quite a few steps involved and I suspect this is something that is done relatively infrequently in a single project. It’s always nice to have a reference for this sort of thing.

Steps

  1. Inside Terminal, change directory to the folder containing the Xcode project
  2. Initialise a new Podfile. You do this by using the “pod init” command. If you need more details read about it in the CocoaPod’s guide for pod init
  3. Open the Podfile in Xcode. Just drag it to the Xcode icon in the dock
  4. Add the library to the pod file. Here’s an example Podfile with SwiftyJSON and Alamofire libraries added
  5. Install the pods using the “pod install” command in Terminal. Here are more details on pod install should you need them
  6. Now open your Xcode project via the new .xcworkspace file

Easy as pie.

Time to go VR?

Well the Oculus Go is out. I’ll likely be picking one up later this year just to give it a go (see what I did there), but being a 3DOF system it isn’t the VR system I’ve been waiting for.

Having said that, the Go looks like an important step forward for VR and even  3DOF systems like this have plenty of interesting applications.

If you’re interested to know more, take a look at this detailed review from the team at Tested.

 

Udacity VR Nano degree retrospective ⏳

When I started my Udacity VR Nano degree I knew I was in for a challenge. Now that I’ve successfully completed my final assignment I thought I’d share some lessons learnt. So in no particular order:

  • Use version control. Thankfully I started doing this very early on. I had heard of the benefits and for whatever reason actually took them seriously. I started a religious habit of regularly pushing changes to GIT. I only used GIT to roll back to previous versions of projects hand handful of times, but had I not had the option I would have had a much bigger problem on my hands.
  • Don’t underestimate the time required. Taking on any study that requires large blocks of time can’t be taken lightly. It’s not going to be enough to only do a 30 min stretch at lunch, or an hour once the kids are in bed. You’re going to need a clear half day at least once a week to make real progress. Also, make sure you know what’s going to consume your time on projects in any given block. No sense clearing 4 hours for study only to have 3 hours of that time consumed rendering a 4k 360 video.
  • Don’t forget to look after yourself. With pressure on your time, it’s easy to cut out things like exercise or time with your family. Don’t do that. Cut out things that are actually a waste of time instead. TV is a big one but also think of ways of compressing your time. Like listening to audio books while you go for a run rather than reading a book alone.
  • Take breaks. If your mind is cluttered you’re not going to learn as well as you might. I found when I spent more than an hour trying to solve an issue the thing to do was take a 20-minute walk, clear my head, then take another crack at it. It’s amazing how often your mind will solve problems for you when you let it.
  • Take notes. Even if you never refer to them, take them anyway. Do this with a pen and paper (or a tablet and a pencil). It’s all about making the information get in your head. I almost never refer to my notes, I don’t take them to remember later. I take them to remember them now.
  • Try and integrate your life into your study. I did this by using my kids as the target audience for my projects and used them as user testing subjects while developing. It let me spend quality time with them and get some study done. It was also an education for them too so a real win-win.
  • Scope out what you’ll need before you begin. I started my course with a late 2009 Mac Mini. While old, it was fine for much of the course. The later parts that required 4k 360 video editing, not so much. This sort of thing can add considerable costs to your study budget so make sure you have a line of sight on this and save accordingly.
  • Get involved in the community. A huge part of successful study for me was the community of learners and educators around the subject. Help others and ask for help when you need it. Don’t waste time beating yourself to death if you get stuck. Solving your problem on a public forum helps everyone else with the same issue in future. So don’t be selfish, ask for help.
  • Be grateful. To your partner for looking after the kids. To your friends for listening to your ramblings about project issues. To your classmates and mentors for helping you along the way. Be grateful.
  • Stick it out. Software development is hard. It’s not supposed to be easy. It is literally constant problem-solving. There will be times you’ll think “maybe I’m just not good at this”. Just keep going.