With the amount of data and content in the world, finding ways to store or archive the information to stay organized properly is essential. This guide will discuss the options for archiving information, possible issues, and accessibility considerations.
Operating systems, programs, software plug-ins and applications have short lifespans relative to the speed at which website, program or software development occurs. A proprietary file format or web page design linked to a specific system or browser may result in issues if hardware or software support is discontinued unless the hardware, software, and programs required to access and manipulate information are guaranteed to remain widely available.
Common questions to think about when archiving information to preserve a copy and make it accessible:
- Can an alternative format (transcript, audio, descriptive audio format) be provided or developed?
- Does an alternate format require other programs to open the file or file format? Are these programs widely available?
- Are the programs themselves accessible?
- Have copies of the information been made? Are they easy to access?
- What standard would be the most applicable to ensure the information can be accessed?
- Can copies be made to preserve the information?
- If the information is located on a physical object, how much can the object be handled?
- How easy would it be to lose information from damage or degradation?
- If this information is on a website, will vital information disappear if a component is removed or unavailable? How can access to that information component be preserved?
Solutions to mitigate issues related to legacy programs for archiving information or a program include providing multiple formats, compatibility layers, migration, virtualization, emulation and running a dedicated system with legacy hardware. Each approach has potential benefits and issues.
Depending on the program, file or website, multiple files, documents, images, movies or plug-in contents may be present on a website.
- When preserving a website, make sure all aspects render correctly.
- If there are proprietary file formats used, is a viewer available?
- Can the viewer for the file format be used on modern software or hardware?
- What data is lost in a conversion process?
Example: Printing to PDF may only maintain the image of text and images, not the underlying text data needed for accessibility. Converting to PDF may preserve editing and form filling capability, metadata, fonts, images and text.
- What steps can be taken to preserve all data?
- Printing copies of a file (Printer or PDF Printing)
- Saving a file in a different or newer format using a program or converter.
- Saving a file in an open format for archival purposes.
- Capturing video or audio and saving the digital file through a capture device.
- Saving a website to the Wayback Machine or another service.
A compatibility program may convert or allow an older document or web page to be displayed in a newer program. Information or components of a document may need to be displayed correctly. This approach may be best for initially migrating data to another program or service.
- Manual intervention may be required to fix errors as information is migrated.
- A compatibility layer may also be the best approach to incorporate alternate descriptions or machine readable text/information to make a file or program accessible.
- Compatibility layers can be developed to interface with newer devices. Make sure these layers are accessible as well.
- Migrating to a newer format or program may change the overall experience, especially for a re-release.
- Security issues are more likely to be patched or fixed when migrating as older issues may have been patched.
- Using a Compatibility Mode to run a program.
- Batch migration and conversion of a file format.
- Use of Optical Character Recognition on a file to convert typed or written text into a machine recognizable format.
- Developing a text overlay or transcript for a file or piece of media.
- Re-release of an older program or file in a new format – (Example: Flash Game to HTML5 game re-release)
Virtualization uses resources from a host server or computer to run another guest system. Emulation may require software running on a host system to mimic obsolete hardware and can be slower. Both methods require a host operating system or server. There are limits and possible issues with virtualizing or emulating a system. More recent operating system releases will support virtualization as a host and guest. Older software may still be vulnerable to exploits and security breaches, even though a system can be isolated. Utilizing virtualization or emulation limits the possible spread of malicious software from a guest to a host system. It allows for easy removal and backup of an archive of the program and ancillary software and operating system since the operating system is stored as a file archive.
- Virtual machines can be used to run many operating systems or programs, not just for legacy uses.
- Full hardware and software support may not be available.
- Virtual Machine Programs can turn off or limit internet or network access to a guest system to provide security. This is done by not assigning a virtual network adapter.
- Isolation may not allow data to migrate to a newer system as easily since the system is given a separate, isolated space to operate in. File transfer can be possible in some cases.
- Isolation allows older information or programs to run in place while running on present-day hardware.
- Emulators may be unable to guarantee accessibility and accessibility programs running on the host system may have limited emulator or virtual machine access.
Internet plug-in emulators run website code and original plug-in calls. The limits apply to virtual machines and emulators since accessibility software may be unable to read or interpret code or information held within an emulator. The use of an emulator does not necessarily guarantee accessibility.
Running a full operating system, programs, devices or any combination in any of these programs or similar types of programs:
- VirtualBox – Suitable for system virtualization, guest additions for supported systems to enable file transfer and physical device access through port redirection are available.
- QEMU – Emulator for various systems
- KVM – Kernel Virtual Machine – provides components to run virtualized system instances on a Linux Desktop or Server install
- Ruffle – Emulates Flash plug-in
- Flashpoint – Emulates Flash plug-in
- DOSBox – Emulates a DOS installation to run DOS programs.
Maintaining a legacy system provides a full experience. This approach requires physical hardware. Finding repair parts may be more expensive as hardware becomes obsolete and rarer when the production of a part ceases. An older system or hardware device may require compatibility patches or physical converters to connect to other systems. Legacy, unsupported hardware can be vulnerable to outside security breaches and attacks unless wholly disconnected from the internet or external storage devices (air gap). This may be the least accessible and most expensive choice since newer accessibility hardware or devices may not work with an older device or a newer system. This approach also limits connectivity and data sharing. For preserving access or an experience, this may be the best way to proceed.
- Using an older computer or device and isolating or disconnecting from the network.
- Using a converter or adapter to run an older device on newer hardware. (Common adapters include USB to the serial port or USB to joystick port adapters)
Anything hosted on a website, including programs, website forms, documents or web page content, could become obsolete or not correctly accessed as web standards, hardware, operating systems and content evolve and support for a standard ends. Methods of maintaining access to older web pages and software vary based on the use case and the desired result. Older files may rely on a program to access the contained information and can be replaced with a newer alternative if needed. Other software or hardware may require emulation or virtualization to run on newer hardware. The availability of accessibility features can vary widely depending on the compatibility approach taken to preserve access.