{"id":1011,"date":"2025-12-05T14:05:58","date_gmt":"2025-12-05T19:05:58","guid":{"rendered":"https:\/\/scootercam.net\/?p=1011"},"modified":"2025-12-05T14:11:09","modified_gmt":"2025-12-05T19:11:09","slug":"dec-5-website-update","status":"publish","type":"post","link":"https:\/\/scootercam.net\/blog\/dec-5-website-update\/","title":{"rendered":"Dec. 5 Website update"},"content":{"rendered":"\n<p>The staff here at Scootercam Worldwide have been tied up with a number of recent projects, and more than a few issues have come up. Here&#8217;s where we&#8217;re at:<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Raspberry Pi Camera Controller<\/h2>\n\n\n\n<p>Scootercam&#8217;s video operations begin with the cameras themselves, but it&#8217;s a Raspberry Pi 5 that brings the images to the website. The little controller is ideally suited for repeated, time-scheduled picture-taking and movie-making. We&#8217;ve been working on a single, unified controller for the cameras. Here&#8217;s why that&#8217;s important.<\/p>\n\n\n\n<p>Scootercam started small and we kept adding new functions, and they all ran as individual scripts on individual schedules. Over time it became a hot mess of scripts and apps, that <em>somehow<\/em> worked well-enough. It was grossly inefficient underneath, and its tasks were not at all coordinated. If we added a new camera or camera function, we&#8217;d exponentially increased the degree of difficulty and the consequences of mistakes. We wanted a system where a single controller managed everything &#8211; cameras, pictures, timelapse creation, sunset capture and live video capture&#8230;. <em>and<\/em>, optimized the results before uploading it all to the website&#8230; <em>and<\/em>, did it efficiently, predictably, and without errors.<\/p>\n\n\n\n<p>AI-guided development has plusses and minuses; there have been days of fantastic output and days of sheer frustration. Claude, the AI tool we&#8217;re using, imposes usage limits and cuts us off at the most-inopportune moments (like now, so I get to catch up on notes). So it is with the Camera Controller. It&#8217;s close to finally being what we need, but it&#8217;s still a ways off. Till then, be patient. After the controller is finished, its counterpart on the web server will need a shakeout. Then? A few more things to handle:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Timezone-related problems with plugins<\/li>\n\n\n\n<li>Wave height plugin consolidation<\/li>\n\n\n\n<li>Tempest plugin &#8211; limitations with historical data?<\/li>\n\n\n\n<li>Header\/footer branding issues<\/li>\n<\/ul>\n\n\n\n<p>So yeah! Plenty to do between now and Scootercam&#8217;s 10th Anniversary.<\/p>\n\n\n\n<p><strong>Rick Xaver<\/strong><br><em>North American Communications Director<br>Scootercam Worldwide LLC<\/em><\/p>\n\n\n\n<p><\/p>\n","protected":false},"excerpt":{"rendered":"<p>The staff here at Scootercam Worldwide have been tied up with a number of recent projects, and more than a few issues have come up. Here&#8217;s where we&#8217;re at: Raspberry Pi Camera Controller Scootercam&#8217;s video operations begin with the cameras themselves, but it&#8217;s a Raspberry Pi 5 that brings the images to the website. The &#8230; <a title=\"Dec. 5 Website update\" class=\"read-more\" href=\"https:\/\/scootercam.net\/blog\/dec-5-website-update\/\" aria-label=\"Read more about Dec. 5 Website update\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_monsterinsights_skip_tracking":false,"_monsterinsights_sitenote_active":false,"_monsterinsights_sitenote_note":"","_monsterinsights_sitenote_category":0,"footnotes":""},"categories":[37],"tags":[],"class_list":["post-1011","post","type-post","status-publish","format-standard","hentry","category-dev-journal"],"_links":{"self":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts\/1011","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/comments?post=1011"}],"version-history":[{"count":2,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts\/1011\/revisions"}],"predecessor-version":[{"id":1014,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/posts\/1011\/revisions\/1014"}],"wp:attachment":[{"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/media?parent=1011"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/categories?post=1011"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/scootercam.net\/blog\/wp-json\/wp\/v2\/tags?post=1011"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}