Things Parser 2.0 for Drafts 5

2018-04-18    Permalink

Today is release day for the wonderful Drafts 5. There are a few great reviews out there, not least Tim Nahumck, who’s published an amazingly comprehensive review over at MacStories. Also worth checking out Rosemary Orchard’s review over on her blog.

I haven’t been writing a review, but since joining the beta in January I have been spending a lot of time getting to grips with the app’s new action scripting capabilities. Drafts 5 allows you to write code in JavaScript to manipulate the content of drafts in almost limitless ways, including integration with other apps via URL schemes, and with web services via their APIs. The developer Greg Pierce of Agile Tortoise has done an amazing job of abstracting away a lot of the complexity of integrating with these apps and services by creating a series of JavaScript objects that can be directly manipulated within the code. If you’re interested in how to do this, check out his comprehensive scripting documentation.

I went into the beta programme knowing basically zero JavaScript, and a few months later I’m pleased to say I have come out having learned a huge amount. I’ve written a few script actions so far, and with each one my knowledge of the language has steadily improved. I wrote previously about my Things Parser, inspired by Federico Viticci’s idea for a workflow that allows quick entry of multiple items into Things 3 using natural language. It takes multiple tasks, each entered on a separate lines within a draft, with special characters denoting metadata for each task, and sends them to Things with a single x-callback-url. I built a JavaScript version of his workflow, which expanded the natural language support, and added support for additional metadata such as deadlines and checklists.

Since then, I’ve been working on developing my knowledge of the object-oriented aspects of JavaScript. While technically JavaScript is a prototype-based language rather than a class-based language, it does have support for classes. I was keen to try to build a programme based on classes, and while mind-bending at times, it was a great way to learn some object-oriented programming. The thought process of creating classes with constructors and properties and methods is a considerable mental adjustment from a more basic functional programming approach, but I’m hoping it will be the gateway to learning more advanced programming in the future.

I may write more in the near future about this learning process, and about the apps and resources I have been using, but the result is a brand new version 2.0 of my Things Parser, completely rewritten using JavaScript classes and adding several significant new features. Before I get onto those, let me just summarise the basic syntax, which I’ve changed slightly from the previous version.

  • #Project Name
  • ==Heading
  • @Tag Name
  • //Note
  • !Natural Language Deadline
  • *Checklist Item1

Each of these, and combinations thereof, can be added after the name of the task and that information will be transferred to Things. Dates and reminders are automatically detected and parsed in natural language so no special characters are required. Here’s an example:

shopping tomorrow at 5pm #Personal
publish blog post today #Blog ==Drafts
presentation today !Friday #Work ==Meetings @Important *research *make presentation *follow up //Ask Bob’s opinion on this

The headline new feature is block-based entry. Previously to add a number of new tasks with the same metadata, you would need to add that information to each line. So for example you might write something like:

task 1 today
task 2 today
task 3 today

Now you can just write the following:

task 1
task 2
task 3

This works with all of the metadata previously supported so even things like this are possible

today at 5pm !Friday #Project ==Heading @Tag 1 @Tag 2 *checklist item 1 *checklist item 2 //note
task 1
task 2
task 3

If a task has metadata that conflicts with the block heading, the task’s metadata wins, but it will still inherit anything that doesn’t conflict. So things like this are fine:

#Project !Friday
Task 1
Task 2 !Monday
Task 3

Task 2 will be added to Project but will have a different deadline to the other tasks. Multiple blocks can be entered within a single draft and should be separated by a blank line.

The other big new feature is project creation. Using the new syntax +Project you can create a new project and add tasks to it. It works in two different modes: in-line and block-based. With the in-line mode you can just add +Project to the end of any line and it will create a new project with that task as the only entry. Headings can also be created, and an area can be specified. Any other metadata is assigned to the task.

task +Project ==Heading #Area today at 5pm !Friday

This creates a project called Project in Area with a heading and a single task under that heading. The task is assigned to today, has a reminder for 5pm, and has a deadline of Friday.

Block-based mode works in similar way with a couple of small changes: all metadata on the block heading is inherited by the new project, not the tasks, and multiple headings can be specified. Metadata must be specified for each task individually. If a task is given one of the headings specified in the block heading, it will be put under that heading, otherwise it will be assigned to the project with no heading.

+Project today at 5pm ==Heading 1 ==Heading 2 #Area @tag
Task with no heading
Task under heading 1 ==Heading 1
Task under heading 2 ==Heading 2

In this case, the date and tag will be added to the project, not the tasks.

It is possible to combine the project creation feature with the block-based task metadata inheritance using two blocks, one which creates the new project, and then another which adds tasks under it. So for example, if I wanted to create an important work project due on Friday with three tasks I wanted to work on today, I could do the following:

+Project #Work !Friday @Important

today #Project
task 1
task 2
task 3

I hope you enjoy using my script action. If you find any bugs or unexpected behaviour, you can let me know on Twitter. For more information on Drafts 5 more generally, check out the new site. If you’re interested in finding out about what other custom actions are available, have a look at the Action Directory, and if you want to talk to others about actions you’ve built or to get help, I’d encourage you to join the Drafts Community.

You can download Drafts 5 from the App Store, and you can download my Things Parser from the Action Directory.

  1. I have also added support for customising these special characters. Poke around in the script and you will see where you can change them. 

Things Parser for Drafts 5

2018-03-07    Permalink

UPDATE: I’ve just released a version 2.0 of my Drafts Parser with new block-based entry and project creation features. You can read more about the update here.

I’ve had a lot of fun lately playing around with the beta of Drafts 5. The developer Greg Pierce of Agile Tortoise has been hard at work on a number of new features, notably developing and expanding the possibilities for JavaScript automation within the app. If you can pick up some JavaScript, there are some very powerful new things you can now do.

For example, I wrote a script to automatically add Markdown Links in reference style, complete with clipboard URL detection and automatically incrementing link reference numbers. You can add it to Drafts from the Drafts 5 Action Directory here.

Recently, I was reading Federico Viticci’s article on MacStories about Things automation. The Cultured Code team have recently updated Things with an advanced new URL scheme. In addition to a lot of new URL scheme actions, they added an add-json command which allows you to import a bunch of tasks or projects into Things with a single URL scheme action: no jumping back and forth between apps with repeated x-callback-URLs. Federico created a workflow which takes the content of the clipboard copied from a text editor, and assembles a chunk of JSON to send to Things. Each line of the text becomes a separate task, with special characters giving additional metadata about each task.

As part of its new scripting features, Drafts 5 added integration (via JavaScript) with this new add-json action, so this got me thinking about whether I could recreate Federico’s idea directly in JavaScript within Drafts.1 What I have ended up creating is a script which is completely compatible with his syntax, but expands upon it and makes it little more flexible.

First of all, it removes the need for the double backslash before the date and time of the event. I’ve built this script on top of a bit of JavaScript called Chrono. It’s a natural language parser that works for multiple languages and can detect references to dates automatically within a string. This means you can write things like “Tomorrow” or “Tuesday” anywhere in the line and it will pick that out as the day for the task. In addition, it will automatically set a reminder if (but only if) a time is also included.

In addition, I wanted my script to support all of the features that the Things add-json command supports, so as well as the special markup characters for projects, headings, tags, and notes, I’ve added characters for deadlines and checklist items. The full syntax is as follows:

  • #Project Name
  • ==Heading
  • @Tag Name
  • ++Note
  • !Deadline
  • *Checklist item

As with tag names in Federico’s workflow, multiple checklist items can be entered.

With this Drafts action, I can type multiple lines in the following format, and they are all simultaneously sent to the right place in Things.

Write blog post about Drafts and Things today at 4pm #Writing ==PolyMaths @drafts @things !Friday *drink espresso *write *publish

If you’re a Drafts user and want to use this script, you can only do so if you are on the Drafts 5 beta. If not, the full release of Drafts 5 should be coming soon, so watch out for that.

You can see my script here, and you can add it as action in Drafts by downloading this file.

  1. Of course, it is very simple to create an action that launches Federico’s workflow directly from within Drafts. Drafts has a native “Run Workflow” action step which you can use. 

OneDrive Updated with Drag & Drop and Files Support ↪︎

2018-01-30    Permalink

John Voorhees, writing for MacStories:

Microsoft has released version 10.1 of its OneDrive app with support for drag and drop on the iPad and a new, cleaner design.

Drag and drop support allows users to move files and folders within the OneDrive app or drag files into and out of other apps. For example, users can drag photos from OneDrive into an email message to add as an attachment or drag attachments from messages into OneDrive. Users can also access their OneDrive files from Apple’s Files app.

Despite the advances the Files app has brought for dealing with multiple cloud services on iOS, the experience remains inconsistent. Dropbox offers probably the best integration so far, with Google’s half-hearted attempt lagging behind. For a long time, OneDrive looked like it wasn’t even trying, so it’s good to see them adding support for it in their latest update. For those in the Office 365 universe – which includes many teachers – I know that this will be a godsend. The Office apps on iOS also recently (and quietly) added drag & drop support, bringing them much closer to being full citizens of iOS 11.

Of course, the best integrated cloud service with the Files app is still iCloud Drive, part of the reason I consolidated most of my personal and work files there after iOS 11 came out. While I’ve been happy with my experience of going all in on iCloud Drive, I hope that iOS 12 and future updates bring more of an even playing field for cloud services on iOS.

Marking with Tally

2018-01-27    Permalink

Life, the Universe, and Everything Tally is a really nice little utility that I only recently discovered. It’s made by Agile Tortoise, the developer of the wonderful Drafts app.

The concept is extremely simple: when you open the app, all you see is a large zero in the centre of the screen. When you tap on the screen, the zero becomes a one; each time you tap again, the number increments by one.

All of the other controls are gesture based. Swiping down decrements the number by one; swiping up reveals controls where you can adjust display settings and reset the counter to zero. Left and right swipes open menus where you can manage multiple tallies and change other settings.

Recently I found a really great use for Tally: counting marks in tests. When I’ve finished marking a set of tests, I go through and count up the total number of marks for each student. Now you might think that, being a maths teacher, I would be pretty good at counting, but it’s surprisingly easy to get distracted and lose count, or get out by ten. Sometimes I need to stop and re-mark something as I’m counting, and again it’s easy to lose count.

With Tally, I just have my phone on the desk by my left hand, and a red pen in my right hand. As I flick through the pages, I just tap on my phone screen. I can double or triple tap for multiple mark questions, and I don’t even need to be looking at the screen while I’m doing it. Using Tally in this way allows to me concentrate on reading the student’s work and my own marking. I can stop and make corrections without worrying about losing count. Even if I don’t need to make any corrections, I find I am much quicker and more accurate at counting the marks in this way, and as an added bonus I feel like I’m a World War II Morse code operator as I tap tap tap away.

With some tests, it’s easier to count the number of marks lost, and Tally supports this too. Using the sidebar on the right of the main screen, you can change the number to which the the counter resets and whether it counts up or down. So for a test out of 75 marks, I set the reset value to 75, and make the counter count down instead of up.

I can imagine many other uses for Tally in the classroom. Keeping track of merits or other student awards would be an obvious one, although Tally wouldn’t scale if like me you teach multiple classes. I would love to see Tally implement multiple collections of tallies, so that I could have one for each class, but I could understand why the developer, Greg Pierce, might be reluctant to complicate what is a beautifully simple app. On the other hand, Drafts, one of my very favourite apps, manages to combine absolute simplicity with the possibility for amazing levels of complexity, so perhaps that’s something that could be achieved with Tally as well.

Tally is a free download on the App Store with a £1.99 in-app purchase to unlock unlimited tallies and dark mode.

Slack for Teacher Collaboration

2018-01-20    Permalink

Slack is a tool for teams that aims to simplify communication and collaboration. It’s marketed as a solution to many of the problems inherent in email, and as any teacher knows, school email is a problem very much in need of a solution!

Before I get into talking about how Slack can help teachers collaborate more effectively, it’s worth talking about why it’s necessary at all. What are the problems with email that need solving?

School Email

First and foremost, I think the major complaint most teachers have with school email is the sheer volume of it. I would argue, however, that it is not the volume of information that is the problem, but the lack of organisation and structure of that information. The nature of email is to be an undifferentiated mass of stuff, with messages which vary greatly in terms of their relevance, urgency, and importance. Almost all of the burden of filtering and sorting that deluge is placed upon the recipient, as you quickly come to realise when you leave your inbox unattended for too long.

I’ve recently started using some server-side email filtering rules to try to create a bit more order. I’ve set things up so that the emails which are directly relevant to me go straight to my inbox, whereas other emails are automatically sent to a folder, archived, or deleted. This has helped quite a bit, but it’s still very much my job to sort through everything.

Email also creates bad habits. I think a lot of people fall into the trap of using their email inbox as a de facto to do list. The model of the single inbox with a list of items which need to be dealt with encourages this, but for many reasons it’s a very bad idea. For one thing, it’s a to do list that other people can add things to whenever they want. To be productive you need to have control over setting your own priorities.

Email also falls done when it comes to collaboration. Long chains of messages organised around ad hoc subject lines is essentially a hack which has been grafted on top of an ancient protocol. Finding and searching through emails on a particular topic is difficult, as they will often be split across several different subject lines. If someone new becomes involved in a project and they were not one of the original recipients of the emails, someone needs to forward the whole messy and fragmented email chain to them.


Slack solves many of these problems. While it doesn’t necessarily reduce the volume of information, it does impose a structure on it. Within a Slack “workspace”, messages are organised into “channels”, signified by hashtags. You start with two channels: #general and #random for team-wide announcements and casual chat respectively, and you can then create other channels focussed around particular topics. Members of your team can choose which subset of channels is relevant to them, and can even adjust their notifications on a per-channel basis.

The channel structure is a far better solution for organising discussion around a particular topic than email subject lines. It places the burden primarily on the sender to decide where they should post their message, and for the recipient, all messages received are pre-sorted into topic areas. Senders can also fine-tune the relevance of their messages using mentions. By including the @username of one or more members of the team in their message, the sender can indicate in a more precise way exactly those people for whom it is relevant. On the recipient’s side, these messages are highlighted.

Another strength of Slack is the level of customisation of notifications that’s possible. By tweaking the settings, if you want, you can only receive a ping when you are specifically mentioned in a message. That way you can be getting on with work and only be notified when a message specifically requires your attention. You can even snooze all notifications to get some quiet time.

Slack also solves the problem of the inbox as a to do list. Slack has no inbox, so as the recipient you need to be proactive in deciding which messages require action. Email is essentially an opt-out system: you need to delete or archive messages which do not require action, leaving behind the ones that do. Slack, on the other hand, is an opt-in systems: as the conversation flows, you decide what you need to capture and act on. If it’s not relevant, you don’t need to do anything: you simply let the messages disappear up the timeline. In my experience, taking control in this way makes you a much less stressed and much more productive person. This may be an adjustment for those who are not used to having to have a separate place to capture things, but it leads to far healthier habits in the long run. You can do this within Slack in a basic way by starring messages, but my recommendation would be to get things that require action into a task management system that you trust and maintain.

Slack is also built from the ground up for collaboration. Sending messages, attaching files, and replying to other people is quick and easy. There‘s a lot less friction than with email, where decisions need to be made about recipients, subject lines, CCs, and BCCs. This reduction in friction might well increase the volume of messages being sent, but I would argue that this is for a good reason. Considerate users of email minimise the number of recipients and the number of messages because they know that, by sending it, they are giving everyone who receives it a task to do. This can actually have the effect of discouraging collaboration: you are reluctant to send a message unless is is genuinely important. With Slack on the other hand, there is little cost to others if your message is less relevant or less interesting to them.

Slack in School

Slack in School In my school I’ve piloted the use of Slack within the Mathematics Department. Primarily we use it for sharing teaching resources. We have a channel for each of the year groups, so that teachers can join the channels for the classes they teach. Another really helpful use we’ve found is for discussion around marking tests. We are often doing these separately at home, and it’s good to be able to chat about the mark scheme and post photos of student answers that we are unsure how to mark.

One of the concerns other teachers have about using a tool like Slack for collaboration is that it’s just another place to check. That concern is legitimate: unless using two different tools offers significant advantages, it’s inconvenient to have to use them in parallel. However, in my experience, collaboration within a subject department is distinct enough from whole-school email that a division between the two isn’t disruptive, and as I’ve argued above, Slack is a significantly more powerful tool for effective collaboration.

While I think Slack works best in teams that work together day to day, it’s interesting to think about how it might work on a whole-school level, and whether it could completely replace email.1 There are big companies which use Slack, so it does scale to that level. At the high school level, it would need to be organised around subject departments, and since each subject would probably require multiple channels, there would probably have to be some oversight to ensure there was a consistent naming scheme for channels, among other things.

Alternatives to email are becoming widespread in the corporate and charity sector2, and it’s about time that schools started experimenting with some of these tools as well. Teaching is a profession where effective collaboration is not always a given, but in my experience sharing ideas and resources with other teachers is one of the most fulfilling parts of the job. On its own, Slack is not going to magically create a collaborative environment in a school, but it can certainly enhance what’s there. If you’re looking for a better tool for your school, why not give Slack a go?

  1. I would love a #lostproperty channel that I could completely ignore. 

  2. My church is all in on Slack. 

Apple Notes for Teachers

2017-10-22    Permalink

This summer, for the first time, I decided to take the plunge and install the iOS 11 beta. In previous years, I had heeded the warnings not to install a beta operating system on your main work device, but this year the temptation was just too great. For the iPad (much more than the iPhone), this was a huge release, with several headline new features that I couldn’t wait to try. My 12.9” iPad Pro is my main work device, but I figured it was the summer holidays, and if I had any major problems I could probably (🤞🏻) fix them before September.

One of those headline features was drag and drop, but since I was using a beta OS, and wasn’t using any beta apps, it was only Apple apps that I could use to test out this feature. The obvious app to start dragging text, photos and documents into was Notes.

Partly because Notes was suddenly a lot more powerful than all of my other note-taking apps, I started using it more. When I got emails with attachments I wanted to keep for reference, I would just drag them into Notes.

This spurred me to do a proper tidy up of all my notes, and organise them into some kind of structure. Previously I had just two folders: “Notes” and “Archive”, the former a list of my currently used notes, the latter a junk drawer of stuff I wanted to remain searchable.

iPhone Notes Folders

One of the iPad Diaries columns from MacStories gave me some ideas about how to organise things. I ended up with two main sections: “School” and “Personal”, and inside each one a number of sub-folders. For a reason that is beyond me, and despite its many advances, Notes on iOS still does not support the creation of sub folders. You can view them and even rename them, but to create them you need to use either the Notes app on a Mac or the web interface on a Mac or PC. Federico Viticci managed to find a rather fiddly iOS-only workaround, which requires the use of the Puffin Pro browser, but I haven’t always found this to be reliable. I think it’s a glaring omission from an otherwise powerful app, all the more surprising because the iOS app is in many ways more fully featured than the macOS version.

Below, I’ll go through each of the sections I created and talk about what I’m using them for.


This section is mostly school documents I need to refer to plus my own notes on some school activities I’m involved with. It’s really nice to have notes where I can easily drag in multiple files, add my own text and other information. Storing reference documents in context like this, rather than just as files in a folder, makes much more sense to me. In a folder, the only metadata I have about the file is its filename, whereas organised in a structured note, I have much more information. For PDFs and images I have a visual preview, and for other documents I – crucially – have some explanatory text that I can search for. Because everything in Notes has been put there deliberately by me, I find it much easier to find things than searching through a gargantuan email archive.

The new document scanning feature in Notes in iOS 11 is also great for getting paper stuff into Notes. My school still seems to occasionally enjoy distributing information via the medium of dead trees, so I like to be able to take the scan it and shred it approach.

Teaching Ideas from Podcasts

I also keep two notes which I update from time to time called “Teaching Ideas from Podcasts” and “Teaching Ideas from Blog Posts”. These I use as part of my effort to keep up my own professional development. If I read a blog that I enjoy, I’ll save it for reference. If I’m listening to a podcast1 and get an idea that I could put into practice in my own teaching, I save an Overcast link along with my own thoughts and a couple of action points. I find this especially useful with podcasts where it’s harder to skim back through them later to find the parts that were especially helpful.

Tutor Group

Tutor Group List

This year I am a tutor, which means I have pastoral responsibility for, in my case, six boys. I keep a note for each one of them with important information like contact details for their parents. My students also recently completed a self-review for their first half term, so I have saved those in there along with my own comments.

I also have a note called “Notices” where I keep a list of information that I need to pass on to the boys when I see them. This is a case where drag and drop really comes into its own. With Mail and Notes in split view, I can drag an email straight from the message list into Notes, which creates a link to the message. After this I archive the email, knowing that I can just tap on that link in the note when the time comes to open the email again. I keep the links in a checklist, so I can tick them off when I’ve passed on the information. 2 I’ve pinned this note by swiping it to the right in the note list so that it always appears at the top.3


Here I keep any department-related stuff including notes from department meetings and ideas for teaching resources, as well as things related to my own subject teaching. I also keep a couple of notes that I call “Personal Policies”. I’ve been experimenting this year with actually trying to write down the way I do things. While I’m good at concentrating hard on one particular thing, I find that my working memory is very constrained. So creating, for example, a personal assessment policy, which describes how I intend to deal with homework, in-class assessment, and class tests is something I’ve found really helpful. It helps me think more carefully about how I’m going to do things, it helps me do them more consistently, and it keeps me accountable to myself.

Lesson Plans

I had been using Bear for my lesson planning, with a similar setup to the way Craig described in his article “Bear for Lesson Planning”. However, I think I spent too long setting up a complex structure of notes, and not enough time creating a simple system that I would actually use. I found myself creating detailed lesson plans, and then not actually using them in lessons because I just couldn’t get the basic information I needed at a glance. The structure I had created was also built around planning whole sequences of lessons on a topic, and while I do believe this is the best way to plan, if you’re super busy it isn’t always possible. Sometimes you just need to make sure you have tomorrow’s lessons planned, with a very brief list for each lesson of what you want to do.

Lesson Plans

I also took advantage of both document scanning and drag and drop to add PDFs to some of my lesson plans. Sometimes I would take a scan of an answers page in the textbook, and sometimes I would drag in the PDF of a worksheet that I was planning to set for homework. Later on I could drag it out into an email to send to my students.

I haven’t decided whether I’m going to use Notes or Bear going forward, but I think I might try to create something a little simpler and grow it more organically into a useful database of lesson plans.


I have one of these for both “School” and “Personal”, in both cases notes I don’t regularly need but which contain information I might need in the future.

Note the use of emoji in these and other folder names. This helps me to easily distinguish them visually.


Shared notes, first introduced in iOS 10, has become a really useful and reliable feature. In this folder I keep a bunch of notes shared with others, mostly my wife. We still use Google Drive to share some files, but again, having documents in context along with some additional notes is much more useful than a complicated nested folder structure.

Notes for Teachers

Teachers have a lot of information to deal with and keep track of, and it comes in many forms: emails, attachments, paper documents, conversations with colleagues and students. Having a simple, reliable way to collect these things together and keep them organised and accessible is important. Notes achieves this admirably. It’s solid and unfussy, and feels like the default choice in the best of ways.

  1. My current favourite teaching podcast is the Mr Barton Maths Podcast

  2. One slightly annoying detail is that these links only seem to work on the iPad. I’ve tried tapping on them on my iPhone, and while the Mail app launches, it doesn’t open the email I was looking for. 

  3. Pro tip: you can see all your pinned notes across different folders by opening the “All iCloud” folder at the top of the folder list. 

iOS 11 – iPad Wishes and Concept Video ↪︎

2017-05-20    Permalink

A really fantastic concept video from Federico Viticci of MacStories on his vision for iOS 11.

There are so many good ideas here, but I was particularly drawn to his concept for native drag & drop. It’s a feature that would be more at home on a touch-based interface than anywhere else in my opinion.

Despite the complexities involved, drag & drop increasingly feels like something that needs to come to the iPad. It just makes a lot more sense to be able to directly manipulate and move content around on a large multitouch screen than it does with a cursor and a smaller trackpad. There would be challenges for Apple and developers, but, after Split View and the large iPad Pro, it seems obvious that the next step is to let users manipulate content further and move it anywhere.

Drag & drop on iPad could become the fastest way to share any piece of data between apps. Users wouldn’t have to rely on the clipboard or the share sheet to slowly move data between apps anymore. With drag & drop, content would be naturally rearranged and dropped as needed, solving one of the biggest problems of working on the iPad.

Viticci’s ideas for a redesigned Split View app picker (much overdue) are also great.

The Split View app picker has to be redesigned from scratch. Building on last year’s concept, I envision a picker that would address all the shortcomings of the existing design:

  • The picker would allow users to arrange their most-used apps on a grid, similar to a mini Home screen;
  • There would be an integrated Spotlight option to search for specific apps (or app content) and launch them directly in Split View;
  • The picker could be displayed on either side of Split View, with an option to swap the primary and secondary app (a long-press on the picker “handle” at the top);
  • Recently used apps would still be displayed at the bottom of the picker as cards. Unlike iOS 10, every app – not just the most recently used one – would carry a preview of its last-seen state (like in the system multitasking view);
  • Every app icon/card displayed in the picker would support spring-loading for items passed via drag & drop, enabling users to quickly open files in different apps or insert discrete data into app views;
  • The entire Split View picker UI could be invoked and navigated with an external keyboard, removing the need to touch the screen when an iPad is used on a desk.

A revamped app picker design based on these principles would greatly increase the usability and speed of Split View, but it would also introduce a different set of trade-offs and usability concerns to be addressed by Apple. Specifically, while the picker could be invoked on either side of the screen, it couldn’t be shown simultaneously on both sides, as it would cause issues with users attempting to open the same app in two places. Furthermore, I imagine that Apple could dim an app’s icon in the Split View grid if the app is already active on the other side.

What struck me most about reading this article is that many of these ideas would give iPad users much better answers to the questions they are most often asked by non-iPad users. One point where I disagree with Viticci is about opening the same app in two different places. Just this week, when I mentioned to someone that I use an iPad for all of my work, their first comment was, “I heard that you can’t have two Word documents open at the same time.” Though to me this is a fairly minor use case that if necessary I can work around (perhaps by viewing one document in OneDrive while editing the other), it made me realise that what allows me to do a lot of my work on an iPad is being aware or figuring out these workarounds. I would love developers to be able to allow their apps to be open in two different instances in Split View, in much the way that Safari does at the moment. This wouldn’t be appropriate for all apps (Photos or Apple Music for example), but for many document-based apps it would make a lot of sense. Copying bits of one Word or Pages document into another is just too much hassle at the moment. A redesigned Split View app picker which allowed this would be a welcome addition to iOS 11.

Split View concept

Viticci also discussed his concept for a Finder for iOS.

The argument that the iPad doesn’t “need a filesystem” lost its validity when Apple introduced document providers in iOS 8 and the iCloud Drive app in iOS 9. iOS already has a visible filesystem, only it’s been rebuilt with simplicity in mind for the age of apps so it doesn’t expose system information like on macOS. The next logical step for Apple is to turn their scattershot implementation of document pickers and providers into a true Finder layer that can work with every app and be more cohesive and intuitive than what we have today.

Another question people often ask me is about how I get my files onto my iPad. When I say that I use cloud services such as Dropbox, OneDrive, Google Drive, and iCloud Drive, they ask how I work with files when offline. For me, being offline is actually very rare: I have wifi at home and at work, and my iPad has a cellular connection if I want to work when I’m on the train. Many of the apps I use work also work perfectly well offline, and do their saving and backing up when they get back online.

Many people have also heard that iCloud Drive isn’t that good, and they’re right when it comes to the current app. A while back, I considered moving to it as my primary file system because of some of the system privileges it has, but in the end decided against it because there are just too many limitations on moving files around and sharing them between apps. Some apps such as Readdle’s Documents have attempted to solve some of these problems, and have been successful to an extent. But there is no substitute in my view for Apple implementing a fully-fledged Finder app of their own. Apple were originally aiming for simplicity in terms of how files are managed on iOS, but where they’ve ended up is confusing to many users. Viticci shows that more powerful features and simplicity can go hand-in-hand.

I’m excited to see what’s coming to iOS 11, and to get a glimpse of the future of the iPad. As always, Viticci says it best:

iOS 9 was supposed to be a new beginning for the iPad. Two years later, we’re still waiting for what comes next. We were given a taste of the future, and left hoping there would be more.

It’s time for Apple to go back to the iPad and fulfill the promise of a device that can redefine modern computing. iOS 9 seemed to hint at a different Apple – capable of rethinking fundamental traits of the iPad’s software while respecting its legacy and essence. I want to see the same approach and bold vision in iOS 11, with the iPad growing into a computing platform that takes the best features of the Mac and reimagines them for our times. I want to see the iPad ecosystem thrive again, creating new incentives for developers to craft desktop-class apps and for users to invest in the iPad as their primary computer.

iOS 9 was an outstanding update, but there’s so much more the iPad can be.

We’re ready for something new.

Apple Updates Pages with LaTeX Support

2017-03-30    Permalink

LaTeX on Pages

Amongst the flurry of new features that accompanied the release of iOS 10.3 yesterday, one small change to Apple’s Pages on iOS could make a big difference to maths teachers.

Pages now supports entering equations using LaTeX, a typesetting language which is especially useful for mathematics. LaTeX can be used to create entire documents using a sequence of plain text commands to define exactly how the output PDF should look. It particularly appeals to nerds who enjoy the precision that a programming environment offers, but it’s a necessity for anyone who wants to write a mathematical or scientific paper. Once you’ve learnt the language, entering mathematical symbols and equations in the exact way you want them to appear becomes fast and precise, and it also gives you a lot of control over layout. Both of these things come as a breath of fresh air to anyone who has had to deal with equation editor or dragging images around in Microsoft Word.

For non-nerds (and not all maths teachers are), learning to lay out a document using what looks scarily like a programming language can be intimidating. At first, there is a lot of debugging to get things the way you want them, and it can be fiddly at times. The new feature that Pages now offers creates what I believe is an ideal middle ground for people who want to dabble in a little LaTeX without having to worry about some of the more technical details.

As an excellent word processor, Pages on iOS offers all of the standard features you’d want and covers the vast majority of use cases. Creating a worksheet is easy, and only when you need to add an equation or formula do you need to jump into LaTeX. By picking up just a couple of commands for common mathematical symbols, you can easily and quickly create an equation which looks just the way you want it to. The extra keyboard row in the equation editor view – borrowed from Apple’s Swift Playgrounds app – is also a really nice touch. Once you’ve created your equation, you can easily make changes to it or move it around.

For an even more accessible way of creating equations in LaTeX, the wonderful MyScript MathPad lets you draw equations with your finger or with a stylus and export them to LaTeX. Unlocking the ability to copy and paste the LaTeX requires a £2.99 in-app purchase. It’s a great way to get started if you are a beginner.

If the LaTeX bug bites, there are advanced options for pro users. I’ve been playing around with the amazingly full featured Texpad, which as far as I can tell is the only iOS app which offers a split pane view, so that you can see your typesetting commands and a preview of the output at the same time.


I’m not currently a huge iWork user, but with the recent updates to Pages, and with all the good things I hear about Keynote, I think now may be the time to revisit the suite. Even the slightly neglected Numbers is one I want to look at again as I am currently rethinking my Markbook workflow. It’s great to see that Apple still believes in these apps, and in their future on iOS.

Delivering Lessons With Goodnotes And Mirroring 360

2017-03-02    Permalink

For a long time I thought about my iPad Pro exclusively as a personal productivity device. I would research and plan my lessons there, I would design my lesson materials there, but after I’d saved everything into OneDrive, it would be the Windows PC connected to my smart board that I’d use to actually display these to my students. Because I was creating my lesson materials in PowerPoint, with my lesson plans in OneNote, this workflow made a lot of sense: one app for my students on the smart board, another app for me on my iPad.

I think it was getting my Apple Pencil that eventually tipped the balance. When I first got it, I was using it to create my lesson materials, but when I displayed them on the smart board, the only option for marking up and annotating was to use the ‘smart ink’ function on my PC. This felt buggy and clumsy compared to the precision I had when using my Apple Pencil.

On another level, I had also been thinking a lot about behaviour management. I’m not someone who naturally has a huge amount of presence in a room, so I like to move around my classroom quite a bit to help manufacture this to some extent. When I was writing on the board, I always felt stuck at the front, facing in the wrong direction, at precisely the point when I most needed to be aware of students’ attention levels. Being able to move around the room while presenting material on the board was an idea that really appealed to me, and it’s been really exciting to start trying it out.

Mirroring 360

If you’re in a school where working on an iPad isn’t the norm, the infrastructure isn’t always a there to allow you immediately to start presenting lessons from your iPad. However, don’t be put off by this; there are some good solutions. The most obvious and well documented way is to connect an Apple TV to your projector. I thought about buying one exclusively for this purpose, but I wanted to test it out first to see if it was worth the money. The only Apple TV I was aware of in the school was the one connected to the TV in the staff common room, so I politely asked if I could borrow it for a couple of hours. While it worked quickly without a lot of complicated setup, I wasn’t entirely happy with the results. Whether the issue was with the Apple TV or with the projector I’m not sure, but I couldn’t get the aspect ratio the way I wanted it. However I tweaked the settings, I ended up either with black bars on all four sides, or bits of the screen spilling off the edges.

I ended up exploring different options, and settled on a software rather than hardware solution to the problem. There are lots of apps for Windows and Mac that can pretend to be Apple TVs and accept video input via AirPlay. I can’t say I’ve tested a lot of these and found the best one, but the one I do use seems to work well and it fits my needs. It’s an app called Mirroring 360, and it’s available for Windows, Mac, and Chrome OS, with client apps for iOS and Android.

I really liked the business model for this app: after a one-week free trial, I could buy a single device license for $14.99 for the PC in my classroom. It’s a one-time purchase, not a annual fee, so it’s very affordable even if you’re just buying it as an individual. This is much better than the situation with a lot of education apps on PCs, where you can only try them out if you can persuade your IT department to purchase a whole-school license.

Menu on Windows PC

After that, you just need to download the iOS app and you’re ready to share your screen. On launch the PC app displays the menu above: the most important thing here is the ‘mirroring assist’ button. This opens up a QR code which the iOS app can read to connect to the PC for the first time. Once connected, you can share your iPad screen via the AirPlay Mirroring button in Control Centre. I’m not sure what the implementation is, but for some reason (probably an iOS system restriction), the PC only shows up in Control Centre as an AirPlay receiver when the Mirroring 360 app is open, but once you’ve selected it, the app keeps mirroring your screen even when you’re in another app.

Using Control Centre to start AirPlay

One slight restriction with this setup is that your iPad and PC need to be on the same network. In my case, My classroom PC is networked via ethernet, so my iPad can talk to it when connected to the school wifi. If you don’t have good, reliable wifi in your school, using a software solution like this won’t work for you, but you can fall back on the Apple TV hardware solution. The latest generation Apple TV supports AirPlay without the two devices being on the same wifi network.

What I’d love to see in future is the ability to AirPlay your iOS screen over the internet. This would mean I wouldn’t have to worry about having a particular app installed on my PC, I could just use a web browser. It would also mean that if I was in another classroom, say for a cover lesson, I would still be able to stream my iPad screen. Mirroring 360 currently has a pro version in beta which allows to you share your screen online, but you can only do this via the PC that is receiving the screen, not directly from the sending device. iOS doesn’t currently support AirPlay over the internet, but I hope this is something Apple will consider implementing in the future.

As a teacher, you do need to be aware that AirPlay mirroring shows everything that’s on your screen, including notifications and the passcode screen. With Touch ID, the latter isn’t an issue, but I’d recommend liberal use of the Do Not Disturb feature in settings to ensure you don’t have any text messages, emails, or other notifications popping down from the top of the screen when you’re trying to teach algebra to excitable teenagers. Since I just knew I would one day forget to turn it on, I decided to use the ‘scheduled’ option to activate Do Not Disturb at the beginning of every school day and turn it off at the end. Make sure you also select the ‘always’ option so that notifications are blocked whether or not your iPad is locked. While mirroring my screen, I also make a lot of use of the freeze button on my projector remote so that I can have a look at the next page of a powerpoint or navigate to another document while what students can see on the smart board doesn’t change. It would be great to have a bit more control over video output at a system level in iOS. I’d love to be able to hit a freeze button on my iPad rather than using the projector remote.

Do Not Disturb Scheduling


GoodNotes 4 by Time Base Technology Limited is an excellent companion to Mirroring 360. Unlike many other note taking apps, it is ideal for presentations, since it has a mode that alters the video output feed that is sent via AirPlay. Like PowerPoint presentation mode, it presents a clean, UI-free view on the projector screen, while showing the full UI and tools to the user on the iPad. This means you can navigate pages, change writing tools, select objects and move them around, all without creating visual distractions for your students. This option is enabled via the ‘Hide User Interface’ option in the app settings. It’s worth noting that even when you have GoodNotes in split view, as long as it as the primary app on the left side of the screen, students won’t see the secondary app on the right. This is great for looking at your lesson plan, or navigating through documents while delivering a lesson. Swap the apps over, and the split view can be shown, which is also occasionally useful in lessons.

Hide User Interface option

GoodNotes is also a well designed app with an impressive array of functions. You can create notebooks with multiple different paper types and then group them by categories. As a maths teacher, I mostly use A4 squared paper in landscape, but the app also offers graph paper, lined paper, and even manuscript paper for musical notation. I have one category for each class that I teach and then one notebook for each topic.

Categories and Notebooks

The drawing tools are simple but effective: different coloured pens, highlighters, erasers, and a tool to convert what you draw to exact straight lines, perfect circles and other geometric shapes. Other features include the following:

  • Full Apple Pencil support, as well as support for a number of third-party styluses
  • A zoom function which is difficult to describe in words, but allows you to write continuously when zoomed in without having to pan around
  • The ability to import images and entire multi-page PDF documents: great for annotating worksheets
  • Export to PDF or images
  • Auto-backup (in GoodNotes format or PDF) to your cloud service of choice
  • A slightly random one, but GoodNotes is the only app on iOS I have so far discovered which can do bulk rotation of the pages of PDF: handy if you’ve scanned something in the wrong orientation

GoodNotes has also changed the way I do lesson planning. I find writing out my slides with my Apple Pencil helps me think more carefully about the structure and timing. I still take brief notes in OneNote, but I find that I’m doing most of the thinking in GoodNotes, where I can easily draw diagrams and use mathematical notation.

GoodNotes in action

It will be interesting to see to what extent I re-use these slides next year. I haven’t yet developed a good workflow for saving the original slides without the annotations and solutions I write on during lessons, so I may have to go back and tidy them up to some extent. One missing feature that I’d love to see in future is the option to duplicate a page. This would mean I could have one page with just the questions I’ve written, and another with all the answers as well. It is possible to copy a page and then paste it as a new page, but it requires far too many taps at the moment. I raised this with the developers and they have said they’ll work on it for a future version.

In terms of behaviour management, it’s been a real help. I’ve often found that with difficult classes, standing at the back of the room can be a bit of a power move, and now I can stand anywhere I like while delivering the lesson. The 12.9” iPad Pro can feel a little unwieldy at times; I think the ideal device for this purpose would probably be the 9.7” iPad Pro, but all things considered I still prefer the 12.9” and I’m not yet tempted by the #multipad lifestyle. What I’d really like next for my classroom is some kind of lectern or sturdy music stand that I could put my iPad on when standing. With my Apple Pencil in one hand and cradling my 12.9” iPad in the other, it can be difficult to gesticulate as much as I would like.

It’s also helped me to improve the quality of my lessons. A simple but effective pedagogical tool is to take photos of good examples of students work using the camera input tool in GoodNotes and display them on the board. I’ve had great class discussions based on talking through these with my class: what the particular student did well in their working and what they could have done better. I can mark up their solution in real time, adding corrections or extra bits of explanation. Students are naturally curious to see each other’s work, and they are really motivated to show good working so that their solution gets picked to go up on the board. It’s a fantastic way to finish a lesson and summarise the material, since it encourages students to reflect on their own work and others’.

Using your iPad to present lessons as well as planning them opens up a huge new world of possibilities for students’ experience. The whole of the iOS App Store becomes a potential teaching tool. I have used apps like WolframAlpha, MyScript Calculator, Notability, and the wonderful but strange Qama Calculator, but GoodNotes is still the app I use most often, and the app that is most central to the way I plan and deliver my lessons.

GoodNotes is usually $7.99 in the App Store, but for a limited time is reduced to the amazing price of only $0.99. Get it while you can!

Marking with Copied

2016-12-20    Permalink

App Artwork for Copied – Copy and Paste Everywhere by Kevin Chang (

This week I came across a fantastic little app called Copied. Copied is the best kind of utility app: both incredibly simple and extremely powerful. Stumbling across it on a weeknight while marking felt like a real bit of serendipity. It had exactly the functionality I was looking for and it’s a great looking app as well.

Primarily, Copied is a clipboard manager. It handles text and images efficiently, and the intuitive swipe gestures make it easy to get things into and out of the clipboard. But Copied’s capabilities go way beyond copy and paste. The app offers the ability to use ‘text formatters’ to reformat a snippet in various ways. The built in text formatters apply to URLs and allow you to do things like convert a link into Markdown or HTML, but the most amazing thing about this feature is the fact that you can add your own custom text formatters using either basic templates or with custom scripts written in JavaScript.

Copied’s simplicity hides other powerful scripting tools. It’s also possible to write merge scripts, which define how a selection of snippets will be combined together into a single snippet. While I’m making some progress with Python, JavaScript is a language that I’m not yet familiar with. With apps like 1Writer (in which this article is being written) also leveraging JavaScript for their automation, I think it might be worth picking up. For example, I can imagine creating a script that would find and replace all gendered pronouns within a snippet to help prevent embarrassing errors when writing reports.

Screenshot of Copied custom keyboard in use with Airtable

It’s in conjunction with the custom keyboard that copied really comes into its own for marking. When I set a piece of math homework, the kinds of errors that I expect students to make usually fall within a reasonably predictable range. So the kind of feedback I need to give, and the information I need to record in my markbook, is usually a small selection of individualised comments from a total set of around a dozen possible comments. As I’m marking and writing comments physically onto student’s books, I’m also recording my comments into Airtable, with the Copied custom keyboard in the lower part of the screen. I use an external wired USB keyboard in conjunction with the Apple Lightning to USB Camera Adapter (I’ve never understood why this isn’t also marketed as a keyboard product as well). This means I can still type normally while the Copied custom keyboard is on screen. By default, custom keyboards, like the on-screen system keyboard, are hidden when you connect an external keyboard, but if you press and hold the downwards pointing chevron in the bottom right of the screen, it will appear as in the screenshot above.

Screenshot with selection copied

In my markbook, I try to record some positive comments, some points about what could be improved, and a single action point for students to follow up on. I type out the first few, and each time I write a single comment I select and hit Command + C. The custom keyboard changes to a different view as in the screenshot above, with the options to save the snippet to Copied or specifically to the current list. I usually create a list for the specific piece of homework I am marking, and copy my comment into this. It’s then added to the scrollable list of buttons displayed on the keyboard, and I can re-use it for another student by just tapping when my cursor is in the appropriate field. It makes it incredibly quick to insert a string of personalised comments for each student by just tapping multiple buttons. I can imagine this would also be incredibly useful for reports, where the combination of things I write needs to be personalised to each student, but where I can save time by not having to retype the same individual phrases or sentences repeatedly.

The visual aspect of Copied is what really appeals to me. I don’t have to remember text shortcuts as I would if I were using something like TextExpander. I can just tap one button which has the text I need. For snippets you might repeatedly use over time, you can even give them a title to aid identification. For example, I have one for my home address formatted on multiple lines, something that the iOS text replacement tool does not support.

Copied is a free download, with a one-time in-app purchase of $2.99 to upgrade to Copied+. I had upgraded within about 15 minutes of buying the app, because I could instantly see how useful it was. The free version allows you to try out the vast majority of the features, but limits you to a total of 10 items at any one time. Unlocking Copied+ removes this cap, allows the creation of lists in which to save items you will re-use, and enables iCloud sync if you want to use Copied on multiple devices. It also unlocks an amazing feature called Rules, which allows you to use Regular Expressions to automatically filter items into the lists you have created as soon as they are added. For example, you could create a rule which would filter URLs from a particular website straight into a dedicated list.

Copied is a fantastically useful and nimble little app, and wherever you keep your markbook or write your reports, it has the potential to save you a lot of time typing out the same things over and over again. By reducing the friction involved in recording my comments about students’ work in my markbook, it has made me more consistent in building up a picture of each student’s strengths and weaknesses. And by nudging me to think more carefully about what common errors arise in the work students produce, and how often particular errors arise, I have become better at giving whole-class feedback about homework. Little by little, I think that Copied is helping me to become a better marker.