Week Beginning 18th April 2016

I was on holiday last week and returned to a full five-day week this week.  It’s been a pretty busy week too, as the Mapping Metaphor follow-on project launched on Tuesday this week.  The website is now available, and the apps can now be downloaded for free from the Apple App Store and the Google Play Store.  See the website here: http://www.glasgow.ac.uk/metaphoric.

It’s been an excellent project to have been a part of and I feel that I’ve greatly increased my knowledge of app creation, which will be a good thing for future projects, no doubt.  There were a number of last-minute things that needed implemented and (in some cases) fixed before the launch.  This included overhauling the teaching materials page, uploading all of the teaching materials and fixing a bug that I’d managed to introduce when adding in the ‘loading’ icon to the visualisation that was preventing some of the metaphor card pop-ups from popping up.  It was a bit of a rush at times, but everything was ready for the launch on Tuesday afternoon and all went very smoothly.  The only thing left to do for the project now is release a slightly updated version of the app that will incorporate the loading icon in the visualisations.  This is something I’m hoping to do early next week.

In addition to this project I worked on quite a number of other projects this week.  I fixed a minor reference issue with the SCOTS Corpus, and also had an email conversation with a developer who is working with Jane Stuart-Smith on an audio tool that will use sound files from the corpus.  I will be meeting with him when he is in Glasgow next week to talk through how he will use the corpus too.  I also made an update to the SCOSYA project database to incorporate more codes and created an initial user interface for the project website, using the logo that has been created for the project.  For the People’s Voice project I tried to investigate why the RA has been experiencing problems uploading a CSV to the system I had created, but rather strangely the file he was unable to upload worked ok for me, even though I didn’t change it.  I’ve asked him to get back to me with details of the operating system he was using and any error messages that get displayed and hopefully we’ll be able to get to the bottom of this soon.  I also created an initial website interface for this project too, although it will probably need tweaking before it goes live.

I managed to speak to Marc at the Metaphoric project launch about the possibility of me attending the DH2016 conference, which is taking place in Krakow in July.  He said he thought this would be fine so I spent a bit of time this week looking into travel arrangements and things like that.  I’m looking forward to attending the conference as I learned so much at the last DH conference I attended (DH2014 in Lausanne).

On Wednesday I had a meeting with Murray Pittock about an AHRC proposal he is putting together.  I can’t go into any details here, but it’s all looking very promising.  I spent a few hours before the meeting going through all of the documentation that was available and preparing for the meeting.  I have agreed to help write the technical plan for the proposal, which is a task I intend to work on next week.  Bill Kretzschmar had also emailed me whilst I was on holiday about an AHRC proposal he is hoping to put together so I spent some further time going through the materials he had sent and replying to his email.  Again, I can’t really go into any details but it’s all looking very interesting.

I spent the remainder of the week adding in some new features to the REELS content management system, specifically pagination options for the ‘browse place-names’ section.  It now has more than 600 place-names listed so having them all on one page wasn’t ideal.  I’ve split things up so that 50 names appear per page and have added in a filter option as well to allow the researcher to focus on the place-names of a particular parish.


Week Beginning 4th April 2016

This was my third four-day week in a row as I’ve taken Friday off (and will be off all next week too). It was another mostly Mapping Metaphor week, with a few other bits of work thrown in as well. Last week I managed to get the ‘Metaphoric’ app submitted to both the Apple App Store and the Google Play Store, which was very satisfying. Over the weekend the Android app was approved for sale and appeared on the Google Play Store (the project doesn’t have its official launch until later this month but you can try the app out here: https://play.google.com/store/apps/details?id=com.gla.metaphoric&hl=en_GB). On Thursday the app was approved for sale on the Apple App Store as well. Sometimes the Apple approval process can take a while to complete but thankfully it was rather swift this time. The iOS version of the app can be found here: https://itunes.apple.com/gb/app/metaphoric/id1095336949?mt=8.

With the first version of the apps completed I spent most of this week working on other Mapping Metaphor tasks. The biggest of these was working with the Teaching Materials that will appear on the ‘Metaphoric’ website. I created an Excel template to allow information about the materials to be more easily managed and I then created a page for the materials and some JavaScript that will allow the lists of materials to be filtered by type and topic. I also updated the web version of the app (i.e. the ‘Metaphoric’ website) to include the ‘top bar’ found on the other two Mapping Metaphor sites so that when the site goes live users will be able to navigate between our sites.

I also spent about a day trying to make the loading of the data into the visualisation a bit quicker, especially the top-level visualisation. I’m afraid I have been unable to speed up the process, but I have at least got to the bottom of why it’s taking so long. Basically when you press on a category in the top-level visualisation the code has to go through each of the grey lines in order to work out which should be yellow. It has to take the ID of the pressed category and see if it appears as either a source or a target for each line. There are 37 categories, each of which may be connected to any of the remaining 36 categories, either as source or target. This means the code has to run 2664 times to find all of the potential matches each time a category is pressed on. I’ve been trying to figure out how I might be able to cache this data so it doesn’t have to be processed each time, but unfortunately this would mean picking apart the visualisation code and doing some major reworking, as the whole thing is based on the concept of processing data on a node by node basis. I spent a few hours today trying to do this but I’m afraid it would likely take me a long time to rework it (if I could get it working again at all).

However, there is a small silver lining, in that I’ve figured out how to get a ‘loading’ message to appear when a user presses on a category and then stay on screen until the last node has been processed. Although this appears like a simple thing, I have spent many fruitless hours over the past few weeks trying to get such a thing appearing due to a combination of the node update code operating asynchronously (so the main function can’t tell when the nodes have finished updating) and swamping the processor (resulting in the interface locking up and blocking the appearance of any ‘loading’ message). But now when you press a category on the top-level visualisation a ‘loading’ message is displayed, which I think will be a great help.

I also spent some time this week on The People’s Voice project. I started working on the CSV Upload script last week and I finished working on it this week. The ‘import CSV’ page now displays an area where you can drag and drop CSV files (or click in it to open the ‘attach file’ box). I also updated the CSV Template and the Guidelines, and provided links to these files from this page. The template was missing a field for recording page numbers in the publication so I added that on the end. The guidelines now include information about the publication types and also a warning about the publication date column. Excel seems to want to reformat the ‘yyyy-mm-dd’ dates as ‘dd/mm/yyyy’, which then causes them to fail to be uploaded. I’ve added an explanation of how you can stop Excel from doing this.

I also noticed a small problem with the pseudonyms: I was converting characters like ampersands into their HTML equivalents before splitting the data up into individual names based on a semi-colon. Unfortunately the HTML code for an ampersand is ‘&’ so my script interpreted the semi-colon as the division between two names. I’ve updated things so that the text is split by semi-colon before HTML conversion is done, which should solve the problem.

I spent a further bit of time on the Scots Thesaurus project. Magda had encountered an issue with the search facility not working for some words that had apostrophes. It turned out that this was being caused by slashes being added to the lexeme data whenever a category was updated, with these slashes then preventing the search from working properly. Thankfully it was a relatively easy thing to fix once identified.

My final project of the week was the REELS project. I set up a handy short URL for the project (www.gla.ac.uk/reels) and also addressed a number of issues that Eila had spotted when using the content management system. This included adding in buttons to navigate straight to the next and previous place-name record when editing a record and fixing a few bugs such as buttons not working. There are also some problems relating to accuracy when entering four-figure grid references (the latitude and longitude values that then get generated are sometimes very far away from where they should be). As the code I’m using to generate the figures is third party code I’m just making use of I’m not sure I can really fix this, but as there are options in the CMS to manually override the latitude and longitude values I’ve suggested that when the map point appears off the project staff to quite easily find a better value and manually enter this instead. There are a few further tweaks to the CMS that I still need to make (e.g. adding filters and pagination to the ‘browse place-names’ page) but I’ll have to do these after I’m back from my holidays. I will be on holiday all of next week and will return to work on Monday the 18th.


Week Beginning 28th March 2016

It was another short week this week due to the Easter weekend.  I spent most of the four days this week working on the app for the Mapping Metaphor follow-on project.  The project will be having its launch in the middle of April and as apps submitted to Apple can take up to two weeks to be approved and added to the App Store I really wanted to get the app completed and submitted this week.  Thankfully I had already managed to tick off most of the outstanding items on my ‘to do’ list last week, and this week I ticked off the rest, including fixing the bug that was stopping the tabular view being ordered by the ‘direction’ column (which I’ve also fixed on the main site too) and adding in the ‘how to use’ text (with a kind of ‘maze’  background).  I’ve also made lots of screenshots, app icons and have created the store pages, adding app description text to the listings and making numerous small tweaks to the app text, such as the quiz questions.

I tried again to get to the bottom of the issue with the top-level visualisation taking a long time to process the data when a user presses on a category.  Unfortunately I still haven’t managed to get to the bottom of this.  I know why it’s taking so long – the app needs to go through all of the metaphor data for each node of the visualisation in order to work out how many connections there are between each node in order to display circles of the appropriate size.  I also know why a ‘loading’ icon was not displaying – the code processes each node in an asynchronous manner – so the main function completes straight away while the node processes keep on going.  Therefore any ‘loading’ icon would be displayed and then hidden straight away.  And as each node is processed independently there isn’t an easy way to check for when all of the processing has been completed.  I tried just cutting out the displaying of circles when a category is selected and this did speed things up a bit, but it also made the visualisation less usable as the circles made nice targets for big fingers.  There has got to be a way to streamline the process of displaying the circles rather than going through all of the metaphor data each time.  I will come back to this, but there just isn’t time to rework things before the launch.

On Tuesday Wendy sent me the updated Metaphor data that she had been working on.  I was intending to update the main Metaphor database then regenerate all of the JSON data for the app on Wednesday morning, but the site and its database was being migrated to a rebuilt server which caused a bit of a delay and some stress.  Thankfully everything was sorted by Tuesday afternoon and I managed to get all of the data uploaded and regenerated.  There are now 15411 metaphorical connections (down from 15762) and 10354 sample lexemes, up from 9685.  Note that this number does not include the ‘first lexeme’ – there are also 7062 of those, up from 6561.

Also on Wednesday I managed to get access to a 10” Android tablet, through which I could get some ore screenshots for the Google Play listing.  When I installed the app on the device I encountered some rather unexpected and slightly worrying problems.  I’d ensured the same version of the app was running on my phone, tablet and the borrow 10” tablet and while everything was fine on my devices, on the borrowed table the app sometimes gave a blank screen, or didn’t display the background image, or failed to load sections of the page.  I looked at the operating system version and discovered it was running an old version of Android (version 4.1, which was released in 2012).  The current version is 6.0.  This would appear to be the problem, as the app I’ve created requires a minimum of Android 5.1 to function.  As the minimum required version is displayed in the Google Play store I think we just have to hope that users running older versions are warned about the incompatibility.

On Thursday this week I spent the morning working on a new website for Carolyn Jess-Cooke’s project on creative writing interventions for mental health.  It’s WordPress based and fairly straightforward, but I installed and configured a theme, worked on the colour scheme and spent some time creating a variety of different interfaces based on some images Carolyn had sourced from Shutterstock.  I created 7 different interfaces, including a couple of variations on banner images using my Photoshop skills, and emailed them to Carolyn and she picked the one she liked the best.  The website isn’t live yet, but it’s shaping up nicely.  I also spent some time on Thursday working on the People’s Voice project.  The content management system needs to have a feature whereby information about poems can be uploaded via a CSV template file.  I hadn’t had time to implement the feature previously but I have now started working on it.  I didn’t manage to get it fully working but a bit of progress has been made at least.  Hopefully I will be able to finish this next week.

On Friday I spent pretty much the entire day getting the iOS and Android versions of the MetaphorIC app prepared and submitted to the App Store and the Google Play store.  Completing these tasks is rather tedious and seems to take much longer than it really ought to, what with digital certificates, provisioning profiles and the obligatory bunch of unexpected errors that crop up.  However, after a lot of wrangling I managed to get the iOS app submitted to the App Store just before lunch and then the Android app submitted to the Play Store before the end of the day.  Now we just have to see whether the apps will be approved or not.  Fingers crossed!