Automation, Generation

Automation image

Although many talk about the power and potential of automation to aid us, sometimes we need to step back and ask ourselves what this means and where the limits lay.

In a recent episode of Loose Learners, John Johnston and Marianna Funes discussed web generators. These are applications designed to automate a part of the creative process. As I listened I realised how many of these generators I myself either use or have used in the past:

  • iMovie Movie Trailor – I have used these templates myself and with my students. What is useful about them is they provide a clear structure to riff off.

  • Lumen5 – I have made a few videos with Lumen5 to summarise longer posts. It reminds me a bit of Haiku Deck.

  • Adobe Spark – Made up of a suite of apps, Adobe Spark makes it easy to generate quick and easy images, posts and sites. In regards to video, I like that you record the audio for each slide, rather than one file across the whole video.

Each of these application works within a particular set of constraints, that make it simple to just make. In part, this reminds me of Tom Barrett’s point about knowing what is possible to work at the edges:

Not to be confused with restraint which is much more about self-control, constraint is about finding the edges of the page before you begin, it is about knowing what limits you have in terms of resources.

The challenge with all of this is being thoughtful about how these generators are used.

Johnston touches on this in regards to and using his site to syndicate to various social media siloes. He shares how although some tasks take a little bit longer, however he feels that he has inadvertently approached things with more care. I too have taken this approach recently. I have taken to using SNAP to send out links and have them syndicated on my site. This all involves a semi-autonomous setup.

I sometimes wonder if the best generator at times is in fact ourselves? Fine, we might use various tools to offload the physical labour, however they are associated with dynamic choices and actions. This is what I do with the creation of my images. I could probably automate this, especially with the addition of add-ons to Google Slides. This would then involve populating a spreadsheet or even a Google Form and applying this to a template. However, I feel that I have the process downpat that there is something in the generation that I actually like. Therefore, the automation in this situation comes in the form of process.

In a recent article, Antone Martinho-Truswell discusses automation and the way in which it seperates us from other animals. What stood out from his piece though was that automation has two parts: mental and technical.

There are two kinds of automation: those that are energetically independent, requiring human guidance but not much human muscle power (eg, driving a car), and those that are also independent of human mental input (eg, the self-driving car). Both are examples of offloading our labour, physical or mental, and both are far older than one might first suppose.

Too often the focus of automation is on the tool, yet there are infact other components that are overlooked. To me this is the ‘human’ side of things that people like Douglas Rushkoff and Kin Lane touch upon.

Take for example, reading online. There are some who advocate for the Chrome App TLDR as a way of improving comprehension. The problem with this is that it has its limits. Firstly, the tool does not teach you how to summarise, nor does it address every piece of text on the web. Instead, there comes a time when you have to draw on your own questions and protocols to help make sense of things.

Generators are good, but they have their limit. What is important though is that we never let go of the ability to think through things from scratch. This is the key to embrace both sides of automation, the physical and the mental. For sometimes all elements are needed to find the edge of the page and work from there.

So what about you? What are your experiences with automation or online generators? As always, comments welcome and webmentions too.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

Hidden in the Code

A quote about URLs from Tom Woodward

This is a collection of code that I often turn to when working with WordPress

Every time that I feel comfortable with my level of knowledge associated with WordPress, there is a problem that leads me to discover a particular attribute that I don’t know how I lived without. This time it is the code seemingly obfuscated beyond the WYSIWIG editor and the dashboard.

For some this code is about command line, while others it is about the bashing out the building blocks. My interest here is the everyday code, the little snippets that find there way in here or there while I work with WordPress, many of which have come from wandering through Chris Aldrich’s commonplace blog:


Webmentions are the building block for conversations across the web. However, with WordPress, they often get caught in moderation and/or flagged as spam by Akismet and other spam filter plugins. To prevent this, you can add this PHP snippet to your theme’s functions.php file:

function unspam_webmentions($approved, $commentdata) { return $commentdata['comment_type'] == 'webmention' ? 1 : $approved; } add_filter('pre_comment_approved', 'unspam_webmentions', '99', 2);

Alan Levine has documented the process of creating a child theme, which is useful when customising the code, while Gregor Morrill has developed code to approve webmentions from domains previously approved.


Microformats is a data format built upon adopted standards and prior developments. There are a number of specifications, which can be manually added within the existing HTML. It provides the foundation for software to automatically process information. People like [David

Shanske]( and Matthias Pfefferle have developed plugins and themes to mark-up content in the backend. You can also use this site to check the microformats on your site, while for a more extensive introduction, listen to Tantek Çelik on the future of web apps.

Two microformats I have worked with are comments and rel=me.


Although the appropriate microformats are usually built into the Webmentions plugin. The plugin for theaded comments can be a bit more tempremental. [Chris Aldrich](] recommends manually adding the reply class and URL just to make sure:

 <a class="u-in-reply-to" href=""></a>

I have come to do this out of habit for replies now.


Another microformat incorperated into many Indieweb sites is Rel-me. It is used to consolidate identity, as well as domain sign in.

<ul> <li><a href="" rel="me">@aaronpk on Twitter</a></li> <li><a href="" rel="me">Github</a></li> <li><a href="" rel="me">Google</a></li> <li><a href="" rel="me"></a></li></ul>

Chris Aldrich has taken rel-me to its extremes by creating a page in which he records all his accounts. I have also started my own. For more on rel-me, watch Ryan Barrett’s keynote at IndieWeb Summit 2017.

Page Bookmarks

I remember coming across in plugin in Edublogs that allowed you to add a table of contents. This reminded me of the functionality in Google Docs and one of the things I noticed in both was the presence of a hashtag at the end of the URL. (Interestingly, now every heading in Google Docs has a unique identifier automatically created.) In Docs, this is something that can be added using the Bookmark feature, I wondered if the same could be done in WordPress. I discovered that within the tags, you insert ‘name=”unique-name”‘:

<a name="unique-name">Target Text</a>

This can then be used to guide readers to a specific point in your text.

Custom URLs for Post Kinds

Using the Post Kinds plugin provides a list a unique urls associated with the kinds of posts on the site. Chris Aldrich provides some guides in how to use these to create custom urls to generate a specific post screen. This can then be used to create a bookmarklet:

Dariusz Kuśnierek provides some other examples of custom URLs, which help in U deratamding the way urls work in general.

RSS Feeds

RSS provides a means of following a site without checking in all of the time. To access a feed to follow in WordPress, you simply add ‘/feed/’ to the end:

As some feeds can contain a range of content, it is possible to hone down to particular categories by adding ‘?cat=[category id]’ to the end.[category id]

This can be useful if you only want to follow a specific subject or area.

Taking this a step further, you can also produce an RSS based on Post Kinds. Although not all blogs use these, for those that do it can be a useful demarcation. Similar to categories, you add ‘?kind=type’ to the end of the feed. 

For more on RSS feeds, see this post from Chris Aldrich.


Where as RSS is used for a single feed, OPML allows a user to aggregate. I have written about them before. It is possible to store an OPML in WordPress. To access this you add the append ‘/wp-links-opml.php’ to the end.

In addition to this, Chris Aldrich has documented how to split a file into categories:

?link_cat=[category id]

I have yet to categorise my links, however Aldrich provides an extensive example.

So what about you? What little bits of code do you use? As always, comments welcome.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

A Kind of Emoji

The power of emojis is in helping us think differently

A reflection on using emojis as a way to provide visual information about blog posts.

I have dived into my latest #IndieWeb venture of saving links on my own site. I thought that I would simply use the Bookmark post kind to save my links, but I soon realised not every link needed some form of commentary and/or extended quotations. For those where the link and quote/summary was enough, I started labelling as a Like. There were also some links where I would write a Reply to the author. With all these additions, the different kinds of writing were lost in my stream. I was beginning to understand why Chris Aldrich’s site starts with a static page, which guides readers to the different kinds of writing. I was not yet interested in going down the static path, I therefore had to think of some other solution to differentiate between the different content I was adding to the site. After some initial exploration of beginning each title with the kind, I turned to the emoji.

I came upon the use of emojis in the work of John Johnston, who added them to some of his posts to provide additional information. I think this may be something built into the Micro.Blogs platform. In addition, I like the way that Audrey Watters uses icons to break up information in her Weekly News posts. There has also been a lot written about the use of emojis to define Google Drive folders. Although most of the emojis I use correspond with the post kinds, there are times when I use them to add more nuance for particular tags and categories. Here is a list of my emojis so far:

As this is a new iteration, I still have a bit of work going back through my posts adding emojis to other kinds and categories, such as events and mentions.

Beyond the visual, the addition of emojis has had a few interesting side-effects. When I POSSE to Diigo, I have discovered that the title is left blank. My workaround has been to manually create the title for Diigo using the Social Network Auto-Poster (SNAP) plugin. There is no issue with other spaces, such as Twitter, where the emoji is happily embedded.

Another issue is the permalink. Most options involve adding the name of the post to the end of the URL, this includes emojis. For some reasons, this creates issues with sending webmentions. The answer seems to be to manually ping the site using the post ID or manually edit the permalink before posting to remove the emoji.

I remember Eric Curts mentioning problems with some emojis:

Emojis appear differently on different operating systems. Because of this, the images may not look the same on every device. If you are using any modern computer or device (Chromebook, Android, iOS, Mac OS, Windows), the emojis should display well. However if you are using an older version of Windows earlier than Windows 8.1, the emojis do not appear in color and many may be missing.

Maybe the issues are associated with this?

So what about you? Do you use any methods for breaking up content within your spaces? Or maybe you use emojis in some other way? As always, comments welcome and webmentions too.

Also posted on IndieNews

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

Zen and the Art of Blog Maintenance

An explanation of why maintaining your own space is so important

This is a reflection on my recent challenges associated with maintaining a blog and an explanation of why I persist in doing it.

I got talking with some of technical designers in my workplace recently. I was inquiring about the plausibility of a few ideas I was thinking about. I did not want to commit myself to something that was doomed from the outset. The question was then asked, “But you’re not a coder, right?” Technically, I guess I am not. I have developed a few solutions, in part based on code appropriated from others, but could I develop something from scratch. I guess not. This for me raises the question, in a world which coding is bandied around as the 21st Century literacy, what does it mean to code and be a coder? Is it about a broad understanding of the mechanics and meaning or is it the ability to make and do? Can these even be separated?

This problem raised its head again this week as I tried to fix a problem occurring with two of my sites. I was not receiving linkbacks from other sites. Although webmentions were coming through, there were mentions within blogs that were not even going through to my spam folder. Of course, this is not going to ‘break the web’, but it means that I am missing some of the conversations from those sending from their site.

I came upon the issue after receiving a few messages from people saying that their messages were being rejected or not flowing through. This was occurring in both directions, with my pings seemingly sending emails, but not properly flowing through to posts and comments. Here then are some of the steps I took to investigate. I share these with the hope that I can learn more about these problems, but also to record the steps for future reflection. They are in no way sequential and have been separated for the sack of representing them in a meaningful manner:

In the end, I decided to turn the Semantic Linkbacks plugin back on and see how it went. To my surprise, things seemed to work. I will continue to tinker and investigate. It is a reminder why I have a Domain of One’s Own. As Martha Burtis points out,

Learning WordPress should not just be about learning WordPress — it should also be about all the tacit lessons that go along with learning how to publish online in an open-source Web application.

I know that at anytime that the Facebooks and Wixs are waiting to greet me with open arms and every day I resist. So what about you? What have been your experiences? As always comments welcome, even more so from your own blog.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Automating the Summary of Data

The power of query in sorting out data in Sheets

My first iteration using Query and Sheets to automate a solution for turning a collection of data into a regular newsletter.

This year I decided to create a monthly newsletter collecting together the updates and resources that I came upon during the previous month. As I have reflected elsewhere, I realised that there was an opportunity to automate some of this process. Although some spoke about Pinboard or generating a post via email, I was interested in sticking to GSuite. I therefore began with the aim of generating a solution within Sheets. So here is my first iteration of an automated solution for turning a collection of links into a summary.

Organising the Data

I remember being in a session with Jay Atwood a few years ago talk about the importance of considering the way you collect your data before anything else. As I looked at my databases, one for updates and the other for resources, I realised that the first thing that I needed to do was reorganise the way that I was storing information. This included restricting the options associated with type and application, as well as separating the link and title and then smashing them together using the HYPERLINK formula. Inspired by Ben Collins’ post on working with text, I also created a column summarising the information in each row into Markdown summary.

Reorganised Data w/ Formulas by mrkrndvs is licensed under CC BY-SA

From Lookups to Queries

Once I had my data organised, I then started explored sorting and shaping the data. I began with a VLOOKUP with a dynamic selector. This allowed me to filter it in different ways. However, I quickly realised that this was limited. I turned to QUERY.

I remember David Krevitt talking about QUERY, describing it as the, ” big kahuna of Sheets functions.” I think this initially put me off. This time I opened up a number of guides from Krevitt, Collins and Anand Varma and dived in. This lead me to rewrite my VLOOKUP as a QUERY.

Bit by bit I stretched the solution. I began with a dynamic selector to represent variables and explored the ability to define queries by date. I then created a prototype with a query for each application across the sheet.

1st Iteration by mrkrndvs is licensed under CC BY-SA

Once I had that working, I create a vertical set of queries. To allow for the variable of the unknown number of posts each month, I left 30 blank rows between each formula.

Filtering Results

To get rid of the spaces and the data headings, I used a FILTER formula and removed the spaces and column headings produced by the QUERY formulas. This left me with a choice, copy the MarkDown data and paste it without formatting, therefore removing the table/sheet that it was in, or using the add-on Sheets to Docs to copy the text to a Google Doc.

So that is the first step in my solution using Sheets to generate the text for a newsletter. My next challenge is transferring this to a Google Script. If you have any thoughts and advice about this, I would greatly appreciate it. Otherwise, as always feel free to leave a comment.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Building Digital Workflows

Clay Shirkey on the need to continually rethinking our workflows

Technology is always adapting and evolving, here are a few of the recent changes to my digital workflows.

In a post discussing the setup of digital devices, applications and workflows, Clay Shirky explains how he regularly changes things up:

At the end of every year, I junk a lot of perfectly good habits in favor of awkward new ones.

This disruption seems important in a time when platforms are designed to maximise our attention. As Shirky warns:

The thing I can least afford is to get things working so perfectly that I don’t notice what’s changing in the environment anymore.

Change can take many shapes. Although I may not shake things up as much as Shirky, here are some recent tweeks that have kept things fresh:


For a long time I have used Pocket to save links to come back to. It was one of the first applications I really took to. I use a range of methods to add content, whether it be via email, using an IFTTT recipe which saves my Twitter favourites or an extension in the browser. I then either read it later or listen depending on the device or context.

I started out listening using Lisgo, an iOS app. However, this functionality is built into the Android application so I scrapped the additional app when I changed phones. The only issue I had with listening via the Android app is the requirement to select a new article each time. A recent update completely changed that with the addition of continuous playback. This allows you to organise your various links in a playlist and listen to one after another. This new feature has lead me to rethink how I use Pocket and subsequently saving more and more links to listen to

In regards to other aspects of the application, I have never really used the tagging or archiving features. Instead I bookmark elsewhere and then delete the articles in Pocket once I have finished with it. The best functionality is still the ability to read a stripped back version of the text. AMP without all the other stuff associated with AMP. I wonder how Pocket will grow with the acquisition by Mozilla?


I love Feedly. I came to RSS Readers around the time Google pulled its reader from production. Before that, I relied on a combination of Pocket and social media. Feedly was perfect. I progressively built my feed over time getting to the point of following 200+ blogs. I also developed a a process which allowed me to capture a quote and share it out on Twitter.

I did not have any qualms, however when Chris Aldrich pointed out the limitation of storing your OPML file within the application I was intrigued. I didn’t really like how Feedly organised the various categories and always found it tedious to backup my OPML to share with others. The answer is to subscribe to an OPML Feed stored in the links of a WordPress site, rather than upload a static file. Feedly does not allow for this, but Inoreader does.

Starting afresh has been good. There are no features that I used in Feedly that are no replicated in Inoreader. Instead there are ways of working in Inoreader that I prefer, such as the ability to quickly mark posts as ‘read’ by pulling across, rather than swiping, as well as the potential to create my own filters. This maybe a start towards Aldrich’s idea of an #IndieWeb algorithm? At the very least, it helps in understanding how some of these things work and the infrastructure behind them.


I have written about the features and affordances associated with Trello before. One of the challenges that I have had with the application is how to get it to work for me. A lot of people talk about using the Kanban approach to support an agile way of working. This often involves allocating ‘points’ or colours associated with blocks of time, setting due dates and focusing on priorities. I tried this both personally and in my workplace. It did not work. I decided to leave it for a while and come back at a later point with fresh eyes.

In leaving the application alone, it quickly became apparent why I needed it. I had some documents in my Google Drive, PDF files sent to me via email, links to resources and notes that needed to be recorded somewhere. I therefore wondered if instead of a means of managing priorities that instead Trello could become something of a digital filing cabinet, Something of a ‘canonical URL’, where if you wanted to find something you would start there.

Creating a list for each of the key focuses, the cards broke down the various projects and activities. Each card then contains a description summarising what it is about and a list of resources associated with it. This is all done using Markdown. These resources are all added into one Google Drive folder and linked from there. The card comments are then used to provide a historical snapshot, documenting any developments, additions and meetings, while the checklists are used where applicable.

This new way of using Trello also led me to review my own use. A few years ago I set up multiple boards for all the things that I do personally, whether it be blogging, presentations or projects. Similar to my work experience, this failed. It was too busy and needed to be more efficient. After being reenergised by my use at work, I wondered if I could condense everything into one board? I therefore created lists associated with blogs, projects, ideas, interesting links, things to listen to etc and used the cards to unpack each of these areas. This has subsequently led me to crafting my blog posts using Markdown in the description section and adding links and notes in the comments. Although having its limitations, it is a much smoother process than writing Markdown in a Google Doc which I had started doing. When I want a more thorough writing space though I use Typely.


I remember reading a rant from Marc Scott a few years ago on the use of Microsoft Word, although it could have been about Google Docs as well. He ended with the plea:

Learn to write in sodding Markdown.

I understand Markdown, but could never find the right reason or workflow. I kept stumbling upon different cases, whether it is Kin Lane’s use of Markdown with Jeykl and GitHub or Mike Caulfield’s Wikity WordPress theme with Markdown built into the bookmarklet. However, it was not until I started having issue with extra bits of code when copying text from Google Docs into my blog or newsletter that I realised why Markdown is so important.

I have been exploring a number of applications to support publishing of late, whether it is add-ons such as Grammarly and Pro Writing Aid or applications in general such as Google Docs and Trello. Initially I took to writing Markdown in Google Docs and pasting the text into a converter. This workflow though does not allow you to preview the text along the way. Using Trello allows you to work cross-platform. However the need to flick between preview and editing screen is tedious and not ideal. I recently came upon another application called Typely.

Typely is best understood as a beefed-up text editor. There are no hyperlinks or formatting. Instead you focus on writing. Other applications offer a similar experience, but where Typely differs are the various options to customise the experience, whether it be turning Markdown preview on or off, switching to a blog background or selecting rules to check for. The screen also adapts to the size of the screen, with panes collapsing if there is not enough space. It does not really work on a mobile screen though. Unlike Pro Writing Aid, the error highlights can easily be turned on and off or resolved. Although on a Chromebook, the combination for resolving issues (CTRL + Spacebar) is allocated to changing between languages. An improvement would be an improvement in the ability to open and save documents (I just copy the text in and out of the editor). Being relatively new, I assume that they may resolve this over time.

So there are a few of the recent changes to my workflows, what about you? Are there any applications that have made you rethink the way you work lately? As always, comments welcome.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

My #IndieWeb Reflections

Dan Gillmor on Indieweb as an alternative

I have been meaning to elaborate on my thoughts on #IndieWeb for a while. Chris Aldrich’s recent post outlining a proposal for a book spurred me to finish jotting down my notes and reflections.

I find #indieweb hard to explain. In part I would describe it as an alternative way of working on the web, a collaborative community and a technical solution. I can’t remember exactly when I first came upon it. I know thought it was associated with the concept of POSSE. It was probably a part of Connected Courses and my move to Reclaim Hosting. Twitter tells me that my initial investigations were associated with Known.

What interested me was the potential to extend and own my presence on the web. Initially, I posted to Flickr from a Known instance and pulled in comments from Twitter and Google+ with the #IndieWeb WordPress Plugin(s).

More recently I have become interested in exploring ‘post kinds’ as I continue to investigate ways that I can better manage my presence on the web. In particular, I like the idea of sending comments from my site, but have yet to either master some of the technical aspects or develop a suitable workflow.

I must admit, I still get lost with some of the mechanics. I wonder sometimes if this is because I am balancing multiple spaces. I would like to better understand how the various platforms and plugins work. For example, what is the difference between Known, Micro.Blogs and WordPress? What does Bridgy do? Are there any limitations to it? For example, can I connect it with more than one space, particularly in regards to Twitter. I also find more solace in reading various reflections, listening to weekly updates and think that the main site has come along way, especially in outlining the different entry points. I think that the addition of a book would be a valuable resource. As always, I am still investigating.

So what about you? Have you had any experiences with the IndieWeb? Do you have any thoughts and comments that you would share with Chris Aldrich?

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Also on:

The Anatomy of an Idea – Building a Solution One Step at a Time

I recently came across a post from Jennifer Kloczko discussing the notion of original ideas. In it she documented some of the ideas that she has implemented this year and where she ‘stole’ them from. I too have written about this before, discussing the benefits of sharing and working collaboratively. However, one aspect that Kloczko does not necessarily address is the way in which ideas ‘stolen’ can morph and evolve as they become ingrained in other contexts. This process often starts with a problem. For me, this problem is Synergetic.

This year I have spent a lot of time learning about different facets of Synergetic. A ‘total solution’, Synergetic is a management system with a focus on administration. My work has included developing a reporting solution, setting up the attendance process and configuring online spaces. One particular area that has absorbed quite a bit of my time though has been timetabling.

For secondary schools this is more obvious. You link in a third party applications, such as Timetabler or Edval, to manage things. This however is not the case for primary schools. They have no need for the intricacies of a robust timetabling package, the issue though is that they still need a timetable.

The solution Synergetic offer is a lightweight application called Primary Time. It allows users to create timetable blocks and place them within a visual grid. I have two concerns with Primary Time. The first is that you need to populate a lot of information associated with rooms, teachers, groups and subjects that does not flow through to the timetable file produced. Although there is the means of uploading this information in Primary Time via CSV files (click here for a copy of the different files), these files still need to be made beforehand and maintained moving forward. The second issue is that there is not a direct connection between the two applications. Unlike other software packages that develop a constant connection that allows for a flow of information back and forth, users are required to manually download a file from Primary Time and upload this into Synergetic.

The problem with all of this is that the timetable applications ideally act as the source of truth when it comes to timetable related information. That means if Primary Time were to be used in this way, users would need to follow the tedious cycle of updating Primary Time and then reloading it, every time a change needed to be made, no matter how large or small this change may be. (This issue is compounded by the fact that you cannot download timetable related information from Synergetic and upload it into Primary Time.)

Another factor at play is the reality that most primary schools do not require an explicit period-by-period timetable. Instead, timetables are usually developed around exceptions, with the rest of the time being allocated to a classroom teacher, allowing the to balance and bend their teaching time. Locking in a highly descriptive timetable therefore serves little purpose and is often a hindrance, rather than a help. For most primary schools in Victoria the timetable is required for roll marking purposes, with primary schools mandated to enter results for AM and PM.

An alternative to using Primary Time is manually entering the timetable within Synergetic. Although this is an option, especially when generating roll marking periods, it to is still a very tedious process and not an ideal solution.

After these initial experiences, I was left with the question

How might we use another application to make the development of a timetable for schools easier and more efficient?

At the end of the day, all that Primary Time does is produce a CSV file with six columns: day, period, form, class, room and teacher. This seemed quite simple. I therefore started by trying to reproduce a school timetable by cutting and pasting cells in Google Sheets. This worked, however it was still fiddly, therefore not a feasible solution.

I wondered if there was some way of automating this process, at least generating a basic timetable that could be manipulated. I remembered reading a post a while back from Martin Hawksey documenting a formula for repeating data. (A win for serendipity.) I started with this and then progressively unpacked each column further, addressing the particular requirements. I must admit, I did get some additional help from Hawksey on the formulas that I had conjured together. I eventually managed to put something together.

It involved entering the days in the timetable, the sessions running each day and a list of classes with their rooms and teachers. It would then generate a list with a copy of each class for each session. There were two problems with this. Firstly, it was not easy to add in the specialist classes. Secondly, it was still unwieldy and confusing.

Fine I could make a copy of the timetable adjust it in order to add specialists, one of the challenges with this is working with the timetable in a list format. The ability to visualise the timetable is one of the benefits of using an application like Primary Time. My solution was to recreate the lists as a dynamic table, with a dropdown button to choose the teacher.

To make this, I built on the work of Ben Collins and David at CIFL around the use of the VLOOKUP formula. It also meant I had to INDEX the table to start with the form column. In addition to this, I made a dynamic selector created using data validation to choose the class. Although this answered the visual problem, as soon as different variables (10 day timetable or 8 period day) were added then the table would break. Maybe there is another way I could do this, but I felt like I hit a wall, so I decided to focus on making a simpler solution.

I had started out with the intent of making it easier to create a timetable for Synergetic, so rather than worry about creating a full timetable, I instead turned my attention to creating a timetable solely for timetabling purposes. Rather than create a line for each period, I focused on creating a line for each roll marking period. This way I did not have to worry about anyone making sense of the lists of periods and classes, instead the end user would enter their values and download the corresponding CSV file. The problem that remained was how to make this fail proof.

Spreadsheets can become busy places very quickly and the sight of lengthy formulas puts a lot of people off.


The challenge then was to focus on inputting the values. I moved the inputs from the page with the formulas and made a separate sheet for that information. After some feedback I then split this information again, with one sheet providing a space to list the teachers, classes and rooms, while the other sheet providing a summary of the days in the timetable and the roll marking periods. Although this hopefully made it easier, there was still the challenge of downloading the CSV file.

To me the process was clear. Enter the classes and definitions, then download the timetable file. The process though of clicking on the right sheet, going to File and then downloading a CSV provided too many concerns. I asked around if it would be possible to turn it into a script. Some colleagues said yes, but suggested just focusing on the downloading of the CSV, with that being the particular point of contention. So I did what I often so, returned to Google.

I have wanted to explored Google Apps Script for a while, but always found other things to distract me. Finally I had a clear purpose. To start off I worked through Ben Collins’ introduction to Apps Script. It provided a useful starting point and a button for my script, but it did not address my particular challenge. After reading numerous forum posts and scrolling through the Developer Page and Drive APIs, I stumbled upon a code that Michael DeRazon had shared on GitHub for downloading a Spreadsheet to Google Drive. As with all things borrowed, I took to bending the code to fit my needs, but none of the changes that I tried worked. I eventually had a colleague look over it and provide some guidance. He pointed out that there was a loop that was messing things up and came up with the solution of downloading the CSV file to Drive and then download to the computer.

Although this was not necessarily the solution I had hoped for, in that it downloaded a copy to Drive before downloading a CSV to the computer, it at least addressed the problem, making the creation of a timetable easier and more efficient. You can get a copy of the sheet here.

For those who got this far, well done and thank you. It would have been easy to have just shared a copy of my resource and be done with it, but I think that the real value is found in the thinking behind it all. To me, this captures the power and potential of digital technologies as summarised by Richard Olsen. He breaks it down into the following:

  • Feedback-Rich Learning
  • Reuse-Rich Learning
  • Continuously Evolving Learning

To build on Jennifer’s point at the start, there are no original ideas and the remix thereof is an ongoing process.

So what about you? What ideas have you borrowed and bent? How have you changed and extended them? As always, comments welcome.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

My Way or the Highway?

In a recent episode of the Design and Play podcast, Dean Pearman and Steve Brophy spoke about the importance of sticking to their core beliefs and values. This means moving on when conflicted. Although this stance is to be applauded, I was left wondering if it were a luxury to actually be able to move on at will? It also had me wondering if perpetuating such a message is missing a trick?

I remember being told by a boss once ‘if you don’t like it here then you can leave’. I respect that, it was his choice and in the end I did leave. My concern though was not necessarily the location, but rather the leadership, the ‘my way or the highway’ mindset.

Maybe I am idealistic or just naive, but a leader cannot directly do the work of change and learning. Instead, they create the conditions for others to prosper. For some, this is putting ticks and balances in place to make sure that everyone is performing. For others it involves the distribution of leadership, development and collective capacity building.

I am always reminded of the story of Geelong Grammar’s adoption of Positive Psychology. It did not involve a few sessions with staff and students, rather it involved all members of school, including those working in administration and maintenance. This was about creating an environment where everyone can flourish.

Another similar program is Leading Teams. At the heart of this is an organisation leading change from the ground on up. This is not because someone above said so, but rather because it was a trademark agreed upon by the people on the ground. This involves trust. I remember Ray McLean recounting early stories of failure required to achieve collective success. However, too often such goal setting sessions become token, ticked off as something done, with people towing the party line, rather than sharing what they truly believe. Here I am reminded of David Culberhouse’s discussion of ‘positive deviance’, where the focus is on identifying the bright spots within an organisation and using their stories and strategies to help drive change.

Don’t get me wrong, everyone leaves in the end. However, wouldn’t it be better if such decisions happened to further opportunity, rather than fix our values? For in the end, it takes a village and surely that involves compromise. As always, comments welcome.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.

Obstacles Associated with Blogging

Kathleen Morris recently put out a poll investigating the obstacles associated with blogging. Although I added my vote for time, I felt it was worth following up with some of the challenges and the reasons associated with each. To begin with, I will focus on personal blogging.

Personal Obstacles

  • Time and Motivation: I agree with Seth Godin that the question of time is often about priority, but I also think that it can come down to motivation. When I look at twenty plus ideas that I have waiting to be developed. I wonder if what I am saying needs to be.
  • Perception: A part of working out what to say is considering how what I write may be perceived. Some speak of branding, but I think that it is about trust. I remember being told about a teacher who had to have everything that they posted vetted by their organisation. Clearly that is an extreme, but it is something to be mindful of and the ramifications that it may have.
  • What to Say: Some like Godin argue that it is important to ‘just ship‘. However, rich ideas take time and effort. Like Tom Waits, I often prefer to leave my posts ‘in the shed’, starting them and letting them progressively grow and mature. Interestingly, I listened to a podcast recently featuring Clive Thompson where he spoke about taking at least three months to craft a long form essay. I think that there is something worth celebrating with this and it may be better considered as a personal preference, rather than an obstacle.

Obstacles in the Classroom

As I have reflected elsewhere, I think blogging in the classroom provokes a different set of obstacles to personal blogging:

  • Developing a Habit: Many teachers turn to blogs (and other such spaces) expecting instant change. The problem is that there are often habits that need to be developed, such as regular reflection or sharing with a wider audience. For example, it may be useful to start with a physical journal or portfolio before turning to the digital solution.
  • Another Thing: In addition to developing habits, blogs risk being treated as ‘another thing’ to consider within an already crowded curriculum. The challenge is to see blogging as a development on what is often a part of every classroom, that is sharing and critiquing information and ideas. Rather than handing work into a teacher, publishing it on a blogger opens a learner up to the potential of a wider audience.
  • Fear: One of the problems associated with publishing work is the fear that sharing something publicly risks it being misconstrued. Clive Thompson argues that going from an audience of zero to an audience of ten is so big that it’s huger than going from ten to ten million. To alleviate this concern, I recommend starting within a closed community, such as all the students within a class or a year level and building from there.

In the end, when investigating obstacles, each platform will have their own set of solutions, with some being more obvious than others. So what about you? What are your obstacles? As always, comments welcome.

If you enjoy what you read here, feel free to sign up for my monthly newsletter to catch up on all things learning, edtech and storytelling.