19 ms·
The best part of this article is this comment from Plume: > This has always been wrong, because it completely discounts the advantages of the web. Cross-platfo
by jolux 5y ago
The best part of this article is this comment from Plume:
> This has always been wrong, because it completely discounts the advantages of the web. Cross-platform compatibility makes an app greater. No installation makes an app better. Simple collaboration and sharing with anyone, including people on weird devices like Chromebooks, makes an app greater. Automatic updating makes an app greater. Being able to open the app I normally use on my desktop on my phone in a pinch makes an app greater. Not locking me into using a Mac makes an app greater.
I'm all-in on the Apple ecosystem, but collaboration and universal access on all platforms and automatic updates are considered table stakes for growth-focused products (edit: most products that normal people care about) these days. The cost-benefit analysis of using Mac apps when I have to collaborate with people so often just doesn't pencil out in favor of native apps for most of the things I do. The few places where it does are things like Notes, which is a first party app that all Apple users have, but even then it's a pain for people on other platforms to collaborate.
Forgot about all the Unix stuff. That part is easy to fix if they care about it. If Apple still wants the Mac to succeed as a native platform, they will have to solve enough of these problems for their developers that the Mac is a competitive native platform to the web. I don't really see a way forward for that strategy except building some sort of cross-platform UI toolkit, whether that means web apps run natively on the Mac or Mac apps run natively on the web and other platforms or what. Microsoft has been working fairly aggressively in integrating Windows with Android apps and building a new cross-platform app toolkit. Without progress on this front, I predict continuing decline of the Mac as a developer platform.
- brazzledazzle 5y agoI agree with a lot of what you’ve said here but Microsoft might not be the best example. They’re good about some things but not others. They aren’t even close to feature parity in every single version of their apps, be it web, windows, macos, ios and android. The windows clients probably have the most features but even they don’t have all of the same features as their web applications. And I’m not even talking about things that don’t make sense on a given platform due to UX or other constraints. You can search your mailbox on macos but not your online archive. So you have to switch to the Outlook web app to do that. And the web apps... there are a bunch of small issues and differences between using their webapps on macos and windows. Browser standards aren’t perfect but building cross platform web apps in 2021 is way easier than it once was. And that’s not even getting into just how awful they’ve been from the start. When they first announced O365 I was sure they’d use their expertise with their own products like excel to quickly catch up to Google and surpass them. They’ve never come close in features and, more importantly, quality. My suspicion is that basing their webapps on SharePoint has put them in a spot where they’re iterating on features as much as they are fighting the platform’s limitations and constraints. At one point Teams couldn’t handle more than x number of users per team because they were storing the membership in a SharePoint list which has a obnoxiously small limit to the number of items it can store. This was a major pain in the ass at least as far back as SharePoint 2013 (maybe even 2010) when their on-prem implementation of one drive was based on SharePoint and people would hit the list limit as soon as they did a sync with their local machine. Microsoft will cripple their own velocity and productivity with some products in order to prop up others. They’re ruthless from a business perspective and leverage their existing enterprise agreements and relationships which allows them to capture large numbers of users by using IT decision makers who care more about budget to force the rest of the enterprise to use it regardless of quality or appropriateness. So I doubt they’re feeling much financial pain from it but there’s a reason people have a lot of hate for some of their products and services. Developing your product around whether or not a sales team can convince a business unit to force it down users throats instead of building something people want to use has resulted in a Microsoft that has a weird lack of consistency across the board. One thing I will give them is that they put a lot of effort into security, policy and enforcement across products. But ultimately that’s as much good architecture as it is a way to ensure they can leverage those IT teams. Does it really matter that slack won’t let an ignorant but well meaning security team frustrate your entire company by invalidating your session every 5 minutes? No. But since you can do that with O365 it shows up on a security theater checklist. If you’re still somehow reading this sorry about the rant, went a bit off topic.
- jolux 5y agoI'm not a particular fan of Microsoft products, like I said I'm all-in with Apple stuff. But they have always understood developers better than Apple has, and I think their recent strategic efforts with .NET and Android demonstrate a clearer view of where the puck is going with application development than anything Apple is doing currently.
- pjmlp 5y agoIf only the Windows team shared the same clearer view.
- aaaaaaaaaaab 5y ago>growth-focused products Yuck, no thanks. Can we just have good products?
- groby_b 5y agoWhat do you think pays for these good products? Building high-quality software costs money. If you produce consumer software, growth is a must to finance that. Some smaller efforts can certainly live with organic growth, but it's rare.
- capableweb 5y ago> If you produce consumer software, growth is a must to finance that That's not true. You need to be profitable in order to finance the expenses, yes, but you don't need growth beyond that, unless you're aiming for something more. Fast growth is not the only way to finance something, and if you're aiming to build something long-term, fast growth is actually working against you.
- deleted 5y ago[deleted]
- ILMostro7 5y agoThey have enough money to solve any problem, including through acquisitions of potential rival technology. They also have enough influence to steer standards in a way that suits them. I haven't been interested enough to check, but I just assumed that their developer ecosystem was healthy enough; other than push-back against the fees in the appstore. Although, I had also assumed that developers would be moving toward web-based apps anyway.
- jolux 5y agoI think Figma is a good example of a product that spells trouble for Apple's Mac platform strategy. It is the exact kind of app you would have expected to be Mac-first or Mac-exclusive (like Sketch!) just ten years ago or so (highly visual, with a primary audience of designers, who historically have used Macs). But with WebAssembly and other advancements in web technology, the performance of Figma can rival and even exceed that of native apps, and it beats the pants off Sketch for collaboration and cross-platform compatibility. Figma is just a better product, and that's in large part due to being web-native. You cannot make a Mac app to compete with it without putting enormous resources towards all of the things it gets for free by being on the web.
- mrtesthah 5y agoFigma is terrible for users. If they change their business model or get acqui-hired, I lose access to the app and all my documents. With a real app on my computer, I can continue to use my documents indefinitely. Even if the app developer goes out of business and it can no longer run in the latest version of macOS, I can set up a VM or keep an old computer or boot disk around to run it. That will never be the case for apps running on someone else’s server. These base practicalities are why, no matter how good the user experience of Figma, I can never rely on it for anything important or long-term.
- kitsunesoba 5y agoLocal first behavior is a big reason I still use Sketch. Nobody can take my documents from me, no matter what. Sketch is also generally more friendly to people trying to take their Sketch documents elsewhere — the Sketch file format is publicly documented, which has allowed several other apps (including Figma) to be able to read it. Figma has yet to do the same for its format, which reeks of lock-in and rubs me the wrong way.
- hn_throwaway_99 5y agoIn addition to this, I think one thing many people discount is that when you have a good cross-platform dev experience, your devs can actually build more features that you care about much faster than if they're porting and debugging for every app platform. Obviously some amount of cross-platform validation and debugging is always necessary, but the simple fact is that OSes are just not differentiated enough these days to make me think "Oh yay, I'm so glad this developer spent months on the perfect 'native experience'" - when they actually could have been building shit I really need.
- Wowfunhappy 5y ago> Your devs can actually build more features that you care about much faster than if they're porting and debugging for every app platform. But do I care about those features? Do they actually make the software better? I believe a major reason software gets worse over time is because companies add features which detract from the app's core purpose and make it more difficult to use. "Oh, you like Dropbox because it's a reliable way to sync files between computers? Great, let's add in a password manager and a word processor!"
- kitsunesoba 5y agoPrime example of this are the Adobe CS apps. As far as my needs are concerned, CS1 or CS2 is more than enough. Very few features added since are of benefit to me, and yet I have to live with these apps becoming ever-slower, ever-larger, ever-muddier balls of mud as a result of those features being added. At this point for some categories of apps I would gladly pay a subscription for a product that’s feature locked, with 100% of development efforts going into fixing bugs, improving performance, and keeping pace with OS updates.
- Wowfunhappy 5y agoIn this particular case, you might look at the Affinity Suite.
- thrower123 5y ago
- badsectoracula 5y ago> The best part of this article is this comment For me that was the worst part since... > Cross-platform compatibility makes an app greater This is largely a developer's concern, not a user's concern unless the user uses multiple platforms and wants exactly the same app everywhere regardless of other issues - in practice this is a niche situation and the most people use either a single platform or two platforms that are still considerably different (ie. mobile phone and desktop/laptop) where having the same UX is actually a negative. On the other hand, cross-platform compatibility actually makes apps lesser because they are designed with a lowest-common denominator approach where each apps uses its own controls, its own framework and libraries, etc for things that the native platform already provides - while not taking advantage (or using at a very surface level) functionality that is exclusive to the user's platform (e.g. Services on macOS - cross-platform applications either do not support it at all or have some surface support for things like text). > No installation makes an app better. No installation in the web app sense means that the user is not in control over the applications they are using - one can't just decide to stay on an older version because the developer broke the UI in an attempt to improve the UX while having no idea how people use their application (or trying to target some imaginary "common user" that supposedly had no interest in their app but now that they "improved" the UX everyone would fall in love with it) - they have to keep using the latest and "greatest" version (a very common story). Similarly if the developer shuts down the server or closes shop or drops dead the application is forever lost. Also installation in rarely an issue in most platforms - and macOS has the simplest among all. > Simple collaboration and sharing with anyone, including people on weird devices like Chromebooks, makes an app greater While this can be useful functionality, in practice many web applications do not really "collaborate" with other web applications but instead just provide multiple sessions over the same application and all data is held hostage to them. Even with open source web applications that you can host yourself, it is very rare for multiple web applications to be able to share data with each other. > Automatic updating makes an app greater. See my comment on not installing. > Being able to open the app I normally use on my desktop on my phone in a pinch makes an app greater. This means that either the phone UX or the desktop UX are going to suffer to accommodate the idiosyncrasies of the other one. Either case does not make an app "greater". > Not locking me into using a Mac makes an app greater. And again this is only true if you are not a macOS user.
- gnud 5y ago> No installation makes an app better. Yet Another Account makes an app worse. > Simple collaboration and sharing with anyone, including people on weird devices like Chromebooks, makes an app greater. Web apps usually only lets you share within the app. You can't use the data in ways not imagined by the developers, and you force the app onto those you want to collaborate with. > Automatic updating makes an app greater. Not really, no. It usually makes me worried the developers will pull the rug out under me.
- capableweb 5y ago> Yet Another Account makes an app worse. That's an argument against having to sign up to use something, not against that you don't have to install something... > Web apps usually only lets you share within the app. You can't use the data in ways not imagined by the developers, and you force the app onto those you want to collaborate with. Sometimes, that's true yeah. But sometimes, they offer APIs. Semantic Web tried to connect websites with each other even more. If not, they tend to be trivial to scrape. I think what the author is aiming for though, is that because it's not an native app, anyone with access to a browser, can usually access the application too. > Not really, no. It usually makes me worried the developers will pull the rug out under me. Indeed this is one of the biggest drawbacks and benefit of the web. It always moves forward, but it always moves forward, even when I don't want it to. There is nothing worse than a redesigned web application that is worse than it's predecessor, which tends to happen a lot. We need something in-between. Something that maybe defaults to always being on the latest version, but when the user wants, allows them to use an older version. Just like native applications (mostly) do.
- jolux 5y ago> We need something in-between. Something that maybe defaults to always being on the latest version, but when the user wants, allows them to use an older version. Just like native applications (mostly) do. But there's no fundamental reason web apps can't do this. Basecamp still offers Basecamp 2 to existing customers. It's just that most companies don't want to go to the trouble of stabilizing their internal API (or keeping the old version around for ever), and so far the market hasn't penalized them for it. As native apps develop more connected capabilities, older versions of them will start to succumb to bitrot as well.
- yesimahuman 5y agoSketch vs Figma is the famous example of this. By the time Sketch evolved beyond their native Mac app focus, Figma had already captured a ton of the market that wanted cross-platform and web support. Turns out that mattered a lot more than having a great native Mac app.
- novok 5y agoFigma is a C++ application compiled to webasm that paints to a blank canvas for the majority of it's usage. It's about as 'web' as the unity game engine compiling to web. In development they compile to a macOS app and use instruments to profile it.
- Impossible 5y agoThe platform is still web, even if it's not using HTML and CSS. The success of figma has lead to a lot of start ups targeting the web as there main platform, but using WASM (C++ or Rust) and WebGL (soon WebGPU). This makes sense in creative tools, I think. We're also starting to see tools that run on the server and stream video to the browser.
- cercatrova 5y agoChrist, don't get me started on that last point. One of the most egregious examples I've ever heard of is Mighty, an app that streams Chrome from a server to your laptop, because apparently fixing Chrome's performance is too much of a hassle that now we need to send a video of our browser back to us. And the worst part is, they might win. Lots of apps are web based with WASM and WebGL like you say, which are purely client side, and lots of people that need to do work might not have good enough computers to run such apps, if we assume (and I believe this to be true) that applications with more and more complexity will be pushed onto the web browser as the universal app interface. If a server can render those apps better and send them back, the client doesn't have to any work. We continuously invent and reinvent the terminal/mainframe architecture, it appears like.
- 5y ago
- Siira 5y agoWhy are web apps so much worse performance-wise than cross-platform UI toolkits? Is it a result of the web’s historical baggage, or are the tradeoffs inevitable?
- jolux 5y agoIt depends. I have no idea why Microsoft Teams has such terrible performance on my Mac, for example. Slack is perfectly performant. If there's a general ("inevitable") reason it's that updating the DOM (i.e., adding, removing, and changing HTML elements) is very slow compared to the function calls that native apps use to draw on the screen. That's why frameworks like React are designed to update the DOM as minimally as possible. It's also why Figma is written in C++ that compiles to WebAssembly and draws its content with WebGL instead of using the DOM.
- Siira 5y agoMy guess was the DOM, too. But why does the DOM only exist in the web UI tech stack? There aren’t analogous constructs in other UI stacks (e.g., Windows Presentation Foundation), are there?
- elpescado 5y ago> But why does the DOM only exist in the web UI tech stack? Maybe because "web UI stack" wasn't designed for "UI". It was designed for hypertext documents and DOM is a perfectly cromulent way to represent a HTML document.
- jolux 5y agoI think the biggest difference is just that the layout algorithm for the DOM is a lot more complex than those for native apps. Changing one element might reflow the whole page. Native frameworks aren't like that, and the solution they're converging on is the one React pioneered for the web, which is making a control's data dependencies explicit so you know when it needs to be updated.
- elpescado 5y ago
- srcreigh 5y agoI don't think plume has ever tried to build a cross platform app which works on iOS. No notifications, no local storage, second class in every way.
- greggman3 5y agoWhat is special about notes vs say Google Keep? I used to use Notes on my iPhone but switched to keep since it's available everywhere (both my 3 Macs and my Gaming PC). PS: I know there's an icloud web version of notes but Apple's crappy requiring an Apple device only code every few times I use it and the fact that it's written in some kind of non-webby framework so that each non-ASCII character takes 100-2000ms to appear just really turned me off.
- aparticulate 5y agoNotes has loads more features than Keep. Things like document scanning, instantaneous capture with pencil, better sharing etc. The simple UI makes it seem like they are similar. (I also use Keep for the same reason as you but it isn't even close in terms of functionality.)
- manmal 5y agoApple is in the business of selling hardware, and developing a cross-platform toolkit would have the potential to cannibalize that. I think Swift's weak footing in other OSs is also owed to that fact. Apple's best bet is to create an ecosystem of hardware and software that is self-sustaining and moated. I'd argue that they have been successful in that, but all those web platforms have significantly weakened the moat. You don't need apps like Sketch anymore (infact I consider Figma way superior), and you don't need most of their bundled native apps—there are great replacements that are either 3rd party native, or web based, or hybrid apps. So how will they strengthen the moat? Probably not by sharing code with other platforms. They seem to be ready to accept that distributed systems won't go away and are obviously actively buying into that space (https://github.com/apple/swift-distributed-actors/ https://github.com/apple/swift-distributed-actors/). But, UI-wise, I'm only seeing renewed determination to push native apps: https://www.imore.com/apple-rebuilding-apple-music-native-app-macos https://www.imore.com/apple-rebuilding-apple-music-native-ap.... And I think it makes sense for their bread-and-butter hardware business.
- arthur_sav 5y agoNative apps feel like they're built from rock and web apps feel like they're built with paper. I don't care if the web app is available on my phone & laptop if the experience sucks on both.