

What Jobs meant by "the progress of the platform" - isamuel
http://iansamuel.com/essays/progress-of-the-platform/

======
drewcrawford
I'm an iPhone developer who knows ObjC inside-and-out and I stand to profit
(and in fact already am profiting) from Apple's decision to shut down cross-
platform frameworks.

That said, there's no direct connection between a great user experience and
specifically using ObjC, not even in theory. There are many frameworks
(MonoTouch comes to mind) which explicitly bind Cocoa/Touch to C#. The only
difference is, instead of writing your logic in ObjC, you're doing it in a
language you're more familiar with. This type of framework/cross-compiler
leads to high-quality, reliable code that still provides a nice Apple-ey user
experience.

On the flipside, you have plenty of app store apps (games, mostly, but others
like convertbot) that totally eschew Apple's UI controls. These apps are
written in 100% ObjC with all of Apple's tools, but simply prefer rolling
their own because they think the user experience is better. Up to now (and as
far as I can tell from my talks with them, still) Apple has no problem with
this.

So I think your logic that using Apple's tools magically leads to a better
user experience is flawed. True, some cross-platform environments lead to a
subpar experience (potentially Adobe's CS5). But Unity3D and MonoTouch clearly
contribute to the platform from a user experience standpoint.

A much better argument is that Apple is planning to make lots of changes going
forward and they don't want to have to worry about waiting for the Unity
people to update their compiler in order for developers to be able to
implement [whatever] for their apps. For instance, the multitasking change is
pretty big under the hood--who knows how long it will be before MonoTouch
binds to it? That's much more likely to be Apple's concern.

TUAW made a similar argument to mine, but it's flawed in a couple of places
because they don't understand OSX. There's nothing about cross-platform
frameworks that makes multitasking hard per se, but making it more difficult
to update existing code is going to be hard if Apple ever decides to break
backwards compatibility, which clearly they're indicating they're going to do.

Of course, from Apple's POV this has the nice "side" benefit of locking
developers in to ObjC going forward. Better for the platform or not, I think
that's what has developers most upset--we've just gotten out of two decades of
vendor lock-in under Microsoft. We were headed for the web, and we're about to
miss it.

~~~
MWinther
In what way does MonoTouch clearly contribute to the user experience on the
platform?

An argument I started contemplating after reading the article is that there
are a lot of non-iPhones out there with a physical keyboard, for instance. I
can imagine someone writing for another platform experience makes concessions
in creating apps that work flawlessly in a touchscreen-only environment, in
much the same way some people might have been tempted writing CLI-apps for the
original Mac had it provided one. Granted, most new phones seem to focus on
the touch screen, but I can imagine there are other similar differences that
might affect how native an app feels on the iPhone platform. After all, it
seems that there are iPhone app developers moving to the Mac that create
iPhone-like interfaces that don't quite feel at home on the Mac. If there are
subtle but noticeable differences between Mac OS X and iPhone OS, I can
imagine there are more than a few such subtle differences between the iPhone
feel and the feel on other platforms.

~~~
ZeroGravitas
Didn't Apple just add bluetooth keyboard support with OS 4?

~~~
MWinther
Adding support for attaching an optional component is hardly the same as
having a device where said component always is available.

------
lispm
The first Mac came out 1984 and it was just a sketch of what it could be.

In the following years the Mac and its software was shaped by the people using
it and developing as much, if not more, as by Apple itself.

Desktop Publishing was one of the areas where the Mac first showed in a
practically useful form (1985) that its base was useful. But it was not new.
ALL the basic ideas existed in the Xerox Star (
<http://en.wikipedia.org/wiki/Xerox_Star> ): laser printers, document
publishing, layout, networked workgroups, user interface metaphor (the
office), page description language, object embedding, ...). Apple designed the
Mac to be much more affordable - but a useful system with disk, large screen,
network, memory, laser printer added up to a substantial amount of money.

I'm not sure that I can name ANYTHING in early Mac-based desktop publishing
that was not already presented in some form in the Xerox Star - the
implementation of Desktop Publishing on the Mac then was joint work of Adobe
(Postscript), Aldus (PageMaker), Canon (the laser printer) and others.

I don't believe in a company that thinks it can define the 'progress of a
platform'. In my view progress it is a joint process by many people and
companies, a process of ideas, implementations, failures, retrying, improving,
feedback, ...

For the iPhone OS developers are degraded to do what Apple pleases. Innovation
is no longer happening between people on the same level - Apple thinks it can
control the process and the results. I think that leads to a shallow form of
progress and innovation.

~~~
patgarner
I would agree with you if the platform we were talking about was something
like the web, but it's not. It's a proprietary platform owned by Apple. It's
not the 'progress of a platform,' it's the 'progress of their platform.' The
progress of a platform created and owned by Apple. I may wish that I could
develop and release applications for the iPhone using some other methods or
languages, but I do believe that it is Apple's prerogative to control their
platform.

Fortunately, it's just their platform and there are a myriad of other
platforms out there not controlled by Apple that do allow me to develop for
them however I see fit. I don't believe that developers are 'degraded to do
what Apple pleases.' Even with the new SDK restrictions, there is still an
infinite number of ways to express yourself developing applications for the
iPhone.

I also think that as much as restriction may stifle innovation in some ways,
placing limits on how something is done can also force you to be more creative
and innovative in other ways.

~~~
lispm
This definition of a 'platform' is bogus. There is nothing like a platform. I
want to buy a device that I own and not a 'platform'.

When I buy a house, I don't buy a platform where for the rest of my life,
every newspaper that I read in that house will be delivered by Apple? Because
that's the platform restriction. I get a lot of newspapers, but not all. The
newspapers all look great, but some pages are missing, because Apple does not
like them. Some images are blurred because Apple does not like them. I bought
a platform, instead of a house?

I don't buy a car, but a platform? The BMW 5 series is a platform? I can only
travel with it on BMW licensed roads and the petrol comes from a BMW petrol
station where BMW gets 30% for every gallon? I can get only a BMW media player
in the car and the distribution channel for music and news is also owned by
BMW? BMW knows which music you have in your entertainment system? I could have
bought another platform, from Mercedes, but then the petrol station would be a
Mercedes-licensed?

Definitely not. If I buy some piece of hardware&software it does not mean that
I want to buy a whole exclusive media distribution channel.

The whole idea that somebody owns a 'platform' that runs this deep and wide
and this is just natural is just WRONG. Remember we let a single company
influence what media we consume, what information we consume, what
applications we can use and also what NOT - just by buying a computer from
them and because they call it a 'platform'?

The infinite number of ways thought is also wrong. There are multiple
infinities and Apple now controls the infinities. Some dimensions are not
available at all. On some other dimensions there are still infinitive amounts
of things, but they are all EVEN. The ODD ones are not supported by Apple.

------
ZeroGravitas
I like the double irony of a) how well that worked out for 'beleaguered' Apple
the first time, and b) how many trace Apple's comeback amongst alpha-geeks as
being down to Apple building on unix and its command line.

~~~
isamuel
Right. My view is that Apple's resurgence was due to two factors: a radically
improved product (the newer Macs, with MacOS X) plus persuasive evangelists
(alpha geeks like you and me). The bet with the iPad appears to be that you
can piss off the geeks to some extent as long as the product is really good
(in the eyes of the target market). I'd be lying if I said I knew how it was
going to turn out.

~~~
ZeroGravitas
Plus the web, which meant you could use enough dumbed-down, low-quality, low-
fi GUI, cross-platform apps that you didn't mind being locked out of the
Windows ecosystem.

(It didn't affect me but the poor quality ports of Microsoft Office and Adobe
products that made OS X a viable platform for some too.)

------
10ren
I think there is one technical argument for 3.1.1.

It's often been observed that as PCs kept getting faster, apps stayed at the
same speed (or even slowed down), as layers of abstraction soaked up the extra
cycles. To remain snappy, the iPhone simply can't afford that. At least not
yet.

~~~
wvenable
It's not so much the layers of abstraction -- our machines quite literally _do
more_ but the software, at least on the surface, looks the same. I remember
when Office added the real-time squiggle line spellchecking -- now that's
everywhere including this browser textbox. If you go back a few years, you'll
find a lot of software that is best described now as primitive.

Abstraction layers are always slow -- PC's getting faster never makes them
feel fast because our expectations of what software should do increases at the
same rate.

