April 6, 2014

My new job: Associate Provost of Learning Initiatives

I am excited to start a new job on campus as Associate Provost of Learning Initiative and Executive Director of the Teaching and Learning Transformation Center.

For those of you wondering why I would give up the world's best job as a professor developing the future of interactive computing technologies: Technology is on the cusp of significantly changing the way that people experience higher education (actually, it already has - from MOOCs to GitHub to YouTube and StackExchange, Twitter, Skype & Google docs...). Now it is poised to change the classroom experience as well. I see this role as an opportunity to apply all that I have learned from my work in the field of HCI over the past 20 years directly to the campus that I love and want to see thrive. From enhanced user experiences to analytics that balances transparency and privacy across multiple stakeholders, this is HCI's time to improve our campus. And if you want to know how I got to this point, then learn about the HCIL - the world's best HCI research group: http://www.cs.umd.edu/hcil/. (Oh, and of course I can always revert to being a regular faculty member if this doesn't work out...)

-----

Dear University of Maryland Faculty:

I am pleased to announce the formal establishment of the Teaching and Learning Transformation Center (TLTC) and the appointment of Professor Benjamin B. Bederson as the new Associate Provost of Learning Initiatives and founding Executive Director of this new center.

The TLTC will be the hub on campus that brings together support, incentives, infrastructure, assessment, and innovation for the University's educational mission.  It will provide leadership around teaching and learning, including the use of technology to transform the students' and instructors' experiences, both in the classroom and in an online environment.  The TLTC will integrate the Center for Teaching Excellence from the Office of Undergraduate Studies and the Learning Technologies and Environments group from Division of IT.  It will also add a campus-wide resource in assessment and learning analytics.  Together, this critical mass will further promote innovation and excellence in education at both the graduate and undergraduate levels.

Dr. Bederson (www.cs.umd.edu/~bederson/) is a Professor of Computer Science and prior director of the Human-Computer Interaction Lab at the Institute for Advanced Computer Studies (UMIACS) and iSchool.  An ACM Distinguished Scientist, his research is on technology-enhanced education, interaction strategies, crowd sourcing, mobile device interfaces, visualization and digital libraries.  He is a widely respected innovator, entrepreneur, and scholar in interactive systems who has worked on a wide variety of interdisciplinary projects, published broadly, and founded a successful mobile apps company.

Please join me in welcoming Professor Bederson to his new position.  Many of you will no doubt hear from him in the coming months as the center is developed.  He also asked me to say that he welcomes hearing from you about your concerns and ideas about teaching and learning on campus.

Mary Ann Rankin
Senior Vice President and Provost

March 9, 2014

Google Sheets as website backend store

Two summers ago, I spent an inordinate amount of time rebuilding my home page using a database and Django so I had a good UI for entering new data. It was a fun learning project, and it worked well, but was very tricky to get configured on my CS dept. controlled server. Fast forward to now. Some small thing broke and I realized it was going to take a long time to figure well enough how things worked so I would be able to fix it. And even if I fixed it, I'd surely have to go through this again the next time it broke.

Complexity is poor design. So I decided it was time to kill the database and Django and go for a much simpler solution.

I am now using Google Sheets as my backing store, and have straightforward Javascript that queries the store. The end result is that I deleted TONS of code, removed all the configuration junk, and now have a collaborative editing model for the backend data that drives my (simple website).

My home page uses 3 spreadsheets as data stores - News, Projects, and Recent Publications. Each one is implemented similarly, so I'll include the code here for my News in case anyone wants to try this. It relies on Google's visualization library since Google wrote this to make it easy to use their charts and visualizations based on their spreadsheet data.

In your HTML, include Google's Javascript API:


In your Javascript, load Google's visualization library
// Load Google visualization code to support spreadsheet data fetching
if (typeof google !== 'undefined') {
    google.load('visualization', '1', {'packages': []});
}

Make sure your spreadsheet is publicly readable, and that store the spreadsheet URL in your code like this.

Then, the following functions shows how I got the data from my spreadsheet, complete with a SQL'ish query mechanism, and displayed it. You'll have to modify it for your site, but the approach is pretty straightforward.

function loadNews(limit) {
var query = new google.visualization.Query(newsSource);
query.setQuery('select D where A=true order by B desc limit ' + limit);
numNewsLoaded = limit;
query.send(newsQueryResponse);
}

function newsQueryResponse(response) {
if (response.isError()) {
alert('Error in query: ' + response.getMessage() + ' ' + response.getDetailedMessage());
return;
}
var dataTable = response.getDataTable();
news_data = convertToArray(dataTable);
newsLoaded(news_data);
}

function newsLoaded(data) {
var str = "
    ";
for (x in data) {
var item = data[x];
var html = item[NEWS_HTML];
str += "
  • " + html;
  • }
    str += "
    ";
    if (numNewsLoaded == initNumNews) {
    str += "older news...";
    }
    $("#news").html(str);
    }

    function convertToArray(dataTable) {
        var numCols = dataTable.getNumberOfColumns();
        var r,c,arr = [];
        arr.length = dataTable.getNumberOfRows(); // pre-allocate for speed
    for (r=0; r
    var a = [];
            a.length = numCols; // pre-allocate for speed
    for (c=0; c
    arr[r] = a;
    }
    return arr;
    };

    Note that Google's new spreadsheets aren't supported yet. You can read more about Google's support for these kind of data queries.

    Thanks to grad student Adil Yalcin for helping me figure out this trick.

    January 20, 2014

    Guest Post: Ben Shneiderman on "Her"

    My colleague, Prof. Ben Shneiderman wrote the following review of the recent movie "Her". I post it because it reflects Shneiderman's long-time argument that anthropomorphizing computing systems is neither effective nor appreciated by users. Although "Ask Alex" on www.united.com is an example that has been running for at least 1.5 years so why is it apparently successful there? And while Siri may not be in the news much anymore, Apple hasn't pulled it from iOS either. Time will tell if Shneiderman's prediction that all such anthropomorphic technologies will disappear.

    Shneiderman's observations that "the need for physicality, exclusivity, and full disclosure are central to human relationships"may seem obvious when you read his argument, but it is this clarity of recognition that makes the review valuable. This much longer review in Wired where these issues never take center stage make the point that the "obvious" is only such if you are tuned to what is important.

    ---------

    Review of Her (the film)
        Ben Shneiderman (1/12/2014)

    This creative, clever film depicts current fantasies about how an OS could have a “real” loving relationship with a person.  The emotional empathic tone of Theodore and the charming voice of Samantha make compelling conversation, that seduces Theodore and the audience for a while.  But Samantha’s total misreading of human physicality emerges when she sends a surrogate body, which Theodore rejects.  When she reveals that she is having 641 simultaneous loving discussions, their relationship hits a brick wall.

    The need for physicality, exclusivity, and full disclosure are central to human relationships, but Samantha’s programmers failed to realize even those basic requirements.  Of course, they fail in so many other ways, but the screenwriters cleverly manipulate the audience to go along with the perfect partner fantasy.  Scarlett Johansson skillfully says all the right things with delightful empathic intonation, reminding us of our powerful attraction to supportive comments, thoughtful suggestions, vulnerable phrasing, and loving teases.

    The filmmakers are right in reminding us of our growing infatuation with mediated relationships.  Real people need real love, not artificial substitutes or technology distractions.  So, will audiences turn off their phones and turn on to their partners, family, and friends to express genuine feelings?  I hope so.

    This film continues to promote the misguided belief that humans want technological partners and avatar-based machines.  Consumer rejection of anthropomorphic technologies has been consistent for the past half century (Tillie the Teller, Postal Buddy, Ken the butler, Clippie, Ananova, etc.) but new generations of designers keep coming up with fresh versions, which will also disappear.

    This future technology portrayal continues the 50-year old Star Trek/Star Wars tradition of using voice communications to let the audience know what is happening, and use emotional tone effectively.  However, the future of computing will be more visual than verbal.  Voice is important for human relationships, but can’t keep up with the human mind’s desire for information abundance and swift decisions.

    The film also might trigger reflections on the merits of autonomy and interdependence.  The mistaken model of autonomous machines has dangers, and the need for human balance between autonomy and interdependence needs modern reinterpretations to fit evolving technology.  Human locus of control is an essential design guideline, even as technology sophistication grows.

    Prof. Ben Shneiderman          ben@cs.umd.edu
    Dept of Computer Science   301-405-2680  
    A.V. Williams Building             www.cs.umd.edu/~ben
    University of Maryland          www.cs.umd.edu/hcil
    College Park, MD 20742        Twitter: @benbendc

    May 20, 2013

    Google I/O 2013 Trip Report

    Since a handful of people have asked me about Google I/O, and it isn't a conference that a lot of academics go to, I thought I'd share my experience with this group.

    First off - why did I go?  The answer is because I didn't go to CHI so I wasn't worn out, and because Google asked.  They offered me a $300 ticket (compared to the normal $900 which is also very hard to get).  The primary reason I wanted to go was to experience the silicon valley big company event. I was interested of course to learn about Google's view of modern web technology, but mostly I just wanted to feel what this kind of event was like. (And full disclosure, I have research funding from Google.)

    So, first let me comment on that feeling.  It was pretty much what I expected - and totally surreal. It was VERY well organized with hundreds of Googlers and staff helping everywhere.  Academics were treated specially (with a short special line, a special floor at an evening party, an invite to Google's SF offices for a tour, etc.). And it was seriously geeky. I was a distinct minority - caucasian and old.  There was very little gray hair and very few women. And a lot of Asians of all kinds. The keynote was a lot like a rock concert. Super crowded - intense spirit. Thousands of people holding up their phones to take pictures of the screens showing fluid blobby animations to rock music before the start. And every one yelling a count down to the start (illustrated on the displays.)  I almost laughed at that part - I guess you can tell my age. I enjoyed it, but just couldn't get *that* worked up about it :) The 3 hour keynote (and all the talks) was very well orchestrated and presented. I really enjoyed hearing Larry Page give his talk. Unlike the other highly scripted talks, his was clearly quite heartfelt. He was doing his best to step out of his demanding role and relate to his techy audience, and I think he succeeded. (Of course, cynics could argue that he was just very good at scripting the feeling of non-scriptedness...)  He largely talked about the importance of being innovative and doing good - and stop the cat fighting that tech companies do. And then without any warning, he took 30 minutes of questions and there was a pretty interesting discussion - probably my favorite part of the whole conference.

    There was, of course, excellent free food (breakfast and lunch). Free coffee. Free snack area. And a free Chromebook Pixel (retail $1,450) - meaning they gave away something like $10m worth of them. This event was not a money maker! At least not directly. They of course spent 3 days exciting 6,000 developers about using Google tools to help pursue Google's vision. You may have heard that Google is making their interfaces simpler - removing more stuff, predicting more stuff, and using more of your personal data. Some people will no doubt find that very scary and objectionable. But clearly lots of people (including, I admit, me) find it an acceptable trade-off.  And their demos were astoundingly good. For any of you that remember Microsoft's painfully embarrassing voice recognition demos a few years back - Google ACED them. There was 100% recognition rate of live demos of the speaker talking into an actual phone, speaking fairly complex natural language at regular rates in a very noisy room of 6,000 people.  And if you remember "Put That There" from 1979, then it was all the more impressive when they had good pronoun connectivity back to previous utterances.  Expect to see a lot more voice recognition built into every Google product.  (And no more clicking - soon you'll be able to just say "ok google" and start talking when most google products are open.)

    Glass was a big deal (but hardly mentioned in the keynote).  Hundreds of people were wearing them. There was a place to try them out (which I did). And a number of talks on Glass (videos available for many of them.) Personally, I find Glass intriguing - but in its current form I think it is unlikely to be used outside of niche areas and geeks (beyond a startup phase). I predict they will be like bluetooth headsets. They will probably be everywhere next year until people realize that it is too annoying to wear something all the time (and charge them, etc) for the infrequent times when the value add over pulling out your phone is worth it (again, except for the geeks and niche uses). OTOH, if the cost was much less (i.e., it was built invisibly into regular glasses, had inductive charging, etc.) then that value calculus could be very different.

    And then there were 2.5 days of talks, which I got somewhat bored of by the second day. Two of the talks I most wanted to see were overfull and I couldn't get in. It was very crowded and difficult to move around between sessions. And many of the others were just too deep about topics I wasn't that interested in (i.e., APIs for every Google product). It would be greatly rich for people building web startups using all of those tools - but academic research tends to be much more selective. And when there is something I actually want to use, it is easy enough to learn it with public resources.

    So, bottom line, I am glad I went for the overall experience. But I'm not sure that I would recommend it to most academics (especially since most of the talks are available online.) But it was fun. And Google probably succeeded in their biggest goal which is that I left feeling more positive about Google than when I arrived.