Category: Scottish Life Writing
Week Beginning 21st September 2026
I divided most of my time this week between finishing work on the Scottish Life Writing CMS and continuing to develop the new website for the Dictionaries of the Scots Language. I’d started work on the Scottish Life Writing CMS last week and I completed a first version this week. It took a bit longer than I’d anticipated to develop it, mainly due to the issue of versions. Each work may have any number of associated versions (e.g. a new edition, an adaptation for stage) and each of these versions may have any number of associated people (e.g. multiple editors, or a translator and an adaptor). The data structure for this is pretty straightforward, but creating the front-end and processing for a form that allows this to be easily managed took some time. Versions needed to be dynamically added to the form as required, and then the option of adding multiple people to each also had to be added in, with each person box working as an auto-complete to bring back a list of people that match the characters the user types in. However, I managed to complete an initial version by Wednesday and then populated it with some sample data for test purposes.
For the DSL there was some follow-on stuff relating to the new search and filter options I’d developed last week to contend with. Vasilis has suggested that when a region is selected in the advanced search form or as a filter on the search results page that any areas contained with the selected region should also be searched for – so for example if you select the ‘Highlands’ dialect area then this should automatically search all regions that are part of this area, such as Argyll.
I wasn’t aware that searching for one area should also include all other areas contained within it. This was always going to be part of the map (and it is) so you can visualise area intersects and overlaps, but I didn’t realise this was also desired for the search, and I had some misgivings about this approach. It is likely to generate more results than we allow for many searches. For example, ‘Eastern Scots’ contains 102 areas, each of which may also contain multiple areas. If all are included then the search isn’t going to be usable as the results limit will be reached. It might be better to allow users to make their own selections based on the intersects on the map. This would also avoid confusion. For example, ‘Bute’ in the file of coverage includes ‘Arran’, so if we include everything then someone selecting ‘Bute’ would be unable to exclude the results for ‘Arran’, and may be confused as to why ‘Arran’ quotations are being returned when it’s a completely separate island and they didn’t select it.
Another issue is that the search indexes were not set up with this ‘contains areas’ requirement in mind. Each quotation in the index only has its specific areas listed – they do not also include the other regions that would also match the quotation. This would make results filtering by region rather tricky and the search queries very complicated. E.g. for ‘Eastern Scots’ the front-end would have to formulate a query that includes all 102 areas (and any areas each of these include) before passing it to the Solr index. This would be pretty awful to have to create the code for and would likely be slow. The other alternative would be to generate this data when the Solr index is being created (e.g. so that when a quotation has the area ‘Mid Scots’ it should also have the area ‘Eastern Scots’). That way a simple search for ‘Eastern Scots’ on its own would find all ‘Mid Scots’ quotations. But the index has not been set up like this so such an approach is not currently possible. After discussing this matter we agreed to not proceed with the ‘contains areas’ approach for now, which is a relief.
I was then able to acti on the other feedback I’d received to make updates to the work I’d done last week. I fixed the issue with the ‘back to search results’ option when loading an entry from the search results not taking selected filters into consideration. This should now work as intended. On request, I set the map to open in a new tab, but I personally don’t like this this. Different tabs are not very obvious on mobile phones and we’re forcing users to open the map in a new tab, whereas with a regular link they always have the option of opening it in a new tab if they want. Also, if you’re consulting the map to then perform searches by selecting a region in the map your search then runs in the new tab, then if you press the ‘open map’ button again you get yet another new tab and you can very easily end up with lots of DSL tabs open without meaning to. It’s all a bit messy. I personally prefer to let users to choose to use new tabs themselves if they want. I also moved the ‘open map’ button in the Advanced Search form, to hopefully make it clearer that it’s not the ‘Search’ button.
I was also asked to restrict the region filter to 1700-present only, but I didn’t proceed with this as my concern is that ‘Both’ is the default and I suspect lots of people won’t bother changing the coverage, meaning they may never even notice the region filter exists. I was also asked to make the region filter be cleared in the Advanced Search when ‘Before 1700’ is selected, but I didn’t do this either, as it means if someone has spent time selecting multiple regions and then switches to ‘Before 1700’ and then swaps to ‘1700-present’ their selections are all lost. Instead what I did was to ensure that if ‘Before 1700’ is selected and the search form is submitted no selected regions are passed on.
I updated the results page so that when only one result is found the results page now displays, rather than opening the entry directly. I also updated the Region filter in the results so it now has ‘Regions’ as a header, and I fixed a bug displaying a double comma in the header for quotations searches. I also added the text ‘Entry’ to the POS filter labels and ensured that if a POS filter is applied in the Advanced Search form, only those POS that were chosen appear in the results filter, even if other parts of speech are present in some of the entries in the results. I also updated the map so that if a search term is present when you load the map, it now continues to be present if you select a region to search through the map interface.
With these updates in place I could then focus on going through my ‘To Do’ list and checking off other items on it. A big change I implemented was to remove ‘Older Scots’ from the site menu and to rename ‘Modern Scots’ to ‘Home’. I also changed the navigation menu from tabs to ‘pills’ as the tab design didn’t really work any more as entry pages (the bulk of the site) no longer have an active menu tab. I also slightly reworked the footer to add in a ‘Make a donation’ button (which links through to the ‘Support us’ page) and I fixed the ‘Download results’ option to ensure the POS displays. I also spotted that a full description of the selected search options (including filters) needed to be updated based on the new URL structures and filter options so have updated this too.
Finally, I made a number of tweaks to the search results, entry and bibliography pages. If an advanced search for both dictionaries only gives results for one dictionary the other dictionary now appears with zero results in the Search Results tab on the entry page, and when one dictionary is searched, the link to search the other dictionary in the ‘Results’ tab now links to the homepage or the DOST page. I have replaced ‘Modern Scots’ and ‘Older Scots’ with the new labels throughout the site and I’ve removed the ‘Show/hide etymology’ button the entry header. Also, the dictionary names in the entry and bibliography headers are now links to the info about the respective dictionary.
I also spent a bit of time working on the HiMuJe Malabar project. Renu had sent me some new, more detailed GeoJSON data for five areas around the Malabar coast. One of these proved to be a little tricky, as the map is only set up to feature one polygon per location and it contained four separate polygons. Thankfully I was able to use the QGIS package and some advice here: https://gis.stackexchange.com/questions/386382/merge-several-polygons-features-into-one-continuous-area-not-working to merge the separate polygons into one. There were still a few random lines left over in the boundaries between the kingdoms, but I was then able to delete these by importing the updated geojson into https://geojson.io where I could easily remove them. This then gave me one single polygon for the whole of Malabar. I then replaced the existing polygons on the map with the new versions and set the maximum zoom level of the map to 10, rather than 14, which was its previous setting. It’s definitely looking a lot better, as you can see in the following screenshot:
Also this week I responded to a further query from Sara Pons-Sanz about her AHRC application, I spoke to Faidon about the migration of the Iona Place-names site and I fixed an issue with the Historical Thesaurus search facilities that someone had contacted us about. I also had my PDR session on Tuesday and this went very well.
Week Beginning 14th September 2026
I continued with the new developments for the Dictionaries of the Scots Language for the first three days of this week, during which time I managed to complete a first version of the new search and results filtering facilities for parts of speech and regions, which is a great milestone to reach.
I reordered the parts of speech in the Advanced Search form so that the most common parts (e.g. noun, verb) are listed first. I updated the map so that search icons appear beside regions in the right-hand box whenever a region is selected, with the search icon disappearing when a region is deselected. It took quite some time to get this working in all cases, as regions can be selected in several different ways (e.g. clicking on the map, selecting from the drop-down list, searching), but I think I’ve got it all sorted now. When you press on one of these search icons the Advanced Search form loads with ‘Quotations’ selected and the relevant region / dialect area selected in the list. I did wonder about the map automatically representing any regions entered into the advanced search form when the map button in the form is pressed, but unfortunately this isn’t going to be possible (at least not without a lot of reworking), as any number of disparate regions may be entered into the search form and the map is set up to only display one region and its intersects at a time.
I then started to work on the search results filter for POS in a headword search. This has required some further major reworking of the API both the implement the filtering and to deal with POS passed in the URLs, but an initial version is now working. I can’t share any screenshots for now, but the POS filter works by listing all of the parts of speech found in the results, each with a count of the number of results that match. As entries may have multiple POS these counts in total can be higher than the total number of results, and the filters may also therefore include POS that are beyond any filters applied via the POS selector in the Advanced Search form.
What I wasn’t sure about as I worked on this is what should happen to the display of POS filters and their counts when another filter has been selected. When a date filter is applied I’m fairly certain what should happen: the POS filters and counts update to reflect the filtered data. E.g. if the headwords are filtered to show only those that were first attested between 1700 and 1800 then the POS filter options should be updated to reflect these results.
But what should happen when one or more POS filters are selected? In my initial tests what happened was that the filter is executed and the new POS options reflect the currently applied filter. E.g. filtering the results to first attested between 1700 and 1800, and also filtered to only display only verbs. The POS filter and counts are also updated based on this further filter to the data so only showed POS and counts that were contained within the verb filter. However, this didn’t seem all that useful.
I reckoned we had two possible options: Firstly, when a POS filter is applied, the other POS filter options and counts are updated to reflect the currently filtered results (my initial approach); secondly, when a POS filter is applied the other POS filter options and counts are taken from the results without a POS filter applied.
I decided that the second option made more sense, as the first does wasn’t actually working as you might expect anyway, due to the POS filters being joined by OR. For example, a results set lists 76 nouns and 37 verbs. If you select ‘verb’ and press ‘update’ the results are limited to the 37 entries that are verbs. The noun filter count is updated to 21, as 21 of the 37 verb entries are also nouns. BUT, if you then select ‘noun’ in addition to ‘verb’ and press ‘update’ your results are currently not limited to 21. What happens is the filter is re-run to find all entries that are either verbs OR nouns (or both) and you end up with 76 nouns and 37 verbs selected in the filters and 92 results, rather more than the 21 you might have expected.
If we went with option 2, after selecting ‘verb’ and limiting the results to 37, the ‘noun’ count would still be 76 and not 21, and when pressed on would give the expected results, which seemed more like the expected behaviour to me. I therefore redeveloped the POS filter to go with option two, and whilst doing so I also slightly tweaked the layout of the filter box to divide the sections up.
With this in place I then moved onto implementing the region filters. Previously we didn’t have a ‘filter results’ option for quotation searches and I added this in. giving the option to filter the results by dates of quotation and /or region. This required further major updates to the API to incorporate these new options, but all is in place now. When I came to displaying the various regions in the results filter box I decided to use the same dropdown list widget as in the advanced search form, as there can be lots of listed regions. I also decided to place all region filters in one list rather than separate ones for geographical and dialect areas (as we have in the Advanced Search form) as this distinction isn’t evident in the listed quotes, so I figured just having them altogether would make more sense.
If a search brings back more results than we allow, the numbers for each region reflect the full results to enable the user to tell which region filters might help to being the number down to something more manageable. However, one thing that initially confused me is that the counts in the region filter would appear to be well below the total number of results when searching both dictionaries. This is because regions only apply to SND, so and DOST entries in the results have no regions. Note that if you only search DOST the region filter does not appear on the results page.
I realised that if you combine a date and region search it’s possible that your selected region will not be present in the quotations for the dates specified. E.g. ‘dre*’ limited to 1900-1950 with ‘Western Islands’ selected finds nothing as there are no ‘Western Islands’ quotes in the chosen period. In such cases the selected region will be ignored and the result will default to the date filter. I also updated the headword POS and date combination to work in the same way.
I also updated the search results header so that POS and region selections entered into the Advanced Search form are now reflected in the search results heder. E.g. “Quotation search, 1700 – 1800, Glasgow.” or “Headword search, noun, verb.”.
The quotation search (as you’d expect) searches quotations. The API then parcels these up by entry and the results are displayed by entry. But the underlying data is individual quotations. The filter counts currently display the number of matching quotations NOT the number of matching entries, as the filter counts come directly from the underlying data. So for example, a regions search may feature Edinburgh in the filters with a count of 36 next to it when there are only 32 results. This is because some of the entries in the results have more than one ‘Edinburgh’ quotation. I wasn’t sure whether this would be confusing, or whether the counts should instead relate to entries not quotes. However, the DSL team think this is ok as it is.
So I think that’s the new DSL search and filter facilities just about complete now and my gigantic ‘to do’ list now has a pleasing number of ‘[DONE]’ items in it. Next week I’ll start on the site structure and interface updates, of which there are many.
I spent most of Thursday this week preparing for this year’s PDR session, which I’ll be having next Tuesday, and I spent most of Friday developing the CMS for Craig Lamont’s Scottish Life Writing project. I’m about half-way through implementing this, and I hope to finish it next Monday.
Also this week, I gave some further feedback to Sara Pons-Sanz about her AHRC application, responded to some queries for the HiMuJe Malabar project, discussed migrating the Iona place-names site to our third-party host with Faidon, had a bit of an email catchup with the Place-names of Armagh people and discussed Tom Bartlett’s site migration with Luca, who has very kindly arranged to take over this task as he thinks he’ll be able to get it sorted before the November deadline.
Week Beginning 31st August 2026
I took Monday and Friday off this week and on Wednesday and Thursday I attended the Digital Humanities Congress in Sheffield, meaning I only had one day to spend on regular work this week. I spent most of this writing a specification document for the database and CMS for the Scottish Life Writing project, which I sent off to PI Craig and RA Emily for feedback. I also had a further chat about the new search and results filtering options for the DSL.
I also spent a bit of time fixing a few bugs that I’d spotted in my recent updates to the HiMuJe Malabar map. Category labels in the legend were getting duplicated when switching between menus in the map (e.g. ‘Area’ would become ‘AreaArea’), and I managed to fix this. I’d also spotted that the categorisation type was getting removed from the URL when switching between menus, which meant that bookmarking or citing the page didn’t give the correct categorisation. I managed to fix this too. Finally, I’d spotted that loading a travel route stage from a URL into a fresh browser or browser tab meant that the map didn’t zoom to the stage’s location but instead displayed the full extent of the route. This was because the code to position the map to the full extent was still running when the code to zoom to a specific location was triggered, meaning the latter did not take effect. I fixed this by adding in a delay. There is now a brief pause between the route loading in and then the map zooming to the chosen stage, which I think works quite well.
It was great to attend the conference in Sheffield and I attended a lot of interesting sessions (see https://www.dhi.ac.uk/dhc/2026/), a lot of which involved discussions of AI, which is having as huge impact on digital humanities research at the moment. The opening plenary talk discussed ‘Literary Criticism after Large Language Models’. The speaker noted that LLMs can produce a close reading of texts in seconds, but discussed whether this can actually ever be considered literary criticism or is it just imitation, and is there actually a difference? Can it be considered criticism if there’s no understanding behind it?
The speaker gave an interesting overview of the stages of the use of computers in the humanities, starting with concordances and indexes in the 50s to the 90s, the emergence of distant reading in the 2000s, the shift to algorithmic criticism and interpretative visualisation in the 2010s and in the 2020s a major shift to using LLMs to interpret text – no longer just counting words and visualising but interpreting texts too.
The speaker pointed out the criticism involves interpretation (extracting meaning), surprise (new insights), context (historical and cultural), revision (deciding what is relevant) and reproducibility. He discussed a study that compared how GPT-4 and humans can interpret metaphors, and how the AI was pretty effective, but whether this was from generalising or interpreting from existing knowledge. Another study looked at authorship and genre in short passages and LLMs performed very well, with Llama 38b proving to be the best in this study. The speaker then discussed a test he carried out on a poetry magazine corpus that he created and asked GPT-5 to analyse. This was a new corpus so the LLM had no prior knowledge and consisted of around 1300 poems. So this was ‘blind corpus analysis’ with no existing or contextual knowledge. He asked the LLM to identify formal, stylistic, thematic, rhetorical and linguistic patterns to formulate a critical account of the collection. The results were good, with genuine insights and the results could plausibly appear in literary scholarship. He pointed out that LLMs can perform corpus level criticism but tend towards overcoherence, but can revise when challenged. He also pointed out that everything the LLM does is heavily prompt dependent – the AI only ever does what is specifically asked – a human critic is still absolutely needed.
The speaker concluded by stating that criticism is a text about a text – it is an accountable act of reading and LLMs can do this. He stated that there is ‘genuine’ (human) versus ‘false’ (AI) interpretation, but that the dividing line between the two is very thing now and wondered what forms of criticism will become more viable when plausible readings are cheap.
For the first parallel session I chose session 1, which involved three talks about AI. The first looked at creating handwritten text recognition (HTR) for complex manuscripts using generative AI in the context of the Newton Project (https://newtonproject.ox.ac.uk/). This has been around since 1998 and currently incudes around 12 million words of transcribed text. They have a new project launching in 2027 which will digitise three books such as the Philosophae Naturalis Principia Mathematica. These works have a lot of mathematics in them and are not uniform documents, including lots of hands, tables, diagrams, revisions, calculations and both Latin and English text. The manuscripts are already digitised and are available in IIIF hosted at Cambridge Digital Library. The speaker sampled 5% of the manuscript (around 80 pages) to evaluate the document using a 5-tier system. 19% were evaluated as being extremely difficult to transcribe with only 6% being easy.
The speaker had experimented with Transkribus and wanted to compare this to more general AI tools (Leo AI and Gemini). She picked out four pages at different tiers to test, performing a line-by-line comparison of the tools. For a tier-2 page (pretty easy) Leo performed best, followed by Gemini then Transkribus. For a tier-4 page (difficult) Transkribus failed, Leo quit mid-way through and Gemini started to give summaries. The speaker updated the prompt, which improved things but the results were still not highly accurate. The speaker noted that as Transkribus works line by line it does not work so well whereas the AI tools take the whole page into consideration.
The speaker focussed on Gemini and created a detailed prompt with lots of instructions and developed a tool using Claude Sonnet that can be used to evaluated and correct HTR output (see https://johedesan.github.io/newt/).
The second speaker discussed marking up historical texts using AI. He used data from the Proceedings of the Old Bailey project (https://www.oldbaileyonline.org/). This was manually annotated using XML tags to note who did what, sentencing and other things. The speaker wanted to investigate how AI could do this now, given prompts and examples. He used the a locally installed instance of Qwen AI to perform the tests. It did well, but there were some issues. The output specified was not a conversational response, so there weren’t any hallucinations and he set it up with a ‘head’ using the spaCy NLP tool. This was able to pick out defendants, victims and verdicts from trial documents. He stated that the tools found assigning the correct verdict to be hard as this often appears at the end of the text and is tricky when there are multiple people. Long trials are also tricky.
The third speaker discussed person identification in historical correspondence using an LLM. The data was the Hammer-Purgstall correspondence (https://gams.uni-graz.at/hpe) which features 3545 transcribed letters. This started with a print edition that was converted to TEI, although the semantic annotation is incomplete. The project used the CorrespSearch webservice (https://correspsearch.net).
The project had to deal with many issues such as deciding on the boundaries for annotation (what should be included in the annotation) , dealing with tables, working out who pronouns refer to, and issues with families and groups. Also people with mononyms, issues with different people with the same name (e.g. fathers and sons). The project used an LLM as it could make use of context and works with multiple languages. As the project didn’t want the LLM to mess with the XML the output was not updated XML but a series of positions where the relevant tokens start and end.
The results of the tests were compared to human annotation. AI tests were carried out using GPT-5, Claude 5 and Qwen 3.5 and the tools were able to extract 68% of the names. It took humans 13 hours to process the data but the AI tools only took 20-35 minutes.
For the next parallel session I chose Session 5, which was mostly focussed on GIS and mapping. The first speaker discussed visualising the historical evolution of urban form using GIS. The speaker used ArcGIS to analyse maps of colonial Calcutta over 100 years. She looked at street sinuosity and street width to compare colonial centres to indigenous areas , and also ‘non-plot’ areas (areas in transition without formal buildings). She created colour coded clusters based on these criteria (e.g. wide, straight, very low non-plot) to show the character of districts, comparing this to historical data and also showing how the situation changed through various different maps over 100 years.
The second speaker looked at land reclamation in 19th century Denmark based on historical documents that were available as PDFs. The speaker used an LLM as it could work well with Danish. This was able to extract coordinates and create georeferenced data that could then be searched.
The third speaker discussed geoparsing data found in archaeological records such as field reports – ‘grey literature’ that is otherwise difficult to extract data from. The project developed a tool to work out which places are mentioned in the texts. This is a two-part process involving recognition (finding places in the texts) and resolution (working out what the place actually is). The latter needs the most work. NER tools can struggle, e.g. when multiple places share the same name such as Memphis in the US and Memphis in Egypt. The speaker discussed how the project’s tool creates a ‘bounding box’ to work out which places are likely correct based on the proximity of other named places in the text. Further information can be found here: https://cloud.gate.ac.uk/.
Day 2 of the conference began with more parallel sessions, and I chose to attend Session 7. The first speaker talked about the digitisation and study of marginalia. He pointed out the marginalia were once frowned upon and attempts were sometimes made to remove them, such as through chemical erasure, but they are now of great interest. He presented the work of a project called Magic (https://www.magic.unina.it/en) that is attempting to read these marginalia using modern technology. The project uses FITS images that have embedded metadata and runs processes to reduce things like bleed-through to enhance the visibility of the notes – processes that also help with HTR.
The second speaker discussed the Law Versus Practice project (https://www.lawvpractice.ie/), which extracts data about women and property ownership in early modern Ireland. It is creating biographical profiles of women from many primary sources, such as the list of claims, which contains 3,100 claims. The data is fairly standardised, tabular data that is mostly printed, although there are inconsistencies, omissions and errors. The speaker pointed out that disambiguation was an issue and needed research using titles, parentage, dates and geography. This was tricky for women due to marriage and name changes. The project has extracted over 5000 unique people that are linked to places, although the latter is often incomplete.
The third speaker discussed slavery in the Dutch East India Archive (see https://voices.iisg.nl/). The project alanysed 7.5 million pages of transcriptions from the archive, mainly focussing on early modern Asia and mapped slave voyages. HTR was carried out by a tool called Loghi (https://github.com/knaw-huc/loghi-htr) with linguistic analysis using AntConc. The speaker noted that the transcriptions were not perfect but were good enough for searching and finding the co-occurrence of slave-related terms using AntConc. Around 800 terms were analysed, including spelling variants.
The next session I attended as Session 10, and the first speaker was Jeremy Smith, who gave a fascinating talk about religious vocabulary in the 17th century, using the ‘quads’ concept from the Linguistic DNA project and data from EEBO-TCP. He talked specifically about evidence from the (mostly religious) works of Lucy Hutchinson. He discussed how the phrase ‘infinite love’ was not scriptural but became commonplace during this period. He also discussed ‘saving faith’, a term which also appeared during this period.
The second speaker discussed how ideas travel in published works, mapping the influence of John Locke in the 18th century through direct quotation, paraphrase, concepts, critique, adaptation and appropriation. The vocabulary can change so the speaker investigated connections using semantic similarity across 32 million pages in ECCO using 100-token chunks to investigate twenty high-use Locke quotes. The third speaker discussed identifying essay-length republication in books and newspapers in the 18th century, looking at the work of David Hume.
For the final parallel session I attended Session 13. The first speaker discussed news consumption, social media and youth engagement in Portugal. The speaker pointed out how social media is now the gateway for news, either intentionally or incidentally, and how young people are more disengaged with other media. There is no stable relationship with a specific new brand and engagement is formed through algorithmically curated feeds that shape an image of the world, including exposure to misinformation and propaganda. The speaker looked at people aged 15-29 in Portugal using focus groups and questionnaires. The data consisted of around 1500 responses, with more female than male participants, with most from the older age groups having higher education. 53% used social media for news daily, with TV news at 25% and newspapers 17%. The respondents viewed traditional media as being more trustworthy, but social media also includes traditional news accounts as well as influencers and amateur news accounts.
The second speaker discussed propaganda and linguistic divergence in Russian online discourse during the war in Ukraine. She discussed linguistic variation across state and social media, with social media more focussed on mobilisation and disinformation while state media focussed on pacifying the population and normalisation.
The third speaker gave an overview of preparations for a study of zeitgeist in UK parliamentary debates, looking at the period from Callaghan, Thatcher and Major (1976-1997). The project will use the Hansard corpus.
The final session of the conference was a roundtable discussion about Digital Humanities in a changing higher education landscape and discussions covered the position of DH at a time when funding is increasingly hard to come by, and the role of AI in DH research.
The conference was hugely interesting and featured some great speakers, lots of interesting research and some interesting challenges. It was really great to be able to attend.
Week Beginning 25th August 2026
This week I continued with the interactive map for the HiMuJe Malabar project and made some good progress with its development. All subtypes now have an associated icon that is used on the map when the ‘type/subtype’ categorisation is selected, and I also reworked the colours of these, as you can see in the following screenshot:
After last week’s frustrations with the map legend, I reworked it to divide it a little better into sections by type, which you can also see in the above screenshot. When a location popup is opened the corresponding subtype icon also now appears in the popup header. I also added an option to the ‘Home’ menu to make all marker labels permanently visible on the map (until you turn them off again). With all locations on this does clutter up the map, but I think it’s a useful option for people who are looking for a place but aren’t entirely sure where it is. With labels on you can see the names of all places without having to hover over each marker in turn. This works better when the map is filtered in the legend. I also intentionally set the map so that I you set the labels to on and open the travel route menu the labels are removed as the travel routes would be very difficult to see with the labels on.
I also updated the colours for the other categorisation types to hopefully make them work a little better. When the ‘number of references’ categorisation is selected the marker colours are now a gradient. It’s also now possible to cite a specific stage in a travel route. This appears in the citation text, e.g. “HiMuJe Malabar Digital Map: Watercolor map, travel routes menu, showing the travel route ‘Brahmins’, with unrelated places hidden, viewing stage 2 of the route, placenames categorised by language. 2026. In HiMuJe Malabar. Glasgow: University of Glasgow. Retrieved 28 August 2026 and following URL opens the route at Stage 2. This option will mean I’ll be able to update the location popup to add a new tab that lists all of the stages in routes that the place appears in, and give links to each of these. I haven’t done this yet, though.
Also this week I spent quite some time working for the Dictionaries of the Scots Language. This included attending an online meeting to discuss the structure of the new site, at which some fairly major revisions to the new design were proposed. I also engaged in a couple of email conversations about the updates that still need to be undertaken before the hopefully launch the new site later this year. In preparation for all of this work I also went back through all of my emails from the DSL team and my notes to create a bit ‘to do’ list containing everything that needs done. It’s going to be a busy couple of months.
Also this week I met with Craig Lamont and his RA Emily Hay to discuss the Life Writing project. They’re going to be compiling a bibliography of Scottish life writing and I’m going to develop the systems for this. I did look into using existing bibliography software but nothing I looked at did exactly what they are after so I’m going to create a simple CMS for them to use myself, with a front-end consisting of search and browse options and a map interface sometime next year. I spent a bit of time after the meeting going through the sample spreadsheet they had prepared and sending a list of questions about the data.
I also met with Deven Parker this week to discuss an AHRC proposal she’s involved with. I can’t say too much about this, but it’s related to the work we’re doing on the playbills and I would be involved in some technical capacity. I also had a chat with Garrick Allen about a proposal he’s trying to get funding for after an earlier AHRC submission was unsuccessful. I read through the documentation and gave feedback, and I’ve also put Garrick in touch with my colleague Luca Guariento who is probably going to provide the technical assistance.
Other tasks I carried out this week included investigating an issue with the Anglo-Norman Dictionary (which turned out to be an issue with the data and not the system), making some final tweaks to the Burns Supper Map before the project RA finished working on the project, and generating some Books and Borrowing data for a publication Katie Halsey is working on.

