How I take programming notes with the Apple Pencil and the iPad Pro.

Cocoa Academy
8 min readMar 27, 2017

--

In this blog post, I will cover how and why I take notes as an iOS developer. Some people might assume that note taking is something for beginners. This is actually how I learned as I am self taught. Note taking is something that I find, just works for me in a few different ways. If I write it down, then I am forced to type it out when I need it. It also helps me remember it better. I will read it, write it and then type it. Typically, when I bookmark a website I rarely ever go back to that site. Ever week if possible I find something in Dave Verwer’s or Natasha The Robot’s newsletters and I try to get them into my notes. This is still a work in progress as I do not always have the time to take notes. Taking notes makes it easier for me to find things later. Nothing worse than trying to find where you saw some website for something you are looking for and can not find it.

How it all started

My first programming language was Actionscript 2 but I was to scared to actually do much with it until Actionscript 3 came along. When AS3 came out I really liked it and the more I learned about it the more I got into it. But I found myself copy and pasting a lot and not really learning. I felt like I needed a change in my approach. I decided that I would start taking notes and see how it worked out. I knew I wanted to take notes but I was not sure how I would do it. After some trial and error I bought a three ring binder, college ruled paper and sheet protectors. When I used the same technique with Objective C, I just bought a notebook and divided it with tabs.

Objective-C note taking before the iPad Pro was released

The more I did it the more I realized that I was catching on quicker than just copying everything I read in a book or a site. I would divide my notes into tabs and every time I read something or found something online I would add it to my notes. After doing it for so long the things that I used the most in my code became second nature and I didn’t need my notes. I’ve been taking notes off and on my whole career but at my peak, I had about 300+ pages of notes that I used.

September 9, 2015

On this day, the iPad and the Apple Pencil were announced. I knew immediately that I would use it for taking notes (and Netflix of course). I literally sold or gave away all my old iPad’s and used my end of the year bonus to buy it. The 12.9 inch iPad was for me and from the first time I used it I fell in love. I knew that I needed to set it up for me which took me a couple weeks to get it the way that I wanted it. The glass on the iPad is to slippery for me, which made me put a screen protector from Tech Armor on my iPad to give it a bit of a gritty feel. For the case, I settled on the Logitech Create Keyboard case because the keys were backlit and it used the smart connector, which means no need for charging my keyboard or bluetooth.

Unfortunately, the Apple Pencil was on backorder at the time so it took a month before I would get to actually use it. It came on Christmas Eve and I was ecstatic.

I added a pencil grip from The Pencil Grip, and I like the comfort it brings.

The Program I Use

Once I got my Apple Pencil, I downloaded every note taking app I could find. I wanted to see for myself which one I liked and did not like. After a few days of testing, I fell in love with Notability and I have not used any others seriously since. I have tried others but nothing as of yet as made me want to switch. Notability just made my writing feel natural and to me it stayed true to the way I write. The other applications that I tried just did not feel right to me.

Besides the writing, I liked the structure of Notability. I like that I can zoom in and write what I need. I also like being able to select a bunch of text and change the style, move the text or just copy it and paste it again. One of the main features I love about Notability (this could be true about other apps), you can take any PDF template that you like and drop it in and use that as your paper template. If you read my article on Using Kaizen to Improve as a Developer, then you saw my notes there.

A few years ago, I switched from basic note taking to using the Cornell style. I found that the Cornell template would work out great but I could not find anyone else actually using this format online for coding notes. When I saw math and science notes using it I knew I could make it work.

Now that I am using the iPad Pro, I searched the internet for days to find the right Cornell template that I could bring into the app. If you have never heard of Cornell note taking here is a breakdown of how each section is used:

Found a site called Incompetech that let’s you create a Cornell template to fit your needs.

For my Cornell template setup, I made the summary section smaller and the keyword section a bit larger since I typically write notes on that side. Here are what my settings look like.

I am using a 11x17 inch paper to give me more real estate to work with. I created two templates for my notes, one with a footer at the bottom and one without.
You can have yours with or without the grid but I find that the grid works great for me. When I take notes I typically use blogs but using them with videos, books and especially Stack Overflow has helped.

Stack Overflow Notes

As I’ve shared, I take notes from mainly books and blog posts. Last year, Rob Napier posted a blog about Copying in which there was a conversation with Anubis and Kakophonis about Stack Overflow.

Anubis said “I’ve only been programming for a little while. Swift is my first language, and I really don’t know anything yet. I find myself just searching Stack Overflow and cutting and pasting code.”

Kakophonis mentioned “he copied but he retyped the code by hand”.

First of all, I felt the same way Anubis did for my first programming language and is the reason I started taking notes. Now I handle Stack Overflow a bit differently. Whenever I find a great code snippet on Stack Overflow, I try to write it down. Again this allows me to find it later, rather than looking through bookmarks or old project files.

Whatever you do to get better as a developer and I do not expect everyone to like my way of learning. This is just something that helps me and I decided to share it online. If you take notes on paper consider the iPad Pro and Apple Pencil. I find it much easier to travel with especially since it syncs on my Mac and iPhone.

If you have any questions feel free to tweet me @thedevme or @cocoaacademy. Here are some examples of notes that I have taken over the course of year and half or so.

Swift Generics
UINavigationController Extension
UIColor Extension
Builder Pattern

Workshops Upcoming

Since I am self taught, one of the things I like to do is give back and help others. I ran the Suncoast iOS Meetup group in Tampa, FL for over 3 years just for that reason. I have given numerous talks and workshops and since I let that go I wanted to find a way to still help others.

I will be doing online workshops as much as I can to help others. I find that courses have a good purpose but an online workshop really let’s you follow along and ask questions. Crowdcast let’s attendees ask questions ahead of time, vote on questions and see each question on the screen as it is answered.

Intro to Storyboarding

On Thursday (March 30th, 2017), I will be giving a free workshop Intro for Storyboarding. We will take an commence app design and setup all the UI with little to no code. If you are a visual person and have been interested in learning iOS this is great for you. For more information you can check out the workshop:

Swift 101: Getting Started

On Friday (March 31st) and Saturday (April 1st), I will be hosting another workshop called Swift 101: Getting Started. In this paid ($52) workshop, you will build a Square Cash prototype. For more information you can check out the workshop here:

Even if you can’t make either events if you register for them you will be able to access the workshop and replay the entire event.

--

--