I’ve mentioned the appear.in service a couple of times. This allows you to convene small meetings (up to 8 people) with video, voice and chat without the need for logins or additional browser plugins on both desktop and mobile (my quick video demo here). Today I got an email from appear.in saying
Get notified when someone enters your room!
We have now made it even easier to start a video conversation. When someone enters your appear.in room, you will receive a desktop notification that you can click to enter the room.
How can you use notifications?
Get notified when someone shows up for a meeting
People who want to talk to you can just go into your room
Make sure everyone on your team is alerted when your team meetings start
Notifications work using a Chrome extension, but once you have this installed to can monitor multiple rooms.
So if you were wanting to run remote tutor support hours you could claim an appear.in room and enable notifications. Once you advertise your office ours you can monitor the room, get on with other work and wait for notification.
Because appear.in allows you to ‘lock rooms’ if you are providing one to one support you can prevent someone else ‘walking in’.
The awkward bit is handling the locked room. There is no queuing service and anyone visiting a locked room will be presented with the message below. Unfortunately if someone visits a locked room, sees the locked message when the message doesn’t go away when the room is unlocked.
A way around this might be to have two rooms – corridor and office. The corridor room would always be open. As people arrive in the corridor room you could greet them and invite them to your ‘office’ and lock the office during consultation. Once done you could go back to the ‘corridor’ room if anyone else is waiting. If the ‘corridor’ gets busy (more than 7) you’ll have to sit in it yourself or lose the ability to enter (unless as an owner you get priority).
[Writing this it’s all sounding very faffy. I’d imagine you could do something similar with Google Hangouts but I love the fact appear.in requires no login. What do you think?]
Happy New Year to you too Simon! Having worked with Twitter and Google Maps API I was aware that their terms are becoming increasingly restrictive making the environment for 3rd party services for doing this increasingly difficult. There is a solution for doing using a modification of my Twitter Archiving Google Spreadsheet (TAGS) project (the guerrilla approach so to speak). The result for #rhizo14 is here (only viewable in non-mobile app versions of Google Maps and not the current preview version) and this post outlines how it was done. ...continue reading →
IFTTT is a web service that lets you do some basic plumbing between web services. The idea is that if something happens on one service (referred to by IFTTT as ‘channels’) then you do something else on another (options also exist for other triggers including time, SMS and external sensors). To illustrate this I use IFTTT to bookmark anything I star in Google Reader in my Diigo account. Setting up these recipes takes no more than selecting a trigger and assigning an action, so no coding required.
There are currently 41 channels in IFTTT (including Twitter, Facebook and RSS feeds) users can link together in this way. One of the most recent additions is Google Drive. With Google Drive integration you can store files or, the one that interests me more, insert a new row in a Google Spreadsheet.
RSS is great for accessing machine readable data but often one of the limitations, particularly with blogs, is results are limited to the last 10 or so items. This has created problems in some of my projects like the OERRI Projects Dashboard where I need all the posts. The solution to date has been to rely on 3rd party services like the Google Feed API.
By using IFTTT I’m able to easily capture blog posts as they are written. Having the data stored in a Google Spreadsheet makes it easy for me to query and export to other services (here’s an example from my blog) [this might be something JISC might want to do to capture and mine funded project feeds – other solutions/techniques already exist]
There’s lots more you could do with the data now it’s in a spreadsheet and once I’ve built up a corpus I’ll have a play. One thing to note which might put some people off is to allow IFTTT to add data for you, you need to give them authenticated access to your Google Drive. I can live with that risk, but you might not.
This solution needs the student to configure their calendar for SMS notifications and not all mobile operators are supported, but I will show how to make this work and you can decide if its worth the effort.
Student side setup
To enable SMS updates all the students need a Google Calendar and to have enabled SMS notifications for event invites (you may want to tell students about this anyway just so they can get SMS notifications for event reminders). This is done by:
opening Google Calendar going into ‘Calendar settings’ from the cog icon top-right
on the Mobile Setup tab the student needs to verify their mobile number (the supported UK providers are: 3; O2; Orange; T-Mobile; Virgin Mobile; and Vodafone – full international list here), then click ‘Send Verification Code’
once a code has been received enter it in the ‘Verification code’ field and click ‘Finish setup’
this then takes you to the ‘Notifications’ settings for your default calendar. In the New events row tick the SMS checkbox (you might want enable other SMS services), then click ‘Save’
Sending SMS notifications manually
To send a message to students open your Google Calendar and create an event (you might want to create a new calendar so you don’t mess up your own schedules – creating a new calendar and creating events using your current date/time also means you have a record of when a message was sent - SMS notifications appeared to only be sent for events in the future). The fields included in the SMS are the event title, location and date/times. Here’s an example message recieved:
In the ‘Add guest’ field paste in a comma separated list of student email addresses (these addresses need to be associated with the student’s Google Calendar so if you are not using Google Apps for Education some prep is required to get this list) and click ‘Add’. I would also recommend making sure the guest options to modify, invite and see a guest list are unticked.
When you save the event shortly afterwards students should receive the SMS message and an email similar to the one shown below:
You might want to agree a system with your students where they have to confirm they have seen it by clicking ‘Yes’ in the ‘Going’ option. This will give you a summary of who has seen it in the event details. You may want to utilise other Calendar features like notes.
Using Google Apps Script to automatically send SMS notifications
This whole idea came from a Google Apps Script tutorial so it only seems fitting to show how this could modified to automate the guest list creation, which in turn would trigger the SMS notification. I’m not going to go into any detail about what Apps Script is but basically as one of its main uses in to automate tasks it’s fairly easy to write a script that will take a list of email addresses from a Google Spreadsheet, create a new event in your calendar adding those addresses as guests. And here it is:
For this to work all you need is a column of email addresses associated with personal Google Calendars and within seconds your sending free SMS messages to people.
So what do you think, a viable solution or is student side setup/concerns over network coverage going to prevent you using it?
“How?” You might ask. Well it’s not through the Google+ API which currently omits +1 activity and there are no hidden RSS feeds on a persons +1’s page (that I’ve found anyway). No instead I’ve gone for a good old fashioned screen scrape.
Using this Google +1s to RSS (Reader to Twitter) Yahoo Pipe that I put together I can generate a basic RSS feed to put in the dlvr.it service to tweetout on my behalf. The main reason for going to this extreme is I liked having the share button on Google Reader that wasn’t device dependant which could be hooked up to other services.
If you want to do something similar here’s how (I should point out that I won’t be using this method myself as @fstoner has reminded me, that for now anyway, you can use ifttt.com to convert starred items into tweets)
On your Google Plus profile page click on +1’s in the tab and then ‘Edit Profile’ to make sure your that you ‘Show this tab on your profile’. While your here also take note of your Google+ user id which should be a long set of numbers your browser address bar e.g. https://plus.google.com/u/0/114662816634467534305/plusones
Head over to dlvr.it and sign-in/register and Add Route specifying the RSS feed from above and then setup your Twitter account as the destination.
Some things to be aware of. This will tweet all your plus ones, not just those from Google Reader. To prevent timeouts the pipe only pulls the last 5 items. It ain’t full proof. Because Google shorten post titles the pipe gets the full title from the link so it may come a cropper with missing page titles and redirects.
Hopefully all this will soon be obsolete when a person’s +1s are accessible in the API.
Like any fake PhD candidate it’s important to follow the work of your supervisor, after all they will be marking your imaginary neverending thesis. So after much toil and many pointers from Tony here’s what I’ve come up with - a collision of the Guardian Platform API and visualisation with the d3.js library – GuardianTagExplorer.
In this post I’ll highlight a couple of features of the interface and then try to recall many of the lessons learned. Below is a short clip to show how it’s supposed to work or you can have a play yourself via the link above (because it uses SVG the 9% of you who use Internet Explorer 8 or less won’t see anything):
What does it do
When you enter a search term it asks the Guardian Open Platform if there are any articles associated with that term. Each of these articles has some metadata attached including a list of tags used to categorise the piece. Using a ported version of Tony’s python code these tags are collected and the number of other articles from the search result with the same tag are counted. The page then renders this information as a force layout diagram using the d3.js visualisation library (tags and links = nodes and edges) and a histogram by putting the same data into the Google Visualization API.
I didn’t show it in the video but you can create predefined searches for linking and embedding. For example, here’s one for the term ‘JISC’ and if your RSS reader hasn’t stripped out the iframe the same page is embedded below:
How it was made/What I learned
I mentioned to my unsupervisor that I was thinking of doing something with the a live version of the Guardian Open Platform with d3 based on his Friendviz example and he immediately spotted a couple of problems, the biggest being the Guardian API prefer it if you keep your api key a secret.
Yahoo Pipes as a proxy service
Fortunately Tony also had the answer of using Yahoo Pipes with a private string block as a proxy service (I’m not sure if there is much benefit to doing this as while the API key is still hidden anyone can access the pipe. The API is rate limited anyway and I hope the Guardian people see I’m keeping to the spirit of the terms and conditions.
ddd dd dd d3.js
Big headache! even though I’ve churned out a fair bit of code I’m not or never have been a professional programmer so getting my head around d3.js has been a big challenge. There were a couple of examples I spent a lot of time picking over trying to understand what was going on. The main ones were:
Its hard to convey exactly what I learned from the last couple of days of pushing pixels. The big difference between d3 and the similar protovis library I used here is there is a lot more setting up to do in the code. The payoff is you have far more control of the end result. Having spent days trying to understand d3, it was contrasted by the minutes needed to create the tag histogram using the Google Visualization API.
One thing I never got working is a zoom/pan effect. I’ve seen tiny snippets of code that does this for charts. Unfortunately the API Reference for this behaviour is still to be written.
Now that I’ve got a basic framework for visualising tag/category information I interested in refining this by trying out some other examples. So if you have an API you want me to play with drop me a line ;)
On a technical level SpreadEmbed reads a column using the Google Visualization API, passes the links to Embed.ly and generates a page from the result.
Why use a Google Spreadsheet as a data source?
Of course you could use a tool like Storify (which also is powered by Embed.ly) to do this but as I highlighted in this recent post there are limitations to far back you can go in the twitter search. I also like the concept of reusing a spreadsheet of tweets because as I’m discovering in my own analysis of event hashtags there are some very complex and interesting stories to tell which would benefit from some actual quotations. So for me I can filter a large archive of tweets and render it in a more visually appealing way (rather than as in this post directing people to a spreadsheet of data).
Putting this prototype together took about 4 hours to get it working and about the same again with tweaks. Fortunately there was already an example on the Embed.ly github, which embeds YouTube clips from a Twitter search. As my prototype iterates across cells most of the work has already been done.
The remaining headache was providing a way to access cell data from a user defined spreadsheet. The solution was using Tony Hirst’s Google Spreadsheets as a Database code (just for fun … (more because I wanted to see if I could do it) I wrote some code to generate a dropdown list of sheet names to allow the user to indicate where there links were). The source code is here, feel free to re-use/mod.
Limitations and better ways
One of the reasons I’m presenting SpreadEmbed as a proof of concept/4 hr hack and not a service is if you are making more than 10,000 calls a month the the embed.ly API you gotta pay. Also there are probably better ways of doing it. Saqib hasn’t said how exactly he did his version, but I’m guessing you can just copy and paste a list of urls into a post and if you’ve got an embed.ly type plugin it’ll do the rest of your work for you.
The Higher Education blog for Scotland North and East recently hit it's 100th post. Since its first post in May last year a wide variety of topics have been covered from the analysis of research publications, interviews with noted academics and tips on how to enhance teaching and learning using a range of tools and techniques.