The moricons.dll
file in Windows contains icons originally designed for Microsoft's abandoned "Cairo" operating system project. These icons weren't repurposed from existing applications but were newly created for Cairo's planned object-oriented filesystem and its associated utilities. While some icons depict generic concepts like folders and documents, others represent specific functionalities like object linking and embedding, security features, and mail messaging within the Cairo environment. Ultimately, since Cairo never shipped, these icons found a home in various dialogs and system tools within Windows 95 and later, often used as placeholders or for functionalities not explicitly designed for.
Raymond Chen's blog post, "What were the MS-DOS programs that the moricons.dll
icons were intended for?", delves into the historical mystery surrounding a set of 16x16 pixel icons found within the moricons.dll
file, a component of older versions of Windows. These icons, depicting various graphical elements like scissors, a pencil, an airbrush, and musical notes, never seemed to appear anywhere in the Windows user interface, prompting the question of their intended purpose.
Chen's investigation begins by acknowledging the community speculation that these icons were potentially destined for an unreleased or abandoned project. He explains that Windows 95 and its contemporaries allowed MS-DOS programs to specify custom icons within their program executable files. However, a common challenge was the limited disk space available on floppy disks, the primary distribution medium for software at the time. Including many icons, especially color icons, could significantly increase the size of a program's executable, making distribution on floppy disks more difficult.
To address this, Microsoft developed the concept of shared icon libraries. These libraries, like moricons.dll
, would store collections of icons that MS-DOS programs could reference, thus avoiding the need to embed the icons directly within their executables. An MS-DOS program could then specify the desired icon by referencing its index within the shared library, keeping the program's size smaller.
Chen highlights how the Windows 95 resource compiler, the tool used to create program resources like icons, facilitated this process. Developers could define an icon resource and point it to the shared library, specifying the icon's index within the library. This mechanism enabled MS-DOS programs to utilize visually rich icons while minimizing their footprint.
However, the mystery of the unused moricons.dll
icons deepens with the realization that the icons appear to be specifically designed for multimedia applications, a domain not typically associated with MS-DOS programs. Chen postulates that these icons were likely created in anticipation of, or perhaps in conjunction with, a multimedia-focused extension or shell for MS-DOS. This hypothetical extension might have leveraged these icons to provide a more graphical interface for interacting with multimedia content under MS-DOS.
Despite the lack of concrete evidence, the blog post concludes that the most plausible explanation is that these icons were indeed intended for such a multimedia extension or shell for MS-DOS. While the exact nature and fate of this potential project remain unknown, the icons serve as a tantalizing glimpse into a possible, yet unrealized, direction for the evolution of the MS-DOS environment. They stand as a testament to the rapidly changing technological landscape of the time and the various paths explored by Microsoft in the early days of Windows.
Summary of Comments ( 61 )
https://news.ycombinator.com/item?id=43971616
Hacker News users discuss the mystery surrounding the unused icons in
moricons.dll
, speculating about their purpose and the development process at Microsoft. Some suggest the icons were placeholders for future features or remnants of abandoned projects, possibly related to Cairo or object linking and embedding (OLE). One commenter links to a blog post claiming the icons were for a "Mac-on-DOS" environment called "Cougar," intended to make porting Macintosh software easier. Other comments focus on the general software development practice of leaving unused resources in code, attributing it to factors like time constraints, changing priorities, or simply forgetting to remove them. A few users recall encountering similar unused resources in other software, highlighting the commonality of this phenomenon.The Hacker News post "What were the MS-DOS programs that the
moricons.dll
icons were intended for?" generated a moderate amount of discussion, with several commenters providing insights and speculation.One of the most compelling threads revolved around the purpose of these icons and why they seemed somewhat out of place for MS-DOS programs. Several commenters suggested that these icons were likely intended for a hypothetical or planned GUI environment for MS-DOS, which never fully materialized. They pointed to other similar initiatives from Microsoft around that time, like the short-lived "DOS Shell," as evidence that Microsoft was exploring graphical interfaces even before Windows 3.0 gained widespread adoption. This theory was supported by the more modern and detailed appearance of the icons compared to the simpler, character-based graphics typical of MS-DOS applications.
One commenter specifically hypothesized that the icons might have been intended for a "Windows-like" file manager for MS-DOS, perhaps even a precursor to the later Windows File Manager. This idea resonated with others, who noted the resemblance of some icons to later Windows icons.
Another user posited that these icons might have been utilized within the "MS-DOS Editor," suggesting they could have represented different file types or actions within the editor itself. However, this theory didn't gain much traction, with no other users confirming seeing icons in this context.
A few commenters focused on the technical aspects, discussing the format of the icons and the tools used to extract them. They mentioned the resource hacker utility and the internal structure of DLL files. This discussion, while technical, offered insight into how these icons were discovered and examined.
Finally, some comments simply expressed appreciation for the historical curiosity of the topic, enjoying the glimpse into a potential alternative path in the evolution of personal computing. They reflected on the rapid pace of technological change during that era and how these seemingly forgotten artifacts can offer fascinating glimpses into what might have been.
While there wasn't a definitive answer regarding the intended use of the
moricons.dll
icons, the prevailing theory pointed towards a planned, but ultimately abandoned, graphical interface for MS-DOS. The comments collectively offered a blend of technical analysis, historical context, and informed speculation, painting a picture of Microsoft's experimentation in the transition from the command-line world of MS-DOS to the graphical world of Windows.