EVS

2 Comments

This method uses a UK based SMS gateway and most likely not suitable for international use

Two years ago I wrote how you could have a  free SMS voting using intelliSoftware SMS Gateway service. This recipe automatically forwarded text messages from the IntelliSoftware SMS gateway to a blogger account using posting via email. Votes were then extracted from messages from the blogs RSS feed using some PHP code on my server.

Last year a modified version of this was used to collect votes for the poster competition at eAssessment Scotland 2011. I was recently asked if the recipe would still work for this year’s conference. It does but I thought I could make it better.

30 lines of code, source is in the templateThe main change is to directly ingest SMS messages into a Google Spreadsheet (using 30 lines of code) which makes it easier for manipulation and presentation. The method for doing this is relatively simple because the IntelliSoftware gateway has a HTTP interface and you can also use Google Spreadsheets as a Database – INSERT with Apps Script form POST/GET submit method.

If you would like to do this yourself here’s how:

  1. Signup for an account at intelliSoftware (it’s free!)
  2. Open a copy of this Google Spreadsheet template (also free)
  3. File > Manage Versions and enter any description you like and Save New Version
  4. Run > setUp (you'll need to do this twice - 1st time to grant acces to Script Properties)
  5. Publish > Deploy as web app and click update and copy the service url
  6. Open your IntelliSoftware control panel
  7. Click on Forwarding and change, tick 'Enable incoming message forwarding' and change forwarding type to http
  8. Copy the web app url into the address field and click Save

To receive messages tell users to send a text message to 07786 XXX XXX with ‘xyz and their message’ (where 07786 XXX XXX is the mobile number found in the Trial Service section and xyz is your username created with intelliSoftware).

Simple response graphIn the example template I show how you can parse messages to generate a response graph. You might also want to look at how I’ve used a Google Form for Hacking stuff together with Google Spreadsheets: A simple electronic voting system, at the very basic level you’ve got a free SMS textwall to play with. If you do come up with any interesting mashups please leave a note in the comments :)

2 Comments

Next week I’ll be presenting at Dev8eD (A free event for building, sharing and learning cool stuff in educational technology for learning and teaching!!) doing a session on ‘Hacking stuff together with Google Spreadsheets’ – other online spreadsheet tools are available. As part of this session I’ll be rolling out some new examples. Here’s one I’ve quickly thrown together to demonstrate UNIQUE and FILTER spreadsheet formula. It’s yet another example of me visiting the topic of electronic voting systems (clickers). The last time I did this it was gEVS – An idea for a Google Form/Visualization mashup for electronic voting, which used a single Google Form as a voting entry page and rendering the data using the Google Chart API on a separate webpage. This time round everything is done in the spreadsheet so it makes it easier to use/reuse. Below is a short video of the template in action followed by a quick explanation of how it works.

Here’s the:

*** Quick Clicker Voting System Template ***

The instructions on the ‘Readme’ tell you how to setup. If you are using this on a Google Apps domain (Google Apps for Education), then it’s possible to also record the respondents username.

record the respondents username

All the magic is happening in the FILTERED sheet. In column A cell 1 (which is hidden) there is the formula =UNIQUE(ALL!C:C). This returns a list of unique questions ids from the ALL sheet. If you now highlight cell D2 of the FILTERED sheet and select Data > Validation you can see these values are used to create a select list.

create a select list

The last bit of magic is in cells D4:D8. The first half of the formula [IF(ISNA(FILTER(ALL!D:D,ALL!C:C=$D$2,ALL!D:D=C4))] checks if there is any data. The important bit is:

COUNTA(FILTER(ALL!D:D,ALL!C:C=$D$2,ALL!D:D=C4))

This FILTERs column D of the ALL sheet using the condition that column C of ALL sheet matches what is in D2 and column D matches the right response option. This formula would return rows of data that match the query so if there are threee A responses for a particular question, three As would be inserted, one on each row. All we want is the number of rows the filter would return so it is wrapped in COUNTA (count array).

Simple, yes?

3 Comments

First I should say I don’t think this is the best solution, in fact an earlier post from 2008 DIY: A wi-fi student response system is probably a solution, if perhaps needing more tidying up, but I’m posting anyway just on the of chance that this might inspire or help solve someone else's problem.

This post has come about as a result of a couple of things:

  1. I’m in a bit of a Google Apps run.
  2. I read and enjoyed Donald Clarks Clickers: mobile technology that will work in classes
  3. I saw and contributed to Tom Barrett’s crowdsourced X Interesting Ways to Use Google Forms in the Classroom (I added #39 Collaboratively building a timeline which I discovered through Derek Bruff’s class example.

Concept: Using Google Forms as an interface for a mobile/desktop based voting system.

Issue: If you are asking multiple questions the form needs prepopulating with options making it a long list for the student to navigate and potentially creating a predefined route of questions.

Solution: Use a generic form with one set of response options, the class using a unique question identifier for response graphs to be generated from.

The finished result

Below (if you aren’t reading this via RSS) is this Google Form. [You can make a copy of the related Spreadsheet and customise the text and options. For example, you might want to turn qID into a list option rather than free text.]

Loading...

And here is a page with a summary of responses, which allows the user to choose which response set to display (screenshot shown below):

Screenshoot of summary of responses

How it was done

Some of you might already be familiar with Google Chart. This service allows you to create chart images by encoding the data in the URL. I’ve used this service in a number of my mashups, in fact all of my previous voting mashups use it in some way, and not surprisingly in Generating charts from accessible data tables using the Google Charts API.

Google Chart works well if it easy for you to get the data and format it for the image URL. For more complex tasks there is Google Visualization. The advantage of Visualization is it gives you a way of querying a data source before displaying as a table or chart. To see what you can do (and the place where I aped most of the code for this mashup) you should visit the interactive gallery of Visualization examples.

Using the Using The Query Language example as a stating point I could see you could lookup data from a Google Spreadsheet and filter the response using Google Visualization API Query Language, which is very similar to SQL. What I wanted to do was SELECT the data from the spreadsheet WHERE it matched a question identifier and COUNT the number of occurrences for each GROUP of response options. An extract from the table of data is:

A B C
Timestamp qID Answer
- q1 A
- q1 B
- q1 A

My attempts to convert the SQL version of this query which is something like:

SELECT C, Count(C) AS CountOfC WHERE B = ‘questionID’ GROUP BY C

initially I was left with keyboard shaped indentations on my forehead trying to get this to work but Tony Hirst (@psychmedia) was able to end my frustration with this tweet. This meant I was able to use the following query VQL friendly:

SELECT C, Count(B) WHERE B = ‘questionID’ GROUP BY C

The next part of the problem was how to let the user decide which question ID they wanted to graph. Looking at the Simple Visualization example I could see it would be easy to iterate across the returned data and push out some html using JavaScript. What I wanted to do was GROUP the questionID’s and COUNT the number of responses, which is possible using:

SELECT B, Count(C) GROUP BY B

This returns a table of unique question IDs and a separate column with a count of the number of responses. A form list element is populated with the results using:

for (i=0; i
var ansText = data.getValue(i, 0)+' (No of votes '+data.getValue(i, 1)+')';
var valText = data.getValue(i, 0);
ansSet.options[ansSet.options.length]=new Option(ansText,valText);
}

And that’s it. If you want to play around with this the code is here. Enjoy and if you find this idea useful or if you spot any issues as always I value your comments.

7 Comments

Technology -
Technology - "Future Vision"
Originally uploaded by $ydney

Previously I written about Using a Learning Apps (xLearn) textwall for SMS voting for £25/year, but what if you haven’t got £25 to spare? How about free SMS voting*, and when I say free, I don’t mean free for the first 15 votes like SMSPOLL.net or free for the first 30 votes like PollEverywhere.com, I mean free for as many responses and polls you like!

*excluding the price to send a txt msg

I’ve been think about free SMS voting for quite a while, 4 years in fact! Back in 2006 one of the first blogs I regularly read was David Muir’s EdCompBlog. At the time I worked at the University of Strathclyde in CAPLE and David was in the Faculty of Education. His blog was great to find out what was going on at the other end of the institution, something Brian Kelly regularly highlights.

In October 2006 David posted his experiences on Moblogging: Turn it on again where he was able to mash a free SMS textwall using intelliSoftware SMS gateway. At the time I left a comment asking if David had:

thought about parsing the text messages for voting? i.e. students text 'pgdes2blog Q1B' to answer B in MCQ for question 1 etc? (Anonymously said …)

As it happened David had but neither of us was in the position to come up with a solution back then. Roll forward 4 years (with a Twitter voting solution inspired by David in between) and the old grey cells get a jump start after David posted some reflection on his student induction 2010 style in What did they need to know?. David mentioned he used his free textwall solution again collecting responses on this blog.

Both of us realised that if David was collecting responses on a blog that it would be easy to reuse my earlier Learning Apps solution to grab and parse the responses (using RSS). In fact it was so easy all I needed to do was change one line of code.

So below is an alternate version of XVS – SMS voting using Learning Apps:

*** RSSvs – SMS voting using RSS ***

With this version you can submit any RSS feed and it will extract/graph the number of occurrences of an answer option after a question identifier in the post title. Here is an example of a response chart which is generated from this test blog

So potentially you could use anything for voting which somehow creates results as an RSS feed. But how can you use this for SMS voting?

How to use RSSvs with intelliSoftware  

Unlike the Learning Apps textwall it doesn't have a native RSS feed for the SMS inbox, but as David has already demonstrated it is possible to automatically forward messages sent to intelliSoftware as an email which can then be used to publish a blog post. This is possible because a number of blogging platforms allow you to create posts from emails (e.g. Blogger: How do I post via email?). Here is how to setup your intelliSoftware account:

  1. Create a blogger account and enable mail-to-blogger (taking a note of your personal mail-to-blogger address)
  2. Usual form filling. Important: Username will be your message identifier i.e. students have to start their response txt with your username so keep it short and meaningful
  3. Once registered login and select ‘Preferences’ in ‘My Account’
  4. In the ‘Forwarding’ tab enable ‘incoming message forwarding’, choosing forwarding type email and entering your mail-to-blogger address.
  5. In the Advanced Settings for this you can also modify the email template. Important: Make sure [Message_Text] is included at the end of the ‘Email Subject’, you should also remove [Message_From_Number] to prevent students mobile numbers being published.

Collecting and displaying responses

When you want to ask a question give users the options and instructions like “to vote for option ‘A’ send a text message to 07786 XXX XXX with ‘xyz #q1 A’ (where 07786 XXX XXX is the mobile number found in the Trial Service section and xyz is your username created with intelliSoftware).

The question identifier (in this example #q1) can be anything you like as long as it starts with ‘#’ and the options can be anything you like (a, b, c … 1, 2, 3 … etc).

To display a response graph visit the  RSSvs Site and enter the rss feed for the blog you are collecting responses on and the question identifier.

Important Tip: If you are using Blogger Blogspot you can increase the number of items returned by adding &max-results={and a number}. For example: http://rschetest.blogspot.com/feeds/posts/default?alt=rss&max-results=200 

Once the form is submitted you can swap between the live results and a static chart. (the url of this page can be included in PowerPoint slides allowing you to link directly to the results) Below is the format it uses:

http://mashe.hawksey.info/twevs/rssVS.php?id={see note}&tag=q1&options=-&type=live

idis an encoded version of your RSS feed url.The encoded id is fixed so can be reused

tag – your question identifier

options – optional number to restrict the number of options displayed

type – setting to ‘live’ displays the chart with realtime updates. Leaving blank displays the static chart

 

As intelliSoftware have been providing their SMS forwarding service for free since 2006 I would encourage you to have a look at some of there paid for services. Lots of developer tools to look at and the Multimedia Messaging Service MMS looks interesting too.

11 Comments

I’ve written about the different ways you can do electronic voting without buying clickers a number of times from creating a simple wi-fi system, to using services like polleverywhere.com, to even using Twitter (more on the latest on this one in a separate post).

For the ‘eAssessment Scotland 2010: Marking the decade’ conference we ran a poster competition and not wanting to collect lots of slips of papers we thought it would be good to have a SMS vote. Having seen the Learning Apps (formerly xlearn textwall) being used at other events and knowing it allowed data to be exported via RSS it was the ideal candidate. Using the same concept for voting via Twitter (TwEVS) of counting the occurrences of options after a hashtag it was easy to just substitute the feed from Twitter search with the one from Learning Apps.

Wanting to add a bit more than just a static Google Chart I was interested to see if I could get the graph to update automatically without browser refresh. After looking at a couple of options including the Javascript plotting library ‘flot’ I came across a post by Sony Arianto Kurniawan on Create Realtime Chart Without Page Refresh using FusionCharts Free and Ajax (prototype.js), which worked a treat.

The advantage of this home grown solution is it gives you some flexibility in how it is used in particular using the space before the question identifier for users to explain why they think their answer is correct. You can access the voting site using the link below (here is also the source code for download).

*** XVS – SMS voting using Learning Apps ***

Instructions

  1. Rent a textwall from Learning Apps (xlearn) for £25/year (this solution only requires you to receive messages so you won’t need any additional credit unless you plan on contacting students via SMS)
  2. Once created login to the xlearn admin panel and click either ‘Text Wall’ or ‘Inbox’ and note/copy the code after 'http://xdalearn.co.uk/rssfeed/Feed?id= (might be 12 random characters) Update: There's a new url so it's the code after http://www.textwall.co.uk/rssfeed/textwall/
  3. When you want to ask a question give users the options and instructions like “to vote for option ‘A’ send a text message to 07XXX XXX XXX with ‘xyz #q1 A’ (where 07XXX XXX XXX is the mobile number and xyz is the short code provided by Learning Apps).The question identifier (in this example #q1) can be anything you like as long as it starts with ‘#’ and the options can be anything you like (a, b, c … 1, 2, 3 … etc)
  4. On the XVS site enter your textwall RSS id saved earlier and the hashtag identifier without the ‘#’ (in this example it would be ‘q1’). You can also optionally set the maximum number of options to graph. The reason you would use this is to try and prevent any malicious uses like sending rude messages.
  5. Once the form is submitted you can swap between the live results and a static chart. (the url of this page can be included in PowerPoint slides allowing you to link directly to the results) Below is the format it uses:

http://mashe.hawksey.info/twevs/xvs.php?id={see note}&tag=q1&options=-&type=live

id - is an encode version of your textwall RSS id. It’s encode to try and prevent direct access to you entire text wall. The encoded id is fixed so can be reused

tag – your question identifier

options – optional number to restrict the number of options displayed

type – setting to ‘live’ displays the chart with realtime updates. Leaving blank displays the static chart

One last thought. As this solution uses RSS feeds to pull the voting results, just as with the Twitter voting example, it would be very straight forward to combine the two (already a feature of polleverywhere.com, but something I’m not interested in doing).

3 Comments

As we start a new year now seems like an ideal opportunity to revisit some of my old posts, pull out some common themes and reflect on what was and potentially what will be.

For my first theme I want to revisit electronic voting systems (EVS). EVS has been used in education for a number of years. This particular technology has had a well documented positive impact the learner experience, particularly attainment and retention, yet still hasn’t received mass adoption. One of the reasons is probably the cost of bespoke hardware and software. With the increasing mass adoption of mobile phones with Internet connectivity via 3G or campus wi-fi networks there is increasing potential to use student owned devices for in-class voting.

Cans and strings

Over the past 12 months I’ve made a series of posts on how this model could be used. First was the very experimental ‘DIY-PI’. The thinking behind this was to run a local web server with very basic web based voting software which students could then interact with over a shared wi-fi connection. The result was very much a ‘two cans and a string’ solution and never intended as a final product. The post, DIY: A wi-fi student response system, outlines the argument for using mobile phones as voting handsets and containing links to a short demonstration video and the source code used to create DIY-PI.

One of the issues with DIY-PI is, whilst it uses existing open source technology, it requires custom coding to handle the voting and it is fair to say my efforts are very rough around the edge.

Twitter for voting

The model of voting via student owned devices was one I revisited later in the year with TwEVS. TwEVS removes the need for custom coding, instead it mashes existing free web services including twitter to allow electronic voting style interaction. The two posts which cover this are Twitter + voting/polling + Yahoo Pipes = TwEVS (The Making Of) and Electronic voting and interactive lectures using twitter (TwEVS).

This work culminated in a presentation at the University of St. Andrews for the eLearning Alliance. Even though this solution removes a lot of the techie programming it still requires a degree of knowledge to create and embed custom urls into PowerPoint.

Shortly after I made this presentation I was made aware of work by Timo Elliot which used the same concept of conducting votes via twitter but he has a much more elegant twitter integration with PowerPoint.

Voting via text (SMS)

One of the advantages I highlighted about using twitter for voting is that users can setup their account to update messages on twitter via text messaging (SMS). This means even the most basic phones without wireless access can be used, but it still requires students to register for twitter accounts. In the midst of my twitter-for-voting research I came across some other solutions which allow voting via SMS.

The first came courtesy of Sean Eby at polleverywhere.com. This service is specifically designed to make it easy to create and administer voting via SMS (as well as giving users the choice to respond via the web and twitter). One of the feature I like about Poll Everywhere is that they make it very easy to embed polls into your existing PowerPoint presentation. If you have less than 30 people responding to a poll then the service is free (perhaps not enough to test it properly in-class, but still a service worth looking at).

Along similar lines my colleague Adam Blackwood demonstrated how an application for Android mobile phones could be used for voting/polling. More details of this solution are here: ALT-C 2009 I: Mobile technology – proximity push and voting/polling on Android. This solution is slightly different to Poll Everywhere in that votes are administered from the tutors phone using their existing mobile number to collect responses.

A factor which will probably mean SMS voting won’t see mass adoption in the UK is the cost to students for sending a text message although changes in the way mobile contracts are promoted (bundling text messages) may be enough to convince more people to try this solution.

Future trends

It’s unlikely that voting will be for everyone but there is some examples of institutions using student owned phones for collecting responses. The trend appears to be using multiple means, integrating a number of social networking sites, dedicated web interfaces and SMS. An example of this is an application developed by Purdue University, which I highlighted in Hotseat: Any Mobile Will Do. This solution, whilst not explicitly used for voting, also highlights another future trend in this area. The move towards continuing in-class discussion outside the classroom, extending the time students spend actual thinking about new concepts and ideas.

[Final thought: I've been out of the loop with what EVS/clicker manufactures have been doing with their voting software (other than virtual handsets), but I'm sure they must be looking at a similar model of aggregating votes from different sources.]

Things have been quite on the blogging front as we dug out the tinsel to celebrate all things JISC at our Winter Fayre. We managed to squeeze almost 30 different keynotes, workshops and sessions into the day, including two by yours truly.

I had the honour of presenting a short overview of electronic voting present and future in ‘Ask the Audience’ and an opportunity to showcase, what has become a highly honed, Google Wave intro and overview.

I’ve attached both PowerPoints I used below which you are free to pick over and reuse if you like. Just to remind our supported institutions I am available for weddings, birthdays and staff development events (if you are not supported directly by us we are open to offers particularly if they require going to warmer climes ;)

[Both these presentations embed Flash into PowerPoint. To view when prompted you need to enable the content]

image
Ask The Audience *.ppt (3Mb)
image
Google Wave 101 *.ppt (1.4Mb)

5 Comments

Regular readers of this blog will know that one of my current interests is using twitter as a live in-class voting tool (TwEVS). Today, via Jane Hart, I was made aware of ‘Free PowerPoint Twitter Tools’ developed by Timo Elliott.

Timo’s solution not only integrates voting within a PowerPoint presentation, but he has some other nice features including a real-time twitter ticker-tap and a feedback wall which pulls questions and response from twitter (shown below).

Using these tools is very easy and all you need to do is download the PowerPoint .ppt file with embedded tools and instructions from Timo’s site (unfortunately PowerPoint for Mac isn’t support yet).

The technology behind this solution is simple Adobe Flash which was developed using SAP BusinessObjects Dashboarding product, Xcelsius (don’t worry all you need to use this solution is PowerPoint and Adobe Flash Player). Initially the PowerPoint file didn’t work for me but thanks to a suggestion from Timo it was traced to a problem with my Flash Player installation. If you experience problems I would suggest following the uninstall/install instructions provided by Adobe.

When I presented my solution using twitter and yahoo pipes for voting last week  I would say most of the interest was in combining in-class and out-of-class activity. Timo’s solution potential fits in well with this giving an easy way to use voting as well as a the feedback wall which could be used at any point during a presentation to stimulate dialogue.

2 Comments

Yesterday I presented TwEVS to the e-Learning Alliance FE/HE SIG held at University of St. Andrews. My presentation (including audio) is below:

The day included presentations on remote teaching using video conferencing, electronic voting systems and an introduction to twitter, so finishing on TwEVS seemed to round the day off nicely.

When I get a chance I would like to post some reflections on the other presentations …

Abstract-Waves Blue
Abstract-Waves Blue
Originally uploaded by fabioperez

Just back from ALT-C 2009 having been asked to present a session with colleagues on EduApps (this resulted from JISC RSC UK's donation of an EduApps stick to all conference delegates and ALT members). Over the next couple of days I'll be making a series of posts to highlight some of the best bits.

For my first post in this series I'm going to highlight some of the ideas presented by my colleague Adam Blackwood at RSC South East. Adam, amongst other things, is a mobile guru and in his session he highlighted some interesting tools [Click here for a copy of Adam’s slides and his Mobile Technology Summary Sheet].

Proximity push using TextBlue

First there is TextBlue.This company specialises in ‘proximity marketing’, using Bluetooth to push information primarily to mobile devices. This company has a range of products from plugin dongles for your laptop to 'broadcasters’ which can push content out for up to 1000 meters.

Adam demonstrated how this technology could be used to push learning content to student owned phones (or any Bluetooth enabled device). The only restriction you have on the file types you can use is what is viewable on the student's device. You probably also want to keep file sizes down because of the transfer time so the 30 minute podcast might be out of the question, but this technology could be ideal for distributing quizzes etc (something you could easily create with Mobile Study, which is free).

There is nothing stopping you transfer files via bluetooth without TextBlue. Doing it this way is very cumbersome and the TextBlue software turns it into a one click solution. A demo version of TextBlue software is available on request – Contact TextBlue

SMS polling/voting

I’ve been aware of SMS polling/voting services for sometime. All the examples I’ve previously looked at use the model where the hosting/collation of votes has been handled by a 3rd party site. Adam highlighted a new model which puts the editing/collation software on your own phone, students responding to your mobile number, not one provided by a 3rd party.

The software to do this currently only seems to be available for Android mobile devices. There are a couple of software applications that can do this but Adam was highlighting ‘Polls’ by Pollimath:

The concept is simple; draft the opinion poll on your phone, add your voters and open your poll. Your list of voters would receive an SMS and/or E-Mail notification. They vote via the Web or SMS Reply as per the options selected by the pollster. The pollster can see the poll statistics and the voting details (who voted for what choice).  

Polling Concept
Pollimath Concept Diagram

There is a free ‘Lite’ version of Pollimath which is limited to 10 voters per poll, but at $3.95 the full version is very reasonably priced. Pollimath has some nice features like being able to send vote invitations via email as well as SMS, allowing you to use multiple input methods, and being able to view the results online. This is a relatively new application and some more work needs to be done to graphically represent poll results as well as an easier way to distribute polls links but so far it looks very promising.

An alternative to Pollimath is ‘Handy Poll’s’ by Marc Tan. This has a better graphical results view, but doesn’t have as many of the features of Pollimath.

Augmented reality

The final thing Adam showed us was some ‘augmented reality’. With this the camera on your phone is combined with your location and direction information so that additional information can be overlaid. One of the most popular working examples is Layar for Android, but the video below shows where the next generation of augmented reality is going: