Hacker News new | ask | show | jobs
by seanalltogether 5197 days ago
Which honestly underscores one of my biggest complaints when working inside Apples ecosystem. I always get the feeling that they're building solutions for themselves first, and developers second, they don't take an agnostic approach to creating a platform. A good example of this is when you look at their UIKit and Appkit frameworks, all of the components were designed to the specific behavior that Apples engineers wanted at that time, with no thought on how to easily extend them. Compare this against other frameworks that were intentionally built to be easily skinnable and customizable.
4 comments

I can't think of a better endorsement of a platform than the creators investing real development dollars into using it.

The alternative is Google, who doesn't release any top-tier paid apps on Android or Chrome Web Store. Or host anything important on Apps Engine.

They don't release paid apps on Android because it's not their business model to charge for apps; they don't even charge for Android itself. But they do release pretty serious apps, see recently Chrome for Android.

Google pretty much do the other way around: they build tools they need for their own developments (Closure Library, v8, Go...) then release it Open Source for others to use.

Your first point isn't really valid, they are an ad company, paid apps don't fit their business model. Providing a phone OS, ad service, and free apps that interact with their core services however are.

The second is more interesting though. They actually do use it quite a bit. Its the kind of thing they use internally, and the employees use for personal projects or when they need something technical for an external presentation. Also, app engine is probably built to serve a different purpose to their other services.

"The alternative is Google, who doesn't release any top-tier paid apps on Android or Chrome Web Store."

Google's business model isn't to release paid apps on their stores. They have many free apps that are downloaded by the 50's of millions and have 4.5-5 stars almost across the board so, yes, they do release top tier apps.

> Google's business model isn't to release paid apps

This differs from every OS vendor I'm aware of in the past. Just noting.

> they do release top tier apps.

Could you point out to me some of these apps where the alternatives are sold for top-tier prices?

Compare Google Navigation on Android, to TomTom on iOS. Navigation is free, works perfectly, and even goes so far as to include a "Car Mode" for docking your phone in your car.

TomTom costs, at last check, $95NZD. I've not bothered trying it.

I do believe TomTom has data for offline use, unlike Google Navigation.

(I have iOS tomtom for western Europe) Also, it has voices in many languages. So it will still work when you're out of coverage/country.

Remember, 99% of the land surface has crap/non-existant 2G/3G/4G coverage.

I think the difference would be that TomTom supplies it's own maps in the App, whereas Google Navigation probably downloads the tiles/street view as you go.

This can make a world of difference when travelling abroad when you can't be bothered getting a local data plan.

I definitely use GPS navigation more often when travelling than when in my home country.

Google Maps for Android comes to mind. I guess "top tier" on a mobile phone is still in the tens of dollars right now, but I haven't seen an alternative (free or paid) that comes close.

Mail and calendars are also better than anything I've found in the market...but that's maybe just my preference.

That's a bit disingenuous. The fact that Google's offerings are both good and free significantly reduces the likelihood of their being expensive alternatives. It's a self-fulfilling prophecy.

There are companies that sell software that competes with things like Google Docs, Navigation, and other services. And yes, you can always point to things they do differently, but that's guaranteed. No one is going to pay $50 for something that exactly duplicates a free service that has more name recognition, so you by definition have to do something to differentiate yourself.

Neither is Apple's. App sales don't even show up in their revenue reports.
That's a fair criticism, but the flip side of it is at least there is one real user of the frameworks they are building, which proves that in at least one situation the provided functionality is useful. Sometimes it seems like frameworks coming out of other big software companies provide what they imagine their customers will want, not what is actually useful when building real applications.
There is one very important stakeholder you are ignoring in your analysis - the end user. Apple creates stuff not for devs or themselves, but for the real customers - who are the users of their devices and comptuers.

In the case of paid upgrades, if it pains customers and leads to lower device sales, then Apple will come up with a solution to it. Developers (and Apple's internal team as well) come in at a distant second place.

The product teams absolutely should be focusing on the end user. However, the platform and framework teams should be supporting the features/tools for all devs. My criticism of the platforms that Apple pushes is that they seem to focus more on the specific needs of their internal teams than the broader needs of all the other devs that will be helping to grow the platform.

The line I occasionally hear in the apple dev community is "you can't change x/y/z on that component, you need to rebuild it from scratch", which time and again shows a very narrow focus in their tooling.

I have run into those kinds of problems, and it doesn't seem to be a huge burden to make a new component. My complaint is that Xcode is a POS but I have to use it.
Thus the downside of eat your own dog food.
It's not a downside of using your own tools. It's a downside of the Apple way where you use your own tools without a fleeting thought to how anyone else might need to use them.

Apple's development system appears to be optimized for the scenario that if you need some new method added, you can walk down the hall in your building at Apple and get someone to add it. But then they sell that API to paying customers who don't have that option.