Per Ola Kristensson | Blog

Other Stuff

Archive for the ‘computer science’ Category

The Facebook study and the precise purpose and scope of ethical review

Wednesday, July 9th, 2014

The recent Facebook study controversy highlights the discrepancy in ethical review requirements imposed by private companies compared to universities and other government-funded organisations. Companies only need to adhere to legal requirements while universities and other government-funded organisations must also adhere to ethical frameworks defined by for instance funding bodies. In some countries, university research ethics is even governed by legislation, which can lead to unintended consequences.

I do not think anyone is really surprised that companies perform research on human beings all the time in search for better products, more effective advertisements and so on, and that any ethical review of such research is left for the companies themselves to decide upon.

The point when the discrepancy is becoming problematic is when companies carry out traditional university research on human beings in their laboratories or via their commercial platforms and publish in the scientific literature but can choose to ignore ethical review requirements imposed by universities carrying out similar or even identical research.

One of the broader questions brought by the Facebook study controversy is the precise purpose and scope of ethical review. Let me sketch three potential purposes of ethical review.

First, is ethical review an essential process to protect human beings from harm? If so, it is nonsensical to limit it to university research and it would be reasonable to introduce a legal requirement that an ethical review board must approve all research on human beings regardless of where it is carried out.

Alternatively, is ethical review a process that serves to ensure the public remains reassured scientists are undertaking research in a responsible and thoughtful manner? In this case, it is reasonable to expect that scientific publishers, as representatives of the broader scientific community, demand evidence that research on human beings has obtained prior ethical approval before any results are published.

Finally, is ethical review of most research on human beings, perhaps in particular in human-computer interaction and social computing, too much of a bureaucratic burden given the minimal risks on participants? After all, an ethical review requirement has an opportunity cost: if the hurdle is too great, useful research may not happen in the first place, or it might be carried out in secrecy but never published.

In my mind, the big question raised by the Facebook study controversy is the precise purpose and scope of ethical review and why it is limited to research carried out at universities and other government-funded organisations. I don’t have a clear answer but my gut feeling is that university researchers are exposed to too much ethical review bureaucracy while industry researchers could benefit from a little more.

My second paper reaches exactly 100 citations

Wednesday, August 29th, 2012

On August 3, 2010 I wrote that my first paper reached exactly 100 citations on Google Scholar. Now my second publication, a UIST 2004 paper, has exactly 100 citations as well. Coincidently, we will host UIST 2013 in St Andrews next year.

More open access spam

Thursday, October 6th, 2011

Relating to a previous post on academic spam it seems the spammers from inTech now have competition in the open access “book chapter” business.

I just received the following email:

Dear Per Ola Kristensson,

On behalf of iConcept Press, I would like to invite you to submit a paper
to our new book project under the working title “Handbook of Pattern
Recognition: Methods and Application”. The editor of this book is Khalid
Hosny. The book description can be found at:

We notice that you have some publications related to this book project. For
instance, we are interested in your paper entitled “Parakeet: a
demonstration of speech recognition on a mobile touch-screen device
(2009)”. (Please note that we are not asking you to republish this paper).
You are welcome to submit an extended/expanded version of this paper, or
any work that is related to this book. We expect each chapter has a minimum
of 16 pages.

All iConcept Press books are published as hard copy with ISBN and as open
access. For more information, please visit our web site:

Since we are open access, we would like to ask our authors to contribute
part of the publication expense. This publication fee might be
waived/reduced if: Most authors are from countries that are not classified
as high-income economies
( Please
contact us for more information. The standard publication fee for each
accepted manuscript is USD$38/page for the first 16 pages and USD$18/page
thereafter. The corresponding author of each paid chapter will receive one
hard copy for free.

I sincerely hope that you would accept the invitation and that you support
the open access idea.

Next step:
1. Please inform us about your decision via email by: 18 Oct 2011
2. Submit a tentative abstract and title via our online submission system
( by: 10 Nov
3. Upload a full chapter by: 15 Jan 2012

Please free feel to contact us if you have any question.


iConcept Press

Again, I wonder why I would pay for an open access book chapter? These chapters seem to undergo minimal (if any) peer review (I have never been asked to review any and I have never heard of anyone else being approached either) so all an open access book chapter amounts to is a PDF document hosted on a website. I might as well make the text available on the web myself. For free.

SLPAT 2011 workshop report

Sunday, July 31st, 2011

Yesterday I attended the Second Workshop on Speech and Language Processing for Assistive Technologies (SLPAT) in the Informatics Forum at the University of Edinburgh. It was held in conjunction with ACL’s annual conference on Empirical Methods in Natural Language Processing. Last Thursday I had presented a paper on our work on AAC language modelling work at EMNLP. Therefore, even though I did not have anything new to present at the workshop, the SLPAT workshop was of high interest to me.

I have attended quite a few workshops before and my impressions so far have been mixed. Sometimes workshops fail to attract high-quality papers. Other times the organisation is in chaos. Very rarely do the workshop organisers manage to get everything right. Therefore I was very pleased to note that SLPAT 2011 managed to both attract high-quality workshop papers and deliver on an ambitious workshop schedule that packed the day with talks interwoven with user panels, posters and demonstrations.

Besides the talks, two other features stood out. First, the workshop had two ambitious poster & demo sessions. Demonstrations included a Lightwriter, a popular text-to-speech AAC device. I had never used one before and it was instructional to learn how it was designed. I also think it was a brilliant move to invite the AAC vendors Toby Churchill and Tobii to the workshop. I think researchers in AAC have a duty to try to interface with industry and government so that our research results can translate into actual benefits for end-users.

Related to this point, another feature that stood out was the AAC user panel. The organisers had invited AAC users to deliver prepared speeches about their reflections and ideas of AAC based on their own first-hand experiences with AAC devices. Thereafter the audience had an opportunity to ask questions. It was a very instructional session and also a reminder to me about just how much AAC devices can still be improved. I was also amazed by the eloquence of some of the talks delivered.

In summary, SLPAT 2011 was a highly ambitious and well-organised workshop. It was run just as well as a full conference, albeit for a smaller and perhaps more dedicated audience. I had a great time, I met lots of interesting people and I learned a lot. I will definitely try to attend the next workshop.

AIED 2011 conference report

Tuesday, July 12th, 2011

Queen Street, Auckland

I recently attended the 2011 Artificial Intelligence in Education (AIED 2011) conference in Auckland, New Zealand.

The main focus of the AIED conference series is various approaches to designing and evaluating intelligent tutors. An intelligent tutor is basically a computer program that uses AI techniques (such as planning algorithms) to teach students new concepts or techniques based on a model of what the students already know, or are supposed to know. The conference is quite old, this was the 15th biannual conference. The conference is organized by the International AI in Education Society. It also seems that the AIED conference is liaised with the Intelligent Tutoring Systems conference (ITS) so that ITS runs every even year and AIED runs every odd year. Collectively ITS and AIED publish the vast majority of new research in the intelligent tutoring field.

I was at AIED to present a poster on the first steps towards designing intelligent tutors for text entry methods. The idea is to increase user adoption of novel text entry methods by using highly effective and engaging intelligent tutoring. I wouldn’t classify myself as an intelligent tutoring researcher so attending this conference was a good opportunity to get an insight into the field’s frontier.

AIED conference proceedings

The conference was held at the Faculty of Engineering at the University of Auckland’s city campus. The conference had a poster session, an interactive event, and three parallel paper tracks. In my opinion the overall organization of the conference and the program worked out very well.

The presented papers fell into three categories: systems, user studies, or data mining. I learned that the latter is apparently so popular that people have felt the need to start a conference on just that, the Educational Data Mining conference (EDM). I also found that machine learning is becoming increasingly popular in intelligent tutoring systems. Some of the machine learning techniques people used were POMDPs and Bayesian models. An interesting concept I didn’t know about before was Open Learner Models (OLMs). OLMs exploit the fact that while a student is using an intelligent tutor the system develops a model of the student. The idea behind OLMs is to figure out how to present the entire model (or aspects of it) to the student. Presumably this can aid the student’s learning.

Some of the papers presented intrigued me. In particular a paper on motivational processes seemed to point in good directions and another paper on confusing students (!) had led to some rather surprising results. I also found out that another active research area is authoring tools for ITSs, some which use techniques from the end-user programming field.

Overall I very much enjoyed going to this conference. It was refreshing to learn about an area of research outside of my comfort zone. Time will tell if I will submit a full paper to AIED 2013!

Shumin Zhai named ACM Fellow

Tuesday, December 14th, 2010

Fantastic news!

Dr Shumin Zhai, my former PhD advisor, has been named an ACM Fellow “for contributions to human-computer interface research and innovation”!


Connecting iPhone UI widgets designed in Interface Builder to Objective-C code in Xcode

Monday, December 6th, 2010

When I design an iPhone app I tend to use Interface Builder. However, I always forget how to actually connect the widgets (buttons, labels and so on) in Interface Builder to variables I can reference in my Objective-C code in Xcode. Hence this post. Note that this is one approach, there are several others. However, the procedure I describe below is beneficial as it is quite simple, yet usually all that is required.

Step 1. Design some widgets using Interface Builder

The way I usually do it is to simply start a new project, open the Resources tab in the Groups & Files sidebar, and then double-click on a pre-generated Interface Builder XIB file (for example, MainView.xib).

(Note: The screen captures and code fragments I will show below are from a simple project that was automatically generated from the Utility Application code template provided by Apple. A Utility Application project has two default views: a MainView and a FlipsideView. The procedure I describe works for any iPhone application, so if you don’t understand references to FlipsideView and other objects then just ignore them for now.)

Then I design some rudimentary user interface, like this one (click for a larger image):

Step 2. Create outlets in your code

OK. So we have designed a user interface using Interface Builder. Now, how do we access all these widgets in our code? Here I will describe how we are going to connect the button labeled Next in the above screen capture to a variable named nextBtn.

First, declare the instance variable nextBtn in your interface (for example, MainViewController.h):

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
    UIButton *nextBtn;

Below your interface declaration, introduce an outlet that references the instance variable you declared above:

@interface MainViewController : UIViewController <FlipsideViewControllerDelegate> {
    UIButton *nextBtn;
@property (nonatomic, retain) IBOutlet UIButton* nextBtn;

You have now declared that your class contains a UIButton instance, and this instance variable can be accessed via an IBOutlet. However, no code has been generated to set the value of this variable yet. To do so, open up the corresponding implementation file (for example, MainViewController.m) and introduce the following line somewhere below the @implementation declaration:

@synthesize nextBtn;

Step 3. Connect Interface Builder widgets to your outlets in Xcode

Now that we have created the necessary instance variables and outlets we can open up Interface Builder and connect the widgets to the corresponding variable declarations in the code. First, select File's Owner in Interface Builder’s Inspector window:

Then open the Connections Inspector (Command-2). In the Outlets section you will see a small connector (circle) to the right of a label named nextBtn. If you hover over the connector it will highlight and turn into a plus-sign. Click it and drag the blue thick line that appears to the button in the interface you wish to connect to nextBtn. See below for an illustration (click to enlarge):

Step 4. Create actions for your Interface Builder widgets

The next step is to implement a method that will be called when an action is triggered for the button. To do this we first add the following function prototype to the header file (for example, MainViewController.h):

- (IBAction)respondToButtonClick:(id)sender;

Thereafter we add a function body to the implementation file (for example, MainViewController.m):

- (IBAction)respondToButtonClick:(id)sender {
    NSLog(@"The user clicked on the nextBtn button!");

The code above prints out a message to the console whenever the button labeled Next is pressed by the user (to view the console press Shift-Command-R).

Step 5. Connect Interface Builder widget actions to your designated methods in Xcode

Now we need to tell Interface Builder which function it should call when nextBtn is pressed. Open up Interface Builder again and click on the button in the user interface which we previously connected to the nextBtn variable. The Connections Inspector will change and show you a list of possible actions this button can take. Now click on the connector (circle) for the action Touch Up Inside and drag it to File's Owner in the Inspector (click for a larger image):

A menu will pop up and propose possible methods in your code that could receive the action:

Choose respondToButtonClick:. Then save your interface design in Interface Builder.

All done!

Now we can run the program on an iPhone or via the emulator. Whenever you press the button labeled Next a message appears in the console (click to enlarge):

Voila! You can now access the button labeled Next using the nextBtn instance variable in your code. Further, whenever a user presses this button, your method respondToButtonClick: will be invoked and execute any custom code you insert here.

The above procedure used a single button for illustration purposes. However, this procedure generalizes to all widgets and actions supported by Interface Builder. Have fun!

For more information, check out Apple’s own documentation on integrating Interface Builder with Xcode.

Learning Haskell

Monday, November 8th, 2010

In a previous post I talked about Objective C, probably best known as the primary programming language for Apple’s laptops, desktops and iPhones.

Now I am teaching myself Haskell, a strongly typed functional programming language with type inference. I am reading the book Real World Haskell published by O ‘Reilly (full text also available for free online). I have only read about 50 pages but I am very satisfied with the book so far. It manages to balance the delicate trade-off between introducing concepts so fast that too many details are missing and being so meticulous that the reading becomes too boring. As the book is written now, it is actually quite addictive to read—I want to keep learning more! I love this style of writing a programming language book. However, as a consequence of this (conscious) choice of the authors, parts this book would be very hard to follow for someone who hasn’t taken at least an introductory compiler or functional programming class. However, I regard this as a strength as I wouldn’t want to read a book that assumed no programming experience.

Since I am still at an early learning state it remains to see what I think about Haskell itself. Stay tuned!

Bentham open access journal accepted nonsense manuscript

Saturday, November 6th, 2010

The previous post described various commercial open access publishers spamming for book chapters and journal articles. Now I read that Phil Davis at the blog The Scholarly Kitchen sent a SCIgen-generated nonsense manuscript to “The Open Information Science Journal” published by Bentham. Four months later Bentham accepted the paper and offered to publish it for a $800 fee. No reviews were provided with the acceptance letter.

It looks like at least some of these commercial open access publishers are essentially vanity presses that will publish anything for a hefty fee. It is a shame they are doing this since they may drag down the reputation of reputable open access publishers, such as PLoS. Another danger is that we will see even more use of pseudo-scientific rankings and measures of the impact of journals based on citations just so that people can filter out all the meaningless junk. I suppose no one is any longer interested in reading the actual articles.

In defense of open access journals, a journal called “Applied Mathematics and Computation” which has been published by Elsevier since 1975 has apparently also accepted an automatically generated nonsense paper.

Academic spam and open access publishing

Thursday, November 4th, 2010

Judging by how much spam I get nowadays it seems academic open access publishing is lucrative.

I keep getting targeted spam from Bentham, Hindawi, InTech, and others. The strategy seems to be to mine reputable conference and journal papers for email addresses and then use them for targeted spam.

I have now received five emails from open access publisher InTech about a book chapter based on a previously published paper. These guys never give up! This is an excerpt from the last one:

Dear Dr. Kristensson,

We apologize for contacting you again on the matter of your nomination to contribute to the book named in the title of this email, but since we haven’t received an answer from you, we are taking the liberty of contacting you again (you may have been busy or our previous emails may have ended up in your email filters). However, this is the last email you will receive from us. If you can find time, please reply to our previous email which is below:

My name is MSc Iva Lipovic and I am contacting you regarding a new InTech book project under the working title “Speech Technologies”, ISBN: 978-953-307-152-7.

This book will be published by InTech – an Open Access publisher covering the fields of Science, Technology and Medicine.

You are invited to participate in this book project based on your paper “Automatic Selection of Recognition Errors by Respeaking the Intended Text”, your publishing history and the quality of your research. However, we are not asking you to republish your work, but we would like you to prepare a new paper on one of the topics this book project covers.

Why on earth would I spend time and effort to write a book chapter for a random individual I have never heard of and who doesn’t seem to have any credentials whatsoever in the field? And who reads these book chapters? And what exactly is the point of an open access “book chapter”? Sounds like a web page to me. With the exception I have to pay InTech plenty of money to put it up. I might as well just make the text available on the web myself.

Another open access publisher that likes to send spam is Hindawi. However, news to me was that Hindawi now spams on behalf of EURASIP, an organization I thought was reputable (until now):

Dear Dr. Kristensson,

I am writing to invite you to submit an article to “EURASIP Journal on Audio, Speech, and Music Processing,” which provides a rapid forum for the dissemination of original research articles as well as review articles related to the theory and applications of audio, speech, and music processing.

EURASIP Journal on Audio, Speech, and Music Processing is published using an open access publication model, meaning that all interested readers are able to freely access the journal online at without the need for a subscription.

Another example is Bentham who wants me to write a review on random patents based on keyword searches (the weirdest concept I have heard of so far for a journal):

Dear Dr. Kristensson,

Bentham Science Publishers has launched a series of innovative
journals publishing review articles on recent patents in major
therapeutic areas of drug discovery as well as biotechnology,
nanotechnology, engineering, computer science and material science
disciplines. Please refer to Bentham Science’s website at for further details.

An exciting journal entitled “Recent Patents on Computer Science
(CSENG)” was launched in January 2008. This journal publishes review
articles written by experts on recent patents in the field of Computer
Science. Please visit the journal‘s website at for the Editorial Board, sample issue,
abstracts of recent issues and other details.

Recent Patents on Computer Science (CSENG) is indexed in Genamics
JournalSeek, Compendex,Scopus

If you would like to submit a review article to the journal on an
important patent area in Computer Science, then please provide us the
title of your proposed article and a tentative date of submission at Moreover in your reply, could you please
suggest some specific keywords, keyword phrases related to your topic,
so that detailed patents may be sent to you for the preparation of
your manuscript.

I keep wondering who is actually editing and reviewing all these journals and books. While they keep spamming me for paper submissions (and lucrative fees after they have accepted the papers), I haven’t received any invitations to do any reviews.