Hacker Newsnew | past | comments | ask | show | jobs | submit | bentocorp's commentslogin

I agree that it says that people are willing to pay more, more often, for a smartphone than they are willing to pay for laptop and desktop computers.

However, how you can then extend this to:

> The market has spoken and they love the locked down, walled garden approach.

The market hasn't been given the opportunity to choose a more open iPhone or a closed, locked-down iPhone.

When the market is presented with both options, at variable prices, we can then determine what, if any, people are willing to pay for one vs the other.


This is great news and hopefully makes SwiftUI more feasible as a long term cross-platform UI option.

What would be great is if Apple started working with and contributing to this toolset.

What would be even better is if Apple then open-sourced all (or at least some) of their SwiftUI implementations.

What would be amazing is the community can then takeover some of the issues in SwiftUI – especially on macOS – and help to make it more flexible, feature-rich and comparable to UI toolkits like AppKit.

A good, cross-platform, Swift-based UI toolkit would go a long way to ensuring increasing and enduring cross-platform Swift usage.


I was going to defend Xcode and say it's not that bad... but then I read the article and realised that I have just become so accustomed to these problems that I don't consciously realise the daily hellfire that I experience.

Even when you think you're immune to it, Stockholm syndrome is real.

A similar article I wrote on the 'Dark Side' of Apple Development, brings up many additional issues:

https://www.magiclasso.co/insights/apple-development/


Every time there is an Xcode update, I dread installing it because it will be a whole bunch of new bugs, and I just finally figured out the previous ones.


The first rule of Stockholm Club, is you don't know you are in Stockholm Club.


Free [1] Membership!

[1] For a very limited version of 'free'.


Im not sure if its a still issue, but there used to be a period when installing xcode through appstore was impossible as it was either reaally slow or never finished. There was even awesome review by someone making joke story about it in zombie apocalypse like setting, wish i could still find it.


Interesting idea.

Ideally the 'Never Monetise' site would record and have a non-removable list of any site which had a hyperlink through to it, as a ledger of the sites that have made this commitment.

If they do then change their policy in the future, this would be independent, verifiable proof of a prior commitment.

I've recently written about a similar topic, regarding an app's commitment to privacy and the cost of not selling user data:

https://www.magiclasso.co/insights/cost-of-privacy/

My post asked a similar question -- how much money could we make if we sold user data instead of committing to a privacy-first approach?


I would say that currently for mobile, iOS still monetises a lot better than Android.

Once you've developed your brand and own your own distribution channel however, the best strategy seems to be to distribute via the App Store (which in many countries Apple doesn't give you any other choice) but monetise via your own site. Netflix etc do this and seem to not see much downside.

How well it works for smaller or new apps however is debatable.


I recently wrote about how Apple now has the most hostile developer ecosystem of any major platform:

https://www.magiclasso.co/insights/apple-development/

Good to see VCs and Y Combinator now supporting and pushing for change.


A family member of mine has an Apple phone, and the lack of availability of not just open source software but even freeware or freemium software astounds me. They make it so difficult to distribute anything, that it's not worth it unless you are getting significant revenue. This means that often the only option is something extremely scammy that charges monthly for the most trivial capabilities.

Of course, Apple gets a 30% cut in any scams, so they have absolutely no incentive to do anything about it, and really their policies are what create it, in the first place.


You know how we got here? It used to be a free-for-all where grandma could download any software off the Internet on her Windows computer. You know how the rest went. I honestly don't mind it. It's so easy to recommend an iPhone to non-technical users, knowing the app store is still not compromised with low quality/malicious garbage. (Sure it requires a bit of expectation attenuation but the Android app stores are worse yet).


This is an argument for gating the free-for-all behind a setting technical users can find, not demanding 30% of revenue if a dev would like access to apple users. The security aspect is real, but this is really about maximizing profits by monopolizing access to anyone with an iPhone.


When a normal user is highly motivated to install software, there is no such distinction from a "technical user". He wants to install AnimeWallpapersTotallyNotATrojan.app. The operating system disallows it. Then he just does a search for how to install AnimeWallpapersTotallyNotATrojan.app on iOS, and finds 20 tutorials walking him through the steps to ungate the install.

You can make the expert mode dialog say "Clicking this button will erase your hard drive, drain your bank account, and give your dog cancer" and people will still click it.


Grandma: Help me, Joey! After the neighborhood kid helped me install the coupon code app (he said something about expert mode, he is very smart!) my phone runs slow and crashes. :-(

Me: ...


There are many ways to deal with any scenario like this, all of which don't involve the device manufacturer locking ALL device owners out of ANY control over the hardware they own.

For example, you can be the administrator on Grandma's device and block access to third-party app stores which cannot be overridden by anyone (including the device manufacturer) without your credentials. Alternatively, you could delegate that authority to a provider you trust. No one is saying you can't keep choosing Apple's walled-garden app store as the only store provider or that you shouldn't be able to block any or even all app stores. Options like that can even be locked by one-time hardware fuses so they can never be changed - even by the owner. The only issue here is Apple forcing a sole monopoly on that control for themselves because it's worth billions of dollars - instead of device owners having a choice.


> No one is saying you can't keep choosing Apple's walled-garden app store as the only store provider or that you shouldn't be able to block any or even all app stores

Err.. Isn’t that exactly what the EU is saying?


Well... no, it's not. As long as device owners can choose which and how many app stores are on their device, regulators and courts will be satisfied. If users then choose number_of_app-stores == 1 and app_store_provider == "Apple", that's the user's choice - and for many users, like Grandma, that may be the right choice.

Regulators have never ruled that Apple can't have an app store or that the number of enabled App Stores MUST be more than 1 - only that the legal owner of the device have an opportunity to choose. Scenarios like "Oh no, the EU wants to take away Grandma's one safe, simple walled-garden app store so she's left to fend for herself on the dark web" is a disingenuous straw man exaggeration by Apple and their apologists to protect Apple's multi-billion dollar app store monopoly.

Once there's owner choice, even Grandma who chooses Apple as her only app store will pay lower prices and very likely gain other safe options like a full featured Firefox with Ublock Origin ad blocking. Just the existence of competitive choice is beneficial - even to users who choose "no competition". Plus Apple will finally have a real incentive to be more responsive and reasonable with app developers regarding app store prices and policies - which will help solo and small startup app developers.


I love how the threat of Grandma installing malware on her phone is the new "think of the children!"

And I love how the response to shit mobile security is to lock down devices so the people who buy them don't actually own them. Instead of, y'know, actually cleaning up the security posture of these devices.


Then those people deserve what they get as a result. People should have autonomy to make less than optimal decisions if they want.

And to provide a counterpoint, my dad can barely navigate his iPhone. I literally spent an hour on the phone with him when he was lost and needed directions; it took 20 minutes to guide him to open the messages app so he could read the address I sent. Someone that clueless isn't searching the internet to figure out workarounds for installing anything.


> When a normal user is highly motivated...

...they reap the consequences of their actions.

A warning lets a person know it is getting deeper. It is up to the person to realise if they are out of their depth.

If a person lacks the self reflection to realise their capabilities then they need a guardian. Children and the elderly routinely have this for other aspects of life. Why not a phone?

Why can't I delegate such authority to others when I become old and infirm?


> knowing the app store is still not compromised with low quality/malicious garbage.

It absolutely is, the only argument is about to what degree.


Now we have strong sandboxing by default and many other platform security advances to mitigate that risk. You can download any software off the Internet on macOS, so why not on iOS?


This is more than doable with app stores. The review process never instruments the apps or reads the source, it's trivial and common to hide malware in apps and then use modals/ads to push them on people.


How did you conclude the lack of freeware? Both the Apple and Google app stores have a couple million apps, and most of them (about 95% in the App Store’s case) are free.


Is that an Apple thing? People trying to monetize anything they make seem to vastly outnumber those of us who just want to make stuff for other people to enjoy. When I turn off an adblocker I'm shocked how many hobby projects spam ads at their users to try to make a few pennies.

It feels like a social issue.


Giving away free software on the appstore is gonna cost you $100/yr developer license. Sure, the more apps you make dilutes the cost, but it doesn’t seem like that inviting of a space for maintained free apps.


You'll also need a Mac computer for the happy path so it's more than $100/year.


Free for non-profits though.

I'm a little surprised there isn't an open source non-profit set up to act as an umbrella for open source iOS app development.


Then one bad app and the whole account is nuked. Not a great setup unless with explicit blessing from Apple, which they won’t give.


It's a thing that was started by Apple and now everyone is trying to mimic.

The other day I transferred pictures from my android phone to my Windows desktop, and some of them required a codec to open. I followed prompts, which landed me on a page in Windows store asking for $0.99 in exchange for the said codec.

We had a good Internet in the 90s and 00s. Apple had to ruin that.


I know this isn't the biggest thing, but it's funny how even simple questions have complicated answers in Swift, ex https://stackoverflow.com/questions/39677330/how-does-string...


Strings and Unicode are a lot more complicated than they first appear. I like the way this article puts it:

> Swift’s string implementation goes to heroic efforts to be as Unicode-correct as possible. […] This is great for correctness, but it comes at a price, mostly in terms of unfamiliarity; if you’re used to manipulating strings with integer indices in other languages, Swift’s design will seem unwieldy at first, leaving you wondering.

> It’s not that other languages don’t have Unicode-correct APIs at all — most do. For instance, NSString has the enumerateSubstrings method that can be used to walk through a string by grapheme clusters. But defaults matter; Swift’s priority is to do the correct thing by default.

> Strings in Swift are very different than their counterparts in almost all other mainstream programming languages. When you’re used to strings effectively being arrays of code units, it’ll take a while to switch your mindset to Swift’s approach of prioritizing Unicode correctness over simplicity.

> Ultimately, we think Swift makes the right choice. Unicode text is much more complicated than what those other languages pretend it is. In the long run, the time savings from avoided bugs you’d otherwise have written will probably outweigh the time it takes to unlearn integer indexing.

https://oleb.net/blog/2017/11/swift-4-strings/

I’d encourage you to read that entire article before describing strings as simple.


I'm well aware of all of this. Swift strings aren't random-access. There are reasons no other language did it Apple's way. Even in the rare situations when you do care about the edge cases with these multi-code point symbols (basically just emojis), Swift strings still make that a nightmare, while in other languages you have easy ways to deal with it.

I was on such a project where we cared a lot about these details, and the whole team agreed to throw Swift strings out the window and build our own array-based string replacement where each slot is a symbol. Which is probably what Apple would've done if it weren't for performance overhead.

Didn't help that their API was really unstable. Every major Swift version broke our code in so many places that we started adding extra layers just to protect ourselves.



From the reports from Bloomberg etc, yes, it does sound like some Apple AI employees may need rallying.

Though it sounds like what they actually got was fairly in-substantive statements without a clearly articulated AI strategy.

Doesn't mean that Apple doesn't have a promising AI strategy though, if so, it wasn't communicated in this Pep Talk: so what was the point?

Perhaps to look like they are doing something? Are empty words better than no words at all?


I use Jekyll for my company website [1] and managed to get a lot of speed optimisations simply by using a post-processing tool on the statically generated output.

The tool I use is Jampack and I'd highly recommend it: https://jampack.divriots.com

For my product website, it reduced the overall size by 590MB or approximately 59% in size, along with changing the HTML/CSS to make the optimisations that this article notes.

[1] https://www.magiclasso.co/


Do you mean KB or do you have a 1GB website??


They are most likely referring to the overall size of the whole website including all generated HTML for posts, static content, styles etc.


1gb is huge even for a whole website. Unless there are videos or hundred of high definition photos. Curious to know what makes up this space.


Maybe they included node_modules in that count.


It is a 991MB website, before optimisations.

The large majority of this comes from large header images for the Insights post content: https://www.magiclasso.co/insights/

These are png images that are relatively large in size until optimisation creates smaller, multiple image set versions.

I wouldn't say that this is an unusually large site. Any site with a medium amount of content would likely grow to such a size.


I guess mostly picture. If you have 500 posts, one picture for each, and then optimize image for responsive and browser compatibility, there should be 3 to 12 images per image source set:

Mobile, Tablet, Desktop as breakpoints / AVIF with webp or jpeg fallback, Retina/Normal.

And this will increase the overall-size to 12 x 500 x 50kB = 300MB


I doubt there's a practical reason for an average website, especially something blog-like to have pre-optimized pictures for that many screen types.


In my opinion the whole point of Jekyll is not having to use some npm/JS packages and dependencies.


Thanks for sharing. I'm using https://soupault.app/ to generate my websites and this could come handy for optimisation.


This looks fantastic! I really like how it's static site generator-agnostic, and the intelligent CSS and above-the-fold optimizations.

I'll definitely give this a try - only wish I knew about it before I wrote my thing!


Yes it may be entirely based upon AI buzz, but there should be no reason that Apple also couldn't have inflated stock due to AI buzz.

For example, I have questioned why Nvidia has been able to be the unchallenged leader in AI graphics cards.

With Apple's silicon knowledge, access to leading edge TSMC fabs and volume purchasing power (due to selling millions of devices) – Apple could and perhaps should be selling unique processors to AI companies, and also using them themselves – taking a huge amount of revenue and mindshare from Nvidia.


Author of the article here, re:

> You have Apple dragging you by the b-... nose and you say thank you more. That's why everyone dislikes Apple and anyone who uses it.

Perhaps continuing to develop an app on Apple's platforms is asking for more, but a couple of items of consideration for perspective:

1. In my opinion, over the last 10 years, Apple's behaviour has gotten a lot worse as they strive for continual profit growth – with services being their only answer and tightening the screws on developers via the App Store their chosen solution.

2. Having used Apple as my primary computing platforms for almost 40 years (yes I'm old), and developing on it for many of those years, it can be hard to walk away to another ecosystem. For many users & developers, the knowledge etc is a sunk cost that can be hard to overcome.

The article was written both as a way to vent and also to hopefully shine further light on the issues in the hope that it could add to the impetus for change.

What would you think would be a solution in this situation?


Not a solution for you but things like this are the exact reason I can't and won't build productivity based on closed source.

If I feel not welcome in my userspace anymore I can just switch my Linux distro, or desktop environment.


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: