Virtual progress

Although I’ve been on sabbatical this semester, it appears that our experiment using Chromebooks in our introductory biology courses has been going well. From what I’ve heard, only a few students have been burned by the extra layer of abstraction of running Windows in a web browser, occasionally closing the Chrome tab instead of just the program running in the virtual Windows environment. All told, I’d say that’s pretty impressive for an idea I dreamed up last winter, made possible by the excellent support from our IT department.

I can only imagine this is the early days of a growing trend, both within and beyond academic settings. I noticed a few days ago that Adobe has been working with Google to make their flagship application, Photoshop, available in a “virtual” environment. It sounds like an unholy combination of virtualization, VNC, and JavaScript, but it might work well enough to be worth it. Interesting, too, that Google is investing engineering resources to make this happen, as this clearly increases the value of Chromebooks if it can provide an adequate user experience.

While this is an example of making a particular program run virtually, Amazon continues to push forward with their more general solution, called AppStream. They’ve just announced the ability to run almost any Windows application on their virtualization platform, removing the need to manage a server on site. It costs $0.85 per hour, billing only for the time used. I’m not sure it would make sense for every app or student or teacher, but for certain programs that need to be run only occasionally, it seems like a great idea.

Google Scholar’s creator

From a nice article by Steven Levy on Anurag Acharya, the man behind Google Scholar:

I can do problems that seem very interesting me — but the biggest impact I can possible make is helping people who are solving the world’s problems to be more efficient. If I can make the world’s researchers ten percent more efficient, consider the cumulative impact of that.

What a great motive to guide your work.

Scripting Google Spreadsheet to do email merge

I recently posted about using TextExpander to semi-automate the process of sending grade updates to students. That post got me poking around for other ways to do a more thorough mail merge, and I found a tutorial for scripting Google Spreadsheet to send emails. With some minor modifications, I now have a spreadsheet set up as a grade book that can email each student with their current point total and class average at the push of a button. Below is a description of how I adapted the original spreadsheet to make it do what I wanted. You can open my spreadsheet and make your own copy to modify, too.

The original file is designed to collect user information with a form, save it to a spreadsheet, and email the user. Working from the copy of the tutorial spreadsheet, the first thing I did was to delete the form, as I do not need it in my application. Then I rearranged the columns and added some for my assignments and for totals. I left the original columns for first name, last name, and email address intact to minimize the need to edit the script. The script uses the first row of each column to identify which variable that column holds, so it’s important to respect those labels.

When I had the tutorial spreadsheet how I wanted it, I customized the text of the email template to suit my purposes. I added two new variables, based on two new columns, Total Points and Class Avg:

template text to send email

Then I ran the script with myself as the test recipient, and I was disappointed to find that the value for Current Avg did not get filled in. I returned to the script and began looking for the place where the data range is set, finding it in line 4. The original tutorial spreadsheet has 4 columns, so the range is set to 4. I have 5 columns I want the script to read from, so I changed the dataSheet.getMaxRows value to 5:

screen shot of script text

I ran the script again and it worked as expected.

The last step I took was to customize the subject line for the automated email. In the tutorial spreadsheet, this subject line is hard-coded in the script, which seemed a little too permanent or hidden or something. I changed it to set the subject line by reading it from a cell in the ‘Email Template’ spreadsheet.

Any time I want to update my students on their grades, I just run the script by clicking on the Tools menu, selecting Script Manager, and clicking ‘Run’. This solves one more of the problems I’ve had weaning myself from the tyranny of the LMS.

 

 

Acer C720 Chromebook – first thoughts from a Mac user

As I’ve written about a few times before here,  I’m testing the Acer C720 Chromebook as a potential notebook computer for general purpose lab use. I wanted to get a sense for how it performs and what kinds of things it can do, so I’m using it as my main at-home computer for a few weeks. This isn’t what I really bought it for, but I wanted to have a good idea of what its limitations were before committing us to it.

So far the most surprising thing about using a Chromebook is how easily it has fit into my computing life. I have been a full-time Mac user for 11 years, and yet I can do most of my work from this computer. I thought I was far more dependent on Mac-specific applications and utilities than I really am. For example, I received an email a few days ago from a student asking about a missing assignment while I was on the Chromebook. I keep my gradebook for that class in Numbers, and I have it synced with iCloud because I like to be able to enter grades on my iPad during lab.

My first instinct when I read her request was that it would have to wait until I got back to my Mac, but then I remembered that iWork for iCloud was available:

iCloudApps

I logged in to iCloud.com, opened my grade book from the web, checked on the missing assignments, and emailed the student without needing to wait until I got back to my office. Since then, I’ve used the web version of Numbers two other times to update grades, and both times it just worked. The same holds for most of the other cross-platform services I make heavy use of, like Evernote, Dropbox, Simplenote, and (of course) all the Google Apps. With Evernote and Dropbox, it’s not quite like using a native app, but the web interfaces do the job.

One of the programs I use heavily on the Mac is OmniFocus, and I certainly notice its absence on the Chromebook. I can email tasks into it from the Chromebook, but there is no way to access my to-do list over the web. I’ve moved a few kinds of tasks into Wunderlist as a temporary solution, but I still miss OmniFocus. I’m sure if I were writing a paper, or just not in the throes of final exam writing and grading, I would also miss Papers, but alas, I am not. Part of what I need to do now, though, is figure out what our students need to be able to do with these and whether they can get that work done.

As far as the hardware goes, I’ve been more than impressed. The battery life on it is impressive. I’ve used it without a charge for over 7 hours and it still reports about 30% charge left. I was also pleasantly surprised when I plugged it in to a monitor and learned that it does desktop spanning, not just mirroring. I assumed this would be one area of compromise to save cost, but it can drive both the internal display and a 1080p monitor with no problem.

 

Using TextExpander for email merge

TextExpander iconIt’s the end of another semester, and a lot of my lab students have been asking me what their lab grade is going to be. I don’t keep an online gradebook for my labs, so I needed a quick way to send them an update with their current grade. I keep their grades in a spreadsheet, and in the past I went so far as to create a mail merge report and send each student a PDF of their results, which was a fairly time-consuming process. Instead I turned to a Swiss Army knife called TextExpander.

TextExpander is a program that runs in the background and waits for you to type a specific sequence of keystrokes. When it detects that sequence, it fires and inserts the text you have associated with that shortcut at the point of your cursor. Not only can it insert the prescribed text, it can also do some thinking and use variables. For example, here is my snippet for the text of an email to a lab student:

Lab Grade Update

You have a %clipboard in lab, which includes your lab exam grade and all assignments handed in to date.

The real magic in this snippet is the %clipboard part, which TextExpander fills in with whatever is present on the system clipboard when the snippet is expanded. Before expanding the snippet in the body of an email, I just select the grade in my spreadsheet and copy it. When I type the couple magic keystrokes, the text above is inserted, complete with that student’s score.

OK, so this isn’t so much a real ‘mail merge’ as a ‘data merge’, but it’s still a time saver and requires effectively zero setup. It also works with whatever is on the clipboard, meaning it is not tied to a specific data store, unlike a traditional mail merge and its data mapping requirements.

Chromebooks and the ‘technology floor’

A few weeks back I wrote about using Chromebooks in some of our biology labs, and now that the Acer C720 has started shipping, I ordered two of them to start testing. I’ve only had them for a day, so this is not a performance review in any way, but I will say that it seems like a very functional computer. I’m used to the 11″ MacBook Air as my daily computer, and the screen size and keyboard are on par with that, although the color gamut seems more restricted; so far the battery life seems much better than the Air.

Part of what I want to work through as I’m testing is what, exactly, is the service model I’m aiming for — what is the purpose for these? The current computers are used to run evolution and ecology simulation software and a statistics package. I didn’t even bother requesting them this semester for our new bioinformatics exercise, opting instead to encourage students to bring their own, which worked fine. So why not just continue to do that instead of investing in lab-owned notebooks? If we are going to have to virtualize some of the software anyway, why not just give students access to it on their own machines?

This would be consistent with the trendy practice known as ‘bring your own device’ (BYOD), but I’m not convinced it’s the right way to go for us. One of the biggest weaknesses of this policy for education is that it lacks any kind of predictability. I’m not referring to predictability in terms of make and model and minimum specs, I mean whether the student brought their computer that day. There is a great benefit to being able to count on certain equipment being available and functional when planning a lab. For example, I know that we have a number of nice spectrophotometers, so I can design a lab exercise that requires them. Knowing that each student or pair of students is going to have access to a computer, and knowing what that computer is capable of, changes the design of the lab, to put it simply.

Here are a few activities that come to mind:

  • The lab manual could be moved online. As it stands, we have the manual printed for the students and (try to) collect the cost from them, which turns me into a cashier. This could be as simple as a PDF or as complex as a real ebook with interactive content.
  • We could produce short instructional videos for routine lab techniques and link to them from the online lab manual. These would be for things like pipetting, using the spectrophotometer, setting up a TLC experiment, or even setting up a slide on the microscope, which seems like a neverending mystery to many students.
  • Get into more detail on the practical side of data management and statistical testing. As it stands, we send students away and ask them to perform simple statistical tests on the data they have collected, but what they take away from this varies widely across the class. Some really get it, but others can’t get a handle on it. It would be nice to do more show-and-tell before sending them away to work alone.
  • Do some real training in literature searching. We have a light requirement for incorporating primary literature into the 2 formal lab reports, but we don’t spend time in lab talking about how to do this. I’d like to change this.

I could go on with a dozen other examples, but none of these is surprising, nor do any require anything other than a computer with Internet access. But you have to know it’ll be there. Right now, the range of access to a computing device begins at ‘none’, and having a set of lab computers would drastically improve that to ‘something’. I guess that is what I find so attractive about this whole idea: it offers a ‘technology floor’ where there is none now.

The idea of a technology floor works on a number of levels here. It supports the objectives we decide on teaching toward in any particular lab, that’s its primary job. But it also doesn’t have to remain exposed, students could choose to bring an equivalent computer of their own and use it. I’m thinking of the difference between vinyl flooring and travertine tile — they look and feel quite different, but ultimately serve the same function.

Losing net neutrality

Once the court voids the nondiscrimination rule, AT&T, Verizon, and Comcast will be able to deliver some sites and services more quickly and reliably than others for any reason. Whim. Envy. Ignorance. Competition. Vengeance. Whatever. Or, no reason at all.

via We’re About to Lose Net Neutrality — And the Internet as We Know It | Wired Opinion | Wired.com.

Tweeting genomes

This kind of blew my mind:

https://twitter.com/Harrison_Peter/status/395656427487760385

He’s now turned his script on a much larger project, tweeting a bacterial genome. It got me thinking, though, about the nature of information. Twitter is designed to be a publishing platform for small, human-readable messages. A genome is neither small nor human-readable. Harrison has devised a clever way to overcome the first limitation, but the results don’t exactly make for a gripping account to follow because nucleotide sequences are not all that human-readable. Seriously, don’t follow @GenomeTweet.

Cells are constantly forming small messages that ALSO are not human-readable, but control all kinds of activities in the cell. Is a tweet kind of like messenger RNA? It is sent out in response to some signal, and itself serves as a kind of signal, meant to have an influence on the system.