Ask Paul: July 26 (Premium)

Daisy's favorite place
Daisy’s favorite place

Happy Friday, and if you were impacted by the CrowdStrike outage this past week, I hope that’s finally calmed down for you. Let’s kick off the first weekend of the post-CrowdStrike era a bit early with another great set of reader questions. Like you, I bet, I could use some downtime.

The future of desktop PCs

MartinusV2 asks:

Hello Paul, with the problems Intel and AMD are having with their desktop CPUs lately, do you think, they will eventually stop selling them since it’s less profitable than mobile (laptop) counterpart? Does Apple Silicon and Qualcomm are showing the way of the future with an CPU+NPU+GPU combos for gaming?

It is odd to me that there’s no true discrete GPU option in the Arm world, and with rumors of other companies looking to come on board in the PC space, I’m wondering if one, in particular—Nvidia—might try to innovate in that space. But tied to what I wrote yesterday in A Few Thoughts on Portable PC Gaming (Premium), there’s a parallel push to make integrated graphics—whatever the name/brand, and separate from Arm specifically—more powerful as well. So it’s not entirely clear: Do integrated graphics improve to the point where dedicated graphics are no longer required? This is impossible to say at the moment, but if it’s going to happen, it’s still a way off.

With regard to the issues Intel is having specifically—issues that, rumors now suggest, may not actually be solved by the microcode update it announced—it’s difficult to know which processes or mistakes led to this situation, and whether they point to a bigger problem. But to make this very general—I’m not a hardware guy—it’s fair to say that microprocessors are more complex than ever and as this world races to be physically smaller, more efficient, and ever more powerful, that these companies have understandably run into unique challenges. I rip on Intel for strategic reasons—the way it downplayed and even ignored the need for more efficient mobile chips and for so long is criminal—but it’s also an engineering colossus. If any company can overcome these challenges, it’s Intel.

And let’s not lose sight of a few basic truths. PCs as a platform have been getting more and more mobile since the beginning of this era, with more and more people computing on the go than at a desk in a specific room of a specific building. Those trends will only continue, but that doesn’t change the fact that desktop computing has advantages, and that those advantages will continue to be important for years to come. Obviously, there are hybrid setups in which you dock a laptop and can then take it with you. But a true desktop PC or workstation is literally modular, so you can more easily upgrade or replace components, including physically large components like dedicated graphics cards that don’t make sense in portable PCs. (External GPUs are a thing, of course.) And those systems will always be more powerful, and thus of interest to, and even required by, video gamers, engineers, data modelers, scientists, developers, and whomever else needs the horsepower.

Intel and AMD also benefit from the x86/x64 legacy in the PC market and, for now, in the server/datacenter worlds. This may shift when and if various workloads move to Arm natively, but, again, that will take a while. There’s also a DIY/choice component to the PC market where it’s possible to cobble together your own machine using cases, parts, and whatever of your design. That may (will?) come to Arm, I suppose. But this, too, is a kind of legacy use case that is uniquely x86/x64 and may always be.

For the short term, I see desktop CPUs and desktop PCs and workstations as a minority part of the market by volume, but also a lucrative subset of the overall market. And when we think about PC makers and profitability, desktop PCs of whatever kind usually fall into the high-margin but low-volume premium segment. They may not sell as many, but they’re more profitable. And they’re likewise “easier” to design and produce because they don’t have the same extreme size, mobility, and efficiency needs as portable PCs. They will lag behind in that regard, but that’s almost by design.

I’m curious whether these new hybrid Intel and AMD designs will succeed, both technically—reliability, performance, efficiency, etc.—and from a market acceptance standpoint. We’re in a moment in time in which these companies can rightly champion the compatibility advantages they have over Arm in the PC space. But it’s possible they’ll introduce their own incompatibilities if the design changes get too radical, or more mistakes because of the complexities, yes, but also because they’re racing so fast to change. Plus, Arm can catch up if developers get on board.

Learning WPF

lvthunder asks:

Do you have a recommendation for a print book for someone who uses Windows Forms and wants to learn WPF?

It’s been a long time since I’ve purchased a WPF book, but Amazon tells me that I bought the following titles in 2020 when I started researching this topic again, as described below.

WPF 4.5 Unleashed by Nathan, Adam

Programming WPF: Building Windows UI with Windows Presentation Foundation by Chris Sells and Ian Griffiths

(I had previously bought an earlier edition of the first one back in 2007.)

The longer version of this story is, well, longer.

This is a complex topic.

I was a developer of sorts through 1999, when Duke Publishing (which owned Windows NT Magazine) acquired my website, the SuperSite for Windows. I had, to that point, published several books about Microsoft-oriented software development technologies and products, and I had adopted and was writing about Microsoft Active Server Pages (ASP), a pre-.NET server-side VBScript-based web app platform. But Duke hosted my sites and transitioned them to whatever they were using, and I stopped having a day-to-day need to understand how this all worked.

When Microsoft announced .NET in 2000, I was obviously interested in many levels, but I was by then far more involved with general Windows topics and was expanding into the server and commercial world because of my parent company. And … life happened. I always dabbled, always kept a foot in that world. But I never really understood it at a deep level. Flash forward to 2015, when I started Thurrott.com, and then 2019, when I started writing a series of articles, called Programming Windows, to document the history of Windows from a technical perspective. This was a nice opportunity to revisit a lot of app development environments, languages, and technologies from the past. By September, just three months later, I had published over 50 articles.

But then I ran into a wall: I had documented this history up to when Microsoft announced .NET in 2000.  But once I got to .NET, I couldn’t rely on my memories and experiences as well as I could with the history before then. And so I stepped back from the series and decided to learn these things for the first time. And to do that, I created an app I now call .NETpad, a Notepad clone. I started with the most familiar of the first but new-to-me .NET technologies: Visual Basic.NET (I had written books about VB 3, 4, 5, and 6) and Windows Forms. And then I wrote about that experience the following January.

Windows Forms arrived with C# and Visual Basic.NET and was .NET-based. But Microsoft replaced it with WPF in 2006. This was a radical shift, and it remains a sophisticated environment for creating desktop apps today. But it is difficult to learn if you’re coming at it from a Windows Forms background, as you are (and as I did). The hurdles are many.

The issue is that you’re not just learning WPF, you’re learning XAML, an XML-based markup language that Microsoft still uses—variants are/were available in Metro, UWP, Xamarin Forms/MAUI, and now the Windows App SDK—for describing user interfaces. Where you would drag controls onto a form in VB and Visual Basic, XAML works like HTML from a layout perspective. It’s declarative and very verbose. There’s a visual designer, but it’s terrible, and nothing like the one in Windows Forms, and you’re better off hand-writing XAML code. You would have a much easier time with it if you were coming from HTML and JavaScript instead of Windows Forms.

XAML and WPF are incredibly powerful. A window in a WPF app is a class, and the XAML and C# files that represent this class are each a partial implementation, literally a partial class. XAML and WPF support themes and styles, and incredibly powerful and complex data binding capabilities, with the goal of keeping a UI component that represents backend data up-to-date, automatically, as the value of that data changes. I use data binding only rarely in .NETpad, partially because of the simple nature of the app. But if you look at the way it integrates with the system fonts, there’s some simple data binding there.

I assume you’re good with C#, but I learned C# by porting .NETpad to C#. And then I took almost two years off from the Programming Windows series, during which I created and recreated, and then documented, various versions of that .NETpad app. I wrote about the original VB/Windows Forms/.NET Framework app, the original C#/WPF version and its update for .NET 6, and the UWP version during this time via three separate article series. And when I felt I had learned these things well enough, I picked up the Windows Programming series, finished it, and published it as Windows Everywhere.

I mention this history because several years elapsed from the inception of the series to the book and then to today, and I’m still learning. WPF is my favorite of these environments, and C# is the obvious language of choice. And with Microsoft resurrecting WPF this year, I am again working on a new version of .NETpad. I still cannot claim to be an expert of any kind. This takes time and effort.

I’m not sure why you want to learn WPF right now. But it is important to understand what it means for WPF to be “back.” A good starting point is the recent .NET Rocks podcast episode WPF Update with Joseph Finney, as Microsoft has done a lousy job of explaining this. But the short version is that, for better or worse, the Windows App SDK is the only real modern native Windows app platform that Microsoft provides, and WinUI 3, which is part of that, is the XAML-based user interface technology that Microsoft itself uses throughout Windows 11.

So what is WPF, really? And how does it relate to the Windows App SDK and WinUI 3?

WPF is a native-ish Windows app platform, based on .NET technologies. It’s not as efficient as a truly native app platform, but that’s immaterial: Given the power of PCs and its sophisticated capabilities, WPF is ideal for traditional desktop apps. There’s just one problem: The controls and capabilities it supports are often decades old and they were designed in a different era. As Windows evolved over the years, front-facing and back-end, WPF either lagged behind or was ignored entirely.

What kept WPF alive was the user base: There are possibly millions of WPF apps worldwide, many inside corporations, that never stopped working. This led to community efforts to improve WPF with outside libraries and extensions. Microsoft open-sourced WPF to make that work even better (as developers could now see how WPF itself was made and then improve things accordingly). And then we got a set of community efforts to modernize WPF so that it could render controls that looked native in Windows 11, looked like WinUI 3 controls. Microsoft quietly partnered with one of those community efforts, WPF UI, in late 2023, and that is what led to the return of WPF this year: Microsoft is supporting a way to modernize how WPF apps look when they run on Windows 11.

If you’re familiar with Java from back in the day (write one, run everywhere) or Flutter more recently, you may know that these environments offered/now offer a way to create native-like apps in Windows and elsewhere. Basically, via skinning: The app runs, detects the environment, and then presents the appropriate UI components, and it looks native. That’s how WPF works in Windows 11. Because the native controls were designed for a different era, WPF can now use a WPF UI-based resource library to render its controls in a way that looks native, looks like WinUI 3, on Windows 11. But to be clear, this is not WinUI 3. It’s basically a skin.

And that’s fine. It may lead to some issues down the road when the WinUI 3 versions of controls are updated and maybe the WPF versions lag behind. There are big issues today in that there are WinUI 3 controls and many other Windows App SDK capabilities that just are not available to WPF. And that will continue to be problematic. But it’s OK because the point of supporting WPF more explicitly today is that Microsoft is acknowledging all the existing WPF apps and the need to modernize them. This effort is about existing apps, not new apps.

Which is why I’m asking why. Even my current use of WPF falls under the modernization need umbrella: I have an existing app and I want it to look as good as possible in Windows 11. And what I have discovered is that I can do it, this works. I can take the existing app and make it look better. I also want to improve the app, not just make it look better, but implement new, more modern UIs like those I see in other Windows 11 apps. And I can do that to some degree too. But some Windows 11 UIs are proving elusive. Some may literally require a different environment, almost certainly Windows App SDK. And … I still struggle with that, a lot.

You have a lot of work ahead of you, sorry. But that’s true whether you stick with WPF or start looking at Windows App SDK. As that podcast episode above notes, however, WPF does have one huge advantage over Windows App SDK: Because of its popularity and two decades of service, there is a ton of help out there on the web at Stack Overflow and elsewhere. If you have a question about WPF, you’ll find the answer every time. That has definitely been my experience.

Good luck!

Swag

j5 asks:

Paul, when will we get “Pretty Bueno” coffee cups, t-shirts, wallpapers, etc. from Thurrott.com?

LOL. The notion of swag came up recently in the forums, and I was discussing this with my wife, who’s on board. She’s researching this now. Which means it might actually happen.

TWiT

train_wreck asks:

This one might be tough, and personal, and no big deal if there’s no reply……. how do you feel about TWiT closing down the studio? End of an era so to speak. Leo/TechTV were literally what made me and my best friend both go into IT/dev careers, and by extension the Win Super Site was an influence (i think i was finding download links for Longhorn betas there when we were in middle school, that sidebar thing looked so futuristic at the time…..)

I think I wrote this somewhere, but I was visiting the Newseum in Washington D.C. several years ago, a terrific private (non-Smithsonian) museum that has sadly since closed, and came across a simple but insightful exhibit that parallels the history of TWiT. The exhibit had just two items: A big truck with a “cherry picker” extendable arm and a satellite dish on its end, and an iPhone. The description read something like, “This (the truck and satellite dish) is what journalists used to use for remote broadcasting on-site, while this (the iPhone) is all they need today to do the same thing.”

When Leo left TV to start TWiT, podcasting was still new and his goal was to recreate the broadcast TV experience, but on the Internet and with a much smaller budget, which he of course did. In 2005-2006, this was revolutionary. But technology just kept improving. And today, TWiT is on the other side of this equation: Today, it’s possible to recreate the TWiT studio experience, but with much fewer people, no expensive infrastructure, and using off-the-shelf consumer products, while spending much less money. In the same way that TWiT was the more agile, modern alternative to TV, young people with an iPhone are a more agile, modern alternative to TWiT. Or, where Leo once iPhone’d TV, TWiT has since been iPhone’d by, well, the iPhone.

I feel like this might have happened more quickly had Leo not been bogged down by leases and other financial obligations, and a responsibility to the many people TWiT employed. That Newseum exhibit immediately reminded me of TWiT at the time, and it was long ago. But this change makes sense and is perhaps overdue. Leo can replicate the old experience much more cheaply now, and he will.

It’s impossible to overstate how indelible Leo and TWiT are to me, not just to my career, but to my life. I will never forget the day he first called me to ask about starting Windows Weekly in 2006, the first time I visited the original TWiT Cottage, or the times I visited his previous location, the TWiT Brick House. (Oddly, I never visited the current location, mostly because the pandemic screwed everything up.) This podcast expanded my audience dramatically, but I’m happier about the relationships that came out of it, many long-lasting, partnering with Mary Jo for so many years, and being part of something bigger than just my own little thing.

And this change won’t impact that. It will work … or it won’t, but I respect and relate to his desire to keep going: This is a career, sure, but it’s also a calling, a thing that can’t be divided cleanly between work and personal because it’s both. I hope it works out.

You see the USB, you be the USB

BeckoningEagle asks:

Now that you have tested some of the COPILOT+PC laptops, I was wondering if you could talk about the USB C Ports. It is my understanding that the Yoga does not have the highest possible speed ports available and the rest do. Could you clarify this?

The Yoga Slim 7x has three USB4 Type-C ports, and each is identical, with 40 Gbps of data transfer speed (plus Power Delivery 3.1 and DisplayPort 1.4). This is noted in my review, but you can see it clearly called out on Lenovo’s product sheet for the laptop as well.

Maps, music, and games

helix2301 asks:

Apple moving its Maps to the web in beta but DuckDuckGo already uses Apple Maps on web this seemed kind of confusing why Apple take so long to do this when partners were already doing it.

I’m surprised they’re doing this at all, honestly. But I suppose this is a way to reach customers using Windows PCs, which I assume is common, and in a way that doesn’t undermine the ecosystem. (I didn’t even know DuckDuckGo offered a Maps interface, let alone used Apple Maps. That’s interesting.) Perhaps Apple is actually going to make a push against Google here (or more broadly, including Search.) That would be really interesting.

Another Apple question is what is going on with Apple Music for Windows almost everyone on X is saying Apple Music for Windows looks better than Apple Music for MacOS. I am not sure how this happened but it did.

This is subjective, but I think this preference comes down to the respective app frameworks. Apple Music is native now on both Mac and Windows, but I’m not a fan of the theme or whatever that Apple uses for its entertainment apps on the Mac. Each uses its own accent color (red for Music, blue for TV) and it’s a bit much. These apps were made with the Windows App SDK and WinUI 3 on Windows, and they look better to me as well. (I had heard that Microsoft helped Apple with this or even implemented the front-end UI for them, but I can’t find a source for that.)

The Mac version does have one big advantage over the Windows version, however: It supports Dolby Atmos sound. That, to me, is a major issue.

When I was listening to FRD other day you and Brad talked about how Microsoft does not want to add games to Game Pass worried that it would kill there paying customers who pay for drops. I am wondering if they will follow Epic model of you get the game for free with game pass but you have to pay for everything else. You brought up great point with flight simulator. I notice myself I buy less games since getting gamepass since I am paying for it I try find something to play on there but that is kind of the point right. You pay for netflix and try find stuff on there to watch instead of buying or renting movies.

People “consume” (sorry) entertainment in different ways, and with games, obviously some people prefer to buy individual titles, while others like the all-you-can-eat approach of Game Pass. And you can mix and match, which is what I do for now. But finding that balance (from Microsoft’s perspective) is difficult, I assume, and more so now that Activision Blizzard will be part of the mix.

Xbox Live Core is an interesting middle ground. It replaced Xbox Live Gold almost a year ago, and it added a solid library of catalog (older) games as a perk to replace the old Games with Gold promotion, as that had run out of games to offer. I guess it’s the gateway drug for the more expensive Game Pass subscriptions now. But we might compare this as an alternative to Epic Games’ monthly game giveaways. I’m not sure that is in any way sustainable, but I assume they swallow the cost to help build the user base. The Game Pass model feels more viable as a business. (With the caveat that, again, Activision Blizzard messed that up for Microsoft, and they’re working through that. Poorly, in my opinion.)

Anyway. I feel like the buy vs. rent debate will never go away, but just having the choice is great, since people will line up on whichever side they prefer.

Gain unlimited access to Premium articles.

With technology shaping our everyday lives, how could we not dig deeper?

Thurrott Premium delivers an honest and thorough perspective about the technologies we use and rely on everyday. Discover deeper content as a Premium member.

Tagged with

Share post

Thurrott