Teacherbot Dev-Log #3: The End of the Beginning

It’s been three weeks and I know you’ve all been hanging on the edge of your seats to find out how this tale of updating, reworking and, to be humble, triumph in the face of adversity, finally ends. Since the last blog I’ve been focused on two things above all else: the functionality of the site and its style.

As mentioned in the previous blog, one of the most confusing aspects of the site was the chatbot management page. One large box showed users the files they had attached to the chatbot but were not loaded into the chatbot, and another showed the files that were actually loaded into the chatbot (I formally apologise if you had to reread that sentence a couple of times). And so I began the pursuit of what seemed back then, a distant reality: one where there exists only one box and a glorious ‘sync status’ button notifying the users whether the attached files are loaded into the chatbot.

With some database restructuring and a few fancy AJAX calls—to do these wonderful things justice I’ve left their explanation for a paragraph of its own—I managed to achieve the main goal. The database stores a copy of each of the files attached to the bot and by cross-referencing these files to the files loaded into the bot, determines whether they are the same. The final step was to style all these components together in an intuitive away and I’m happy to announce, without a hint of bias, the greatest Teacherbot file setup box in the website’s history.


One box to rule them all, one box to guide them.


To understand the magic of AJAX imagine a world where the ‘refresh’ button was never conceived. Where websites updated on-the-fly and users basked in the ecstasy of their pampered existence as they scrolled through hours of dynamically generated data. In short, AJAX allows pages to update data without an explicit refresh of the webpage. After combining the file management and AIML wizard pages together for simplicity’s sake, I found that when deleting a file the setups with the associated file did not update. At best this would be a source of confusion for users, at worst, chaos. Using AJAX I altered the webpage to update dynamically, so when a file is deleted the setup rechecks the available files and changes accordingly.


Now watch closely, as I make the first file disappear!


Not a single refresh was used in the making of these images.


The third major upgrade to the website was a complete overhaul of the get started page. Chloe, the DLAM Teacherbot intern, and I rewrote the Pandorabots guide (learning how to build a chatbot) and filmed videos showcasing examples for each of the chapters. This significantly cut down the size of the guide, as each video replaced a large number of static images, and hopefully made the initial learning easier for the user. I also flexed my atrophied JavaScript muscles, making a table of contents that follows the user down the page as they scroll.


The best table of contents money can buy.


Finally, over my last few days, I attempted to restyle the website, to make it as aesthetically acceptable as a human with limited artistic ability could hope for. Thankfully with the help of Yujia Xie on the graphics team, and some impromptu artistic work from Gavin I was able to include some Teacherbot figures which drew attention away from the questionable colour schemes.


In their natural habitat.


To clarify the title of the blog, I believe that my work with Teacherbot has continued the University’s push towards the utilization of bot technologies. And hopefully accelerated Teacherbot’s evolution from a pilot program to something more tangible. I am adamant that Teacherbot should receive another round of innovation funding, with stress being put on opportunities on its administrative application. Having programmed a bot for potential testing on the IS Helpline I was only further convinced of the usefulness of an automated assistant. Especially when considering the amount of students that need support on a daily basis.

My experience working with the Web, Graphics and Interactive Content team has been, in a single world, memorable. They made the working environment more comfortable than I thought possible and allowed me a lot of freedom with the site, from which I believe came good progress. I’m a little anxious that this first glimpse at working life will give me unrealistically optimistic expectations for whatever comes next, but that’s probably a good sign.

If anyone managed to make it this far I have to praise your attention span,

Sam Knight, Teacherbot Intern


Please if you have any interest in using Teacherbot go to our signup page:

Sign Up

Featured image

“Open Resources Case Studies – Open Source Software – 1080p white background PNG (1920x1080px)”
Copyright © Jackie Aim, University of Edinburgh 2017 CC BY 4.0
This work is licensed under a Creative Commons Attribution 4.0 International License.

Teacherbot Dev-Log #2: On the Rise

After the incredible success of the last blog, with a grand total of 0 negative comments (and approximately 0 positive ones too), I’m here to once again update you on the progress of Teacherbot. Since the last blog post zip files have been conquered, the back-end of the site has been overhauled and we have stirred up some new interest from within the University.

The zip file solution was an infuriatingly simple one. The random characters appearing in filenames were the product of a safety feature built-in to the file storage system. Whenever the system noticed files with the exact same name it would add random characters to one of the files, to avoid ambiguity. Fixing this required only a small tweak in the file storage: overwriting the file instead of saving a new one and thus avoiding the wacky filenames.

Random Characters Begone!

With the horrors of zipping and uploading left in the dust, I shifted my focus towards the more cobweb riddled aspects of the website. Gavin McCormack, the programmer behind most of the Teacherbot website, began simplifying and enhancing the communication with Pandorabots allowing for more straightforward chatting, uploading and compiling of the bots on our service. I also began to pursue the task of simplifying the chatbot management page in the hopes of collating the ‘Files on Chatbot’ and ‘Active Files’ boxes into one. The dream is to have one box, showing all files attached to the chatbot and a small “synced” button to indicate to the user if his/her bot is using the files listed.

This site ain’t big enough for the both of us…

Treading on thin ice, as I’m not sure how much I can disclose at this point, there have also been developments for Teacherbot’s exposure and usage within the university. Thanks to a push from my line manager, Stewart, the WGI Graphic Design team is currently working on a small rebranding campaign to increase exposure within the University and to stir up interest for both students and lecturers alike.

Additionally, I have been asked to build a prototype bot to trial on a University service. Though not intended to interact through Twitter, this is the inception of a more administrative use-case for Teacherbot and depending on its success, a potential rethinking of the standard in administrative work. As sickening as my naïve optimism may be, it’s difficult to imagine all the possible use-cases of bot technology and even harder to picture a future without it.

Once again, I’ll plug our Sign Up page for anyone who’s interested in getting to grips with Teacherbot and exploring its potential:

Sign Up

Also, due to powers beyond my control the GitHub repository I linked in the previous blog has been abandoned. The new repo on which progress is being made is here: https://github.com/TheGrimJam/teacherbot

Sam Knight (s1503602@sms.ed.ac.uk)

Teacherbot Dev-Log #1: Z.I.P.

Hello everyone, Sam the Intern here! I’ve decided to start a development (b)log here on the website so anyone who is interested can see the progress being made on the Teacherbot service.

For those that have never seen it, the Teacherbot test site is an environment to develop and house our beloved chat/Twitter bots. Over the past two weeks I’ve been working on reformatting the test-site with first time users in mind. Instead of tossing the user into the deep end and hoping they can stay afloat juggling both the chatbot creation and getting the bot onto twitter, I’ve been actively separating these two steps. Whereas previously to make a bot you had to equip it with both chat and Twitter functionality, now we have two separate sections in the bot-hub. Users can now focus on each function in isolation, hopefully lightening the mental burden and increasing the end-quality of the bots.

A new divide between Chatbot and Twitterbot opens

Additionally, by moving the ‘bot files’ section away from the ‘bot hub’ I aimed to erect a barrier between testing the bot and tampering with its inner workings. With the initial hurdles lowered, I’m confident the site will feel more welcoming to users…unless they come loaded with zip files.

Currently, the core service we use to develop and host our bots is Pandorabots and to get your bot’s brain from their site to ours, requires the download and upload of a ‘harmless’ .zip file. The first time I tried to upload said innocent .zip file, it crashed the test-site. How naïve I was at that moment to think “it’s probably a quick fix”. From Wednesday to Friday I toiled, sunrise to late afternoon, and finally, abruptly, I arrived at a solution.

There’s still work to be done: right now the files inside the zip are uploaded with file-names distorted by random characters, but I can see the light at the end of the tunnel. My first two weeks working on Teacherbot have been exhilarating and the team has been very welcoming so my spirits are high. And, after all, it’s probably a quick fix.

Spot the difference

For anyone who’s interested feel free to navigate over to our Sign Up page and we’ll send you the details to test out the service yourself. All feedback is appreciated!

I’ve also been uploading all my programming progress to a public github repository so the main website code can be found here: https://github.com/dev-teacherbot/dev-teacherbot-site

Sam Knight (s1503602@sms.ed.ac.uk)


Summer Intern – Sam Knight

Please give a warm welcome to Sam Knight (s1503602@sms.ed.ac.uk), a 3rd year Computing Science student, who has joined us in the role of Teacherbot UG Intern today.

Sam’s main responsibilities include:

  1. Liaising with stakeholders to agree the form and functionality of the new service, including the School of Education group which developed the “Teacherbot” pilot
  2. Creating chatbot definitions in AIML, and migrating existing chatbot definitions to AIML
  3. Configuring and managing the Pandorabot system, including bot definitions, user access, social media integration
  4. Co-ordinating a trial of the new Teacherbot service, alongside the academic team in the School of Education
  5. Helping support early-adopters to get the best out of the service
  6. Managing the web and social media presence of the project
  7. Reporting on adoption and usage
Sam is joining my Interactive Content team within Web, Graphics & Interaction service and will be with us for the next 2 months.  He will be working on Tuesday, Thursday and Friday each week and is based in Argyle House, Floor H-West.
We wish Sam well and I’m sure he will enjoy his time with us.
You can follow his progress via the project blog and Twitter account @Teacherbot_News.
Kind regards, Stewart Lamb Cromar
“Summer” by Carl Larsson [Public domain], via Wikimedia Commons

Teacherbot DLAM Services Intern

Please welcome our latest team member Chloe Young, a 2nd year geology student who  joined the Digital Learning Application & Media (DLAM) team earlier this week. Chloe will be working with both the Learn and Teacherbot services as a summer intern.

Best wishes, Stewart

This illustration, called Edinburgh: condensed compresses the distances between the city’s landmarks and iconic sights, bringing them together for the first time.
[Terri Po, 2nd year BA (Hons) Illustration]

Copyright © The University of Edinburgh 2017.

Pilot Launch

I’m pleased to say that we are now ready to accept participants on our Teacherbot pilot. This beta test is currently open to any University of Edinburgh staff or students.

If you’d like to volunteer please send your name to teacherbot[@]ed.ac.uk.

We will get back in touch with your login credentials and further instructions.

If you have any questions or comments please either send them to this community mailing list (teacherbot-community[@]mlist.is.ed.ac.uk) for a broader discussion, alternatively use the teacherbot[@]ed.ac.uk address for a private conversation with the Teacherbot development team.

For instructions on joining our community mailing list please read the following article “Teacherbot Community“.

Many thanks, Stewart

New Team Member

After some internal resourcing issues we’re happy to say the Teacherbot pilot project is in active development again.

ISG LTW have hired Gavin McCormack to assist Kate Haag and Stewart Lamb Cromar with the remaining web development work.

We plan to launch this October. Sign up for our newsletter, or follow us on Twitter to be notified about future updates.

Teacherbot is coming soon!

We’d like to tell you that we have made some good progress in our Teacherbot development.

Many of you requested that your Teacherbot can be addressed by hashtags or spot keywords – this functionality is now fully working. Users will be able to talk to your Teacherbot through hashtags, key words or a combination of those without having to call the bot by its name (although this is also still possible).

We are currently finalising the development of a web based Teacherbot management system – this will enable you to configure, upload, download and also test your Teacherbot in a simple to use interface.

We expect that we’re going to roll out the Teacherbot service within the next few weeks and we will keep you posted.

Digital Day of Ideas

Make your own chatbot

Digital Day of Ideas 2016 is the fifth annual symposium showcasing some of the best digital research being done in the Humanities and Social Sciences at the University of Edinburgh.

Workshop resources:

Follow the days activities online: