How Microsoft could loose the PWA-race as well

Just home from a developer get-together in London. We were 30 independent consultants developing for mainly the win32-platform enjoying a day of showcasing our projects and discussing. Many of us have been burnt by Microsoft’s promises of the new platforms – Silverlight, DNA, J#, XNA and Windows Phone, to name a few.

When discussing, we found that most of us are still developing for the win32-platform. Why? Simple answer is – to support Windows 7!

Windows 7 will be supported until 2020. Major business and most of the world (46% as of this writing) are still running it. Lowest common-denominator is win32! Why should anyone write for anything else? Microsoft is now muddling the waters with the UWP to PWA shift, so why should I look at UWP?

Please Microsoft – allow us to develop for UWP and PWA platforms and deploy those applications on Windows 7. Create a wrapper or something (steal Electron runtime?) because developing and deploying win32 apps is not the way forward. It will make the life hard for us developers and you will have a even more fragmented platform since developers will turn their back on you.

Conversation 46 comments

  • hrlngrv

    Premium Member
    15 November, 2017 - 6:27 pm

    <p>PWAs can't run in Windows 7 using a compatible browser? Maybe they can't make use of features specific to Windows 10 like live tiles or sharing, but they should still be able to run, use push notifications, etc.</p>

    • SocialDanny123

      15 November, 2017 - 7:11 pm

      <blockquote><a href="#216872"><em>In reply to hrlngrv:</em></a> No. I don't think Chrome or Firefox has that function.</blockquote><p><br></p>

      • hrlngrv

        Premium Member
        15 November, 2017 - 8:04 pm

        <p><a href="#216896"><em>In reply to SocialDanny123:</em></a></p><p>I suppose it depends on what one considers a PWA. mobile.twitter.com is supposed to be a PWA, and it loads and works OK in Firefox under Windows 7.</p>

        • SocialDanny123

          16 November, 2017 - 3:53 am

          <blockquote><a href="#216924"><em>In reply to hrlngrv:</em></a> But it's basically just a website. Nothing else, you don't get the benefits that PWAs through the MS Store get. PWAs on the Store basically behave like a normal app. </blockquote><p><br></p><p><br></p>

          • hrlngrv

            Premium Member
            16 November, 2017 - 11:23 am

            <p><a href="#216974"><em>In reply to SocialDanny123:</em></a></p><p>I'm aware of the promise. There just don't seem to be many working examples. Besides, MSFT didn't create the PWA concept, Google did. MSFT wants to extend PWAs to support some Windows 10-exclusive features, but my understanding is that PWAs should be able to run even if they can't use those extra features. Are there any publicly available PWAs today which only run under Windows 10?</p>

            • SocialDanny123

              16 November, 2017 - 3:10 pm

              <blockquote><a href="#217103"><em>In reply to hrlngrv:</em></a></blockquote><p><br></p><p>I don't think there is, however PWAs are useless on Windows 7, there's literally no point in supporting PWAs on Windows 7. </p>

              • wunderbar

                Premium Member
                16 November, 2017 - 5:18 pm

                <blockquote><a href="#217239"><em>In reply to SocialDanny123:</em></a></blockquote><p>a PWA isn't useless on Windows 7. You are right when you say that the twitter PWA is literally just a website, because that's what a PWA is. Developers can add hooks for OS specific functions, but if the OS the PWA is running on doesn't support that it doesn't use it.</p><p><br></p><p>I could go to the Twitter PWA today on Chrome on Windows 7, run it as a window, get notifications, and behave just like a "native" app on Windows 7. I'm not sure how you think that's pointless. It doesn't need to have any "special" features to be a good PWA that works.</p>

                • SocialDanny123

                  17 November, 2017 - 6:44 pm

                  <blockquote><a href="#217326"><em>In reply to wunderbar:</em></a></blockquote><p><br></p><p>Of course, but it's nothing different from what is pinning to the taskbar is now. PWAs are supposed to be app-like, PWAs on Windows 7 are not that at all, pinning Chrome does nothing. PWAs on Windows 10, Android and soon IOS will be app-like. </p>

                • hrlngrv

                  Premium Member
                  17 November, 2017 - 9:23 pm

                  <p><a href="#217926"><em>In reply to SocialDanny123:</em></a></p><p>Here's a screenshot of draw.io running with an ad hoc profile in Firefox under Windows 7.</p><p><img src="https://s7.postimg.org/feq6wyeq3/deleteme.png"></p><p>As you can see, no browser UI in the Firefox window running draw.io.</p><p>No, this isn't provided by Firefox. I had to kludge an equivalent to Peppermint OS Ice to do this. However, once the ad hoc profile exists, it only takes a fairly straightforward VBScript script to launch Firefox with that profile for any url passed as a command line parameter.</p>

                • jimchamplin

                  Premium Member
                  19 November, 2017 - 5:38 pm

                  <blockquote><a href="#217948"><em>In reply to hrlngrv:</em></a></blockquote><p>Nice! The fact that you were able to whip that up just for a screenshot is freaking awesome.</p><p><br></p><p>Hats off!</p>

                • hrlngrv

                  Premium Member
                  19 November, 2017 - 5:49 pm

                  <p><a href="#218287"><em>In reply to jimchamplin:</em></a></p><p>Not quite. I wanted to see whether Windows could handle chrome-less site-specific browser sessions like Peppermint OS's Ice could. I did that a few months ago.</p><p>Anyway, the point remains that with the possible exception of so-called service workers allowing offline use, Windows 7 can run PWAs at least while online as PWAs are expected to be run, looking like they were local apps.</p><p>Does Windows 7 provide a notification system like Windows 10? No, but browser-based apps can use push notifications. How many PWA developers want to add Windows 10-specific features?</p><p><strong><em>ADDED:</em></strong> In case anyone thinks the image above was manipulated, here's a link to the setup for Firefox under Windows. https://drive.google.com/file/d/1ImSHblE03xIQaUSEJIfLO8ya_SJOR2un/view?usp=sharing</p&gt;

                • wunderbar

                  Premium Member
                  19 November, 2017 - 6:35 pm

                  <blockquote><a href="#218289"><em>In reply to hrlngrv:</em></a></blockquote><p>and the service workers don't have to be native to the platform. Chrome is adapting them as well, meaning that except for Windows 10 specific code a PWA in Chrome will run the same on Windows 7 as it would on Windows 10.</p>

                • hrlngrv

                  Premium Member
                  19 November, 2017 - 8:17 pm

                  <p><a href="#218292"><em>In reply to wunderbar:</em></a></p><p>If PWAs could just provide the GUI front-end to either service workers or local, native back-ends, we'd be much closer to the Nirvana of OS-agnostic computing.</p>

                • wunderbar

                  Premium Member
                  19 November, 2017 - 6:32 pm

                  <blockquote><a href="#217926"><em>In reply to SocialDanny123:</em></a></blockquote><p>I think you're not understanding what a PWA is supposed to be. A PWA is not a Windows 10 app. A PWA is a web app that can and does have different capabilities based on what browser/OS/platform it is running on.</p><p><br></p><p>Some PWA's will be little more than a website wrapper, because that's all they'll need to be. Some will support OS specific functions, when it makes sense to.</p><p><br></p><p>Again, just using Twitter as an example. Twitter's PWA *could* be updated to support Windows 10 notification center when running on Windows 10. Run it in Chrome? It'll use Chrome notifications. Run it on Chrome on Windows 7? It'll use Chrome notifications. Run it on a mobile OS? If that browser supports notifications (like Chrome on Android does) you get notifications.</p><p><br></p><p>Heck, I don't run the facebook app on my phone, but what I do is have a homescreen shortcut to facebook on the web, which supports push notifications, which means if I get a facebook notification I get a notifiation on my phone just like if I had the app installed (just without the crippling battery drain the app brings).</p><p><br></p><p>That's PWA. It's not a new magical thing developed for Windows 10. They run on any browser/platform, and *can* take advantage of platform specific features if made to do so.</p>

              • hrlngrv

                Premium Member
                16 November, 2017 - 5:39 pm

                <p><a href="#217239"><em>In reply to SocialDanny123:</em></a></p><p>In the sense there's less than 2 years 2 months left until Windows 7 reaches EOS, there may be no point to building PWA support into Windows 7 if Windows 7 couldn't already run them, albeit less well than Windows 10. The question would be whether Windows 7 already has everything it needs to use <em>service workers</em>. Not with live tiles, not with UWP/WinRT sharing, not with UWP/WinRT sandboxing.</p><p>It seems obvious that PWAs can run like non-progressive web apps in many current browsers while online under Windows 7. Also, scripts similar to Ice under Linux can run many web apps as if they were local apps with no browser UI (so as site specific browsers) under Windows 7. The missing piece for PWAs would seem to be working offline. Can Windows 7 with nothing new added run PWAs when offline? I'm not asking whether MSFT supports doing so. I figure MSFT doesn't support Classic Shell providing a Windows 2000-like start menu for Windows 10, but it can still be done without MSFT's support.</p>

          • wunderbar

            Premium Member
            19 November, 2017 - 6:34 pm

            <blockquote><a href="#216974"><em>In reply to SocialDanny123:</em></a></blockquote><p>This is just not true at all. If a PWA in the store isn't written to take advantage of any Windows 10 specific features, it'll run no differently than it would on Windows 7, or MacOS, or Android, or iOS.</p><p><br></p><p>Just because something is in the store doesn't make it "different" type of PWA.</p>

  • jimchamplin

    Premium Member
    15 November, 2017 - 6:35 pm

    <p>A UWP wrapper would be amazing. I'm jumping into Windows development and will probably never learn Win32, so having a way to open that up would be great. </p>

  • SocialDanny123

    15 November, 2017 - 7:12 pm

    <p>How can MS loose the PWA race?, Windows 7 will naturally continue to decline in the market. A vast Majority of users of Windows 7 are users in Enterprise, I highly doubt those businesses will stick with Windows 7 by 2020.</p><p><br></p><p>Plus didn't Microsoft say that'll just automatically add PWAs to the Microsoft Store without any activity from the developer?</p>

  • dhallman

    15 November, 2017 - 8:46 pm

    <p>Yup, today you can get Edge for iOS and Android. But not Windows 7. Weird.</p><p><br></p><p>Since Windows 98 all major components for each new Windows upgrade (Internet Explorer, Media Player etc.) were available by free download to older versions of Windows. That stopped with Windows 8 when the store and UWP were not made available as a download or service pack to Windows 7. I think that move cost them dearly. Imagine if the store was made available to Windows 7 when Windows 8 was growing and Windows phone was pushing 3 to 4% market share under Ballmer. Store usage spikes, apps become viable, developers notice, phone becomes a platform? We'll never know.</p>

    • SocialDanny123

      16 November, 2017 - 3:54 am

      <blockquote><a href="#216937"><em>In reply to dhallman:</em></a></blockquote><p><br></p><p>I predict when Windows 7 supports expires. Microsoft will make Windows 10 free again, maybe for 5 years. Maybe they'll force upgrade it as they have a genuine reason to do so, for the sake of security. </p>

    • rameshthanikodi

      16 November, 2017 - 6:33 am

      <blockquote><a href="#216937"><em>In reply to dhallman:</em></a></blockquote><p>I disagree. Even when IE 11 was made available to Windows 7 users, it went largely ignored. Microsoft had little choice but to start over. I think they chose well. I can't imagine the additional amount of cruft and complexity Microsoft would need to deal with if they had to support Edge on Windows 7…the extension store, the pen/ink features, etc.</p><p><br></p><p>If Windows 7 users wanted Edge so badly they would have upgraded to Windows 10 when the annoying free upgrade offer popup kept showing up. Hell, you can still use a Windows 7 product key to install Windows 10 today.</p><p><br></p><p>I also believe stuff like Windows Media Player have outlived their welcome, just like iTunes. Very few people I know of used WMP, instead opting for something like VLC. Of course, these days, it doesn't really matter because every single video on the planet is on Youtube. Another thing is that for tablets/laptops, WMP wasn't exactly very easy on the battery, plus WMP was always getting messed up with all sorts of crappy third party DVD plugins. I'm happy it's dead. Overall, I believe Microsoft chose well. Windows 7 was great for it's time, but gutting the past is the right thing to do, in order to move forward.</p>

      • dhallman

        16 November, 2017 - 12:45 pm

        <blockquote><a href="#216995"><em>In reply to FalseAgent:</em></a> I was not saying that Microsoft should have kept making IE or Media player. They had run their course. It was just an example that they had changed their approach to pushing out platforms at the time they needed to double down. When you are coming from behind not one, but 2 competitors, you do everything to get your user-base on your new platform. Free upgrades, sure. Free downloads, yes. Built into service packs. Why not. Trick people with late night upgrades — no. Huh, they only did 2 of those things. Including the one they shouldn't have.</blockquote><blockquote><span style="color: rgb(0, 0, 0); background-color: transparent;">They would not have had to push so hard to try to trick people with Win 10 upgrades if these platforms were made available to Win 7 users back when Win 8 came out. Edge was not yet a thing. It should have been. If you didn't want the new tablet interface in 8 you could stay with 7. But still get modern apps. The apps store comes with Edge. Why not try it out?</span></blockquote><blockquote><span style="color: rgb(0, 0, 0); background-color: transparent;">I know the immature version of Edge would have been ignored as well. Chrome did not take top spot with version 1 either. But why start so late and include so few? How was that supposed to work? </span></blockquote>

      • hrlngrv

        Premium Member
        16 November, 2017 - 5:02 pm

        <p><a href="#216995"><em>In reply to FalseAgent:</em></a></p><p>Picky, but do you mean Windows Media <strong>Center</strong>? Windows Media <em>Player</em> is still available in Windows 10.</p><p>I figure by a year before IE11 was released, consumers who cared which browser they used had already switched to something other than IE. Also, some businesses needed as close to IE6 functionality as possible, and IE8 was better for that than later versions.</p>

        • dhallman

          16 November, 2017 - 10:34 pm

          <blockquote><a href="#217322"><em>In reply to hrlngrv:</em></a> No, Media Center is a whole other beast and the first example of how Microsoft will burn consumers that build a life around their solutions. Should we point out that Media Player being in Win 10 shows how little faith MS had in Grove? What can Media Player do that Groove can't? Play audio files? Video? Movies and TV had that covered. But Internet Explorer is in Win 10 too. So maybe they are just stuck between the past and a hard place.</blockquote><p><br></p>

          • hrlngrv

            Premium Member
            17 November, 2017 - 1:34 am

            <p><a href="#217467"><em>In reply to dhallman:</em></a></p><p>I did ask FalseAgent, and you don't speak for him.</p><p>Anyway, I disable/uninstall IE and Windows Media Player on every Windows machine/VM I use. For Windows 10, I have no intention whatsoever to buy or rent any media content through MSFT, so I remove Groove and Music &amp; TV among the first things setting up new systems.</p><p>As for the past, it's remarkable to me that there's no bundled UWP alternatives for Notepad, Charmap, or Font Viewer. Does MSFT simply fail to sense any urgency, or is the only thing missing for UWP a formal declaration that it's dead?</p>

            • dhallman

              17 November, 2017 - 7:48 am

              <blockquote><a href="#217486"><em>In reply to hrlngrv:</em></a> oops – missed that. </blockquote><p><br></p>

          • Alexander Rothacker

            Premium Member
            17 November, 2017 - 6:19 pm

            <blockquote><a href="#217467"><em>In reply to dhallman:</em></a></blockquote><p>Media Player has DLNA support, which Groove doesn't have to today, although there are plenty of requests for it in the Feedback hub.</p>

  • Rycott

    Premium Member
    15 November, 2017 - 8:53 pm

    <p>I don't understand. win32 isn't going away… what's the problem?</p><p><br></p><p>PWA's will be nice to fill in the app selection from lots of random internet things but it's not like win32 is going to disappear anytime soon. You can even wrap them and publish them in the store.</p>

  • maethorechannen

    Premium Member
    16 November, 2017 - 5:53 am

    <p><em style="color: rgb(0, 0, 0); background-color: transparent;">steal Electron runtime</em></p><p><br></p><p><span style="color: rgb(0, 0, 0); background-color: transparent;">Why? Electron is already out there. MS even use it themselves.</span></p>

    • matsan

      18 November, 2017 - 10:31 am

      <blockquote><a href="#216985"><em>In reply to maethorechannen:</em></a></blockquote><p>Definitely and that’s the way I will consider future projects. Probably I will be able to wrap the JS in Visual Studio as a Store App without too much of a hassle. </p>

  • John Scott

    16 November, 2017 - 4:41 pm

    <p>Hoping to see really good PWA's someday, but here we have gone through a lot with apps all for this promise of a multi platform Windows working across all aspects of devices and Microsoft has already stepped away from mobile for Windows? So that makes me think the winner in PWA will probably be Google or somebody other than Microsoft. Sadly Microsoft has failed in the past to take the ball and run with it. Instead fumbling on the 10 yard line and others run it back for a score. </p>

    • skane2600

      17 November, 2017 - 4:10 pm

      <blockquote><a href="#217313"><em>In reply to John_Scott:</em></a></blockquote><p>If "winning"requires seamless multi-platform, multi-device apps there isn't going to be any winner because all such schemes fail in the final analysis.</p>

  • skane2600

    16 November, 2017 - 7:53 pm

    <p>There's no real race to lose or win. PWA's are just the latest hyped technology in a long line of technologies that failed to "change the game". </p>

    • hrlngrv

      Premium Member
      16 November, 2017 - 8:47 pm

      <p><a href="#217412"><em>In reply to skane2600:</em></a></p><p>I think it'd be fair to say browsers generally have changed the computing landscape since the mid-1990s. As soon as offline use of web apps becomes robust, that may also be a significant change.</p>

      • skane2600

        17 November, 2017 - 2:15 pm

        <blockquote><a href="#217436"><em>In reply to hrlngrv:</em></a></blockquote><p>I'd say that the impact of browsers on the computing landscape didn't take place until at least the turn of the century. The mid-1990s were more the era of web documents than web apps. Not surprising given that most people were still using dial-up to access the Internet at that time.</p><p><br></p><p><br></p>

  • Paul Thurrott

    Premium Member
    17 November, 2017 - 8:38 am

    <p>This is a good point, and Windows 7 isn't going away anytime soon.</p><p><br></p><p>But the thing with PWA or UWP is that the services you'd want on Windows 7 won't be there regardless: Notifications, etc.</p><p><br></p><p>The workaround is that PWAs will work in Chrome and other browsers that work on Windows 7. And you can pin them to the taskbar with Chrome, which is actually pretty elegant.</p><p><br></p><p><br></p>

    • SocialDanny123

      17 November, 2017 - 6:48 pm

      <blockquote><a href="#217631"><em>In reply to paul-thurrott:</em></a></blockquote><p><br></p><p>It also likely won't have that fast loading times that native apps have like on PWA on Windows 10. </p>

    • Roger Ramjet

      17 November, 2017 - 7:25 pm

      <blockquote><a href="#217631"><em>In reply to paul-thurrott:</em></a></blockquote><p>So then Google is using PWAs as a way of instrumenting their browser share to enlarge share of desktop computing by taking advantage of Microsoft's backcompat snafu from Win7 forward, (both Apps, and browsers). Kinda like Microsoft/Compaq vs. IBM. That was the moment IBM faded and Microsoft rose. Google is already much further along than Microsoft was then, of course. The end is nigh. </p>

      • SocialDanny123

        17 November, 2017 - 10:58 pm

        <blockquote><a href="#217929"><em>In reply to Roger Ramjet:</em></a></blockquote><p><br></p><p>The key difference is that PWA is a neutral technology. It's not proprietary and tied to one platform. </p>

        • Roger Ramjet

          18 November, 2017 - 9:03 pm

          <blockquote><a href="#217954"><em>In reply to SocialDanny123:</em></a></blockquote><p>Sure. As they say, history doesn't repeat, it only rhymes. I agree about PWAs. But Google doesn't care that it isn't proprietary, they never have, in their business model. If it's not proprietary one of the things it may mean is that you can't charge a lot for it per unit, which&nbsp;Google doesn't intend to, they are just looking to move as many users as possible to their ecosystem, and instrument them for ad revenues. So, once everyone is using PWAs over Chrome (which currently has a stable and sticky 70% WIndows browser share), what is the difference between that machine and a ChromeOS device? </p><p>So sure, unlike IBM which fell like a stone, this would not cause Microsoft to almost exit high productivity Tech (becoming an Accenture competitor, and an Apple reseller), only that they will fade to background, with&nbsp;ever smaller claim as a client platform provider. Nadella will launch O365 over ChromeOS ("let's do our best work for Google"), they will be able to maintain some enterprise users, they will have management software that will make ChromeOS machines work well together with iOS, Android, and whatever small Windows share remains, etc. This seems just the most likely scenario given the pieces on the board, absent some yet unseen move from Microsoft to become more competitive in the platform wars.</p>

  • jwpear

    Premium Member
    17 November, 2017 - 4:34 pm

    <p>I've been a Windows dev since the early 90's. I've been through a lot of the platform ride you listed. Can't stress just how angry I have been with Microsoft at times. It's tough enough to compete with the market and then Microsoft pulls the platform rug right out from beneath you.&nbsp; Not only did Microsoft screw over the companies that funded our work, they also screwed our own personal investment. My team and I invested years of our lives and made many personal sacrifices to help the companies we worked for get ahead in the market. Those personal and financial investments were wasted on more than one occasion. Of course, Microsoft will argue that they've never killed a technology. I've been on conference calls with them after they announced news that signaled the end of those you list. They did just that. But once it has no future, a savy market will not consider a solution built using it.</p><p><br></p><p>After getting burned by Microsoft a few times, I decided the best strategy was to pick a platform that Microsoft could not influence or abandon entirely on its own. My team and I have been using HTML and JavaScript to build apps for about 10 years now. We've written some apps that my Win32 mind would have pegged as impossible to write in HTML and JavaScript.&nbsp;&nbsp;And they absolutely were impossible in the early years of HTML/JS. Much has changed just in the last 7-8 years.</p><p><br></p><p>In my mind, JavaScript is the one true cross platform technology. We don't worry nearly as much about the OS version. Win 7 isn't a problem. Chrome runs just fine there. Windows 10 S? Covered with Edge. Mac OS? Chrome as well as Safari or Firefox. iOS? Got that covered with Safari (and Chrome, FF). Android? No problem! ChromeOS? Yep, that too! Need a responsive UI, piece of cake! Yes, we have to test for features supported by the browser, but that's easier than the things we used to have to worry with.</p><p><br></p><p>With all that said, I'm pretty pumped about PWA's! I think its the right move for Microsoft.</p>

    • skane2600

      18 November, 2017 - 1:16 pm

      <blockquote><a href="#217866"><em>In reply to jwpear:</em></a></blockquote><p>I wouldn't consider different browsers to be different platforms in the traditional sense, so JavaScript's ability to be nearly cross-browser doesn't really make it cross-platform IMO. </p>

  • JimP

    18 November, 2017 - 6:27 pm

    <p>The days of Windows being the dominant OS are over. We live in an extremely heterogeneous world. Android is now the dominant OS. And then there's iOS, MacOS, Linux, not to mention all the smart devices like TV sets. </p><p><br></p><p>Unless you're writing games, have some special circumstance, or have money to burn, you'd have to be a fool to develop for Win32. In fact, I haven't had a client ask me to write a real Win32 app in years. </p><p><br></p><p>HTML/JavaScript/CSS runs virtually everywhere. I'm excited about PWA. Many years ago, Java promised us the ability to write once, run everywhere and failed spectacularly. Now that dream is about to become reality. </p><p><br></p><p>If you want to hang on to Win32, that's your choice. I'm sure there were many COBOL developers who tried to fight the future kicking and screaming.</p>

    • hrlngrv

      Premium Member
      18 November, 2017 - 7:26 pm

      <p><a href="#218141"><em>In reply to JimP:</em></a></p><p>COBOL has ebbed away, but mainframes are still around. Those mainframes aren't running HTML/JavaScript/CSS.</p><p>Need to distinguish between UI programming and calculation/data manipulation-intensive back-ends. OS-specific UI programming may be dying. Back-end programming is far more portable/OS-independent and based on languages which have been around for decades.</p>

      • JimP

        19 November, 2017 - 4:55 pm

        <blockquote><a href="#218156"><em>In reply to hrlngrv:</em></a></blockquote><p><br></p><p>Obviously, HTML/JavaScript/CSS refers to the front end.</p>

        • hrlngrv

          Premium Member
          19 November, 2017 - 5:13 pm

          <p><a href="#218284"><em>In reply to JimP:</em></a></p><p>I was being picky.</p><p>When Java was supposed to conquer computing, it didn't have a rich enough UI toolset to make that practical. Now browser/web technology does. It's still not practical to have the same UI on 4" phones as 60" wall-mounted, touch-enabled presentation monitors, but each UI component for both and everything in between could now come from the same source.</p>

Windows Intelligence In Your Inbox

Sign up for our new free newsletter to get three time-saving tips each Friday

"*" indicates required fields

This field is for validation purposes and should be left unchanged.

Thurrott © 2024 Thurrott LLC