← Back to gallery
Next poster

Project walkthrough

Next

Explore the concept, hints, and starter code for this Nic Cage inspired build.

Project Title: “Future Vision: Screen Capture Insights with ‘Next’”

Description:

In this project, we merge the thrilling and predictive elements of Nicolas Cage’s 2007 film Next with the capabilities of the Screen Capture API. Next follows Cris Johnson, a man with the ability to see two minutes into the future. Similarly, this project will enable users to capture and analyze their screen activities, providing insights and predictions based on the captured data.

Features:

  1. Screen Capture: Use the Screen Capture API to allow users to capture their screen activity.
  2. Real-Time Analysis: Implement real-time analysis of the captured screen data to provide insights and predictive suggestions.
  3. User-Friendly Interface: Create an intuitive interface where users can start and stop screen capture, view captured data, and receive insights.

Starting Code:

Beginner Hints:

  • Create a single index.html file.
  • Copy the full HTML code block into that file.
  • Open index.html in your browser. If something doesn’t work, try a local server like python -m http.server.
  • Open DevTools Console to spot errors and typos quickly.

Here’s a basic setup to get you started. This includes the initial HTML, CSS, and JavaScript to integrate the Screen Capture API and create a simple screen capture application.

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Future Vision</title>
<style>
    body {
        font-family: Arial, sans-serif;
        background-color: #f0f0f0;
        color: #333;
        text-align: center;
        padding: 20px;
    }

    h1 {
        color: #d9534f;
    }

    button {
        background-color: #d9534f;
        color: white;
        border: none;
        padding: 10px 20px;
        font-size: 16px;
        cursor: pointer;
        margin: 5px;
    }

    #screenVideo {
        margin-top: 20px;
        border: 1px solid #ccc;
        width: 80%;
        height: auto;
    }
</style>
</head>
<body>
    <h1>Future Vision</h1>
    <p>See your screen activity and get insights in real time!</p>
    <button id="startBtn">Start Screen Capture</button>
    <button id="stopBtn" disabled>Stop Screen Capture</button>
    <div id="status"></div>
    <video id="screenVideo" autoplay></video>
<script>
    let mediaStream = null;

    document.getElementById('startBtn').addEventListener('click', async () => {
        try {
            mediaStream = await navigator.mediaDevices.getDisplayMedia({ video: true });
            const video = document.getElementById('screenVideo');
            video.srcObject = mediaStream;
            document.getElementById('status').innerText = 'Screen capture started';
            document.getElementById('startBtn').disabled = true;
            document.getElementById('stopBtn').disabled = false;
        } catch (err) {
            console.error('Error: ' + err);
            document.getElementById('status').innerText = 'Error starting screen capture';
        }
    });

    document.getElementById('stopBtn').addEventListener('click', () => {
        if (mediaStream) {
            const tracks = mediaStream.getTracks();
            tracks.forEach(track => track.stop());
            document.getElementById('screenVideo').srcObject = null;
            document.getElementById('status').innerText = 'Screen capture stopped';
            document.getElementById('startBtn').disabled = false;
            document.getElementById('stopBtn').disabled = true;
        }
    });
</script>
</body>
</html>

References:

Praise Cage! Dive into this coding adventure and create an application that captures and analyzes screen activities, providing users with real-time insights and predictive suggestions inspired by the movie Next.