

Apple takes stance on consciousness - twalling
http://joeberkovitz.com/blog/2010/04/08/apple-takes-stance-on-consciousness/

======
anigbrowl
Anyone else note the parting observation that if you have accepted the
developer agreement you are forbidden from even discussing it in public
without Apple's written permission?

 _“10.4 Press Releases and Other Publicity. You may not issue any press
releases or make any other public statements regarding this Agreement, its
terms and conditions, or the relationship of the parties without Apple’s
express prior written approval, which may be withheld at Apple’s discretion.”_

As I said yesterday, Apple appears to be pursuing policies that will create a
chilling effect on developers. No talk about what tools you used for your app
development - anything other than C, C++ or objective C might kill your app.
And also, no talk about the license conditions...presumably to include talk
about the app store approval process, insofar as it is described in the
license agreement. Sure, they won't sue you; but there goes your app store
presence if they feel offended by your remarks.

That's not a very attractive deal if you ask me.

~~~
cookiecaper
You're right, it's not, and this is what happens when one company thinks they
have a monopoly (whether they do or not ... Apple doesn't, and iPhone's
marketshare will continually diminish in favor of Android devices).

Apple did jump on this bandwagon pretty quickly. They're drunk with power
already and only have significant share in the mobile market. It usually takes
years of domination before companies do something so corrupt and evil.

Anyway, it's certain to come back and bite them. I hope it's a signal to all
developers that iPhone isn't worth the trouble -- Android is on the uptake
with much more openness, availability and options for consumers, and iPhones
will be back down to < 10% of smart phones in a few short years.

~~~
swernli
I'm inclined to disagree with you. This may slow or impede the growth of the
App Store, but Apple still has plenty of partners producing amazing apps (have
you seen the Marvel and ABC apps? Stunning, functional, and downright great to
use, which probably has something to do with both of them being owned by
Disney where Jobs has major influence). They may lose a lot of individual
devs, but they'll still have big players, who are increasingly learning how to
make good software.

Speaking as a user, I've never liked Android. It feels bad using it; it's not
as quick or fluid, the ui animations aren't as crisp, the tapping seems less
accurate, and I have serious trouble with their keyboards (on-screen and
physical). I've met people who feel the same, and I've met people who make
similar comments about the iPhone. In the end, people will buy what they like,
and Apple makes a product of a level of quality that is easy for lots of folks
to like, and they know exactly what level of quality to expect. Android is a
hodgepodge of devices that range from cool to embarrassingly rough. My opinion
is that until they do some serious cleaning up of their ecosystem and their
OS, they've got a long hard battle for actual mindshare in the general public.

As a developer, I find myself inspired by form factor. That's my own
limitation on creativity, I suppose. I don't think of an idea, and then
imagine a device that would work for it. I look at a device, and imagine ways
to use it. I am inspired by the iPad, and my position is that I will do
whatever is necessary to make the app that I want to use. If that means
learning to be proficient in Objective-C, so be it. I'm not saying what Apple
did is fair, but I don't see how it would stop me.

But then again, my livelihood doesn't depend on, and I would never try to put
myself in the situation where it did.

------
siculars
Apple is clearly in the wrong here. I hate to say it but they seem to be
turning into the new "Empire".

It is as if AT&T said you could only use a certain phone to make phone calls.
Or ConEd said you could only use certain appliances with their electricity. Or
Intel said you could only use their compiler to write programs that run on
their processors. The list is endless.

This is an exercise in futility. Apple really needs to give this a rest and
relax. Let the market place determine which application experiences are better
than others.

~~~
ZeroGravitas
_As a result, by 1940 the Bell System effectively owned most telephone service
in the United States, from local and long-distance service to the telephones
themselves. This allowed Bell to prohibit their customers from connecting
phones not made or sold by Bell to the system without paying fees. For
example, if a customer desired a type of phone not leased by the local Bell
monopoly, he or she had to purchase the phone at cost, give it to the phone
company, then pay a 're-wiring' charge and a monthly lease fee in order to use
it._

[http://en.wikipedia.org/wiki/Bell_System#Government_sanction...](http://en.wikipedia.org/wiki/Bell_System#Government_sanctioned_monopolization)

~~~
thrdOriginal
Thank you Carterphone

 _In 1968, the Federal Communications Commission allowed the Carterfone and
other devices to be connected directly to the AT &T network, as long as they
did not cause harm to the system. This ruling (13 F.C.C.2d 420) created the
possibility of selling devices that could connect to the phone system using a
protective coupler, and opened the market to customer-owned equipment. The
decision is often referred-to as "any lawful device"..._

<http://en.wikipedia.org/wiki/Carterfone>

Here's to hoping this same ruling happens in the wireless space next.

------
vaksel
Apple lately has been reminding me of what they were supposedly railing about
in that 1984 commercial.

<http://www.youtube.com/watch?v=OYecfV3ubP8>

~~~
mbrubeck
_"Today, we celebrate the first glorious anniversary of the Information
Purification Directives. We have created for the first time in all history, a
garden of pure ideology. Where each worker may bloom secure from the pests of
contradictory and confusing truths. Our Unification of Thoughts is more
powerful a weapon than any fleet or army on earth. We are one people, with one
will, one resolve, one cause. Our enemies shall talk themselves to death and
we will bury them with their own confusion. We shall prevail!"_

~~~
JBiserkov
>We are one people, with one will, one resolve, one cause...

...one iDevice.

------
mbrubeck
It's an amusing take, but in practice I think "originally written" is intended
to be interpreted just like the GPL's definition of _source code_ :

 _"The source code for a work means the preferred form of the work for making
modifications to it."_

Just like Apple's SDK agreement, the GPL is written this way to prevent
developers from claiming an intermediate representation is actually the
"source code" when it's actually compiled or generated from the true source.

~~~
vegashacker
Probably, but, as the author notes, Apple doesn't define this.

------
wallflower
"Programs that write programs are the happiest programs in the world."

-Tom Christiansen a.k.a. thoth, Perl contributor extraordinaire

------
wrs
A major portion of almost all iPhone apps is "originally written" in XML --
specifically, the Interface Builder files for the UI and the Core Data
schemas. I anticipate a flood of clarification requests to dev support from
obsessively detail-oriented programmer/lawyers...

~~~
wallflower
My guess is they will clarify to include XML content generated by official
Apple XCode tools like IB. I really only see IB content when I have Git merge
conflicts, and I can't imagine anyone sane enough to generate that manually,
without the tool.

That being said, just by asking someone to agree doesn't mean they will
enforce it against small players (RhoMobile, Titanium).

~~~
Psyonic
True, but do you want to base your business on a platform that can be pulled
from under you at any minute? That was already the case (since they have full
control of the store), but now you'd actually be in open violation of a rule,
which seems like playing with fire in a house made of matches

------
twalling
One of the most interesting posts I've read so far regarding the whole
apple/adobe nonsense.

~~~
metachor
This was one of the most nonsense posts I've read so far regarding the whole
apple/adobe... nonsense.

~~~
jimbokun
Only in the sense that it draws attention to the utter nonsense and
foolishness of the "Objective C only" clause in the iPhone developers
agreement.

------
sant0sk1
> "My programs are originally written in the shower."

Mine too!

------
jheriko
I completely disagree with whole idea of intellectual property, so from my
perspective Apple maybe wrong, but the argument given here against their
actions is even "wronger".

Apple's actions here can at least be viewed as quality control, and since its
their product and their app store etc. its their choice. This is no different
to how games console manufacturers refuse to support third party
hardware/software, and if you do want to produce software for them you need to
most often use their tools and comply with their requirements. Historically
this has worked for them very well.

The writer also negates to consider the real world difficulty of
implementation - having a set of ideas about how something should work is a
totally different concept from having a working implementation of a concept -
except for that one case where the ideas are sufficiently concrete to describe
an implementation in a single language. Translating ideas into C++ or whatever
is not trivial so the implementation and the original concept can not
realistically be considered the same thing unless it includes all of the
implementation considerations as well. In which case there is no valid way to
distinguish that set of ideas from the source code - mathematically they are
identical descriptions of an algorithm, if they were not then one or other
would lack sufficient information. The program would not produce the intended
results or the idea would be missing information required to produce the
implementation.

As a simple example consider the difference between the usual form of the
Pythagoras theorem ( h^2 = a^2 + b^2 .: h = sqrt( a^2 + b^2 ) ) and some code
to find the hypotenuse of a right triangle from the other two sides - there
are lots of issues there that the original theorem has no need to consider,
like whether to use floating point representation or fixed point, what square
root algorithm to use and what order the operations should be performed in.
All of these decisions can have a dramatic impact on the performance and
accuracy of the implementation (i.e. produce detectably different results) and
some of them may be language dependent, e.g. your language might provide a
black box square root function but not specify how it must work, which could
be left to the implementation to decide.

Even so, do I have ownership of my particular C++ implementation of this? No.
Anyone else could have done the same without prior knowledge of my solution -
because its already there encoded in the laws of nature waiting to be
re-/discovered/ (not /invented/). Invention is a convenient label like
"artificial" - it has no counterpart in reality but is a useful abstraction in
daily life. But I digress...

~~~
astine
"The writer also _neglects_ to consider the real world difficulty"

FTFY

------
cobralibre
There's an implicit Platonism to the author's model of programming. He's an
object-oriented programmer, no doubt.

------
thaumaturgy
I'm kinda surprised that nobody here so far has noticed that the author is
consistently confusing "written" with "imagined".

You might _imagine_ code in your head in some way, but when you _write_ it,
you're probably doing so with a specific syntax and structure, in a particular
language.

~~~
jroes
I write pseudocode on a notepad on the train, then translate it into
Objective-C at my computer.

------
RodgerTheGreat
From the article- "programs aren’t originally written in any definite
language, or in any definite location. Programs are encoded information that
is contiguous and continuous with the information in our heads, and in the
world."

I certainly can't speak for how anyone else codes, but there is a significant
difference between the representation in my head before I sit down to code and
the structures and algorithms of the compilable implementation. The act of
coming up with a solidified idea and typing with syntax are not discrete
passes, so I don't think it's inaccurate to say that I've "originally"
implemented the program on a computer.

~~~
billybob
Yes, but how do you answer his thought experiment?

"What if Ben writes a Flash app, shows it to Amy, who codes it up in
Objective-C, compiles it and submits it to Apple? Should it be rejected since
it was not 'originally written' in Objective-C? If you think Apple’s answer
would be 'no' — a good guess — then substitute Adobe’s iPhone Packager for
Amy. Now should it be rejected according to the rules? What, at the end of the
day, makes Amy different from a machine translation tool?"

Apple's rule creates all kinds of ambiguities. What if you mocked it up first
in Ruby because that's where you're most comfortable? What if you used
psuedocode? What if you just drew a diagram? What if you just thought about
it? How do you determine what the app was "originally written" in?

More importantly, how does Apple determine it and why should they care?

~~~
twalling
Thought experiment. Good choice of words, I think the post was intended to
take it to the extreme just to provoke some interesting thoughts on the new
language.

Legal agreements will be interpreted differently and its important for them to
spell out these ambiguities. For instance, I don't think "originally written"
is defined anywhere in the document. If it were a really thorough legal
document they'd probably define that somewhere. Right now its completely up
for interpretation.

------
zephjc
It seems, as others have pointed out, that a big motivator for this change was
to prevent, or at least slow down, cross-platform app development.

However a loophole exists: if right now you code in Generic Intermediate
Language A which translates to an iPhone project in ObjC as well as an Android
app project, there is nothing Apple can do (right now(1)) to stop someone
writing a program which translates an iPhone project directly to a project for
another platform like Android.

1) They can obfuscate the project data to make it harder/impossible to parse
via some security mechanism, but this leads to a ridiculous arms race.

------
joecode
_it seems silly for a company like Apple to take a definite position on
exactly what “originally written” and “intermediary translation” means_

irregardless of one's opinion about section 3.3.1, there's actually nothing
silly at all about apple taking a stance on the interpretation of a legal
term. definitions are what makes law and legal agreements work, and you can
define things however you please---the important thing is making yourself
understood. obviously apple does not intend to outlaw thinking before coding.
therefore they have implicitly defined their terms accordingly.

~~~
JBiserkov
There's nothing _obviuos_ about how "law and legal agreements work".

------
martinpannier
_a mistaken belief that consistent developer tooling means a consistent user
experience_

Not necessarily, but inconsistent developer tools rarely lead to better UXs
than consistent ones. I don't know about you, but I haven't tried a single
Flash-written app on the iPhone which didn't suck. And Apple's recent deletion
of below-standards apps shows that they take app quality very seriously and
want to set a high standard for the platform.

As for the author's stance, it's simply ridiculous!

~~~
jimbokun
Then reject apps with crappy user experiences. If this takes out all Flash
derived apps, why the superfluous language specifically banning apps written
in anything other than Objective C?

~~~
martinpannier
UX is subjective, they can't reject apps on that basis. Whether it's written
using Objective-C or another language, however, is not.

And I'm not defending Apple, here. I don't like where they're headed. But I
find this whole 'the program was written in my brain' thing ridiculous.

~~~
jerf
"UX is subjective, they can't reject apps on that basis."

This is the Apple App Store. All apps require Apple approval before they can
be sold. They can reject apps on whatever criteria they like. They have also
demonstrated this is not a theoretical concern, either, by rejecting things
for all sort of reasons that can't be said to be "objective". Apple
_graciously_ gives developers some guidelines on how they may make their
arbitrary decisions, but, well, while I concede I have not read the developer
agreement it is only because I'm about 98% confident without looking that
Apple never actually agrees to do anything w.r.t. releasing your app.

Ultimately, "we don't want our vision compromised" is a smokescreen. It is
absolutely true that if this is what they wanted, they could accomplish it
simply by holding all apps to the same standard regardless of implementation
techniques. This is all about lockin.

Now, if an _open_ platform mandated certain libraries, but allowed you to
distribute arbitrary executables, the UX argument would at least hold water,
as lacking the strong enforcement mechanism of having absolute say over what
you can run on your device means that falling back to the weaker enforcement
mechanism of code would arguably mean something. (Something stupid, but
something.) But Apple already has total control. Arguing about how their
already-total control can only be augmented by this technical thingie over
here is a smokeshow; taking control from "total" to "total" is a no-op,
technically.

------
natmaster
Finally something amusing out of Hacker News being turned into Apple News.

------
Daniel_Newby
So are storyboards and whiteboard diagrams allowed? UML diagrams? Pseudocode?
Parser and state machine generators?

~~~
gamache
> Parser and state machine generators?

This is an actual consideration.

~~~
tumult
Not really a consideration. Bison, YACC, etc. are clearly banned.

------
pstinnett
It's been less than 24 hours since the new agreement was released and I'm
already tired of the "programs are initially written in the brain" argument.

~~~
billybob
Yeah, well I'm tired of Descarte's proof of existence, too, but a lot of
people still think it's important.

------
jister
>> What if Ben writes a Flash app, shows it to Amy, who codes it up in
Objective-C, compiles it and submits it to Apple? Should it be rejected since
it was not “originally written” in Objective-C?

Apple doesn't want 3rd party "compilers". That's what those lines in section
3.3.1 means...

