Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Intro to Planning & Building Digital Projects

Intro to Planning & Building Digital Projects

A high level introduction on approaches and tools that are useful for non-technical research to consider when designing and building digital research projects.

Presented as a session of the Foundations Series in Digital Humanities, run by the Digital Humanities Research Group, Moore Institute, University of Galway. 16 May, 2023

Dave Kelly

May 16, 2023
Tweet

More Decks by Dave Kelly

Other Decks in Research

Transcript

  1. University
    ofGalway.ie
    Introduction to
    Planning & Building
    Digital Projects
    David Kelly
    Digital Humanities Manager

    View Slide

  2. University
    ofGalway.ie
    Digital Project Experiences
    Managing a project
    Project development process
    • What stages are involved?
    • Tools / tech used at each step
    Overview
    The focus here is on my
    workflows – there are other
    approaches

    View Slide

  3. View Slide

  4. Earlier Latin Manuscripts
    PI – Dr Mark Stansbury (Classics)

    View Slide

  5. University
    ofGalway.ie
    Project
    Management

    View Slide

  6. University
    ofGalway.ie
    Humanities
    Researcher
    Technical
    Developer
    Evina Steinová (2023):
    https://homomodernus.net/2023/04/28/10-and-1-2-lessons-in-manuscript-database-building/
    Motivations
    Goals
    Working
    Knowledge
    Collaborative Practices Collaborative Practices
    Work Culture
    Communication Style

    View Slide

  7. University
    ofGalway.ie
    Humanities
    Researcher
    Technical
    Developer
    Motivations
    Goals
    Working
    Knowledge
    Collaborative Practices Collaborative Practices
    Work Culture
    Communication Style
    Project
    Manager
    Evina Steinová (2023):
    https://homomodernus.net/2023/04/28/10-and-1-2-lessons-in-manuscript-database-building/

    View Slide

  8. University
    ofGalway.ie
    Tools that can help

    View Slide

  9. View Slide

  10. https://www.notion.so/

    View Slide

  11. View Slide

  12. Project title
    Project title
    Project title
    Project title
    Project title
    Project title
    Project title
    Project title

    View Slide

  13. GitHub

    View Slide

  14. Asana, Trello, Github (Projects section), Microsoft Project / Planner

    View Slide

  15. University
    ofGalway.ie
    Project
    Development
    Process

    View Slide

  16. Requirements Design Development Deployment Evaluation
    Digital Project Development Process?

    View Slide

  17. Requirements Design Development Deployment Evaluation
    Digital Project Development Process?
    Coffee & a quick chat
    Do a mock-up for a
    homepage in Photoshop
    Import the data provided into a website
    builder, add logos, change the colours
    Press Release & Launch
    Party
    Watch the rising page
    views in Google Analytics
    It needs to be ready in maybe, 2 – 3 weeks?

    View Slide

  18. Requirements
    Data
    Formatting /
    Cleaning /
    Enhancing
    Design
    Development
    Deployment
    Evaluation
    A Digital Project
    Development Process

    View Slide

  19. Requirements
    Data
    Formatting /
    Cleaning /
    Enhancing
    Design
    Development
    Deployment
    Evaluation
    • Initial meeting request: March, 2014
    • 1 block of 9 – 10 months on data-related
    work by researchers
    • Multiple iterations of wireframes &
    functional prototyping
    • Multiple iterations of data validation,
    cleaning, re-formatting
    • 1 re-write of (a completed) codebase to
    use a different language and technical
    architecture
    • * Approx: >20 in-person project meetings,
    > 180 code commits, > 600 emails related
    to project
    • PI, DH Manager, 6 Research Assistants,
    approx. 9 external contributors
    • Public launch: November, 2016 (v1.0)
    • Currently v1.4.5

    View Slide

  20. University
    ofGalway.ie
    Requirements

    View Slide

  21. “I’ve done a spreadsheet with information from CLA (Codices Latini
    Antiquiores), the literary manuscripts written in Latin before the ninth
    century. I’d like to make this available for consultation online and
    wondered if you could help out. I’ve attached the spreadsheet just to let
    you know the kind of thing I’m talking about […] if you’re interested,
    perhaps we could have a chat.”

    View Slide

  22. Requirements
    • What are we trying to do?
    • Why do we want to do that, and not
    something else?
    • Who’s going to use it, and how?
    • In-person meeting(s)
    • Document everything
    • Assign deliverables /
    actions
    • Personas & User Stories
    • Job Stories
    • Talk to potential users

    View Slide

  23. Requirements
    • Break the system into individual
    requirements
    • Does each part add value? How?
    • Which can be removed / held for later
    versions?
    • Rank them (MoSCoW) – which
    requirements are:
    • Must Have
    • Should Have
    • Could Have
    • Won’t Have (this time)
    • MVP (Minimal Viable Product) approach
    • Specification documents
    • “Product Spec”
    • “App should have a
    listing of manuscripts”
    • ”Functional Spec”
    • ”App will save a
    manuscript using
    fields for: Title (120
    characters), Latitude
    (decimal; 6 places),
    Category (from list)

    View Slide

  24. Requirements
    • What are we trying to do?
    • Why do we want to do that?
    • Who’s going to use it, and how?
    • Break it into individual requirements
    • Does each part add value? How?
    • Which can be removed / held for later versions?
    • Rank them (e.g MoSCoW) – which requirements are:
    • Must have
    • Should have
    • Could have
    • Won’t have (this time)
    • MVP approach
    • Identify deadlines & any other known constraints
    • Is there a launch date
    /event already planned?
    • Technical / financial /
    external stakeholder
    constraints?

    View Slide

  25. University
    ofGalway.ie
    Data

    View Slide

  26. View Slide

  27. Lessons
    Data cleaning takes a lot of time,
    particularly if there isn’t any up-front
    planning
    Figure out your data management plan
    before any data collection takes place
    Define the categories required early
    Working with different character encodings is difficult.
    Understanding the data
    you’re working with, and
    its structure, is important.
    Talk to someone
    comfortable with data
    modelling before you
    start collecting your data

    View Slide

  28. University
    ofGalway.ie
    Design
    User Experience (UX) Design /
    User Interface (UI) Design /
    Visual Design

    View Slide

  29. Stages
    Paper
    Low fidelity wireframes
    Functional prototyping
    Visual design
    • HTML / CSS / JavaScript
    • Figma / Balsamiq
    • Figma / Sketch / Affinity
    Designer / Adobe Illustrator
    1. use real data
    2. involve users
    3. iterate
    You should:

    View Slide

  30. View Slide

  31. View Slide

  32. …test with
    users

    View Slide

  33. View Slide

  34. View Slide

  35. …test with
    users

    View Slide

  36. View Slide

  37. View Slide

  38. …test with
    users

    View Slide

  39. Extra Small Screen (Phone) Small Screen (Tablet) Large Screen (PC)

    View Slide

  40. View Slide

  41. View Slide

  42. University
    ofGalway.ie
    Development

    View Slide

  43. Deciding Technical Architecture
    Driven by requirements
    …and skills
    …and resources
    …and time
    …and performance
    …and infrastructure
    …and security
    …and…
    Web Server
    Web Browser
    Externally
    Hosted
    Libraries
    Data
    API
    DB

    View Slide

  44. https://github.com/kamranahmedse/developer-roadmap

    View Slide

  45. https://github.com/kamranahmedse/developer-roadmap
    UX Designer Roadmap Frontend Developer Roadmap Backend Developer Roadmap

    View Slide

  46. University
    ofGalway.ie
    Server Side / Back-end
    • Data Storage
    • Database: MySQL
    • File Storage: Server & Amazon Web Services S3
    • Web Application: PHP (Laravel Framework)
    • Includes RESTful API
    • Testing: PHPUnit
    • Package Manager: Composer
    • Web Server Infrastructure
    • Error Reporting: Sentry (https://sentry.io )
    • Email: MailGun (https://mailgun.com )
    • Analytics: Google Analytics
    External Services
    Front-end
    • HTML
    • CSS
    • CSS Preprocessor: LESS
    • Framework: Bootstrap (https://getbootstrap.com)
    • JavaScript
    • Underscore.js: Utilities for data manipulation
    • Leaflet.js: Mapping
    • Handlebars.js: Templating
    • Bootstrap.js: UI components
    • Highcharts.js: Charts
    • Sortable.js: Table sorting
    • Build & Dependency Management
    • Grunt.js: Task runner / build tool
    • NPM / Bower.io: Package manager
    ELMSS: Technologies Used
    Management
    • Code versioning & Issue tracking: BitBucket (Git)
    • Task Tracking: Asana

    View Slide

  47. Storing the Data
    • Data Modelling
    • What do we want to store
    • What data types do we have
    • How are the Entities related
    to each other?
    • In this case, the database
    schema is created via the web
    application

    View Slide

  48. How else might the
    data be used?

    View Slide

  49. Ajith Sreekumar – MSc Data Analytics Dissertation (2018)
    Supervisors: Matthias Nickles (IT), David Kelly (Moore Institute)

    View Slide

  50. University
    ofGalway.ie
    Evaluation

    View Slide

  51. Evaluation perspectives
    • Does this piece of code function as expected?
    • Does this piece of the system work as expected?
    • Has requirement number XX been met?
    • Does the UI work as expected across all required
    browsers, devices and operating systems?
    • Can our users accomplish specific tasks with this
    feature?
    • How can this feature be improved?
    Unit testing
    Functional testing /
    Integration testing
    Integration testing /
    Acceptance testing
    Acceptance testing /
    Usability Testing

    View Slide

  52. Pre-launch / New features
    On-going
    • Usage
    • Behaviour
    • Google Analytics
    • Mixpanel, Kiss Metrics
    • Pilot group
    • User testing

    View Slide

  53. Where do users come from?
    • How do you keep them coming
    back?
    Who is going to maintain the…
    • Research content
    • Software
    • Hardware
    Long term preservation?
    So, you’ve built it…

    View Slide

  54. University
    ofGalway.ie
    Thank you
    mooreinstitute.ie/digital-lab
    [email protected]

    View Slide