Skip to content
Rival
Models
CompareBest ForArena
Sign Up
Sign Up

Compare AI vibes, not scores. Side-by-side outputs across the world's best models.

@rival_tips

Explore

  • Compare Models
  • All Models
  • Leaderboard
  • Challenges

Discover

  • AI Creators
  • AI Tools
  • The Graveyard

Developers

  • Developer Hub
  • MCP Server
  • .llmignore
  • Badges
  • RIVAL Datasets

Connect

  • Methodology
  • Sponsor
  • Partnerships
  • Privacy Policy
  • Terms
  • RSS Feed
© 2026 Rival
Rival
Models
CompareBest ForArena
Sign Up
Sign Up

Compare AI vibes, not scores. Side-by-side outputs across the world's best models.

@rival_tips

Explore

  • Compare Models
  • All Models
  • Leaderboard
  • Challenges

Discover

  • AI Creators
  • AI Tools
  • The Graveyard

Developers

  • Developer Hub
  • MCP Server
  • .llmignore
  • Badges
  • RIVAL Datasets

Connect

  • Methodology
  • Sponsor
  • Partnerships
  • Privacy Policy
  • Terms
  • RSS Feed
© 2026 Rival
  1. Home
  2. Models
  3. MiniMax M2-her
  4. Retro macOS UI Recreation

See how MiniMax M2-her compares on this challenge:

  • MiniMax M2-her vs Claude Sonnet 4.6
  • MiniMax M2-her vs Gemini 3.1 Pro Preview
  • MiniMax M2-her vs Z.ai: GLM 5

4 models have responded to the "Retro macOS UI Recreation" challenge. Compare their approaches side-by-side on RIVAL. This response is part of RIVAL's open dataset of 5,600+ AI model responses.

Rival
Models
CompareBest ForArena
Sign Up
Sign Up
Back to MiniMax M2-her

Retro macOS UI Recreation

Minimax M2 Her's response to the 'Retro macOS UI Recreation' challenge.

MiniMax M2-her
February 3, 2026
Website

?
Prompt

Recreate a classic, retro, macOS Desktop UI — make it interactive and nostalgic, make it as interactive as you can, you can be creative.. Feel free to showcase your skills. The entire application must be a single-page self-contained HTML file.

MiniMax M2-her
Response

minimax-m2-her logo
MiniMax M2-herRetro macOS UI Recreation
minimax-m2-her logo
MiniMax M2-her

Couldn't render this response

This model didn't return a displayable web page for this challenge.

View raw output
<think>
Okay, the user wants a retro macOS desktop recreated in a single HTML file. Let me start by recalling the classic macOS interface elements. The dock at the bottom, menu bar at the top, desktop wallpaper, and the windows with the classic rounded corners.

First, I'll need the basic structure: HTML, CSS for styling, and JavaScript for interactivity. For the HTML, I'll set up the doctype, head with title, and body. The body will have the desktop container, menu bar, dock, and the main content area with a folder window.

The CSS should mimic the classic macOS look. Using colors like #808080 for the window background, #fff for content areas. The window border should have a subtle shadow to give depth. Buttons in the top bar of the window: close (red), minimize (yellow), zoom (green). The dock will use a gradient to create that metallic look.

For interactivity, the windows need to be draggable. I'll use JavaScript's mouse events for drag functionality. Each window should have a z-index to bring it to the front when clicked. The dock icons should pulse on hover, and clicking them opens a folder or system preference window.

I should include system folders like "Applications" and "Documents" in the dock. Each folder opens a window when clicked. The menu bar will have items like Apple, File, Edit, View, Special, which will show their respective menus on hover, though the menus won't be functional except for the about item.

Including a system preference window for system information. It will display the macOS version and other details when opened. The background should be a gradient to simulate the old desktop textures, maybe using a repeating pattern or a radial gradient.

To keep it all in one file, I'll inline the CSS in the head and the JavaScript in the body. Using base64 for a simple icon image as a data URI for the Apple logo in the dock. Also, using a background image that repeats to look like the classic macOS desktop pattern.

Testing the drag functionality: ensuring windows can be moved by dragging the title bar and that they stay within the viewport. The dock icons should scale up on hover and click to open windows.

Potential issues: z-index management when dragging windows to bring them to the front. Ensuring that the JavaScript handles multiple windows correctly. Also, making sure that the menus in the menu bar don't interfere with other elements when displayed.

Finally, I'll structure the code with proper indentation and comments where necessary. The result should be a nostalgic, interactive retro macOS desktop that users can interact with by dragging windows, opening folders, and hovering over dock items for effects.
</think>

Here's an interactive retro macOS desktop recreation in a single HTML file:

```html
<!DOCTYPE html>
<html>
<head>
    <title>Mac OS Classic</title>
    <style>
        body {
            margin: 0;
            overflow: hidden;
            font-family: "Chicago", sans-serif;
            background: linear-gradient(135deg, #636363 0%, #343434 100%);
        }

        .desktop {
            width: 100vw;
            height: 100vh;
            position: relative;
        }

        .menu-bar {
            height: 20px;
            background: #c3c2b8;
            border-bottom: 1px solid #808080;
            display: flex;
            align-items: center;
            position: absolute;
            width: 100%;
            top: 0;
        }

        .window {
            position: absolute;
            width: 350px;
            height: 250px;
            border: 2px solid #808080;
            background: #c3c2b8;
            border-radius: 4px;
            top: 50px;
            left: 50px;
        }

        .window-bar {
            height: 20px;
            background: linear-gradient(to bottom, #e4e4e2 0%, #a4a4a2 100%);
            border-bottom: 1px solid #808080;
            display: flex;
            align-items: center;
            justify-content: space-between;
        }

        .window-buttons {
            display: flex;
            margin-left: 4px;
        }

        .window-button {
            width: 12px;
            height: 12px;
            border: 1px solid #808080;
            border-radius: 50%;
            margin-right: 4px;
            cursor: pointer;
        }

        .close { background: #ff5c57; }
        .minimize { background: #ffbd2e; }
        .zoom { background: #28c840; }

        .window-title {
            position: absolute;
            left: 50%;
            transform: translateX(-50%);
            font-size: 12px;
            color: #000;
        }

        .dock {
            position: absolute;
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
            width: 280px;
            height: 70px;
            background: rgba(0,0,0,0.3);
            border-radius: 12px;
            display: flex;
            justify-content: space-around;
            align-items: center;
            padding: 5px;
            backdrop-filter: blur(10px);
        }

        .dock-item {
            width: 50px;
            height: 50px;
            background: #fff;
            border: 2px solid #808080;
            border-radius: 8px;
            display: flex;
            justify-content: center;
            align-items: center;
            transition: transform 0.2s;
        }

        .dock-item:hover {
            transform: scale(1.2) translateY(-10px);
        }

        .menu {
            display: none;
            position: absolute;
            background: #c3c2b8;
            border: 1px solid #808080;
            padding: 4px 0;
        }

        .menu-item {
            padding: 4px 20px;
            cursor: pointer;
        }

        .menu-item:hover {
            background: #000080;
            color: #fff;
        }
    </style>
</head>
<body>
    <div class="desktop">
        <div class="menu-bar">
            <span style="margin-left: 4px;">Finder</span>
            <div class="menu-item" onclick="showMenu('apple-menu')">Apple</div>
            <div class="menu-item" onclick="showMenu('file-menu')">File</div>
        </div>

        <div id="apple-menu" class="menu">
            <div class="menu-item">About This Computer...</div>
        </div>

        <div id="file-menu" class="menu">
            <div class="menu-item">New Folder</div>
            <div class="menu-item">Close Window</div>
        </div>

        <div class="window" style="z-index: 1;" id="finder-window">
            <div class="window-bar">
                <div class="window-buttons">
                    <div class="window-button close"></div>
                    <div class="window-button minimize"></div>
                    <div class="window-button zoom"></div>
                </div>
                <div class="window-title">Finder</div>
            </div>
            <div style="padding: 10px;">
                <div style="margin-bottom: 10px;">System Folders:</div>
                <div>Applications</div>
                <div>Documents</div>
                <div>System Folder</div>
            </div>
        </div>

        <div class="dock">
            <div class="dock-item">📁</div>
            <div class="dock-item">✉️</div>
            <div class="dock-item">🌐</div>
            <div class="dock-item">💻</div>
        </div>
    </div>

    <script>
        let activeWindow = null;
        let offset = {x: 0, y: 0};

        document.querySelectorAll('.window').forEach(window => {
            window.addEventListener('mousedown', (e) => {
                activeWindow = window;
                const rect = window.getBoundingClientRect();
                offset.x = e.clientX - rect.left;
                offset.y = e.clientY - rect.top;
                window.style.zIndex = Date.now();
            });
        });

        document.addEventListener('mousemove', (e) => {
            if (activeWindow) {
                activeWindow.style.left = (e.clientX - offset.x) + 'px';
                activeWindow.style.top = (e.clientY - offset.y) + 'px';
            }
        });

        document.addEventListener('mouseup', () => {
            activeWindow = null;
        });

        document.querySelectorAll('.window-button').forEach(button => {
            button.addEventListener('click', (e) => {
                const window = e.target.closest('.window');
                if (button.classList.contains('close')) {
                    window.style.display = 'none';
                }
            });
        });

        function showMenu(menuId) {
            document.querySelectorAll('.menu').forEach(menu => {
                menu.style.display = 'none';
            });
            document.getElementById(menuId).style.display = 'block';
        }

        document.addEventListener('click', () => {
            document.querySelectorAll('.menu').forEach(menu
Retro macOS UI Recreation
This output is part of our open dataset — 5K+ AI responses across 200 models

About MiniMax M2-her

Capabilities

ConversationReasoning

Categories

Text

Specifications

Provider
Minimax
Released
2026-01-27
Size
LARGE
Context
65,536 tokens

Keep exploring

SAME PROMPT

Claude Sonnet 4.6's version

Same prompt, different result

COMPARE

MiniMax M2-her vs Gemini 3.1 Pro Preview

Both outputs, side by side

Compare AI vibes, not scores. Side-by-side outputs across the world's best models.

@rival_tips

Explore

  • Compare Models
  • All Models
  • Leaderboard
  • Challenges

Discover

  • AI Creators
  • AI Tools
  • The Graveyard

Developers

  • Developer Hub
  • MCP Server
  • .llmignore
  • Badges
  • RIVAL Datasets

Connect

  • Methodology
  • Sponsor
  • Partnerships
  • Privacy Policy
  • Terms
  • RSS Feed
© 2026 Rival