Time Traveling with Street View

Have you ever wondered what your neighborhood looked like in the 18th century—or even during the Middle Ages? Thanks to Street View and AI, you can now almost find out. TimeJourneyAI is a new application that lets you pick a location in Street View and generate an AI-imagined version of that same spot for any year in history.Liberty 2025rom my limited testing, the historical views Maps Mania… more →
Posted in: Interactive Maps

JavaScript SpeechSynthesis API

As the web continues to be the medium for all users, standards bodies need to continue to provide new APIs to enrich user experience and accessibility. One underused API for unsighted users is speechSynthesis, an API to programmatically direct the browser to audibly speak any arbitrary string. The Code You can direct the browser to utter speech with window.speechSynthesis and SpeechSynthesisUtterance: window.speechSynthesis.speak( new SpeechSynthesisUtterance('Hey Jude!') ) speechSynthesis.speak will robotically tell the user anything you provide as a SpeechSynthesisUtterance string. Support for this API is available in all modern browsers. I wouldn’t consider speechSynthesis as... more →
Posted in: JavaScript

Make Your Own Ridgeline Plots

Joyplot Map Today’s #30DayMapChallenge is to use a New Tool (create your map using a software, language, library, or technique you have never used before). For this challenge I decided to build something using Terrain RGB.My Joyplot Map is an interactive map that turns elevation data into ridgeline plots – right in your browser.This map lets you draw a rectangle anywhere on the globe and view Maps Mania… more →
Posted in: Interactive Maps

Fix “This video format is not supported” on YouTube TV

Setting up a new computer is bliss — no old, unused apps and the machine performs much better than the previous. Unfortunately, you may encounter new problems based on the new hardware. One such issue I encountered with my new MacBook was a “This video format is not supported” message when I went to YouTube TV. Not being able to watch my favorite live show is a real problem. After a bit of research, I found the solution to the “This video format is not supported” error message. To solve this problem: Open your browser settings and do a search for DRM You should see reference to Widevine, a form of DRM Enable this Widevine setting Restart your web browser Enabling... more →
Posted in: JavaScript

There Are No Roads in London

Streets of London Today’s #30DayMapChallenge is to use OpenStreetMap (OSM) data as your primary source.To meet this challenge I decided to use OpenStreetMap data to explore the toponyms of London’s streets, visualizing how different road types – Streets, Lanes, Alleys, Courts, Yards, and Avenues – are named and distributed across the City of London.One of my favourite quiz questions is – ‘How Maps Mania… more →
Posted in: Interactive Maps

A Minimal Flight Tracking Map

Minimal London Day 11 of the #30DayMapChalenge is to create a Minimal Map. For this task my Minimal London flight-tracking map strips away everything but the essentials – a bold black canvas, a clean blue river, crisp white bridges, and the silent drift of planes crossing the city in real-time.🗺 What the Map ShowsAt its heart, the map visualizes:The River Thames, rendered as a smooth, blue line Maps Mania… more →
Posted in: Interactive Maps

Road Orientations Map

Road Orientations Map The topic for day 8 of the #30DayMapChallenge is Urban. For this challenge I decided to go old-school and convert Vladimir Agafonkin’s original Road Orientations from Mapbox to Maplibre. The original code analyzes street orientations and visualizes them as a polar histogram. I’ve just adapted Vladimir’s approach to work with MapLibre GL JS.What the Map ShowsThe Maps Mania… more →
Posted in: Interactive Maps

Checking for Spam Content with Chrome AI

Earlier this week I mentioned I’m looking at my previous server-based generative AI demos and seeing which could possibly make sense using on-device AI with Chrome’s AI support. I remembered a demo from last year where I tested spam detection using Google Gemini. That demo had worked out rather well and so I thought I’d try it out in Chrome. Ok, but why? Spam detection is important, and a server-based solution could have many users, especially in sites that make use of a lot of user generated content. But what would be the point doing this in the browser? Consider the fact that many of the Chrome AI APIs help with writing, I think such a solution could be useful in helping flag... more →
Posted in: JavaScript
1 2 3 223