3 ms·
> As a broader concept, a return to prevailing use of on-device processing and computation I don't think anyone ever liked developing for the web. It solved th
by eldavido 8y ago
> As a broader concept, a return to prevailing use of on-device processing and computation
I don't think anyone ever liked developing for the web. It solved three problems pretty well:
- Data portability: log in from anywhere, have your data at your fingertips.
- App model: no broken installations of programs into desktop environments, dependency problems, DLL hell
- No concern about the mostly broken Windows desktop: viruses, etc.
(1) is mostly a solved problem even on desktop, the web just got there first. We have everything from Dropbox to various data APIs.
(2) is largely solved in mobile app development. It's instructive to consider how: very locked-down app APIs to the operating systems (e.g. no dumping files all over the place), standard packaging formats and distribution channels (.apk, .msi), etc
(3) is also mostly solved on mobile.
I would go as far as to say that in 2018, software should be native-first. And indeed it is, in mobile. The major shift is desktop->mobile. Mobile development has much more in common with native desktop development than web development. The reason desktop isn't likely to come back is because it's a niche market. Everyone has a phone but if you aren't in tech circles, it's surprising to see how many people barely use computers at all, especially those who don't work in offices, older folks, and the less well-off. A mobile device does about 99% of what they need -- most people aren't "creators", they don't author websites, write code, edit videos, design buildings, etc.
- jimmaswell 8y agoThe Windows desktop is "mostly broken"? That's news to me.
- DaiPlusPlus 8y agoIt’s broken insofar as there isn’t a complete and coherent “developer story” for building a Windows desktop application that doesn’t look like it came from the 1990s. I call it “the Photoshop test”: Pretend you’re Adobe and you just invented Photoshop in 2018. How do you build the GUI for each desktop operating system? ...considering you need to do things like OpenGL hardware acceleration, 30-bit color, support binary plugins, and access certain low-level hardware features (e.g. supporting TWAIN, Pro-level broadcast media devices and interfaces, etc). On Windows it’s an unfortunate situation because all of the “new” application frameworks since 1998 are unsuitable: WPF is .NET only, UWP requires your application to run in a sandbox, you can’t even use MFC because it’s tightly coupled to User32 with its lack of support for 30-bit color. The only choice is the long hard road of doing almost everything by yourself through low-level interfaces with the DWM. Not pretty. The sad thing is that UWP is very capable - if it weren’t for the sandboxing then it would be perfect (that, and you would need to build your own widget library as UWP’s stock set is almost entirely touch-first controls that are utterly inappropriate for a mouse-first desktop UI)
- nkeo 8y agoWhy is the sandboxing such a big issue in the case of a “Photoshop” app? The UWP api seem to cover most OS services that the devs would need, or am I missing something?
- DaiPlusPlus 8y agoUWP with its XAML framework forces you to use Direct3D, there’s no way to use OpenGL efficiently - you also are forced to surrender a lot of control to the OS, for example, all Windows Store games must use Direct3D and were forced to use VSync until very recently. As a developer it means you can’t do anything cutting-edge until after both Microsoft and NVIDIA/AMD say-so and officially support some feature. This is the unfortunate consequence of UWP’s style of API sandboxing (compared to, for example, a hypervisor approach with end-user approved red-pilling). If you were Adobe it would be difficult to maintain your reputation as the leading vendor for desktop graphics and media software if you were artificially constrained by other companies who haven’t demonstrated commitment to supporting novel platforms beyond a couple of release cycles (see: WinJS, WinRT, Windows 8 XAML, etc).
- eldavido 8y agoWhat I meant was, if you look at the state of non-expert users' PCs, they're unusable by power user standards. There's so much malware, anti-virus that slows down all I/O, browser toolbars, etc. Just open Internet Explorer and see how long it takes. On my computer it takes <1s. On many computers I've used in peoples' homes, small offices, etc. it's more like 10. Calling that anything but "broken" seems like a misnomer. Look at the 99% of computer users, not the 1% power users/people at companies with good IT groups.
- jimmaswell 8y agoThis is an exaggeration, especially on modern Windows. I have a decent anecdotal sample size of average people whose PCs run fine and have no apparent infestations, including someone in their 70s with a laptop running Vista.
- TeMPOraL 8y ago> It's instructive to consider how: very locked-down app APIs to the operating systems (e.g. no dumping files all over the place) But this is precisely the problem. And also why mobile apps aren't really native, nor becoming native. Developers think, "since our app is just a thin wrapper on our web service, why not just make a webview and do everything through the web?". APIs being opaque to the system means you don't own the data. Saving actual files in actual filesystem is still much better for user freedoms. > A mobile device does about 99% of what they need -- most people aren't "creators", they don't author websites, write code, edit videos, design buildings, etc. True to some extent, but how many of those things they would be doing if the mobile platform wasn't limiting them? Users don't imagine the hypothetical things they could be doing, they choose from what's available.
- 80386 8y ago>Everyone has a phone but if you aren't in tech circles, it's surprising to see how many people barely use computers at all, especially those who don't work in offices, older folks, and the less well-off. I work in a warehouse, and the specific thing I do requires a laptop. They've tried to train backups for me, but they have a hard time finding people who know how to use a computer. Most people don't - they only have a smartphone.