We’re a year in to the program of work funded by the Andrew W. Mellon and Alfred P. Sloan foundations to scale access to emulation and software preservation infrastructure and significant progress has been made. I’m going to use my inaugural post to discuss progress made so far and tease some more information about our vision for the future of EaaSI.
Emulation as a Service (EaaS) had been developed by a team at the University of Freiburg and was in use in a few organizations around the globe.
EaaS helps users overcome a few barriers to accessing emulation as a useable technology:
It supplies the right emulator versions
EaaS provides emulators that are in the sweet-spot of stability and usability for the particular hardware being emulated.
It pre-configures the emulators for you
EaaS contains preconfigured emulators for various standard operating systems (such as Windows 98, Mac OS 7, Windows 3.11, MS-DOS, Ubuntu 4.10). This saves users from having to figure out what hardware settings to use.
It enables access to emulators and emulated computing environments via a web-browser based interface
Once EaaS is installed on a server by an emulator all the staff-administrator needs to be able to use it is a web browser.
It enables seamless creation of derivative environments
Users can generate derivative environments from existing computing environments with the click of a button. EaaS saves storage space when creating derivative environments by linking the derivative to the original and only storing what has changed.
It makes it simple to add and remove features for end users of emulated computing environments
You can turn the internet on and off for emulated environments and you can turn printing to PDF on and off for emulated environments.
It makes working with software from different countries easier by enabling users to choose the keyboard layout and language through the configuration UI:
EaaSI’s Approach to Key Challenges
When we began work on the EaaSI project, all of these features were in nascent form thanks to the hard work of the OpenSLX, the team of developers spun-out from the bwFLA team at the University of Freiburg to provide commercial support and development for the EaaS product.
While EaaS is a robust and reliable application, there remain a few barriers preventing many practitioners from working with emulation to access, stabilize, and reuse their legacy content. The EaaSI program of work started in 2018 to address and remove these barriers. In particular:
Challenge 1: Legacy software is hard to find
EaaSI Approach: We’re connecting instances of EaaS into the EaaSI Network so they can share assets between them including software installation media and pre-configured software environments. These media and environments can be cloned locally or run from a remote EaaSI node with the click of a button.
Challenge 2: Legacy software takes time and effort to configure and install
EaaSI Approach: We’ve acquired a large collection of legacy software titles and are acquiring more through donations and purchases to seed the network with their installation media. We’re seeding the EaaSI network with thousands of pre-configured software environments with applications already installed in them so users can just add their content and seamlessly interact with it in the “original” software.
Challenge 3: Metadata standards for documenting software and configured software environments don’t exist in a usable form
EaaSI Approach: We’re creating metadata and cataloguing standards for documenting software, configured software environments and the hardware that can emulate them.
Challenge 4: Cataloguing tools for documenting software and configured environments sufficiently for automated use in emulators are non-existent
EaaSI Approach: We’re creating cataloging tools and documenting all of our software and pre-configured software environments using these standards and contributing much of that documentation back to the wider linked open data community through the open https://www.wikidata.org knowledge base.
Challenge 5: Making content available via emulation to the right users and securing it from others is difficult
EaaSI Approach: We’re enabling secure access to emulated software environments and enabling fine-grained control over who can access what environments.
Challenge 6: Doing this all in a financially sustainable manner is crucial to it’s long term success
EaaSI Approach: We’re working with Educopia Institute to identify and plan for one or more sustainable business models to support the EaaSI network and EaaSI services over the long term.
After a six month planning period, work towards these goals began in July 2018. How far along are we?
- We’ve established an amazing team spread through four different time zones.
- We’ve (thanks to our wonderfully organized program manager Seth Anderson!) established project management processes and implemented project management software to support our work.
- We’re using Gitlab issues to track work and store our code
- We’re using Realtimeboard and Lucidchart to collaborate on planning and brainstorming designs
- We keep in touch on project issues and related topics using Slack and Zoom
- We write papers in many tools (Google Drive, Overleaf, Emacs, Microsoft Word).
- We’ve processed all the paperwork through the Yale financial and HR systems that is required to work with three different vendors (Educopia, DataCurrent, and OpenSLX).
- We’ve installed and configured 4 physical servers and 2 virtual servers at Yale to support EaaSI development and implementation.
- Our Community Outreach & Communications Lead, Jessica Meyerson of Educopia Institute and Software Preservation Network, has collaborated with former students of WKRM to develop a brand identity and web presence for the EaaSI program.
- We’ve configured and installed an EaaSI node in the Amazon and Google cloud services to enable testing and documentation development.
- We have designed a metadata model to support the capture and querying of the extensive metadata we are creating and to support automation services.
- Tens of thousands of new item records about software, hardware, file formats, and emulators have been stewarded into Wikidata by Katherine Thornton our Semantic Architect from DataCurrent
- We’ve created alpha versions of METS based standards for sharing information about media and environments available in the EaaSI network
- The team at OpenSLX have implemented OAI PMH interfaces for each EaaS node in the EaaSI Network that enable the nodes to selectively “publish” environments to the Network and for each node to harvest metadata about what is in the other nodes.Administrators can selectively clone and reuse content from the other nodes in the Network.
- We’ve prepared thousands of software titles to be configured by our team of students working in the Library here at Yale.
- Using Auth0 for enabling authentication, the OpenSLX team have implemented login features and functionality to enable environments to be made private to different contexts (user, EaaSI network, etc).
- The OpenSLX team have encapsulated the emulators themselves in containers so they can be easily imported and versioned to support long term use and to enable the ability to use a particular version of an emulator with a particular software environment as is sometime necessary.
- We’ve conducted extensive research into software documentation, legacy software and emulation
- We’ve presented at numerous conferences to raise awareness of and share outputs from our work
- We’ve developed use cases and user stories for the user interface work to follow!
Making it even EaaSIer!
On deck for the next year is work to make this all much more attractive and user-friendly. Most pressing right now is further development of our cataloguing and discovery user Interfaces (UIs), where working to enable users to be able to browse the contents of the system via facets such as date range, publisher, function/category, formats supported, etc, and to navigate workflows relevant to their particular context. And what is really exciting us is the work we have planned to develop and implement user interfaces for services that will run on top of the EaaSI network of shared configured software environments. These are the services that will justify all the behind the scenes work involved expanding EaaS and through which end users (researchers, the public etc) will see the value of software preservation and emulation work.Future services include:
- A Universal Virtual Interactor
- CD-ROM Emulation Access (CD-RE Access) service for re-enabling access to legacy CD-ROMs from libraries’ general collections
- Reproducibility services for software dependent science so scientists, librarians, and research support staff can ensure that software dependencies of their scientific workflows are preserved to ensure their workflows can be re-executed in the future. These include:
- Dependency preservation confirmation and request service to enable users to check if a particular application is available in the EaaSI network (even if they are not a member). This enables them to trust that their software dependent content could be reused by working with an EaaSI node in the future.
- A scientific workflow stabilization service to stabilize and encapsulate code, software and data into a software environment where it is validated for re-execution and given a permanent citable URL.
- A virtual machine and container stabilization service that enables import of either existing virtual machines or containers so they run within the stabilized emulated hardware available in the EaaSI network nodes.
- A virtual reading room service where:
- Archives can provide controlled, secure, access to restricted digital content to end-users via a web browser.
- Access can be restricted to different network contexts
- Reading room
- Organizational network
- Public internet
- End users can be assigned their “own” environments with content attached to them (E.g. pst files, CAD files, music scores, etc) and can return to their environments over time and make changes without the “originals” being affected. At the end of their research their custom environments can be appraised by staff for disposal.
- PDF print-outs from within the emulated software environments can be optionally disabled or intercepted for review by staff.
- Example environments available may include:
- Windows 10 with QuickViewPlus
- Windows 98 with Office 97, Corel Office v.x, Photoshop v.x, AutoCAD v.x
- Mac OS x 10.2 with Final Cut Pro v.xx
- Ubuntu 18.04 with ePadd
- Windows XP with Office 2003 including Outlook 2003 for browsing emails and their attachments in context. e.g.
- Windows 98 with Eudora v.x
- Windows XP with Sibelius v.x e.g.
With so much ahead we’re all very excited about the next year and look forward to working with the software preservation community to make everyone’s work a lot EaaSIer!