Category Archives: project

Long running projects go here. They are more than hacks/code snippets This is main front page content area 1

Project Sunflower: Kindle DX, iPad and XOOM (Purchasing and Installing Content, and Integration)

In this article we showcase the ways in which the three devices allow purchase and installation of content, and look at the integration capabilities each device has to offer.

Kindle DX

Purchasing and Installing Content

  • Content for the Kindle can be downloaded on a PC/Mac from the Amazon web-site and transferred to the device by USB.
  • Content can be purchased and downloaded on the Kindle itself  (Wi-Fi or 3G required).

Integration

  • Kindle apps are available for iOS devices as well as Android devices
  • Kindle purchases are transferable to other Kindle devices

iPad

Purchasing and Installing Content

  • Purchase and downloading of content on a PC/Mac requires iTunes to be installed. Content can be transferred through USB.
  • Content can be purchased and downloaded on the iOS device from the iBooks app available in the App Store.

Integration

  • Books purchased in iBooks cannot be read on eBook readers running on platforms other than iOS
  • Other devices can read books purchased from the Kindle App

Motorola Xoom

Purchasing and Installing Content

  • Free ebooks can be downloaded from Google Books on the desktop and on the device
  • Google Books provides links to purchase books from other booksellers
  • Content can be transferred to the device through USB

Integration

  • Books purchased can be read on other Android devices
  • Books purchased can be read on iOS devices that have the Google Books app installed
  • Google Book is also compatible with any browser with JavaScript enabled

Project Sunflower: The Unboxing Experience

The devices (Amazon Kindle DX, Apple iPad and Motorola XOOM) we ordered a few weeks back finally arrived yesterday. Here’s how it went.

Kindle DX

Amazon has made great use of the Kindle’s E Ink display, with instructions displayed on the screen, waiting to be read once the Kindle is unboxed. The display showed where the power button was, asking to slide and release, and also to plug in the Kindle to a power source. On starting, the Kindle was already setup to the Amazon account it was registered with and displayed a user’s guide. Very simple.

iPad

Setting up the iPad was a bit tedious. On switching on the device, it immediately showed the iTunes USB screen that indicated connecting the iPad to a PC/Mac for setup. The iPad does not start unless connected to a PC/Mac that has iTunes installed. Since I did not have a desktop with iTunes installed, it took some time to install iTunes just to setup the iPad and get the iPad to work. Once this was done, the on-screen instructions took care of the rest. This issue will be solved in the next iOS update allowing wireless setup of iOS devices, but presently its not supported.

XOOM

The XOOM looked different from the other two devices, as its primary orientation is landscape and not portrait. The iPad and Kindle have the Power/Sleep button on the edge of the device. Expecting the same, I checked its edges for the power button. To my surprise, it was not to be found. After checking all sides and mistaking the SIM card slot for the power button, I decided to resort to the documentation. This was the first time I had to check documentation given with the device to find the power button. Its a concave button, placed very close to the camera, which is hardly visible in low lighting conditions. However, it was only a first time thing, after which it made sense as to why the button is placed where it is. Its very convenient and easy to reach when holding the device in landscape mode, as your finger naturally rests very close to the button.

Now, since the wait is done and the devices are finally here, we can start working with them.

Project Sunflower

Project Sunflower aims to perform hardware landscaping on various eBook readers currently available in the market. The aim is to understand various factors that affect and influence the rendering of the ePub format on the different eBook readers. The studies conducted during the course of the project will help us better understand the current situation of the eBook reader capabilities in terms of the ePub format and also give insight into probable recommendations, if any that may help us enhance the usability and effectiveness of the eBook readers as well as the eBook medium as a whole.

Approach

The project is divided into three areas of work in order to realise the main objective:

  • Documentation of installation, usage and software integration for each of the chosen candidate systems.
  • The activities to be performed during this phase are review and analysis of factors such as:
    • Software features of each device through practical testing to help evaluate usability and ‘learnability’ of the device features.
    • User impression of device speed and responsiveness
    • User reading speed on each device
    • User satisfaction with the device
    • Impact of choice of platform on user recall of the information read
  • Evaluate device ergonomics

Final Outcome

The final results obtained from the study will be put together into a comprehensive document with findings and suitable recommendations in the form of a usabillity study report.
As a secondary result, we will also be detailing the methodology used in order to conduct each study (for example, method used to monitor muscoskeletal stresses).

writeslike.us: identity information from repository metadata

  • Screenshots or diagram of prototype:
    Writeslike.us search
    Searching for a person
    Writeslike.us search
    Choosing an individual
    Writeslike.us search
    Viewing information about them and people who ‘write like them’
  • Description of Prototype: Explore people, publications, institutions and themes through oai metadata
  • End User of Prototype: “Jonathan is a researcher in evolutionary linguistics. He has become very interested in possible mathematical mechanisms for describing the nature, growth and adaption of language, as he has heard that others, such as Partha Nyogi, have done some very interesting work in this area. Unfortunately, Jonathan is not a mathematician and finds that some of the detail is hard to follow. He realises that what he really needs to do is either to go to the right sort of event or the right sort of online forum and find some people who might be interested in exploring links between his specialist area and their own. Both of these are difficult in their own ways. To go to the right sort of event would mean identifying what sort of event that would be, and he does not have enough money to go to very many. So he chooses to look up possible events and web forums, thinking that he can look through the participant lists for names that he recognises. This is greatly simplified by a system that uses information about the papers and authors that he considers most relevant; with this information it is able to parse through lists of participants in events or online communities in order to provide him with a rough classification of how relevant the group is likely to be to his ideas.”
  • Link to working prototype: writeslike.us
  • Link to end user documentation: http://www.ukoln.ac.uk/projects/writeslike.us
  • Link to code repository or API: http://code.google.com/p/writeslikeus/
  • Link to technical documentation: http://www.ukoln.ac.uk/projects/writeslike.us (TBA)
  • Date prototype was launched: Dec 01 2009
  • Project Team Names, Emails and Organisations: Emma Tonkin, e.tonkin@ukoln.ac.uk, UKOLN; Alexey Strelnikov, a.strelnikov@ukoln.ac.uk, UKOLN, Andrew Hewson, a.hewson@ukoln.ac.uk, UKOLN
  • Project Website: http://code.google.com/p/writeslikeus/
  • PIMS entry: https://pims.jisc.ac.uk/projects/view/1263
  • Table of Content for Project Posts: TBA

Technical standards

In our project (Writeslike.us) we are using a number of different techniques and tools to make things done.

Coding

As main development languages scripting languages Perl and Python were selected. Python is good for text parsing because language features and external library – Natural language toolkit (NLTK.org) which allow to stem and tag text. The text parsing is non-trivial tasks so for that purpose NLTK use heuristic approach and also offer a training data set for parser to be trained. Perl is native choice for development under Linux and it has powerful set of libraries in CPAN system. In particular XML parsing and full text document crawling functions were written in Perl.
As development tools we are using Eclipse IDE with Perl and Pydev for Perl and Python respectively. In some cases VIM featured text editor is in use. Using such heterogeneous tools implies that project file structure should be flat and simple.

Infrastructure

For running and hosting we are using such proven tools as MySQL and Apache. Subversion (SVN) is used to store and keep track of software versions.

Architecture

The calculation we need to perform to build authors relations network is too resource-intensive to be performed on demand, therefore we need to generated and store database tables with pre-calculated data as some sort of caching approach. Since our project is re-using existing metadata (in Dublin Core (oai-dc, often from qualified DC)) from a repository we were required to add to original project feature list also XML parser and document full text crawler functions.
In order increase usability of the project offered functionality we created a REST interface which enable machine2machine interface. The interface enabled in both directions, i.e. for adding new information about person or publication and for making query to find peers.
Further development plans adding automatic metadata extraction servers to improve quantity and quality of data or to extract further information (FixRep, paperBase).


What programming languages we use and why we love it/them  -technologies, standards, frameworks that make our lives easier (or harder).

In actual fact there are rather a lot of these! In the case of writeslike.us we have stuck to scripting languages, in particular to Perl and Python. Each of these have their benefits and their issues. Arguments centre around Python’s semantic whitespace versus Perl’s line-noise pseudo-ppp transmission ‘write-once, read never’ look, for example. However, both come with a great variety of extensions and libraries. The ‘killer app’ for Python was NLTK, and once one is used to Perl’s CPAN, it becomes indispensable for certain tasks. In the end, arguing about which language is better is pointless, even though it is great fun. The Computer Science department presently teaches Python, and as such Python is the language with which most CS students are more familiar, whilst EE students seem to be either Perl or Matlab according to recent evidence.

In the end, the important point is that prototypes are developed quickly and easily, and that the techniques and datasets underlying them are well understood. If this is the case, then the rest can usually be adapted to suit – rapid development is not the same thing as throwaway prototyping, but rationalisation of software platforms and standards can very well be part of evolutionary prototype enhancement.

Writeslike.us scenarios

Title: Looking for a supervisor for a research project
Author: Emma Tonkin and Debra Hiom

Narrative: Alice is a student at the University of Oxford. She is looking for a supervisor for her MSc level research in Information Science. She knows what sort of research area she wants to work in, and she has found several example papers of interest to her. She would like to be able to use those papers as a first step in looking for researchers working in that area who either work at her university, an affiliated institution or somewhere geographically local. She would like to get back a list of researchers, their institutional and departmental roles and their previous work and supervisory experience.

Title: Classifying events and forums by listed participants
Author: Em (adapted from Ana’s Tea For Two article, D-Lib)

Narrative: Jonathan is a researcher in evolutionary linguistics. He has become very interested in possible mathematical mechanisms for describing the nature, growth and adaption of language, as he has heard that others, such as Partha Nyogi, have done some very interesting work in this area. Unfortunately, Jonathan is not a mathematician and finds that some of the detail is hard to follow. He realises that what he really needs to do is either to go to the right sort of event or the right sort of online forum and find some people who might be interested in exploring links between his specialist area and their own. Both of these are difficult in their own ways. To go to the right sort of event would mean identifying what sort of event that would be, and he does not have enough money to go to very many. So he chooses to look up possible events and web forums, thinking that he can look through the participant lists for names that he recognises. This is greatly simplified by a system that uses information about the papers and authors that he considers most relevant; with this information it is able to parse through lists of participants in events or online communities in order to provide him with a rough classification of how relevant the group is likely to be to his ideas.

Title: Building a ‘dance card’ for an ISRC event
Author: Em

Narrative: One of the purposes of an ISRC (Information Sciences Research Council, a fictitious but plausible organisation) event is to encourage the serendipitous meeting. Rather than simply assuming that synchronicity at the coffee-table will carry the day, the ISRC decide to produce a ‘dance card’ that suggests several other individuals that you might like to meet. Whilst elements of the composition of this ‘dance card’ are resultant from program managers’ knowledge of the individual’s interests and character, the writeslike.us service can be used to quickly build some interesting (and at times amusing) meeting suggestions, based on the individuals’ papers and output, and/or on the names and ISRC-held descriptions of the projects on which the individuals work.

Title: Facilitating collaboration in a multidisciplinary research environment
Author: Em

Narrative: Ben is an anthropologist with a particular interest in the area of paleolithic archaeology. He works in the Department of Humanities. He is very interested in exploring likely patterns of migration, and particularly in the idea that this activity may have been driven by climate change. However, the Department of Humanities has limited funding for the purpose of data collection and interpretation regarding modeling of climate change, so it is not possible for him to develop a paleoclimate simulation system. Therefore he decides that it is more appropriate for him to look for other people who have other reasons to be interested in modeling of this kind, particularly during the time period in which he is interested. This is not a trivial problem for several reasons; firstly, he does not usually publish in the same area as paleoclimatologists and therefore is unlikely to make chance acquaintances. Secondly, he and they have very different ways of describing their areas of interest, and therefore there is quite a lot of interpretation required in order to ascertain that the datasets they require are (or are not) closely related.

Title: Recording collaboration; figuring out what worked best
Author: Em

Narrative: Jennifer is a program manager for the Information Sciences Research Council, a fictitious but plausible organisation that funds information sciences research in the UK. She is tasked with deciding the future direction of ISRC funding for research-related events and related online community grants in the UK. In order to facilitate the decision, she decides that it is necessary to seek some evidence able to characterise the profile of past exemplars of these events, and the current state of the online groups that they fund. Her analysis shows that certain events attract a broad and diverse set of individuals from organisations all over the UK, and give rise to unexpected and interdisciplinary collaboration, whereas certain others attract fairly closed cliques of similarly focused individuals who are also linked online by Twitter accounts and other mechanisms for informal communication. This aids her in making her eventual decision regarding which events should receive greater funding.

SWOT Analysis: writeslike.us

Strengths

Good knowledge of data source aggregation and normalisation
Agile rapid prototype development and evaluation
Links to IEMSR, FixRep, Aggregator: internal resources – strong support network

Weaknesses
Staff time is limited
Various programming languages in use

Opportunities
Lots of interest in auto-extraction of community networks data
University of Minho now have funding to take work forward
University of Leiden interest in specific technical tagging
Learning from NAMES and enhancing other existing services like NAMES
FixRep stuff: data provenance, evaluation, quality assurance
Establishment of user community

Threats
Reliance on external services/data
Quality of source data and availability of source data is variable
User community not firmly established

Writeslike.us project meeting to generate ideas about the project approach

As a result of a recent meeting we have come up with the following  ideas in one way or another related to the Writeslike.us project. The meeting was all about ‘name disambiguation’.
First we discussed names: does the existence of two documents by an author or authors with the same name, but published in different places, indicate that there are two people with the same name? Or does this represent one author publishing with two publishers?
2 publications from one person -  does it mean 2 people (with the same name) or it is one person?

2 publications from one person - does it mean 2 people (with the same name) or it is one person?

The problem is unsolvable without additional information identifying the person. But for the case when this information is unavailable, there is a suggestion to apply pure statistics. In other words, evaluate for a testing (sample) data set what error level is linked to both possibilities – two different persons or one, just publishing in two places.

Then we switched to looking at practical methods to use within the Writeslike.us project, to identify individuals who write similarly or about similar topics.

Person identity dimensions + table organization for mapping

Person identity dimensions + table organization for mapping

This lovely diagram displays how the system we’re building will do the ‘magic’. Since none of the dimensions available to us are able to discriminate identity alone, we need to bring several onto the stage. The result will be an approximation incorporating evidence from several sources, which will hopefully make it more precise.

The table is just a representation of the way in which the heap of raw data will be mapped into something useful.