
'First to Do It' vs. 'First to Do It Right' - aaronbrethorst
http://daringfireball.net/2010/06/first
======
sachinag
This is tangentally related, but I'm going to break my contract with Verizon
after buying a Motorola Devour in March. I believe that Motorola and VZW have
broken an implied promise to support my Android phone through the update
cycle; it shipped with 1.6 and it appears that the powers that be have decided
that it's not worthy of the engineering resources to get it up to 2.2, so
it'll be at 1.6 forever.

I'm sorry, but a three-month old phone should not be obsolete. If I get a
iPhone 4, I have every confidence that Apple will make every effort to ensure
that subsequent iOS upgrades work on my phone until there's a legitimate
technical reason to exclude it, not some bullshit profit/loss maximization
algorithm.

The Android ecosystem will remain fragmented because every single
phone+manufacturer+carrier combination requires a decision and engineering
resources to upgrade. I could never recommend an Android phone to anyone but
the anti-Apple hordes.

~~~
Splines
> If I get a iPhone 4, I have every confidence that Apple will make every
> effort to ensure that subsequent iOS upgrades work on my phone until there's
> a legitimate technical reason to exclude it,...

Kudos to Apple for doing this, by the way. I have an iPhone 3G and really
appreciate Apple's efforts in keeping my device up-to-date.

Apple's decision to own the phone from end-to-end (sans AT&T) has proven to
provide a high-quality experience to customers. It's telling that the only
part of the experience that Apple doesn't own is arguably the largest pain
point of the iPhone.

It's too bad that Android/WinMo answer to the OEMs, and not the other way
around. If Compaq or Dell dictated upgrade policies for PCs the world would be
a very different place.

~~~
nlawalker
My 3G became dog slow as a dog when I installed the software that was released
alongside the 3GS. It has been ever since, through every following upgrade.

~~~
mkramlich
I noticed my 3G seemed to start getting slower, have more frequent "world has
come to a stop" pauses right around when the 3GS came out. I wondered a bit if
it was a conspiracy of sorts, something intentional Apple did to make the
non-3GS models seem even slower than they were. Not sure, of course, or
whether a coincidence. But it's interesting to hear at least one other person
noticed this.

~~~
allend
It's almost surely your imagination, even if other people have had the same
experience. By the way, I have the same experience.

------
proee
I have an HTC EVO and the device does not come with video-chat out of the box.
This is insane. As mentioned in the article, you have to install an app from
the appstore, sign-up with an account, and then proceed to figure out that you
can't actually talk to the person without holding down on the screen (note
there is no indication of this while in video chat mode).

It's been a major pain trying to call my wife and tell her how to set all
these things up before we can attempt a video chat.

I'd like to see Dan Hesse and his board of directors watch two HTC EVO noobs
attempt to video-chat. It would be downright embarrassing.

Please, before investing millions of dollars with your front-facing camera
make it at least work out of the box without having to jump through a dozen
hoops.

~~~
orangecat
Developer support is lousy too. Sprint has a library
([https://docs.google.com/View?id=dhtsnvs6_57d2hpqtgr#3_Second...](https://docs.google.com/View?id=dhtsnvs6_57d2hpqtgr#3_Secondary_Camera_Support_181))
that lets you access the front-facing camera, but you can't just test at
runtime to see if it's there; once you include that library, your app will
fail to launch on any non-EVO. So you have to distribute a separate app for
the EVO, which is mostly going to be a nonstarter.

~~~
guelo
This issue will be fixed when Froyo comes out for it, Froyo includes front
facing camera support in the sdk. HTC released this hardware knowing that the
software would have to catch up.

------
kenjackson
"Android and iPhone fans will read the preceding paragraph very differently.
Android fans will read it and say, “Exactly — give us the hardware and let
developers figure out what to do with it.” iPhone fans will read it and say,
“I can’t wait to get an iPhone 4.”"

This quote sums up my issue with Gruber. Everything for him revolves around
being a fan of a product (in his case Apple products). I just want great
products. Might be iPhone today, Android tomorrow, and Windows Phone next
year.

~~~
neonfunk
I don't think being a fan of the iPhone doesn't mean you can't also be a fan
of Android; they're not mutually exclusive (I have an Xbox and a Wii). That
said, in 2010, there is a strong break between not only the fanbases, but in
the guiding philosophy of either platform. I read this last paragraph,
laughed, and thought, "This is why I read Gruber."

Edit: Also, don't forget this classic — Apple Needs a Nikon
(<http://daringfireball.net/2007/11/apple_needs_a_nikon>)

Salient quote from Stephen Fry: "So you can guess that I certainly do think
design is important. But it doesn’t have to come from Apple. In fact, I wish
to goodness it came from everywhere."

~~~
hugh3
_I don't think being a fan of the iPhone doesn't mean you can't also be a fan
of Android; they're not mutually exclusive (I have an Xbox and a Wii)._

Well heck, so do I, but I wouldn't call myself a "fan" of either.

Actually I try not to be a "fan" of anything. Describing yourself as a fan of
something seems to be a way of making the rather dull act of _liking
something_ into part of your identity.

~~~
neonfunk
I think we're probably making too much of the word "fan", and that Gruber was
just using it to indicate preference (as opposed to devotion).

That said, I'm a fan of Apple because I admire their work. I'm enamored with
the substance of their products, and I could care less how ownership affects
my image [Edit: more honestly, I try not to care]. (I actually think declaring
myself a fan of Apple is a detriment to my image, especially in this forum.
C'est la vie.)

------
natmaster
It's bullshit because daring fireball - like always - is employing deceitful
marketing tactics (yes, I'm implying intent) to make claims that simply are
not true (going beyond subjective statements).

Take the front facing camera. HTC Evo? I don't even know what that is! I have
ALREADY made video calls with other skype users using my Nokia N900. Not only
that, I sometimes do it over 3G, if I'm out of range of a wifi. Oh yeah, and
it's all integrated into the normal phone experience - I don't have to launch
a separate app just to make calls (how does that integrate with contacts?)
Apple was not first. They restrict video calling to wifi and only through the
apps they approve. They did it WRONG.

Do I sound harsh? Yes, probably. I think this is the only way for "daring"
fireball to stop writing bullshit.

~~~
brisance
I'm not familiar with the Nokia N900.

Does it do HD (720p) video calls? Do both parties need to setup a Skype or
GTalk account to have video calls?

~~~
natmaster
720p would be impressive over 3G. No, it is not that awesome. :P

Yes, you can't make video calls to your friends microwave oven - they'll need
to use whatever protocol you are using. And yes, the N900 supports gtalk as
well (although I haven't tried video chat with it myself).

------
csmeder
I like how Gruber can take an idea that seems completely obvious to me, but
when ever I try to explain the idea and the reasons behind it I come up short.
I don't have good examples or details. I end up looking dumb. So I keep my
ideas to my self.

Its kind of like he takes what my intuition tells me, and then takes the time
to explain why and give examples.

Before you down vote me, this is a personal opinion. I can understand if you
think I'm crazy. If you disagree with Gruber's view (and I have a few times),
then in your view my intuition is wrong and his articles are contrived -- and
this may be true.

~~~
sumeeta
What is that idea? I read it again and I’m still missing the moral of the
story.

~~~
ZeroGravitas
The moral of the story is the "no true scotsman" fallacy.

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

You act like your the "first" to do something (or at least since the jetsons),
then when someone calls you on it you fall back to a subtly different claim to
be the "first to do it right" where right is a subjective opinion that can be
argued with, but not an objective fact that can be disproved like your first
claim.

It helps if you and your audience are both american and have little idea of
what has been done and/or done right in telecommunications for years overseas.
Then you can focus on the Android phone that introduced front facing cameras
to the world last month as your benchmark for better.

Personally, I think video calling will be niche, but having a front facing
camera will open the door to all kinds of cool 3rd party software like photo
manipulation software similar to Photobooth on Mac OS X or the software built
into the Nintendo DSi, or eye-tracking etc. This is where the policy that
Apple only ships hardware that it finds a slick 1st party use for falls down.
I have a video camera on my Macbook, only ever used for Photobooth and Skype,
never video iChat.

------
danielh
_The existence of a front-facing camera may fairly be considered a “catch up”
feature on iPhone 4. But the ability to use the front-facing camera to
actually make video calls is first on the iPhone._

I once saw a guy standing in the subway, looking on the floor, gesticulating
like crazy. I though the guy was either drunk or mentally ill.

As I left the subway, I realized that the guy was holding a phone in his hand.
I could glimpse on the display and saw another person gesticulating.

Apparently the guy was deaf and was talking in sign language in a video chat.
On a subway, which probably had no Wifi. That was in 2007.

I was amazed by technology (and felt like an idiot for the snap judgement).

------
sovande
I wonder if I will be able to use the iPhone4 front-facing camera to do video
over 3G here in Norway or if the iOS software will require a wifi connection.
Anyone know? BTW, the US is really in a telecom-technical backwater. Cellphone
users on the other side of the atlantic have enjoyed video conference calls on
their handset for many years and over true 3G, not as a wifi hack. So the
whole "'First to Do It' vs. 'First to Do It Right'" is kind of amusing as this
is rather old outside of the US.

~~~
brisance
[http://www.digitalsociety.org/2010/06/estimate-of-network-
ba...](http://www.digitalsociety.org/2010/06/estimate-of-network-bandwidth-
for-iphone-4-facetime/)

The existing 3G network infrastructure wouldn't be able to take the beating.

~~~
ZeroGravitas
The first assumption in that article is wrong, the video is sent at the camera
resolution (VGA) not the screen resolution. That's not only wrong, it's kinda
stupid so maybe we shouldn't listen to him on the rest either.

~~~
brisance
Thanks for responding. This is supposedly a HD video clip taken on the iPhone
4, as you can see it is 1280x720. So the guy's estimate was conservative.

<http://vimeo.com/12671233?hd=1>

------
dannyr
It depends on what somebody prefers.

A. No 'cut and paste' for 2+ years and then a well-executed solution.

or

B.'cut and paste' that can be used now. Cumbersome but gets the job done.

Personally, I'd go with B.

~~~
Lazlo_Nibble
A. Being single for 2+ years and then getting into a relationship with someone
you genuinely like being around pretty much all the time.

B. Being with someone _now_ who's a constantly unreliable, annoying reminder
of how you could do better.

Personally I'd go with A. (And yes, I think tools::relationships is a valid
analogy.)

~~~
donaq
I'd liken it more to

A. Being jobless for 2+ years and then getting the perfect job.

B. Having a job _now_ that kinda sucks, but pays the bills.

B for me. :)

~~~
derefr
And the comparison each of you made showed the difference in mindsets once
again:

People who like OSX/iPhones/etc. enjoy their stuff in the same way one enjoys
a relationship—it's not a necessity, it's just useful and fun and beneficial.
They may come to rely on it, but they won't expect anything of it that it
can't do; they'll just figure out their own way of doing it that won't "hurt
their relationship."

People who like Linux/Android/etc., on the other hand, _demand_ things of
their hardware and software, the same way you are demanded to work if you want
to earn money. In the same way one optimizes a business, they will ruthlessly
hill-climb toward efficiency, taking any new feature that provides even a 1%
profit-benefit, as long as it has a less-than-1% working-time cost.

To put it another way, Apple users anthropomorphize Apple products, and thus
have empathy/respect/admiration/etc. for them. Linux users objectify hardware
and software, and do things to them (and require things from them) that would
be considered sociopathic if done to people. Neither approach is "correct",
mind you—software (Operating System software in particular) is a bit like a
living thing, with needs and desires and the ability to cooperate with you,
but it's also most definitely less "alive" than a real animal.

~~~
donaq
That's one way of looking at it, with which I disagree. I mean, which is more
sociopathic: thinking you "can do better" while in a relationship, or valuing
someone because she's here for you _now_? I can't speak for other
Linux/Android users, but I don't personally think that Linux/Android is
perfect or blow their competition out of the water. I've used friends' iPhones
and there's loads to like, not least of which is the ability to play Bejeweled
on the commute. :p But I use them and support them with my dollars because
they were built on a foundation of ideals which I think should be encouraged.
Hell, I bought a Freerunner (that OpenMoko phone) even though I knew it
wouldn't serve me well in any capacity and that I wouldn't have time to enjoy
hacking on it. I bought it as a gesture of support because I thought it was a
worthy effort and I wanted it to continue. If they were still in business, I'd
probably support them over the Android. To put it into perspective, that cost
me about 1/5 of my monthly income at the time.

Going with the relationship analogy, isn't that like dating someone ugly and
annoying because she has character?

~~~
loewenskind
So you are willing to have a worse experience and pay more for it for some
ideology that ends up failing in the end anyway? Who are you arguing is more
practical here? :)

Personally I think ideology must always bend to practicality or you end up
with some really ridiculous results. I personally think Jobs wants to make the
experience for the user the best possible. Not because he is benevolent, but
rather because he is worried about what people will say about things he made.
And in his case that takes priority over any open ideology that will actually
result in a worse experience (that people _will_ associate with him/Apple).

------
Tichy
The "bullshit" is just the claim that Apple always has the best implementation
(sometimes they actually do, sometimes they don't). Nobody assumes that they
are incapable of doing it in time.

Ultimately, it is an interesting marketing play, I suppose - the "it's not a
bug, it's a feature" of marketing, maybe?

------
dreur
It may applies to large corporation, but I don't think that for Startups it
applies. We want a mix of those two ways of thinking to

1) Get some features out to gain traction/user

2) Make sure it works and that the user experience will not be negatively
impacted.

We have to learn from our mistakes and also learn from what our users want.
For that we need to experiment even if it means refactoring / do things
differently when we need to.

~~~
mechanical_fish
It's not startups vs big corporations. It's about the constraints on your
ability to iterate.

You can't iterate on hardware the same way you do on software. If you're used
to building the minimum possible thing that will work, shipping that, then
gradually improving it day by day you are in for a rude awakening in the
hardware business. You can't improve the hardware after it is out of your
hands. All you can do is release a _second_ piece of hardware that
incorporates improvements. But you must charge all your customers over again,
and not all of them will upgrade, and the whole process takes a lot of time
and has a lot of friction.

You also can't iterate on a public API the way you do on an app. Once other
folks have dependencies pointing to your API the cat is out of the bag. It is
several orders of magnitude harder to deprecate an API than to release it.
This is why, while iterating on software is good in general, you really don't
have the option to reinvent your platform's basic copy-and-paste API too many
times. It really pays to iterate _internally_ until you get that right.

~~~
ericd
Excellent point, and one that I think many of us forget.

Also wanted to add that reputation and trust are extremely important in the
hardware business (and the retail software business). Many people can buy
Apple's next thing without doing much or any research about it, and without
having to wait for reviews because they trust that Apple wouldn't subject them
to a piece of crap, due to their track record. This is not something that can
be said about many other companies, and it's an extremely valuable asset.

It also feeds their ability to create the "Reality Distortion Field".

------
ZeroGravitas
Recently Gruber pointed out that just because you don't like something (in
this particular case, the closed nature and strange policies of the App store)
doesn't necessarily mean it's a fatal flaw that will doom a platform.

The incredibly illuminating example he used to demonstrate this? The
crappiness of the Windows GUI:

 _It occurs to me that the App Store’s restrictions and control are to this
coming mobile era what Windows’s inferior user interface was to the PC era:
something that offends some critics to a degree such that they will insist for
years, despite the success and popularity of the platform, that it’s a fatal
flaw that will ultimately doom it._

<http://daringfireball.net/linked/2010/05/19/fitzgerald>

So will "doing it first" doom Android and limit its growing success and
popularity, or does he just not like things that aren't done "right"? I also
think, like the Windows GUI, that you'd be surprised about how much what you
think is "right" has to do with what you're used to.

------
rbreve
The Japanese did video calls 7 years ago, some nokia phones have also
integrated this without third party software and its very easy to use. Apple
is not the first to do it right

------
loup-vaillant
> "I think many people have little understanding of the difference between Wi-
> Fi and 3G data — at least insofar as why a feature would work over one but
> not the other."

Easy: the difference is that 3G data is not an internet connection.

Sure, you can browse the web, but most 3G data package don't give you a public
IP, so your phone can't be a server, and they tend to block many TCP and UDP
ports. Your phone is effectively in a private network which has a very limited
access to the rest of the Internet.

That, plus the fact that carriers make you sign a contract that forbid you to
use their bandwidth in certain ways.

------
guelo
Google doesn't control all the stuff that all the different manufacturers and
carriers are doing with Android so they cant enforce quality. But, Froyo has
the front-facing camera in the SDK and Skype is working on their Android app.
So, in a year or two Apple will be left in the dust when all these devices are
capable of video-chatting with each other across different manufacturers and
carriers, and with PCs and Macs and even with WinMos and Nokias, and who knows
what else.

Apple has a pretty good headstart but they have to compete against a whole
industry, they don't have a shot.

~~~
loewenskind
What in Apple's recent behavior makes you think they're just going to sit and
wait to die?

>Apple has a pretty good headstart but they have to compete against a whole
industry, they don't have a shot.

Odd to see an opinion like this on a site that leans toward Entrepreneurs.

------
rythie
Apple had to do the copy+paste work because no one else could.

However, the could have put the front facing camera on without the software,
since people can write apps to use. As for doing it right, I don't think an
app that only works from iPhone 4 to iPhone 4 on WiFi is doing it right. Doing
it right would to be able to Skype video call to anyone who has the app, be
that on the Mac, Windows etc.

Also, if you think Apple themselves have to use all the hardware in the phone,
then look at the gyroscope, Apple have no software that uses it.

------
sliverstorm
Cutting edge is always jenky. I personally figure Apple basically kicks back
while other people develop and test, and then they release once it's been
tried and sorted a bit so they don't have to release jenky products.

If you really believe Apple spent 2 years developing and perfecting cut&paste
you are crazy. They waited until they wanted to implement it. What their cue
was, I don't know, but I have my suspicions.

~~~
koffie
I doubt Apple "waits", they prefer to limit them-self to a focussed feature
set "done right". Apparently - the entire iPhone 1st gen was designed and
developed by a very very small team. This helps consistency, and avoids having
some parts of the team not knowing what another part is doing. If they then -
like they did for the iPhone - start with a clean API and environment with
future expandability in mind, you start out with a solid architecture on which
they can build. The downside however is that the initial product has a very
small/basic feature-set. Upside is, its core features are (mostly) "done
right" and behave consistently. A ton of features, which the competition
already has, are missing, but nobody uses them there because of complexity or
weird behavior.

Copy-paste is actually a perfect example here. I have had many smartphones and
PDAs (iPaq, Nokia communicator, Sony-Ericsson P910, P990 and a few others) -
and in none of them I actually ever used the copy-paste (if it was there), or
at least certainly not as much as I do now on my iPhone. Worst clipboard
implementation I've ever seen was that when I copied text in a one
application, apparently it was placed on the clipboard as UTF8 or Ansi text.
No problem so far - but apparently, if your target app then only accepted
ascii text - too bad, no copy-paste. Try explaining that-one to a normal user,
good luck... I then prefer the focussed on core-features, "no clipboard"
approach instead of a confusing, non-working or unreliable feature you end up
not using at all.

Now I'm not an Apple fanboy, but I do have an iPhone (only Apple product I
own). I'll be the last to say that it's perfect and everything is entirely
"done right", but from what I've seen - from a user-point of view - it's
without a doubt the best thing out-there. Yes there are on paper "better
phones" with "more features" which are "more open", but whatever, it just
works. On PC I might be considered a power-user, but my phone is a vital part
of my life. I don't want to mess around on it too much - it has to simply
work. I did consider buying an Android phone for the sole purpose of playing
with it, but I simply don't have the time for that at the moment. I might
still do this in the future, after having played with 1.5, 1.6, 2.1 and 2.2 on
various models of friends - I have to say, I'm impressed by the technical
improvements, but still - the user-experience is just horrible. There are some
cool ideas, like the notifications - but the execution is mind-blowing
irritating after a while. It feels to me as a linux desktop 10 years ago:
editing your config file with vi is easy. Designed by an engineer, for an
engineer.

~~~
usaar333
What do you consider the be the most "horrible" parts of the Android
experience?

------
kenjackson
"Give them brand new still-in-the-box iPhone 4’s and HTC Evos. Now ask them to
make a video call to one another. With the iPhone 4, they’re going to be able
to do it. "

How can the person with the iPhone make a video call to the person with the
Evo, yet only one succeeds? Isn't it the case that for a call to be
successfull, both parties need to be able to communicate?

~~~
tvon
The idea is they'd be making iPhone -> iPhone and Evo -> Evo calls, not calls
to each other.

~~~
kenjackson
Thank you. I guess I'm one of those people that needs an iPhone. :-)

~~~
tvon
Granted, with FaceTime being an upcoming "open standard", I suspect someone
will make an Android app...

------
artsrc
Apple has a legal responsibility to their shareholders.

First to do it 'right for me', or first to do it 'right for Apple's
shareholders'?

~~~
loewenskind
Every company has this problem (including Google). What point are you making?

------
ergo98
I have to confess my bias upfront and say that I'm not a fan of John Gruber.
He eloquently spins bullshit, constructing superficially supported arguments
that don't bear any scrutiny at all. He is so far down the Apple rabbit hole
that he seldom convinces anyone other than the already convinced (which, for
historic reasons, includes much of HN).

In this case he's talking about video calling. Ignoring the fact that nobody
is actually going to use video calling (it has come so many times on many
devices. The Evo was _far_ from the first device to implement it), let's humor
his point.

So let's compare-

Apple iPhone 4 - video calling between iPhone 4 devices, only over wifi, using
Apple's completely new, completely non-standard protocol. Apparently it "works
great", at least for people using demo units at an Apple conference under
controlled circumstances.

Evo 4G - Android device with a front-facing camera. Apps support it to talk on
any network you want. Fring, for instance, allowing you to call Skype video
users on pretty much anything including PCs. This is over wifi, or a 3G/4G
connection that can support it.

Gruber has close to no experience with the iPhone 4G, and his entire
experience with the Evo 4G is one reviewer's take. Nonetheless, that has made
him an expert.

Is iPhone 4 to iPhone 4 calling considered done? Seriously? To me that barely
qualifies as beta. It barely qualifies as alpha. There are a legacy of long
existing, open video calling protocols, and many existing implementations.
Only the truly faithful could call Apple's take done.

 __EDIT __To draw from a comment I left elsewhere, here's an exercise for
Daring Fireball supporters: Imagine, if you will, that Motorola just
introduced their latest Android device, front-facing camera and all, called
the iDroid. The iDroid comes with an easy to use, ultra-simple video
conferencing solution, but it only works on wifi, and it only works between
iDroid devices.

How, I ask, would John Gruber respond to that? Imagine that it's been tightly
polished and all.

Would he post a praise-filled entry lauding their innovation, heralding this
great new functionality? Maybe I'm just being a jerk, but I think he would
viciously attack it.

~~~
jodrellblank
How can you start off saying Gruber is awful for spinning superficially
supported arguments, then go on to claim "nobody is going to use video
calling" as a _fact_.

Especially when the whole point of Gruber's article is that nobody uses video
calling because it's a confusing and complex mess, and when it isn't so (e.g.
skype) it gets used, and when iPhone 4 comes out it will get used a lot more.

So let's compare-

Apple iPhone 4 - instantly popular with millions of people using the exact
same make and model with the same software within a few months. Video calling
baked in as a single button visible on every phonecall, advertised as a
primary feature, designed for easy use.

Evo 4G - Phone with camera on the front. Not such a one-off instantly popular
hit. Video calling not possible until specific apps heard of, downloaded and
installed, configured, then still different and more hassle to use than a
normal phonecall. Other features vary by app.

And only the truly antiApple could suggest that people are calling Apple's
take "done" in any final sense as if nobody believes it will ever change ever.

~~~
ergo98
>then go on to claim "nobody is going to use video calling" as a fact.

It was obviously a personal opinion. See, I'm not making a grand blog entry
waxing poetically on why no one will ever make video calls, carefully creating
a curated (word of the month) list of support blog and tweet entries to
bolster my supposition.

I offered zero supports to my opinionn. I think you're missing a big
difference there. I don't pretend that I have supports for personal opinion.

>So let's compare-

Apple is big and successful (biggest tech company...yet people still pretend
that they're counter-culture supporting them. Funny, that). Therefore their
"we're big and successful" gives them leave to build things only for their, to
use the trite descriptive, walled garden?

"You can made all the video calls you want...as long as anyone you want to
call has an iPhone 4 and is currently on wifi...and so are you. Easie-peasie!"

Seriously, this pushes to the point of being comical.

>And only the truly antiApple could suggest that people are calling Apple's
take "done" in any final sense as if nobody believes it will ever change ever.

Obviously it will change. Gruber considers it "done right". I think it is done
absolutely horrifically, and it is done in a way that is exactly the problem
many people have had with Apple's actions.

~~~
cwilson
Hmm, from the hours of 9am until about 6pm I can list off about 2 dozen people
who I might actually call (girlfriend, dad, best friend, etc) who I know will
be on a wifi network and are planning on buying iPhone 4's. You know why?
Because between those hours they are at work. Guess what? I can also bet that
around 8pm until midnight I can also call them, because they are at home,
where they have wifi networks. And guess what? The other times, when they are
on the go (walking around out in the world, or driving) are times I wouldn't
want to video call anyway. People video calling in public is going to be the
new nextel walkie-talkie feature; fucking annoying. Driving while video
calling, well, hopefully I don't have to comment on that one.

This is NOT a perfect solution. Of course being able to do it over 3G or 4G
would be awesome. As Steve Jobs said.. that will come. They are working with
the carriers to make it happen. Why does the solution have to be perfect day
one? Baby steps my friend. Do you not think Steve Jobs wants it to work this
way as well?

You saying it's done absolutely horrifically is comical, not the other way
around. To you, what makes it horrific, is the fact that it only works
sometimes, not 24/7. That's pretty ridiculous.

Also, I must point out that when Apple releases something it usually IS done
right. It usually is very, very close to finished. Apple polishes before they
release, it's in their DNA. Steve Jobs is insane about sweating the details.

~~~
ergo98
Two dozen, eh?

>This is NOT a perfect solution.

Indeed. It's not done right. Which is pretty much the point.

Here's a exercise: Imagine that the Droid XIX came with video conferencing
that was super easy -- a single button -- but it only worked on WiFi and it
only worked between Droid XIX devices. How do you think Gruber would respond
to that?

Do you think he would say "Yeah. That's video conferencing _done right_ "

~~~
cwilson
Yes, two dozen. At least a dozen friends, girlfriend, parents, co-workers,
etc. It adds up fast.

It's done right from an experience perspective, which is the point Gruber was
trying to make. Using the feature is dead easy, meaning it's done right. The
example of the other phone he gave was not dead easy to use, it took the user
hours to figure it out and when he did the experience was still awful.

If the feature worked over Wifi AND 3G/4G it would be EXACTLY THE SAME. No
different. It's the feature itself we're talking about here, not when and
where you can use it.

If you want to blame someone for the feature being held back point your
fingers at AT&T. Or at least blame Apple for taking so damn long to jump ship
and offer it to more carriers, but not for shipping a broken solution, as
their solution is what looks to be pretty flawless.

Your exercise: I don't know what Gruber would say, but I can take a stab at
it. I'd bet it would be along the lines of, "Good to see another feature in
Android giving the iPhone a run for its money, competition is good." or "It's
great Android can make video calls but it would have been better if they
adopted the FaceTime standard so they could call iPhones as well".

~~~
ergo98
>If the feature worked over Wifi AND 3G/4G it would be EXACTLY THE SAME

No it wouldn't. Having a protocol work over wifi is remarkably easier than
having it work over 3G. The latter introduces clustering and latencies that
you just don't have on any normal wifi. It's just as easy to assume that it is
a bandwidth pig and is heavily susceptible to latency issues, which is why it
is thus far limited to wifi.

Of course everyone else immediately _started_ by making a solution work on 3G
(and even edge), with wifi being a "nice to have extras" platform.

>I don't know what Gruber would say, but I can take a stab at it. I'd bet it
would be along the lines of

When has Gruber ever said that? When the Android phones had dramatically
better resolutions than the now almost intolerable iPhone 3GS and before, did
Gruber ever commend that? In fact I believe the only time it even started to
come up was when the iPhone 4 was an open secret and he knew it offered the
new benchmark resolution, so suddenly competitive resolutions became a
conversation point, but only from a "they're behind what is coming" angle.

How about Android notifications -- Gruber has defensively pushed back against
the reality that Android has a dramatically better notification system. Yet,
good for a laugh, he recently gushed that a notification expert from Palm (he
was doing the "See Android was just a copy cat anyways" thing) was moving to
Apple, clearly implying "So soon it'll get a better notification system than
the notification system that was a non-issue just yesterday".

Gruber, to me, is like Republican talking heads of the worst kind. He filters
information to see the world exactly the way he wants to see it to serve his
agenda, which is to pimp Apple.

------
drivebyacct
Oh it's funny because he thinks iOS multitasking is better.

Or real.

~~~
drivebyacct
No really. It's not actually multitasking. Downvote away, it's your ignorance.

~~~
loewenskind
Do you like functional programming? One of the nice things about functional
programming is that I can see right away what is being done with a collection.
Map is applying or "mapping" some translation to the list to create a new one,
filter is taking a subset of the collection that meets some criteria. In e.g.
C you just have that big dumb for loop. You want to know what is being done to
the the collection? Well, you're just going to have to read the whole thing.
Every time.

The problem is that there are several different kinds of things you want to do
to a collection, but in C you just have the for loop and have to keep writing
e.g. filter every time you need one. Over and over.

Apple gives you the functional approach to multitasking: there are a handful
of things you actually want to use multitasking for and they're all supported
with the api. You're complaining that they didn't give you that dumb for loop
so you could just do it all yourself by hand. Over and over.

~~~
vetinari
To make your comparison more precise:

Apple gives you a fixed set of functions that you can pass to map(). Other
OSes give you chance to write your own functions that you will be able to pass
to built-in map.

~~~
loewenskind
That's simply not the case. My analogy is exactly how I wanted it. What things
do you want to do with a service? Run a background thread to completion? You
can do that. You want to play music when your app is in the foreground?
Covered. Want to receive notifications from the network? Check. What to do
certain tasks at scheduled times? Affirmative.

Further, if I'm reading your code I don't have to go "Oh God, they started a
thread. What do they think they need it for...", I can just look at what API
you used and I know exactly what the goal was. Exactly the same advantage that
map/filter/reduce/etc. have over a for loop.

~~~
vetinari
Sorry, but your argument just supports mine.

It is basically: what do you want? This or that supplied function covers your
need, you can pass it. Sorry, you can't make yours, what would you possibly
want?

Honestly? I don't know right now. Maybe I will have earth-shattering idea next
week or month, but I don't know right now. The point is, the original authors
of map didn't try to envision what you are going to use map for, and provide
enum for choosing an appropriate action. They allowed you to pass any function
you want, doing whatever you want.

For example, when speaking about Android, the framework contains class that
handles things like managing threads for you. You just plug-in the required
functionality, just like you pass your function to built-in map. The
boilerplate that you are arguing against is simply not there. Just like with
map you know, that "this function will be applied for every item in set" or
with filter you know "you will get new set containing items from original set
for which the supplied predicate is true", you know that "this functionality
will run in background". The accidental complexity of managing it is hidden;
the functionality allowed is not fixed.

~~~
loewenskind
No, I don't think you understand my argument.

>This or that supplied function covers your need, you can pass it. Sorry, you
can't make yours, what would you possibly want?

We've had concurrency and services for decades, we already know _every general
action you can possibly do with a service_. No one is going to come up with
some totally new novel use for a background service anymore than anyone will
come up with a new general action to apply to lists. Everything you would ever
want to do with a background service can be divided into about 5 kinds of
tasks and those are covered. Full stop.

If you disagree then please describe some act with a service and I'll explain
to you how that already fits in one of the 4 or 5 kinds of things people do
with services. Proposing that some day, some where someone may come up with
something that doesn't fit this mold is just hand waving.

~~~
orangecat
_Everything you would ever want to do with a background service can be divided
into about 5 kinds of tasks and those are covered._

AFAIK it's not possible to simply keep an SSH or IM connection open when you
switch to another app.

~~~
loewenskind
You can have your app continue to run for up to 10 minutes after it's been
closed, so it should be possible to use that time to keep your connection
open. If no one has contacted you in 10 minutes then chances are they wont in
the next 10 either so it would be better to switch to push notification and
let the phone manage notifications.

Keeping SSH or IM connections open is an action of a well known use for
servers; listening for updates. And that's covered in the API.

