Project ideas from Hacker News discussions.

Shipping JPEG XL in Chrome

📝 Discussion Summary (Click to expand)

1. Safety/security drove the removal and Rust‑based re‑implementation
- “Probably why Google implemented their own decoder in Rust” – dncornholio
- “Removed because having yet another giant C codec was a huge risk, re‑added because the PDF Association chose JXL as their next image format” – alwillis

2. JPEG XL vs. AVIF/WebP – trade‑offs in quality and compression
- “I tried compressing conference proceedings into thumbnails with tiny file size and for this purpose I found that JPEGXL is far better than AVIF” – gcr
- “AVIF cannot compete with JPEG XL for high‑quality photographs” – adrian_b
- “AVIF is still better at 1 bit per pixel and less. (JPEGXL is more efficient at more than that.)” – spider‑mario

3. Growing ecosystem support (browsers, OSes, PDF, cameras)
- “It's exciting to see JXL support being re‑added in Chrome after being removed a while ago” – xx_ns
- “iPhones have supported it for 3 years” – arthur‑st
- “Apple added JPEG XL support for macOS, iOS, iPadOS, and watchOS in September 2023” – alwillis
- “The PDF Association chose JXL as their next image format … anyone rendering PDFs (including browsers) is now required to have it” – crote

4. Internal politics/business decisions behind Google’s flip‑flop
- “Removed because no one from Google benefits from supporting it then. Re‑added because someone could get a promotion by supporting it now.” – est
- “There were obviously some internal politics going on—Google joined the Alliance for Open Media… Google apparently wanted to be one of the ‘cool kids’ supporting AVIF.” – alwillis
- “Such ‘tough choices’ … are usually driven by demand from internal stakeholders or corp strategy not exceeding budget/head‑count constraints.” – mrandish


🚀 Project Ideas

Generating project ideas…

JPEG XL System Codec Pack

Summary

  • Provides OS-level image codec plugins (WIC for Windows, ImageIO for macOS, GStreamer for Linux) so any application can read/write JPEG XL files natively.
  • Core value: eliminates the need for per‑app JPEG XL support, unlocking universal compatibility for viewers, editors, and file managers.

Details

Key Value
Target Audience Desktop users, developers, and ISVs who want JPEG XL to work everywhere without waiting for individual app updates
Core Feature Installable codec plug‑ins that expose JPEG XL decoding/encoding via the native imaging APIs of each OS
Tech Stack C++/Rust (jxl-rs) wrapped in platform‑specific SDKs (Windows WIC, macOS ImageIO, Linux GStreamer); CI with GitHub Actions
Difficulty Medium
Monetization Hobby

Notes

  • HN commenters lamented that “most apps don’t support WebP/JXL” and wished for a system‑wide plugin architecture (e.g., Amiga DataTypes). This directly addresses that need.
  • Enables progressive loading and lossless JPEG XL in tools like Photoshop, GIMP, Telegram, Discord, and file explorers, solving the “have to screenshot instead” frustration.

Progressive JPEG XL Image Service

Summary

  • A CDN‑edge service that stores original images and dynamically serves progressive JPEG XL truncations, allowing clients to fetch exact byte ranges for low‑resolution previews or full quality.
  • Core value: removes the need to generate and store thumbnails; saves bandwidth and storage while giving instant progressive previews.

Details

Key Value
Target Audience Web developers, media sites, and image‑heavy applications seeking efficient delivery
Core Feature API that returns a JPEG XL file and supports HTTP Range requests to retrieve any prefix of the codestream (progressive preview)
Tech Stack Go or Rust backend, jxl-rs for encoding, running on Cloudflare Workers or AWS Lambda@Edge; optional GPU‑accelerated encoder via WebGPU
Difficulty High
Monetization Revenue-ready: usage‑based pricing ($0.02 per GB served)

Notes

  • Commenters praised JPEG XL’s progressive rendering (“you never have to make thumbnails ever again”) but noted the lack of server‑side range request support. This service implements that.
  • HN users complained about encoding cost on servers; edge offloading with hardware acceleration mitigates that while keeping latency low.

JPEG XL Lossless Transcoder (CLI + GUI)

Summary

  • A cross‑platform command‑line and graphical tool that losslessly converts between JPEG, PNG, WebP, AVIF, and JPEG XL, preserving EXIF/IPTC and enabling batch processing.
  • Core value: lets users reap JPEG XL’s superior compression without any generation loss, addressing the desire to re‑encode existing libraries.

Details

Key Value
Target Audience Photographers, archivists, developers, and power users who manage large image collections
Core Feature Drag‑and‑drop GUI (Electron/Tauri) and CLI that calls jxl-rs for lossless transcoding, with progress bar and multi‑threading
Tech Stack Rust (jxl-rs) core, Tauri for lightweight desktop UI, optional WASM for web‑based version
Difficulty Low
Monetization Hobby

Notes

  • Users expressed excitement about lossless JPEG transcoding (“you never have to make thumbnails”) and frustration that existing tools don’t support JPEG XL. This tool directly fills that gap.
  • The simplicity of a single binary that works on Windows/macOS/Linux would be welcomed by commenters who currently have to screenshot or use separate converters.

Original‑Format Save Browser Extension

Summary

  • A WebExtension (Chrome/Firefox) that adds a “Save image as original format” option to the context menu, preserving the server‑provided file type (including JPEG XL) and showing a lossless/lossy badge based on metadata.
  • Core value: stops users from being forced into WebP/AVIF downloads and lets them keep the exact format the site served, reducing confusion and extra conversion steps.

Details

Key Value
Target Audience Everyday web users, designers, and anyone who frequently downloads images from the web
Core Feature Context‑menu override that saves the image using the exact URL‑provided Content‑Type/extension, plus a small badge indicating lossless/lossy if present in JPEG XL metadata
Tech Stack JavaScript/TypeScript, WebExtensions API; optional native messaging host for more reliable saving on Windows/macOS
Difficulty Low
Monetization Hobby

Notes

  • Commenters complained that “browsers don’t let you save images as the original format” and wished for a choice like IE’s old behavior. This extension restores that ability.
  • The ability to see whether a JPEG XL is lossless or lossy addresses the extension‑naming confusion discussed in the thread (e.g., .ll.jxl proposals).

Read Later