/test/nivotest is a leftover name for a Nivo-style image slider on a weather host. Station sites used that pattern to flip through webcam stills as if they were a time-lapse. The scientific test is not whether the plugin’s slice animation looks polished. It is whether the frames play in timestamp order. Autoplay that shuffles, repeats, or starts on a random still is a broken observation sequence. This article is that test. It is not a plugin promotion, not a live camera, and not a download of Nivo Slider.
A public /test/ page that loads a JavaScript gallery plus a folder of JPEGs is a security smell. It advertises the webcam directory, often with directory listing, and it invites hotlinking of every still. Sequence checks belong in a private fixture set whose filenames and EXIF (or overlay) times are documented. TNET does not rehost the historical page or the plugin.
Historical context
Nivo Slider was a widely copied jQuery slideshow (originally Dev7studios; community copies remain, including Codeinwp’s jQuery Nivo Slider, last checked 13 August 2026). Weather templates dropped it onto a div of <img> tags because it was easy and looked like a product demo. Operators pointed it at webcam1.jpg … webcam12.jpg or at a day’s FTP drops.
The webcam pipeline is capture, optional stamp, upload, then a page. A named camera ID is identity for a multi-camera archive. An experimental overlay is about clock sync on a stamped JPEG. /test/nivotest sat downstream of those: given a list of stills, does the player present them as a chronological sequence? Incoming links treated the URL as a Nivo demo. The restoration keeps it as a sequence-QA article.
A slider is not a camera
Each still is a historical image at a stated time, if the time traveled with the file. The slider is a derived display: it orders those images and spends pauseTime milliseconds on each. If the order is wrong, the display is a false time-lapse. Cloud motion appears to reverse. A snow shower “happens” before the clear noon that was actually earlier. Visitors remember the animation, not the filenames.
Nivo’s documented defaults (plugin usage notes still circulated from the Dev7studios era, last checked 13 August 2026) include:
manualAdvance: false— automatic advance (autoplay);pauseTime— how long each slide is shown;startSlide: 0— first slide in the list;randomStart: false— do not start on a random slide;effect— visual transition, includingrandom.
Those knobs were designed for marketing banners. A weather sequence has different pass/fail rules. effect: 'random' can stay if you only care about order of content. randomStart: true cannot. Autoplay is allowed only as a way to walk the list in order. Autoplay that is coupled to a shuffled DOM is a failed test.
What to assert about order
Build a fixture of a few stills. They must not be today’s yard. Use labeled files such as cam-fixture-0900.jpg, cam-fixture-0915.jpg, cam-fixture-0930.jpg, with a sidecar text file that lists expected order and timezone. Do not invent a storm and caption it as current weather.
Assert, in a test you run on purpose:
- Source order. The HTML (or JSON feed) lists frames in nondecreasing capture time. Filename sort is acceptable only if the filename encodes a sortable UTC or local timestamp and the camera ID.
img12.jpgthenimg2.jpgis lexical order, not time order. - Player order. After load, the visible sequence matches that list. If the library copies nodes into a new wrapper, the wrapper must not sort by file size, upload mtime, or “randomize for interest.”
- Start. The first frame is the earliest (or the documented start), not a random still.
randomStartmust be off for weather sequences. - Loop policy. Looping to the earliest frame is acceptable if the caption says the sequence repeats. Looping into a second camera’s folder is not.
- Pause versus time.
pauseTimeis display time, not observation interval. A 3-second pause between 15-minute stills is a playback choice. The caption must still show the 15-minute gap. Overlay clocks, if present, must match the fixture times—not the browser’s clock.
If capture times are missing, the slider cannot be an observation product. It can be a gallery. Galleries should not be titled as time-lapse.
Autoplay is the usual way to hide a sort bug
Operators enabled autoplay so the home page “looked alive.” A shuffled sequence with a fade still looks alive. The test that catches the bug is boring: log the src (or a data-captured-at attribute) on each afterChange callback and compare to the sidecar. Do this in a headless browser in CI, or as a unit test if you generate the slide list in PHP and the plugin cannot reorder it.
Do not trust FTP mtime. A batch upload stamps every file with the same second. Do not trust the slider’s startSlide index after someone prepends a “latest.jpg” alias that is a copy of the newest still; that alias duplicates a frame and breaks uniqueness.
A three-column layout that contains a slider (layout QA) can pass overflow checks and still fail this page: the pane fits, the sequence is backwards.
What this test is not
It is not a recommendation to use Nivo. The project is old; XSS and jQuery-version issues in leftover copies are a reason to keep it off a public /test/ URL, not a reason to advertise it. Newer sites use CSS, native <video> time-lapse, or a simple stacked <img> with buttons. The order rule does not care.
It is not a cloud-type classifier. A JPEG sequence does not become a sky observation because it animates. The overlay article already said that. Here the only meteorological claim you may make is: these frames are in the order of their capture times, as labeled.
It is not a live debug endpoint. A query parameter that loads /webcams/ plus a glob is a file-disclosure bug. The harness should read an allow-listed fixture directory outside the web root.
Practical checklist
- Fixture stills are named or tagged with capture time and camera ID.
- Expected order lives in a text golden next to the images.
randomStartoff; autoplay walks that golden; effects may be anything that does not reorder.- Captions show time and timezone on the current frame.
- Production pages do not point at
/test/nivotest. - Neighbor privacy still applies: fixture images should not be identifiable street photography you do not have the right to keep.
If you cannot prove order, do not autoplay. Manual next/prev at least lets a human notice a jump.
Modern relevance
Time-ordered imagery is an evidence-handling problem: identity of the camera, time of each frame, and no silent shuffle. TNET’s public note on source identity and quality control is data sources, quality controls, and methodology. Distinguishing an observed still from a derived animation is the same vocabulary as how the service works. The Cumulus hub lists related webcam and layout pages.
This URL does not run Nivo. It states the sequence contract a weather slider had to meet.
Sources
- Codeinwp: Nivo Slider jQuery (last checked 13 August 2026)
- Nivo Slider defaults (
manualAdvance,pauseTime,randomStart) in that repository’s plugin options (last checked 13 August 2026) - TNET, How a personal weather station webcam pipeline worked
- TNET, Data sources, quality controls, and methodology
- TNET, How the service works