<div dir="auto"><div dir="auto">Hello Rich!!</div><div dir="auto"><br></div><div dir="auto">Welcome to the Ribbit developers mailing list.</div><div dir="auto">What a nice surprise!</div><div dir="auto"><br></div><div dir="auto">Thank you for starting a PWA application demo.</div><div dir="auto">It's definitely a direction that we want to explore to see if it would be a good fit for the project.</div><div dir="auto"><br></div><div dir="auto">I am starting to believe that conventional mobile app development is expensive and maintaining a codebase across platforms is resource intensive.</div><div dir="auto"><br></div><div dir="auto">My hope is that relying on web standards will allow for a lighter/lightweight approach more in line with the resources that we have as an open source project.</div><div dir="auto">I also hope that by relying on web standards, we will have a stability and not require the constant code updates needed in conventional app development to keep up with operating systems version upgrades over time.</div><div dir="auto"><br></div><div dir="auto">Welcome to the team.</div><div dir="auto"><br></div><div dir="auto">Would you be available for a call to talk, get to know you and exchange about the future of Ribbit.</div><div dir="auto"><br></div><div dir="auto">Pierre W4CKX </div><div dir="auto"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Thu, Aug 17, 2023, 4:22 PM Rich Clingman via Ribbit-Developers <ribbit-developers@lists.openresearch.institute> wrote:<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><h1 id="m_8166811082624253157gmail-about-this-rattlegram-test-pwa" style="box-sizing:inherit;margin:0px 0px 0.5em;padding:0px;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif">About This Rattlegram Test PWA</h1><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">Thursday, August 17, 2023</p><h3 id="m_8166811082624253157gmail-install-the-web-app" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#install-the-web-app" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">Install the Web App</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">This test Rattlegram Web App is available at <a href="https://rattlegram.k0ozk.com/" rel="nofollow noreferrer" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank">Rattlegram.<span style="box-sizing:inherit;font-style:inherit;font-weight:inherit;font-family:Consolas,Monaco,BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.1em">K0OZK</span>.com</a>.</p><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">If you're using a compatible browser, you should see an install icon in the browser address bar or a prompt at the bottom of your mobile screen. It's very likely we'll find problems with this test PWA. I did only minimal wrapping of Ahmet Inan's Example 3 JS code. (I just noticed that in Airplane Mode, hitting Refresh will break the installed app. I'm sure that I just need to configure the Service Worker correctly.)</p><h3 id="m_8166811082624253157gmail-dsp-wasm-pwa" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#dsp-wasm-pwa" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">DSP, WASM, PWA</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">I've published this basic Progressive Web Application using <a href="https://www.aicodix.de/example3/" rel="noopener noreferrer noreferrer" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank">Example 3 from Ahmet Inan's 2019 Digital Signal Processing Library/Web Assembly work</a>.</p><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">This basic app will allow us to test the PWA, DSP, WASM, and access to audio and GPS on various devices to see if pursuing a device-agnostic/single codebase PWA could be beneficial. I've tested the PWA on Windows and Android 11. It should work on all PWA and Web Assembly-compliant browsers. It should be "installable" on those devices as well.</p><h3 id="m_8166811082624253157gmail-why-pwa" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#why-pwa" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">Why PWA?</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">In addition to watching all available presentations on Ribbit, I read the emails archived in the ORI mailing lists. Josh Datko raised the issue of a PWA in the July discussion. I think a PWA will speed up development and adoption. It'll also allow us to deploy Windows/Mac/Linux support at the same time as mobile. There'd be no need for device-specific apps. No app store. The PWA should run–and be installable–on IOS, Android, Windows, Mac, Chrome, Linux, Arduino?—virtually anything with a browser that supports the necessary features.</p><h3 id="m_8166811082624253157gmail-in-an-emergency-situation" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#in-an-emergency-situation" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">In an Emergency Situation</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">No Internet. The App Store and Play Store are inaccessible. No one can use Ribbit if they've not already installed it.</p><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px"><em style="box-sizing:inherit">But a PWA could be distributed via an ad-hoc web server at the EOC or even one running <span style="box-sizing:inherit;color:rgb(54,54,54);font-weight:700">on your smartphone.</span></em></p><h3 id="m_8166811082624253157gmail-imagine" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#imagine" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">Imagine...</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">No internet. I join your phone's hotspot. I scan the QR code on your phone. My browser loads the Ribbit PWA and asks if I want to install it. Of course! Then I turn on my hotspot and offer the PWA to the next ham. I think this could be done.</p><h3 id="m_8166811082624253157gmail-development-and-deployment" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#development-and-deployment" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">Development and Deployment</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">This test PWA is set up with CI/CD. The latest release is built and deployed to the production site within a couple minutes of code being pushed to the repository. By using Pull Requests, a preview website is automatically created. We can use the preview to test and approve the latest release. Then, with one click, we release the latest awesomeness.</p><h3 id="m_8166811082624253157gmail-update-the-app-on-all-your-devices" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#update-the-app-on-all-your-devices" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">Update the App on All Your Devices</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">No need to reinstall the app. My experience is that if you right-click/refresh or close/open the app, your device is instantly updated to the latest release. This is not simply "a cached webpage." This is a full-blown installed application on par with every other app. When properly configured, it should continue to run without Internet access indefinitely. And we can add message caching so they'll be uploaded once the Internet is accessible.</p><h3 id="m_8166811082624253157gmail-under-the-hood" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#under-the-hood" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">Under the Hood</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px"><a href="https://github.com/richclingman/rattlegram-pwa" rel="noopener noreferrer noreferrer" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank">Public Repository for this PWA</a>.</p><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">This PWA is built using Nuxt3/VueJs3 with its Content module (see the simple blog pages), and Bulma CSS/SASS. It's currently hosted on my paid Netlify account. Netlify offers free accounts that should support the Ribbit development and full deployment.</p><h3 id="m_8166811082624253157gmail-how-i-discovered-ribbit" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#how-i-discovered-ribbit" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">How I Discovered Ribbit</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px"><em style="box-sizing:inherit">Just this past weekend,</em> I came across the Ribbit presentation in the <a href="https://www.youtube.com/watch?v=TGzgIjEt9wA" rel="noopener noreferrer noreferrer" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank">RATPAC videos</a> and have watched "every" Ribbit video and tried out the Android Rattlegram app. Awesome! Great work on the concept, algorithm, and app. Great presentations! I decided to try Ahmet Inan's DSP functions in a PWA to see if it's a viable concept. I've worked with Web Audio API, but never combined C++ and Javascript to get Web Assembly apps. This is my first real attempt at a PWA, so I'm sure there are a lot of things to be enhanced.</p><h3 id="m_8166811082624253157gmail-_73" style="box-sizing:inherit;margin:1.3333em 0px 0.6666em;padding:0px;font-size:1.5em;color:rgb(54,54,54);line-height:1.125;font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif"><a href="https://rattlegram.k0ozk.com/blog/about#_73" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none" target="_blank" rel="noreferrer">73</a></h3><p style="box-sizing:inherit;margin:0px 0px 1em;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px">I'm a software engineer -- full-stack, back-end, and cloud. And I'm an Extra Class Amateur (without much actual radio experience other than 2m).</p><p style="box-sizing:inherit;margin:0px;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px"><a href="https://k0ozk.com/" rel="noopener noreferrer noreferrer" style="box-sizing:inherit;color:rgb(72,95,199);text-decoration-line:none;padding-right:0.75rem" target="_blank">Rich Clingman, <span style="box-sizing:inherit;font-style:inherit;font-weight:inherit;font-family:Consolas,Monaco,BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:1.1em">K0OZK</span></a><br style="box-sizing:inherit">Ozark, Missouri, USA</p><p style="box-sizing:inherit;margin:0px;padding:0px;color:rgb(74,74,74);font-family:BlinkMacSystemFont,-apple-system,"Segoe UI",Roboto,Oxygen,Ubuntu,Cantarell,"Fira Sans","Droid Sans","Helvetica Neue",Helvetica,Arial,sans-serif;font-size:16px"><br></p></div>
</blockquote></div>