About the InfoWall project

InfoWall : At-a-glance time/date, weather/forecast/radar, webcams, more. Ideal for constant-on projector, netbook or tablet.
About the InfoWall project

Javascript software runs in a browser. Automatically adjusts all elements to window size and rotation to maximize readability. Demonstrates many advanced Javascript / HTML / DOM techniques such as canvas element and drawing, JSON handling, API use, structured array constant config, querystring reading, use of localstorage, text to speech, responsive auto-formatting, keypress handling, celestial calculations, centralized timer update handling and more.

  • Simply open (then bookmark it)
    Tap Time for next slide. Tap Date for next slideshow. Tap Forecast to speak.
    Tap other links for offsite details in new tab.
  • Works well in Safari and Chrome (F11 for full screen). For best use on iPhone/iPad: Open in Safari, tap Share (up arrow), then tap Add to Home Screen and confirm, then close. Later launch it from the new icon to open full screen.
  • Include code in URL (such as "?art") to start with a particular slideshow, where code is webcams, art, yoga, zoom, movie, colors, twister, loops. Start with show.slide (such as "?movie.6") to start with a show and slide. Some shows show compact forecast or analog clock or no radar. Use view=... in URL to override clock/weather display options: [A]nalog [C]lock [D]ate [F]orecast [I]ntro [M]oon [R]adar [S]huffle [W]eather
  • Currently coded for Chicago, but programmer configurable at top of script, documented in comments.

MAIN KEYS: (designed for use with a wireless numeric keypad for quick access to main functions)
  Speak the weather.
  Next slideshow.
  Jump to selected slideshow.
  Next slide.
  Clock options.
  Off. (Zero or Oh blanks display to black)

  Screen tests.
  Technical info.
  Screen position/size adjust.

Immediate Planned Work:
  1. Buffer the next slide then display it using div visibility changes, to be able to check and skip over image load failures.
  2. Sanity check weather response, abort parsing if invalids or too old. Cache best recent parse to local storage. Handles occasional broken JSON replies having all fields but incomplete values.
  3. Write a full quick setup guide.
  4. Add more slideshows: US & world cams, stretches, bikes, adult.

Possible future enhancements:
  1. Periodically recheck Android software market for cheap kiosk browser software.
  2. Implement configurable overall brightness.
  3. Add support for NWS (National Weather Service) forecasts (as alternative to Wunderground), using their XML API:
  4. Implement extensibility. Eventually add Facebook, Twitter, email, SMS, ...
  5. Personalize using a URL part for user ID. Create minimal AJAX server to save/recall configuration. Create web-based maintenance.
  6. Add a deadman timer to force reload if running extremely slow, as workaround for memory leaks.
  7. Add time of day range field to slide records, to configure webcams or art specific to day or night.

Development History:
  • 2019.04.02 WEATHER and RADAR and MOST WEBCAMS HAVE FAILED. Due to the API provider "Weather Underground" being bought by IBM and changing to charging for even basic conditions info, weather info and forecasts have failed. ALSO the NOAA has radically reorganized radar info and GIF animations were retired. ALSO the world's use of webcams has dramatically changed and very few are still cross-site available. Therefore weather, radar, and most webcams were removed. Weather may be eventually restored. ALL others functions remain working fine.
  • 2018.09.01 Added reverse colors option by frame to improve readability on bright backgrounds. Also made time and date bigger and improved the elapsed period display. Version 3.3 on
  • 2018.09.01 Current installed implementation taken offline due to noticeable fading and browning of projected image. In fairness the the final projector was on for more than two continuous years. The laptop's trackpad and battery also died. The big lesson was the technology isn't quite ready yet. Still waiting for an afforable silent picoprojector with integrated browser as originally planned. I've moved it to a tablet for now.
  • 2018.05.01 Integrated "Spacewar!" game. Hidden 999999 keypress exits to full screen replica of the world's first video game, playable using the InfoWall's keypad. Hidden game keypress 555555 exits back to the InfoWall.
  • 2018.04.01 Major new Spoken Alert ("Alarms") feature added. Highly configurable day/date/time matching for repeats. Messages may include complex dynamic text substitutions. Setup is fetched from a URL for remote user maintenance. Dubbed version 3.0.
  • 2018.03.01 New animated *breathing* clock digit style slowly zooms in and out about 50%. Maximizes visibility while minimizing burn-in.
    Also new force reload added on hidden "000000" key sequence.
  • 2017.11.01 Added "Loops" mode (keypress '8'). Displays just a single image filling the window with no other layers. Includes several impressive animated GIF graphics intended simply as interesting wall art.
    Version 2.6
  • 2017.05.28 Randomized session argument added to weather json fetches to defeat caching. Some combo of browser and hosting settings caused weather info fetches to sometimes be stale. Note that current configuration has been stable for nine months.
  • 2017.01.05 Stopwatch changed from * to . (period was previously unused). New speed multiplier ("slow") function added to * key. Each press slows slideshow rate 50% from 1.5-4.5x. Chicago weather forecast cache URL updated to domain.
  • 2016.08.23 Installed new iDGLAX iDG-787 projector. 640x480 300 lumen, $85. With more modest brightness, and an external power supply, I hope this one suffers less heat problems. Also, all critical connections (and the trapezoid adjustment knob) are on the rear, which is nearly ideal.
    Also I've replaced the Android HDMI dongle (which itself replaced an XP laptop) with a Windows 7 netbook, due to Chrome crashing too frequently and no other adequate browser.
  • 2016.07.23 Abdtech projector has died. Failed in barely a month. 800*600, 1000 lumen, just $79. Fan dead, large browned patches in image area.
  • 2016.06.28 Updated radar animation to use a single animate GIF file from the National Weather Service's Doppler system, replacing the former complicated circular buffer of JPGs from Fox32 news.
  • 2016.06.22 Replaced prior failed projector with an "Abdtech" projector (800*600, 1000 Lumens, 1000:1), just $79.
  • 2016.06.19 "TaoTaole projector has died. Failed in about seven months. 800*480, 800 Lumens, under $80. LED dark. Was already on second replacement fan.
  • 2016.04.24 Blinking colon in time now gradually moves upward to show elapsed seconds, dropping back to baseline at start of minute.
  • 2016.04.15 Shuffle now considers a short history stack to reduce repeats. This improves the Art show slightly and Twister spins are better. Also Daley Plaza camera has gone offline.
  • 2016.04.06 Added Automatic Talking Twister Turns feature (Keypress '7'). For playing Milton Bradley's wonderful Twister Game without needing a spinner. Version 2.5
  • 2016.04.02 Added Stopwatch feature on keypress '*'. First press displays large digit time counter formatted as [days:][hours:][minutes:]seconds. Each additional * press adds smaller lap time history under main digits. Stopwatch persists through any mode changes, zero key ('0' = display off/on) clears. Also improved Floodlight mode (keypress 6), now bigger and brighter, starts in color cycling mode, and allows all time/weather overlay options. Version 2.4
  • 2016.03.01 Added basic solid colors "flood light" on keypress '6'. Improved clock/date/weather options toggling ('/' key). Swapped pause and clock options keys. Rounded the corners of the main window. Moved time to center of display (for best focus on projectors) and swapped date above it. Improved background description display (top left corner) and sun rise/set times legibility. Version 2.3
  • 2016.02.26 ChiTronic GM-60 projector has died. Failed in under a week. 800*480, 1000 lumen, under $80. Developed dark patches. Returned for refund.
  • 2016.02.19 Upgraded to a "ChiTronic" branded model "GM-60" projector. 800*480 native resolution, 1000 lumen, 1000:1 contrast, LED lamp, LCD image, under $80.
    Replaces prior "Taotaole" projector which is aging poorly. Seems to be a newer model of the same but slightly more compact, slightly brighter, slightly better software, and more convenient (side access) focus and keystone controls. HOWEVER the USB jacks are so underpowered that accessories or the projector would reboot when they were used for peripherals other than memory.
  • 2015.12.22 Internally cache radar frames and update the set only every few minutes. Formerly loaded every image fresh with cache defeat. Should tremendously reduce network activity. Last major planned enhancement from v1 series. Version 2.2
  • 2015.12.21 Added screen position/sizing keyboard controls. UIOP/HJKL keys now increase/decrease the top/left/bottom/right margins and saves settings to local memory. Also accepts margin setup arg in URL as: top,left,bottom,right
    Removed former * key Display Mode Presets as superseded, freeing a numeric keypad key for future use. Also set overflow to hidden on all main divs, forces cropping and no scrollbars for best window sizing.
  • 2015.12.20 Added subtle progress bar under radar inset, indicates time offset of each frame from oldest (0%) to newest (100%). Also improved diagnostic info readout adding margins and client info, and made its link more visible in the help panel.
  • 2015.12.09 Overhauled the Art slideshow, greatly expanding the set of famed paintings (was 15, now 68), and copied the images to rather than sourcing offsite.
  • 2015.12.09 Next slide '+' (plus) key now automatically skips adjacent nearly identical slides. New '-' (minus) key functionality, now cycles through clock/weather options, including off (for just showing a slideshow w/o info).
  • 2015.12.08 Added movie backgrounds capability (on keypress '5'). Any slide can now play an auto-incremented series of images, looped with programmable length and slide duration. Created a comprehensive new set of movies: beach, candles, clouds, fire, fish, lava, matrix, snow, space, sun, trek, warp, waterfall. Also increased the internal update frequency to 8fps (reduced MasterDur to 125ms). Also enhanced URL parsing to implement launching directly to a specific slide in a slideshow, so a particular movie can be directly selected. For example: directly launches the candles slides. (v2.2)
  • 2015.12.07 Changed from using Keypress to using Keydown so the numeric keypad could be made to work regardless of NumLock state. Required changing handling from checking against standard ASCII to using special Keycode values, and converting some of those to aliases. (v2.1)
  • 2015.12.05 Added a standard color test pattern as a new first screen on the diagnostics ("c" keypress) set.
  • 2015.12.04 Began curating a selection of "Slow TV" (fireplace, waterfall, beach, ...), gathering multi-hour HD vids to an SD in the projector, playable directly using its own remote. Later found in practice the projector's repeat setting was too clumsy. But from a microSD in the dongle, Android's media app played them well.
  • 2015.12.03 In consideration of the recent major software overhaul and new Android based hardware, I hereby designate this Version 2.
  • 2015.12.02 Heavily researched Android "kiosk browser" (and similar) options. Seeking auto boot, status bar hide, text shadows, speech, local storage. There were several, all oddly expensive (like $45-225+). This would seem like an easy Cordova application but taking the 20+ hours that could take seems too far to go.
    Currently I'm using Chrome which has the best full feature set, including speech and shadows. Open the URL bookmark it to Home. From that new home icon it opens nicely as a full screen webapp. But from powerup it requires two clicks: icon to run, status bar to hide.
  • 2015.12.01 Created simple Amazon list of all hardware required to build this InfoWall:
  • 2015.12.01 Overhauled software to eliminate reloads, instead handling all page regen, init, boot logic in functions. Staying in page prevents crashes on network failures, which are common. * key (display type change) still reloads in case ever needed. Also added hidden diagnostic info readout by clicking the word "projector" in the popup help intro, shows resolutions and uptimes. Also changed from Neon effects to simple shadows for broader browser compatibility.
  • 2015.11.30 Replaced XP laptop backend with new Android HDMI dongle. Vastly more powerful and a fraction the size, only $37. Became urgent due to heat routinely exceeding 100F. The new configuration runs much cooler and uses under 40 watts.
    2015.11.30: V2 Installed; spacious and compact. Smartdongle on top. Glass and bike for scales.

    2015.11.30: Upgraded backend to Android.
  • 2015.11.24 Added display profiles capability. Launch with AAXA or TAO anywhere in URL to configure with special display options optimized for AAXA or Taotaole projectors. "*" (asterisk) key now cycles through display options.
  • 2015.11.22 Upgraded to a "TaoTaole" brand projector, 800*480 native resolution, 800 lumen, 800:1 contrast, LED lamp, LCD image.
    More than ten times the brightness of the AAXA at 2/3 the price (cost ~$79). Realizing that compactness and mobility were not priorities opened up the options, though it is noisier.
  • 2015.11.22 The AAXA projector's internal fan is failing; significant strain when powered up, sometimes won't boot. Also significant streaks (cracks?) have gradually grown in the image area (and the battery and the composite video jack failed months ago). After nearly eight months in near continuous use, I'm going to consider this projector dead.
  • 2015.10.15 Updated radar URL and sequencing.
  • 2015.06.04 [ENTER] for reload now automatically speaks the current forecast as soon as available, after reload. Does this by local storing the keypress causing the reload, then checking and handling that in the weather receive parsers. Also improved the spoken forecast to start with current conditions and time.
  • 2015.05.09 AAXA projector internal battery has swelled, and composite AV jack is failing. Internally snipped the battery, and changed to use mini-HDMI in through VGA converter.
    2015.05.09: Changed from composite to mini-HDMI.
  • 2015.05.08 Added slight random X/Y offsets (+-5 pixels calculated on page load) to most objects to potentially abate screen burn-in (seen very slightly on an LCD based PicoProjector after first month constant on).
    2015.05.11: Version 1.1 screenshot.
  • 2015.04.20 The software now has a comprehensive and stable feature set and the hardware platform of laptop and picoprojector can be run continuously. I hereby designate this version 1.
  • 2015.04.19 Slight update to weather JSON URLs.
  • 2015.04.10 Added "+" button for next slide. Also added list of quick keys to about page.
  • 2015.04.10 Added map slideshow, shows local, regional, country and world reference maps. Also removed the Cats slideshow.
  • 2015.04.09 Rearranged sun and moon times. Change F to degree symbol, also replaced Humidity ("H") and Comfort Index ("i") with symbols.
  • 2015.04.08 Added Speech button. Press asterisk ("*") to speak current forecast.
  • 2015.04.08 Added Pause/Resume button. Press forward slash ("/") to hold on current slide.
  • 2015.04.08 Moved text in from edges, to optimize for projectors' best focused central area. Darkened text shadows for improved contrast.
  • 2015.03.28 Added new OFF mode, press zero ("0") to blank all to black screen. Added new Yoga / Sun Salutation slideshow.
  • 2015.03.27 Installed the new AAXA LCD PicoProjector inside a cabinet.
    2015.03.29: Drilling.

    2015.03.29: Screen size overlap.

    2015.03.29: Shortened cooling base.

    2015.03.29: Interior details.

    2015.03.29: Finished installation.

    2015.03.29: Key guide.
  • 2015.03.26 Bought another tiny commodity model to replace the old failed DLP. AAXA LCD PicoProjector, twice the resolution and lumens at a third the price (cost ~$112). Still needs the separate smart source for InfoWall use, but has a media slot with wide codec support for on-the-go (bike) use.
    AAXA LED Pico Projector with 80 Minute Battery Life, Pocket Size, Mini-HDMI, 15,000 hour LED...
    2015.03.27: AAXA LCD PicoProjector

    2015.03.28: AAXA menu.
  • 2015.03.25: Even heavily discounted I can't buy another Favi Entertainment projector. Gonna wait a while for integrated Android to become more common. Though my compliments to them on being first.
    2015.03.11: FAVI J7 Android PicoProjector option.
  • 2015.03.24: Got a FAVI A3, cheap Pico projector with older Android, worked a few days, after some tweaks for older Safari, but eventually suffered what appears to be ROM corruption and I returned it for refund. Unfortunately its a discontinued product and they're not doing warranty repairs. I now plan to buy a new Pico DLP with modern Android, mainly because they offered it at nearly half off, the main downside being the vendor has previous shown incompetence.
    FAVI J7-LED-PICO WiFi Smart Projector (DLP) with Android OS.
    2015.02.20: FAVI A3 failing.
  • 2015.03.19: The Optoma projector is progressively failing, losing pixels due to stuck micromirrors, with snow now accounting for a significant percentage of picture area. I wrote and am running a pixel unsticker utility (rapid high contrast color/brightness changes), but am see no change. I'd be more annoyed if it wasn't a first generation product that had already lasted more than seven years.
    2015.03.26: Optoma DLP failing.
  • 2015.02.19: I got the new picoprojector for this, mysteriously only $99. This is exactly the kind of lower power integrated device for which I intend this project, LED and DLP with WiFi and Android, 800x600 at 30 lumen. I expected to have browser problems, but things are going both better and worse. The built-in browser (name?) must be webkit based with comprehensive features, but not HTML5. After a bunch of tweaks it renders well, but the browser crashes every few hours Impressively, App Market works but it seems to lack Safari and Chrome?!? Maybe there's an API filter active and these don't exist for Eclair. Dolphin and Opera are available but didn't render well enough. Googling... For now I'm going to add a dead man timer to reload if page gets slow, which may abate memory leakage. Worst case, conceivably I can compile a custom Cordova app targeting 2.1, but that's getting ugly.
    FAVI A3-WiFi Pico Pocket Projector with Android OS and Touchpad A3-WiFi
    2015.02.17: FAVI A3 Android DLP PicoProjector.
  • 2015.01.28: With this project now largely complete, I've published it on GitHub.
  • 2015.01.28: I've overhauled the classic art slideshow. Now uses Wikimedia and National Gallery collections. Also added a lovely analog clock mode.
    2015.01.29: New analog clock mode.
  • 2015.01.25: On capable browsers (including Safari and Chrome) it now SPEAKS the weather forecast when tapped. Needs some tweaks in speed and voice, but works.
  • 2015.01.24: Added classic art and map of the universe slideshows. [SPACE] key selects next slideshow, and remembers your choice when next run. Can also shortcut override to a selected slideshow from url. Ex.
    2015.01.22: Curating art classics.
  • 2015.01.21: It now cycles through several different webcams. Also weather reliability improved using mirrored caching..
  • 2015.01.20: Software's getting there. Managed to remove need for Flash, and improved weather. v0.2 Next: Other slideshows.
      • New short URL:
      • WebCam's feed changed from Flash to sequenced JPGs. Now compatible with SmartPhones.
      • Entire screen and all elements now auto-adjusts to any screen size.
      • New aura glow effect on main text, much more visible than prior shadow effect. Also new blinking cursor.
      • Main font color now auto-adjusts by time of day to best contrast with background.
      • Moon phase (and days until/since full moon) now hidden under radar, appears once a minute.
      • Sunrise/Sunset times now shown with full moon info.
      • Current conditions and forecast changed to Wunderground JSON feed. Adds windspeed and more.
    2015.01.20: v0.2 Screenshot.
  • 2015.01.18: "iWall" occurred to me as a good name. Went looking for a cheap domain for shortcutting, turns out every variation was long since squatted or in use by some impressive fabricators:
    MultiTaction iWall - High quality communication channel for any brand - MULTITACTION.COM
  • 2015.01.17: Tiny ceiling hung DLP projector using S-Video and USB power from an XP hidden elsewhere. Lucky to have so much working older tech for proof of concept. The laptop is a Westinghouse circa 2006.
    2015.01.17: Version 0.1 Optoma hanging installation.
  • 2015.01.17: Now curating other slideshows to alternate with webcam. Starting with masterpieces:
  • 2015.01.16: V0.1 is live.
    2015.01.13: Optoma PK101 DLP PicoProjector.

    2015.01.17: Version 0.1 live.
  • 2015.01.14: Beta software at
  • 2015.01.12: Nearest weatherstation is just blocks away, has full set of sensors:
    East Lakeview Weather | Personal Weather Station: KILCHICA173 by
    WebCam near Wrigley:
  • 2015.01.12: I've begun to work in earnest on implementing a personal "InfoWall". Wish me luck.
    I've been toying with the idea for decades (while making due with home weather stations and big digit clocks). It was recently simplified by "pico" projectors which essentially last forever, are nearly silent, reasonably priced and some now include Android and WiFi. I envision it almost always on, double-purposing as low-wattage ambient lighting. Only a few hundred lumen, but can do 9' diag.
    Gonna start by developing a basic web page of weather and nearby webcam. Eventually I'll implement other programs like endless slideshow of classic paintings. Alarm clock. News, Facebook, emails... A scripting language... Step 1, see if someone's already done it.
    2015.01.12: Concept picture.

History of projectors:
  • 2016.08.23-...: Installed new iDGLAX iDG-787. 640x480 300 lumen, $85. With more modest brightness and an external power supply, I hope this one suffers less heat problems. Also, all critical connections are on the rear, which is nearly ideal.
  • 2016.06.22-2016.07.23: Abdtech - Lasted barely a month. 800*600, 1000 lumen, just $79. Fan dead, large browned patches in image area.
  • 2015.11.22-2016.06.19: "TaoTaole - Lasted about seven months. 800*480, 800 Lumens, under $80. LED dark. Was already on second replacement fan.
  • 2016.02.19-2016.02.26: ChiTronic GM-60 - Lasted JUST ONE WEEK. 800*480, 1000 lumen, under $80. Developed dark patches. Returned for refund.
  • 2015.03.27-2015.11.22: AAXA - Lasted eight months. LCD Pico projector, $103. Within a month the battery swelled (had to remove it), over later months the connectors became flaky, finally the fan began stalling.
  • 2015.02.17-2015.02.16: FAVI A3-WiFi - Lasted a week. Pico projector with Android OS and Touchpad built-in, $99 (discontinued model clearance price). Great concept, but software constantly crashed and couldn't be updated. Returned for refund.
  • 2015.01.22-2015.03.27: Optoma PK101 - Lasted two months. DLP Pico projector, fanless, $199 years ago. After seven years of occasional use, it gradually developed hundreds of stuck DLP pixels.