Week Beginning 2nd March 2015

I had fully recovered from my horrible cold by the start of this week, which was quite a relief after suffering with it for the past couple of weeks. I spent the majority of this week getting stuck into the Mapping Metaphor bug fixes. I had previously created a document with 30 bugs that had been identified either by me, the project team or through the user testing sessions. They’re quite a mixed bunch of bugs, some of which are pretty simple (e.g. link colours needing changed) while others have the potential to be rather complex (e.g. the endlessly rotating visualisation bug). I’m happy to report that I managed to tick off 16 of the 30 items this week, including a few that were particularly tricky to get to the bottom of.

The one I’m most pleased about fixing is the aforementioned endlessly rotating visualisation bug. This problem cropped up months ago within a few days of me creating a ‘rotatable’ visualisation. There are two control buttons for rotating the visualisation clockwise or anti-clockwise and the user had to press and hold a button to make the visualisation rotate in the required direction. Letting go of the button caused the rotation to stop. Except that in some browsers the rotation didn’t stop, but went on endlessly twirling until the page was reloaded. It turns out that this was being caused by my code not adequately stopping the call to the rotation function. On mouse up my code sent a command to stop the visualisation ‘transitioning’, but what it didn’t do was stop the rotation function from running. In some browsers and operating systems my code successfully stopped the visualisation from rotating (but the ‘rotate’ code would still be running in the background) whereas in other browsers / operating system the ‘rotate’ code just kept on doing what it was supposed to do. Having figured this out I rewrote my code so that when a user invokes a command to stop the rotation the code actually breaks out of the perpetual loop. I also updated the rotate buttons to make the rotation feature a bit easier to use on touch-screens: rather than requiring the user to press and hold a button for the rotate to work I’ve changed it so that one press of the button starts the rotation and a second press stops the rotation, with the button’s icon changing to a square ‘stop’ icon whilst the visualisation twirls round. It all seems to be working well now on a variety of devices, which is quite a relief.

A request that was made during the recent user testing sessions was to have the ‘key’ visible by default. Previously a user had to press a button for the key to appear, but users thought it was unclear what the various colours and lines meant without being able to see the key. I’ve updated the key so that it is always visible until a user closes it. After that the system remembers it’s closed (using HTML5 session storage) and doesn’t show it again on any pages until the user clicks to open it by pressing the ‘key’ button, at which point the key will remain open on all pages until the user closes it again. I think this works quite well.

I also realised this week that the system was missing a required connection type between metaphors. The system previously allowed for three types of connection for demonstrating directionality: A->B, A<-B and A<->B. However, there will be cases where directionality is not known, which requires a connection as follows: A-B. I updated the database, the content management system and the front end to incorporate this type of connection.

Some of the more minor things I fixed this week included ensuring the Metaphor ID appears in the timeline card pop-up and adding the metaphor ID to the CMS table of metaphor connections . I’ve updated the stylesheet so that highlighted rows in the tabular view of the data have a yellow border rather than a yellow background, which makes things a little easier on the eyes. I’ve also made the highlight border in the card view more prominent. I’ve also updated the card view so that it scrolls to the appropriate part of the page when you click on a card’s category to highlight it. It’s also now possible to ‘unhighlight’ a category in the tabular view by clicking on it when it’s highlighted.

If the user had selected a category in a view other than the visualisation and then switched to the visualisation view this selection was not being remembered. I managed to get to the bottom of this issue, which took more time and effort to fix than that one sentence might suggest! Similarly, strength is now remembered when following all links within the visualisation and other data views. This took a lot of work, but during the course of it I also fixed a few other issues too. I’ve also added a popup stating that there is no matching data when this is appropriate. e.g if looking at connections between two categories with strength set to ‘weak’ and then changing strength to ‘strong’ there may not be any connections. This was previously giving a Javascript error but now the error is caught and a warning pop-up is displayed.

I’ve ensured a ‘loading’ icon is now displayed when card and table views are opened as these can take a few seconds to load up. Metaphor strength now appears in the card view when looking at cards with strength set to ‘both’ and random sample lexemes now appear as links to a search for the work in the HT. The erroneous table heading that was appearing in the tabular download file has been removed and time periods now appear in this file rather than exact dates. I’ve added in some arrow images for representing direction in the tabular view as opposed to just using ‘<‘, ‘>’ etc. and sample lexemes now appear as a new column in the tabular view. They also appear in the download file.

I’ve also fixed a number of other bugs that I became aware of whilst addressing the ones above, such as a Javascript error that cropped up when expanding a L2 category when a L3 category was already selected. So all in all it was a particularly productive week of bug fixing. I should be able to fix the remaining bugs before the project launches on the 25th.

Other than Metaphor duties, I spent the best part of a day this week going through Jane Stuart-Smith’s ESRC bid documentation and making additions and commenting on her data management plan. I sent this off to her with some further feedback on Tuesday morning but I’ve not heard anything back since. I also gave some further advice to Bryony Randall about her bid and spent a little time working on the DSL tasks. Ann is going to be busy for the next few months on another project which means I’m not really going to be able to proceed with the majority of tasks as they require input from her so we have agreed that other than the two tasks that I’ve more or less completed already we’ll wait to tackle the other tasks until she is available again.