Week Beginning 21st March 2016

It’s a short week due to the Easter weekend, but I still managed to squeeze in quite a lot of work.  Most of my time was spent working on the app for the Mapping Metaphor follow-on project.  Last week I managed to get a test version of the app deployed to iOS and Android devices and this week I continued to add features and refine things.  Thankfully I managed to get page zooming working on Android as well as iOS this week, having been unable to get it working last week.  I found the answer on the ever helpful Stack Overflow website: http://stackoverflow.com/a/33207352.  Basically I needed to update a Java file to add in the functionality, rather than trying to do things with meta tags and viewport sizes.  Rather nicely it also adds in zoom in and out icons on the screen, which makes it even clearer that users can zoom in and out.  I had hoped to find a way to reset the zoom level when the user pressed on a link (e.g. when one of the dots in the timeline was pressed).  However, after quite a bit of research it doesn’t seem to be possible to reset the zoom level in Javascript based on a user interaction.  However, it’s not a major problem as users can still zoom out themselves to view the metaphor card that pops up.

I also spent a couple of hours this week trying to get some kind of ‘loading’ sign displaying when the user presses on a category in the visualisation but I’m afraid I haven’t had any luck yet.  The issue is when a category is pressed on there is a noticeable delay before the lines and circles in the visualisation update.  What I wanted to do was display some kind of animated ‘spinner’ icon in the middle of the screen after the user has pressed a category, with this then clearing once all of the lines have appeared.

While I can implement such a feature in general I just can’t seem to get it to work with the visualisation.  It’s as if everything seizes up when the category name is pressed on and the data is processed and it’s only after the data is processed that changes to the screen are made – even though I’m stating in the code that the ‘spinner’ should be added to the screen before the data is processed!  It’s most infuriating.  I’ve even tried adding the spinner then setting a delay in the code before the processing is done but this still doesn’t work.  Yet if I switch off the processing part the spinner loads fine.  I might return to this next week if I get any flashes of inspiration, but for now it’s looking like there will just have to be a delay and no feedback given to the user.

I have also now set up the App Store and Google Play store listings for the app.  This took quite a lot of time as I had to create lots of screenshots of the app – 30 of the iOS app on various devices and 12 (so far) for Android.  I’ll need to get access to a 10 inch Android tablet to get further screenshots.  For some reason I can’t seem to get the app working in the Android emulator, so I can’t get screenshots using that.  I also created icons for the app (based on the visualisation and a yellow ‘M’ superimposed on it).

I’ve added a page that lists all of the completed categories to the app too, and also added in some explanatory text, such as the ‘about’ page.  I think we’re on course to get the app finished and submitted next week, once Wendy finishes working on the next batch of data.

I spent about a day this week working on the REELS project as well.  At last week’s project meeting a number of changes to the CMS were discussed and I’ve now implemented all of these, namely:

  1. Parishes have been updated based on the spreadsheet that I was sent. I’ve also added ‘county’ dividers into the lists, with BWK ones listed first.
  2. I have added a link to the glossary Word file wherever elements appear in the CMS
  3. I have changed ‘Co’ to ‘C’ for ‘Coastal’ and have removed ‘County’
  4. I have added the new fields for sources: Full title, author / editor, record series, publication place, publication date, archive and shelfmark.  I have also updated the ‘browse sources’ page so that the table now displays title, full title and author.  Adding in these new fields meant updating rather a lot of scripts and it took quite a bit of time to get it all working and fully tested.
  5. Italic tags are now allowed in the source ‘title’ and ‘full title’ fields. Titles are no longer italicised by default.

I also made a few tweaks to the Burns website and set up a WordPress site for Carolyn Jess-Cooke.  I had a request for access to the underlying data for the Scots School Dictionary app from someone at SLD so I sent that on to her too.  It looks like they’re intending to rework this at some point, which would be good.  I had a meeting with Craig Lamont on Wednesday about adding images to the popups on the ‘Edinburgh and the Enlightenment’ historical map that I helped put together.  We went through how to add in the images and Craig should now be able to make all of the necessary updates himself.


Week Beginning 14th March 2016

I spent most of this week working on the Mapping Metaphor follow-on project, working on the development of the App. This included updating the search facility to allow wildcard searches (an asterisk at the beginning and / or end of a word for partial matches). After further testing I also updated the search so that it matches whole words by default – so for example a search for ‘weather’ would find the category ‘atmosphere and weather’ while a search for ‘car’ would not find ‘exemplification and specificity’. I implemented these searches using regular expressions in the JavaScript code, which I’ve never really used very often before as they are rather daunting. I feel that I’m getting the hang of them now, though.

I also split up the category descriptors so that these could be searched individually. Previously (and still on the main Mapping Metaphor site) the category descriptors were treated as one single block of text with each descriptor split with a semi-colon. This meant that it was not possible to do an exact match search on any one of the descriptors. But having split the descriptors up (based on that handy semi-colon character) we can now do exact matches, plus partial beginning and ending matches, in addition to the ‘partial in the middle’ matches that were previously only possible. It seems to be working rather well.

We had a bit of a discussion in the project this week about what to do about ‘rude’ words in the app. We do cover all of the English Language in the data and this includes a lot of metaphorical senses that would be considered ‘rude’ in polite society. As the app is primarily aimed at schoolchildren we wondered what we should do about this – i.e. whether we should censor the app. Discussions as to what to do about this are still ongoing.

I began the process of ‘wrapping’ the app this week – that is turning it from an HTML5 / CSS3 / JavaScript powered website that opens in a web browser to something that can be installed on a tablet or smartphone as a standalone app. I use Apache Cordova to achieve this, which is a really handy command-line tool that does much of the hard work for you. I managed to deploy a test version of the app to my iPad, my Android powered phone and an Android powered tablet I have and thankfully all of the main parts of the site are working properly on these devices (although some aspects of the visualisation are very difficult to use on small screens). I did some serious testing of the app on these three devices and created a rather long ‘to do’ list of things that needed tweaked or fixed. I managed to address a lot of these this week, for example adding in a ‘back’ button to return to the search results or quiz answer screen when you follow a link to a category and updating the search to ensure that when the back button is pressed it returns to the search results page rather than the search form. I also updated the quizzes so when you navigate to a different question the top of the question is at the top of the screen rather than requiring the user to scroll down to it.

I also noticed things such as the icon images I was using were too low a resolution for the iPad screen so I updated these. Also with the iPad the pesky iOS status bar was visible and getting in the way of my ‘home’ icon so I created a static bar at the top of the page for the status info to stay in. Cordova provides facilities to allow the code to be tweaked for different platforms so this static bar only appears in the iOS version as it’s not needed in Android. I also installed the ‘inappbrowser’ plugin that Cordova offers so that external links (e.g. to the Historical Thesaurus) open properly within the app.

There are still lots more little tweaky things that I still need to do, but on the whole the app is looking pretty good. The biggest thing still left to address is how to make certain parts of the visualisation (e.g. the timeline) work better on a touchscreen. I’ve managed to allow the visualisation to be zoomed in on via iOS but this isn’t working on Android yet. I also need to figure out a way of resetting the zoom level when a link is pressed on so that the metaphor cards display properly. I’ll need to get all of this sorted next week as the app will need to be submitted at the beginning of April if we want it ready for the launch.

In addition to Metaphor duties I spent about a day on AHRC duties and I also attended a meeting about the University’s proposed data centre. There were some discussions about how the College of Arts may use the facilities that may be developed and it was interesting to hear how the plans are progressing. Gareth Roy, who had previously helped me use the Grid infrastructure to extract the Hansard data was also at the meeting and afterwards we talked about the difficulties I was facing in getting the space to house the data that was generated. It’s possible that Gareth may be able to help with this too, and we’re going to meet next month to discuss this further.

On Friday I attended a project meeting for the REELS project and I went through the content management system that I’d created for the project and we discussed some aspects that might need to be changed. Thankfully there weren’t many of these and the team seem very happy with the system that has been created. I also made a couple of tweaks to the content management system I had created for the People’s Voice project and had an email conversation with Carolyn Jess-Cooke about a project website she would like to set up. I also chatted with Craig Lamont about his ‘Enlightenment’ map that I’d help him set up last year. He’s wanting to add images to the map pop-ups and I’m going to help him with this next week.

Week Beginning 7th March 2016

Another week split between three projects: REELS, The People’s Voice and the Mapping Metaphor follow-on project. For REELS and The People’s Voice I’ve been creating databases and content management systems and I’m very happy to say that this week I managed to complete first versions of the systems for both of these projects. For The People’s Voice this involved adding in the facilities to enable poems to be edited, including updating the associations between poems and people, publications and archives / libraries. I managed to get this finished before the project had a team meeting on Friday and Michael Shaw, the project’s RA ran through the system at the meeting and the feedback received has been positive. The only thing left for me to add to the content management system now is the facility to enable data compiled offline in an Excel spreadsheet to be uploaded to the database. I’ll try to tackle this next week.

For REELS I still had some of the most complicated parts of the content management system left to implement, specifically the facilities to manage place-name elements and historical forms, which in turn can have their own place-name elements and sources. I added in facilities to add, browse, edit and delete sources for historical forms as top-level menu items in the CMS and I then updated the ‘edit place-name’ page accessed through the ‘browse place-names’ page to allow place-name elements and historical forms to be managed for the selected place-name.

For elements, any previously selected elements appear in the box in the same format as is used for the Fife data, e.g: “Sc Test Element + OE Test element”.  There is also a button labelled ‘manage place-name elements’ and clicking on it leads to a page where place-name elements for the place-name can be added, edited and deleted. Users can add any number of elements here.  For new elements the ‘element’ field is an autocomplete box – start typing and any elements beginning with those letters in the selected language will be displayed.  If users select an existing element any existing data will immediately be loaded into the other boxes (e.g. part of speech, description).  These boxes can be edited for the selected element and fields that relate to the usage of the element in the current place-name (certainty, role, case etc) can also be supplied.

For previously added elements there is a checkbox allowing users to remove the association between the element and the place-name, in addition to editing the existing data.  New elements can also be added through this form by simply not selecting an element from the drop-down list that appears when the user starts typing an element in.

The historical forms section lists all previously entered historical forms, with options to edit or delete each one.  There is also an option to add a new historical form.  When adding a new form or editing an existing form users can select to associate one or more sources with the form, or supply one or more new sources if the one required isn’t in the system yet.  This functions in a similar way to the element management page.  The ‘source’ box is an autocomplete, users can select an existing source or add a new one, and supply the information that relates to the location of the historical form in the source (the ‘reference’ field). Users can also associate any number of elements with a historical form via the ‘edit historical form’ page (not the ‘add historical form’ page).  This functions in exactly the same way as adding elements to the main place-name.

We have a further project meeting next week where we will no doubt go through the system in detail, but for now I think that is everything I need to do for the project.

For Mapping Metaphor I continued with the development of the app. Last week I had implemented a search for the app, but it was running very slowly so I spent a bit of time figuring out what was causing this. After a bit of optimisation the search was running considerably faster, which was quite satisfying. I also continued with the quizzes, adding in all of the remaining quizzes, taking the total up to ten. I found some nice background images for these and I also changed the background image of the homepage of the app, replacing the slightly too dark ‘dawn’ image with a much brighter one of hot air balloons taking off (‘launching’ the app). I had noticed that all of the quizzes that feature radio buttons (i.e. all except the drag and drop style quizzes) were not working on a touchscreen, which was rather worrying. Thankfully replacing the jQuery ‘click’ function with a ‘change’ function fixed this issue. I made some other tweaks to the interface too, such as adding in a ‘choose another quiz’ button when the user is looking at a quiz, and removing some unnecessary placeholder text.

On Tuesday we had a project meeting where we went through the app and talked about things that still needed fixed or updated. The biggest of these is adding in a wildcard search facility, which I’m going to have to try and implement next week. Marco Bagli, who is on a placement at Glasgow and is spending a bit of time working with Metaphor data had noticed that there were some duplicate sample lexemes in the main Mapping Metaphor site so after the meeting I spent some time investigating this. I looks like some duplicate lexemes had been introduced during the last data upload last month, and I ran a little script that got rid of these. We’ll have to remember to watch out for this in future. Hopefully next week I will finish the remaining outstanding tasks for the app and will being the process of wrapping it.

Week Beginning 29th February 2016

I continued to split my time between three major projects this week – REELS, The People’s Voice and the Mapping Metaphor follow-on project. For REELS I continued to work on the content management system. Last week I had separated out the ‘core’ place-name data from associated data (such as place-name elements) as I had realised that the data entry form was just getting too big and cumbersome to easily use. I had just about managed to get the altitude of a place-name automatically from Google maps and this week I managed to fully implement this. Now when a user enters a grid reference the system automatically generates the latitude and longitude then queries Google Maps to retrieve the altitude of the point. This is then automatically stored in the database along with the other place-name data. It’s all working rather well. I also completed the scripts to allow a user to edit place-name data and I began to work on the scripts to allow place-name elements to be associated with a record. Currently a user can select to manage the element associations, then add any number of elements to the record. These include the ‘autocomplete’ feature limited by language that I was previously working on and all of the other place-name element fields that need to be recorded. I will continue with this next week.

On Tuesday we had a project meeting where we went through the website and the content management system and discussed how things should work and what might need to be updated. These were mostly minor issues. The only larger issue related to parish associations. I had split these into ‘current’ and ‘historical’ parishes and had provided one box where multiple could be selected. This wasn’t exactly what the project wanted though, so I changed it to have two separate boxes, one where the current parish (or parishes) can be selected and another where former parishes could be selected. The project website is pretty much live now and can be found here: http://berwickshire-placenames.glasgow.ac.uk/

For The People’s Voice project I began working on the database and content management system, having finalised their structure last week. I set up a bare-bones WordPress site for the project) not live yet) and created the database structure as outlined in my database specification document. I also managed to complete a lot of the functionality of the CMS as well. So far the facilities that are in place are those for adding / browsing / editing / deleting people, publications and archives/libraries. I also completed the facilities for adding and browsing poem records, including associating one or more authors, featured individuals, publications, archives and franchises. It’s all coming along pretty well and I hope to have a completed first draft of the system in place before the project has a meeting next Friday.

For Mapping Metaphor I focussed on the search facilities of the app this week. I created the search forms for both the quick and the advanced search and went on to complete all of the processing for the quick search. This is currently running rather slowly as it has to process a lot of data and I need to find a way to speed this up a bit. I also started to worry that the advanced search would be too complicated for our target audience to use. The form I’d created looked horribly intimidating and I just wasn’t sure that the app was the right pace for such a serious looking search form. I raised this concern with Wendy and Ellen and they both agreed that we should just have a simple search in the app, which I think will work out much better. I also spent a bit of time this week updating the visualisation interface to bring it into line with the look of the rest of the app, such as changing the colours and updating the ‘infobox’ so it didn’t take up so much space. There is still a lot of visual tweaking left to do, though, and I’ll continue with this next week.

I also heard this week that the Mapping Metaphor website won the ‘Best DH data visualisation of 2015’ award at the Digital Humanities Awards (see http://dhawards.org/dhawards2015/results/), which is great news for the project.

Also this week I attended a meeting with Michael Pidd from Sheffield’s Humanities Research Institute where we heard a bit about how the HRI operates and how Glasgow might be able to set up a similar structure. It was a great opportunity to hear how developers or Arts and Humanities projects operate in another organisation and to discuss some of the issues the developers at Glasgow have faced over the years. We’ll just need to see how the outcomes from this meeting and others Mike had whilst he was up might be acted upon.