4 ms·
I’ll be honest, if you don’t own or regularly use a Mac or an iPhone, the odds that you are going to make compelling software for either of those platforms is e
by stouset 3y ago
I’ll be honest, if you don’t own or regularly use a Mac or an iPhone, the odds that you are going to make compelling software for either of those platforms is effectively zero.
The web and app stores are littered with the corpses of failed, poorly-ported iOS and macOS utilities written by developers who didn’t fully understand that those systems have their own design language, cultural norms, and feature sets. They chew through battery, perform poorly, confuse users, look like shit, and feel completely alien.
Should that totally stop you from porting some useful tool? Maybe not. But the chance that it will see any sort of use outside of an extremely niche set of users is slim and it’s worth accepting that upfront if you’re going to spend your time and effort on it.
- Jensson 3y agoGames are the main appstore revenue driver, and I don't think that game ports have much to do with iOs standards. It isn't like Fortnite or Genshin Impact on iPhone is significantly different than on Android.
- stouset 3y agoNo, but it doesn’t sound like GP was talking about games. Yes, games are a completely different animal.
- whstl 3y agoTrue, but there is also a business opportunity for dramatically simplifying game deployment, not only web apps. Unity has tools that can partially help with that but their execution also sucks. You still need some half-working script downloaded from Github or some random site to deploy to Apple/Google if you don't want the hassle of using the default tools. It's the same for consoles. It's an ungodly pain in the ass even with Unity. Godot makes some of its money by porting to consoles, for example. But I don't know if there's any money there for a scalable solution.
- lotsofpulp 3y agoI assume "games" here means gambling? Or something that is not legally gambling, but effectively is.
- HideousKojima 3y agoIt means video games. And even amongst the most predatory mobile games, not all of them use gambling-adjacent "gacha" mechanics, plenty just have mountains of microtransactions.
- numpad0 3y agoApple cracked down on traditional gaming on iOS, and as an unforseen side effect, yes, "mobile gaming" means suggestive gambling apps that are eating the world.
- mmebane 3y agoGenshin Impact is (potentially) an interesting case - the iOS version has supported game controllers for almost 3 years now, but there's been no hint of support coming for Android. There's definitely some suspicion in the Genshin community that Apple has an understanding or agreement with Hoyoverse to keep iOS the premier mobile platform.
- throwaway2037 3y agoWould it be legal under US law for Apple to make payments to Genshin to keep iOS as the premier mobile platform? Related: Similar question if Sony wanted to guarantee Final Fantasy was always better on their platforms.
- vladvasiliu 3y agoWhile I agree that the app will likely feel off, that doesn't mean it won't work, depending on what it does. I have an iPhone, and even though the number of non-default apps I use is quite small, I get the feeling that every other app is just a web view wrapper or whatever that just doesn't care about iOS standards. The examples that come to mind are: Uber, Teams and Philips Hue. The latter is a laggy mess for some reason, that behaves the same on an iphone 14 pro as on a 7. Teams also is a shitshow, but who does that actually surprise?
- austinprete 3y agoHuh, surprised by this because the Hue app runs great for me, don’t think I’ve ever seen it lag as a daily user for a couple years. Honestly kind of blown away but how well it (and the Hue platform as a whole) works coming from a company that I don’t usually associate with tech. Goes to show that experience doesn’t always generalize, and I’m curious what’s different in our cases to cause that (since I’m also using on a iPhone 14 Pro).
- vladvasiliu 3y agoI'm generally very happy with how my Hue setup works, but for some reason the Hue app sometimes lags on the simpler screens, like the settings tab and configuring the remotes' buttons. The Home tab where you set the scenes / brightness and such usually works fine.
- pests 3y ago> sometimes lags on the simpler screens, like the settings tab and configuring the remotes' buttons That's because there is no cloud storage or place to store those settings other than the devices (or the bridge) themselves. You are not waiting on the app. You are waiting on a request and response to the device over Zigbee to save the settings, which is not an instant action. Maybe they could just close the screen and finish the work in the background, but I like knowing it completed successfully.
- bitzun 3y ago
- derefr 3y agoWhat is "compelling software"? Say there exists a single-page, single-view form-based web utility (e.g. a tax calculator for some niche.) Does the job. Efficient UX. Solves a need rather than a want, so it doesn't need to be pretty. Only problem is that it's hosted on some old website, meaning: 1. you have to bookmark it (and the bookmark probably doesn't come with a nice icon, and you could lose track of it in the future because it's not part of some "store download history" list); 2. you can't access the calculator when offline; 3. the site's server could go down tomorrow, and then "your" calculator wouldn't be there any more. AFAICT, from the perspective of a mobile user, the only thing that could possibly be improved about this experience, would be the very fact of it being hosted on the web. As long as it's made into a client-local installable package, registered in an app store with a name and icon, all the above problems are solved. And you get those key advantages, just by saving the webpage .html to a file, wrapping it in Cordova or whatever, and submitting that as your app. (You also get almost these advantages using Progressive Web Apps that use offline capabilities — all except for discoverability and esp. re-discoverability through a unified app-store UX. If the app stores allowed the submission of PWAs, such that they appeared in the store listings and download history right alongside native apps, I think a lot of use-cases for Cordova et al would be moot.)
- newaccount74 3y agoIn theory I agree with you. In practice, poorly ported web apps often fail in various ways. Things like content covered by the keyboard, or the layout breaking when you rotate the device, or random other stuff that results from a lack of testing. It's what happens when developers don't use the device they're targeting.
- deleted 3y ago[deleted]
- derefr 3y agoThe funny thing is that "no porting" is often a better experience than "half-assed porting." Which is to say, if all you do is wrap some late-90s/early-2000s never-been-mobile-optimized .html in Cordova — then when you open the app, you just get a regular webview, that shows you the same old webpage. It probably starts out too small, because it was laid out for PCs; but you can still pinch-to-zoom, rotate to change the viewport, or whatever else you do to regular websites on a mobile web browser. By default, all those web-supporting browser features are there, in every webview. Or, to put that another way: by default, Cordova's webview is just showing a webpage using the same logic a browser does; and by default, browsers show webpages as webpages, rather than as pseudo-apps. It's only when someone has started down the mobile optimization journey, and starts embedding meta viewport user-scalable=no et al, that you start to see these wrapped apps suffering from all the UX jank you're talking about. If you've got an HTML4 webpage, you don't need to test it specifically wrapped in Cordova, to know what it will look like when Cordova attempts to render that HTML4 webpage. It'll look like it looks — and work like it works — when a web browser on the same OS loads that webpage. And you can test that just by loading the same webpage in one of those browsers (or through one of the many SaaS sites that do so by proxy.) Or even forego testing entirely, if you know that people were already successfully using that HTML4 webpage from the browsers on their phones. A "raw" port won't change anything about that experience. If you do decide to start down the road of trying to mobile-optimize the webpage, though — then yeah, you're gonna see a lot of jank, and will want some heavyweight local simulators to debug that jank.
- staplers 3y agoconfuse users, look like shit, and feel completely alien. Developers eyes glaze over when you start talking about users.
- whstl 3y agoI agree in principle, however IMO there is room for much simpler apps that don't necessarily follow the UI conventions of the platform and still provide a magical experience. The keyword here being "simple". The app of my Bank (Commerzbank) looks the same in both platforms (despite being native, last time I asked), and IMO provides a much better experience than lots of native Apple or Google tools. And IMO a better UI/UX too. Same with Monobank from Ukraine, astonishing app that doesn't really care about the platform and gets things done in IMO a better way than native-inspired apps. I would prefer for most apps to move into the Commerzbank direction than in the... I don't know, Pixelmator? Which is 100% native but still feels very unintuitive sometimes ("Save as" for example) despite being my daily pic editor for 15 years...
- beepbooptheory 3y agoIsnt this what style guides and, like, profiling are for? Which we should be using anyway right? I don't understand this fundamentally epistemological point. I thought in some part my skill as a programmer is being able make things not necessarily for me. Or at least, as a (maybe kind of niche) frontend dev, I don't think I would have ever gotten a job without some semblance of that skill. I feel like if I relied on my own experience instead of agreed upon standards I would be much more a designer who makes bad code than a coder who maybe just needs a little design/ux direction. ps: Is this not a sufficient resource? https://developer.apple.com/design/human-interface-guidelines/ https://developer.apple.com/design/human-interface-guideline...
- stouset 3y agoThat is absolutely a useful resource, maybe even a necessary one, but I personally doubt it’s sufficient. It’d be like trying to learn a foreign language entirely off something like Duolingo. At some point the only way for you to communicate like a native is going to be to embed yourself in the language and culture, otherwise you’ll never quite express things like a native.
- Aleksdev 3y agoSteve jobs once said that great software has 1:50 ratio. Meaning for every 50 poorly designed apps there is 1 very well designed app. He said that in the 90s, I think it’s still true to this day.
- Qwertious 3y agoSounds like Sturgeon's law.
- jwells89 3y agoYes, ports where each platform is treated as a checkbox to be ticked are practically always poor, with little to no testing. The dev dumps a cross-compiled binary they may not even be capable of running themselves and that’s the end of it. Sometimes they happen to work passably but that’s not a given.