13: Animated Kale
00:00:00
◼
►
Still booting.
00:00:03
◼
►
This is the most interesting podcast ever.
00:00:04
◼
►
Well, it's not a podcast yet.
00:00:06
◼
►
Well, unless you keep this in the show, which you better not do.
00:00:11
◼
►
I might put that in somewhere.
00:00:13
◼
►
Oh, please, dear God, no.
00:00:16
◼
►
First of all, I want to start this show with a story about the theme song.
00:00:21
◼
►
Our theme song by Jonathan Mann, spelled the same way as Merlin Mann, but with Jonathan
00:00:27
◼
►
in front instead of Merlin.
00:00:29
◼
►
Our theme song, so here's what happened.
00:00:31
◼
►
When we started this show, I went to Merlin Man because he made the theme song to his
00:00:37
◼
►
Back to Work podcast.
00:00:39
◼
►
And I went to Merlin and I said, "Look, I'm looking for, for this show that we're
00:00:42
◼
►
doing, I'm looking for something that is kind of punchy the way those opening chords
00:00:47
◼
►
are to Back to Work."
00:00:51
◼
►
Did you mention bleeps and boops to him?
00:00:56
◼
►
Just to irritate you.
00:00:58
◼
►
So, anyway, so I went to Merlin and I said, "Do you have, you know, could you like whip
00:01:02
◼
►
something up in GarageBand or something?"
00:01:04
◼
►
Because he likes doing that kind of stuff and he's really good at it.
00:01:06
◼
►
So I said, "You know, could you whip something up in GarageBand or something just to be like
00:01:10
◼
►
a quick opener and a quick closer to the show?"
00:01:17
◼
►
And he said, "Yeah, okay, I'll work on it."
00:01:19
◼
►
And then like a week later, Jonathan Mann does this song and releases it on YouTube
00:01:25
◼
►
during his song of day thing, which we will link to in the show notes.
00:01:28
◼
►
Jonathan Mann did this awesome theme song that we've been using in almost every episode since then.
00:01:34
◼
►
If not every episode.
00:01:35
◼
►
♫ Accidental ♫
00:01:37
◼
►
It was so damn catchy.
00:01:38
◼
►
Like, it came out shortly before Casey and I went on our big Germany car trip.
00:01:43
◼
►
And we were talking about it on the trip, it was in our heads the entire time.
00:01:47
◼
►
It was in our wives' heads the entire time.
00:01:49
◼
►
It's so catchy, and we've gotten so many responses on Twitter saying
00:01:53
◼
►
the show is stuck, or the theme song is stuck in my head.
00:01:56
◼
►
It's been stuck in my head all day or all week or whatever.
00:01:58
◼
►
And people just love this thing, and I love it,
00:02:00
◼
►
and we love it, except Jon.
00:02:02
◼
►
But the rest of us love it.
00:02:04
◼
►
And so eventually I went to Merlin, and I'm like,
00:02:08
◼
►
"You know, I think we're just gonna have to keep this
00:02:11
◼
►
"'cause it's so good."
00:02:12
◼
►
And he was like, "Yeah, I agree.
00:02:13
◼
►
"You should definitely keep that.
00:02:15
◼
►
"It's really good."
00:02:16
◼
►
- Well, when you gave Merlin the assignment for the song,
00:02:18
◼
►
did you make sure it had a budget,
00:02:20
◼
►
a deadline, and resources attached to it?
00:02:21
◼
►
I didn't and
00:02:23
◼
►
Therefore I guess it wasn't it wasn't a priority project. No, it wasn't a priority I think
00:02:30
◼
►
Priorities it didn't have like a level 10 priority. Maybe might have only had a level 8 priority, but there's 19 other level 8 priorities
00:02:37
◼
►
Something like that. I think I'm getting this right right Merlin. Mmm anyway, so I think that was a Merlin impression
00:02:44
◼
►
It's not that good of one. I
00:02:46
◼
►
Don't have any cards to flat also be lemon grab
00:02:50
◼
►
Well, no, that's more stressful.
00:02:54
◼
►
I can't do it, because I don't even know what show that is.
00:02:57
◼
►
I've heard Merlin do it enough times
00:02:58
◼
►
that I know what you're talking about.
00:03:00
◼
►
Anyway, so I went to Jonathan Mann, and I said, hey,
00:03:06
◼
►
can we just keep using this?
00:03:08
◼
►
Like, can we give you something for it?
00:03:11
◼
►
Can we keep using it?
00:03:12
◼
►
Because people love it.
00:03:13
◼
►
And he said, all he wants is for us
00:03:16
◼
►
to mention his site and his business.
00:03:18
◼
►
Because what his business is.
00:03:20
◼
►
So this guy, you've probably heard his songs before,
00:03:22
◼
►
at least one of them.
00:03:23
◼
►
One of the biggest ones is when Apple did the Antennagate
00:03:27
◼
►
press conference back in 2010, was it?
00:03:30
◼
►
Late 2010, whenever that was.
00:03:33
◼
►
They opened the press conference with the song
00:03:36
◼
►
about the Antennagate issue.
00:03:38
◼
►
And that song was Jonathan Mann's songs.
00:03:40
◼
►
I think it was just his song of the day for one of those days
00:03:42
◼
►
or something like that.
00:03:42
◼
►
He had released it right before then.
00:03:44
◼
►
And Steve Jobs came out and said--
00:03:46
◼
►
Good morning.
00:03:47
◼
►
Thanks for joining us here.
00:03:48
◼
►
We saw that on YouTube this morning and couldn't help but want to share it.
00:03:54
◼
►
They opened the conference with that.
00:03:55
◼
►
So Steve Jobs likes his songs.
00:03:57
◼
►
His song gets stuck in your head, and he has a business where he can write a song for your company if you want him to.
00:04:04
◼
►
So go to his site. It's JonathanMann.net.
00:04:09
◼
►
And we'll put that in the show notes also.
00:04:12
◼
►
You can also just follow his YouTube channel because he posts all these songs every day and they're really catchy.
00:04:16
◼
►
catchy. He did a hypercritical song a few months back when that was still going, and
00:04:22
◼
►
that was really catchy. So he's just really good at writing songs that get stuck in your
00:04:27
◼
►
head. And so if you have a podcast or a company or anything like that, you kind of want that
00:04:32
◼
►
because that's really good for you. One of the reasons I wanted to keep this song for
00:04:35
◼
►
us is because it gets stuck in your head, that's good for the show. That's like promotion
00:04:39
◼
►
for the show, and it gives you a good feeling when you hear us every week. So thanks a lot
00:04:44
◼
►
to Jonathan Mann for letting us use this song. And check out his site. I'm willing to in
00:04:48
◼
►
the show notes. JonathanMann@2n.net.
00:04:50
◼
►
Yeah, I feel compelled to point out that when you say they're catchy, that's like the good
00:04:55
◼
►
kind of catchy, not like the modern pop music annoying catchy, where it's like this thing
00:05:01
◼
►
burrowing into your brain. It's the happy catchy, the one that you kind of giggle about
00:05:05
◼
►
every time you hear somebody humming it or singing it as Tiff and all of us did for most
00:05:10
◼
►
of the Germany trip. So it's the good kind of catchy.
00:05:13
◼
►
Yeah, it's not like you know pop music that you want to you want to drill your brain out right with a spoon
00:05:17
◼
►
Because you just cannot get it out of your head. I mean this is like yeah, you're right
00:05:20
◼
►
It's the good kind and and this guy obviously
00:05:22
◼
►
You know Jonathan has real talent here because he's he's made lots of songs that are that catchy
00:05:27
◼
►
Like it's not like he had one that was really catchy and that was it. He was done
00:05:31
◼
►
He seems to be really really good at specifically creating good catchy songs. He makes a song every day doesn't he still doing that?
00:05:38
◼
►
Yeah, and I believe his reasoning for that was like to keep himself sharp and you know and develop these skills
00:05:43
◼
►
And he really I mean you could tell this guy. Yeah, he's he's really good at it
00:05:47
◼
►
Anyway, so thank you to Jonathan man
00:05:49
◼
►
That was a freaking great to have this theme song and I love it and well at most of the hosts on this show
00:05:56
◼
►
Absolutely. Love it two-thirds of the hosts
00:05:58
◼
►
And the other one seems to be a lot versions of the song. I like this one is catchy. I like it
00:06:02
◼
►
I just I'm partial to bleeps and boops
00:06:06
◼
►
And I agree with the people who said that the bleeps and boops, the weakest of the bleeps and boops song is that it sounds
00:06:11
◼
►
like there should be more song and there isn't, whereas the other one
00:06:14
◼
►
it kind of is a complete thing, you know?
00:06:17
◼
►
Oh, I should point it also. I even adjusted the EQ in the way I edit things.
00:06:22
◼
►
I adjusted the EQ for starting in last week's episode just to make the song sound better.
00:06:27
◼
►
Like it needed any help.
00:06:30
◼
►
Well, yeah, just, well, because I was killing its audio quality with, because I was applying the voice EQ to the global track to all
00:06:36
◼
►
of us, including the song track. So now the song track is untouched and so you get to
00:06:40
◼
►
hear it in its full glory.
00:06:41
◼
►
All right, so now that we have...
00:06:43
◼
►
You know, at 64 kilobits.
00:06:46
◼
►
Now that we have two consecutive podcasts about podcasts...
00:06:50
◼
►
...a really quick bit of follow-up that I just wanted to mention. A lot of people have
00:06:53
◼
►
come out of the woodwork and recommended a million different List Apps to me after my
00:06:58
◼
►
complaining about the way that List Apps work and how I want something super simple. And
00:07:02
◼
►
One of the things I heard a lot of is, "Dude, why don't you just use the Reminders app?"
00:07:06
◼
►
Which at first I didn't even realize that you could share lists in that, but apparently
00:07:09
◼
►
you can do it, I think, on the website and definitely on OS X, but not on iOS.
00:07:15
◼
►
It's close to what I want.
00:07:16
◼
►
It's not really what I want.
00:07:17
◼
►
It's not worth discussing what I want because it's really boring and not that exciting,
00:07:20
◼
►
but I just wanted to thank everyone for pointing these things out, but also say I've heard
00:07:24
◼
►
every recommendation under the sun at this point, and if you really want to engage me
00:07:28
◼
►
on Twitter to argue about this kind of minutia,
00:07:31
◼
►
then you know where to find me.
00:07:33
◼
►
Just listen to the song.
00:07:34
◼
►
It's right in there.
00:07:37
◼
►
- Yeah, I also, I was talking about List apps yesterday
00:07:40
◼
►
because I was going grocery shopping,
00:07:41
◼
►
and a lot of people brought this up to me also.
00:07:44
◼
►
And I just, you know, my problem is I like the Clear app.
00:07:49
◼
►
I actually like using that in the store.
00:07:50
◼
►
It's because it has such a minimal interface,
00:07:54
◼
►
and everything is like a big touch target,
00:07:55
◼
►
and you can swipe everything.
00:07:57
◼
►
it's really easy to use while shopping.
00:07:59
◼
►
And I like that as you cross things off,
00:08:00
◼
►
they fall off the list.
00:08:02
◼
►
And so the view that you're looking at gets smaller.
00:08:05
◼
►
It's actually really, really very nice
00:08:07
◼
►
when walking around a store.
00:08:08
◼
►
You don't have to look that closely at the phone.
00:08:11
◼
►
You don't have to be that precise with your gestures.
00:08:14
◼
►
Everything is big and friendly to one-handed use
00:08:17
◼
►
while shopping.
00:08:18
◼
►
And I was lamenting problems I was having
00:08:21
◼
►
with it syncing to the Mac client
00:08:22
◼
►
and not being able to multi-line paste.
00:08:24
◼
►
Although apparently if you do a shake gesture
00:08:26
◼
►
or something.
00:08:28
◼
►
There was some kind of crazy gesture
00:08:29
◼
►
that I would never have guessed to attempt
00:08:32
◼
►
to multi-line paste something.
00:08:33
◼
►
I don't know.
00:08:34
◼
►
I didn't try it since then.
00:08:35
◼
►
But anyway, so I was expressing my disdain
00:08:40
◼
►
for shopping list apps.
00:08:42
◼
►
And just like Casey, I got a billion recommendations
00:08:46
◼
►
from everybody about their favorite shopping list app,
00:08:49
◼
►
or in many cases, the shopping list app
00:08:51
◼
►
that they make themselves.
00:08:54
◼
►
It's so funny how so many of these apps were like--
00:08:59
◼
►
they only did like a third of what I asked for.
00:09:02
◼
►
What I asked for is fairly simple.
00:09:04
◼
►
And I didn't even have the sharing requirement
00:09:06
◼
►
that Casey had.
00:09:06
◼
►
All I want is to have a sync between the Mac and iOS,
00:09:11
◼
►
for the iOS client to be as easy to use as clear when
00:09:14
◼
►
I'm actually shopping.
00:09:16
◼
►
And if sync for some reason doesn't work very well,
00:09:19
◼
►
let me at least type the list in the Mac, email it to myself,
00:09:23
◼
►
and then copy and paste into the list in a multi-line
00:09:26
◼
►
to multi-item action.
00:09:28
◼
►
And so many recommendations couldn't
00:09:31
◼
►
fit my fairly minimal requirements.
00:09:33
◼
►
So anyway, the problem that I have
00:09:40
◼
►
when people give me all these recommendations
00:09:42
◼
►
is that it takes time to try these things out.
00:09:45
◼
►
And if I have something that works 90% of the way,
00:09:50
◼
►
or 80% of the way, the chances that I'm going to take an hour one day and try 14 different
00:09:56
◼
►
other list apps, that's just never going to happen. The pain of using the one I'm already
00:10:02
◼
►
using is never going to be great enough to make it worth even looking at the other ones.
00:10:07
◼
►
Here's something else about recommendations, because I get them a lot, too. People do recommendations
00:10:12
◼
►
kind of like they're participating in personal computer gamesmanship on the internet in 1992,
00:10:18
◼
►
like they do with feature check boxes.
00:10:20
◼
►
Well, this has X, Y, and Z and Q.
00:10:21
◼
►
Well, this has X, Y, Z, Q, and P. Oh, well, then it wins, right?
00:10:24
◼
►
And especially for iOS apps, I find that a lot of the time,
00:10:29
◼
►
the application that I use, I like for reasons that have
00:10:33
◼
►
nothing to do with the features.
00:10:34
◼
►
I acknowledge that this lacks features and has an annoying
00:10:37
◼
►
bug that drives me insane, but I like how it looks better.
00:10:40
◼
►
Or I like where the three buttons that I press most
00:10:43
◼
►
frequently, I like where they are because of the way I hold
00:10:45
◼
►
it with my thumb.
00:10:46
◼
►
Crap like that.
00:10:47
◼
►
That determines which app I pick.
00:10:48
◼
►
The one that recently came up was people yelling at me on app.net about why I should use other
00:10:53
◼
►
app.net clients because I'm constantly complaining about netbots annoying bugs with not marking
00:10:58
◼
►
replies as read and silly things like that.
00:11:01
◼
►
I've bought every app.net client that exists, so I already have all these apps.
00:11:06
◼
►
They're like, "This one has it, and this has had that feature forever."
00:11:08
◼
►
I know I have all of them, but there's just something about how netbot looks, or it looks
00:11:13
◼
►
like app.net to me, or I like where the buttons are.
00:11:16
◼
►
The intangibles.
00:11:17
◼
►
That could be why you end up using an application over another app.
00:11:21
◼
►
It doesn't always have to be feature checkboxes.
00:11:24
◼
►
It's crazy to me that people who are in the Mac community and in our circle, that part
00:11:29
◼
►
of their brain shuts off when comparing applications.
00:11:33
◼
►
"Oh, you should use this application because it has the feature you want."
00:11:35
◼
►
Well, if it's ugly, I'm not going to use it.
00:11:37
◼
►
Well, why is it ugly?
00:11:38
◼
►
It's not really ugly.
00:11:39
◼
►
It's just not to my taste.
00:11:40
◼
►
I'm not impugning other people's applications that somehow they do a bad job laying it out,
00:11:43
◼
►
but sometimes you like how one looks better than the other.
00:11:46
◼
►
like where a button is or what's a button and what's a slide and what's not a slide,
00:11:50
◼
►
and people don't like to hear that. Whenever people ask me about app recommendations, I
00:11:55
◼
►
always have to do this whole song and dance about, "This is the application that I like,
00:11:59
◼
►
but it's not necessarily the best one for you because maybe you like different things
00:12:04
◼
►
Oh, that's exactly what I ran into with the recommendations to me because everyone said,
00:12:09
◼
►
"Oh, you want something super simple. You want it to be shared. What's wrong with you?
00:12:12
◼
►
not use reminders. And there's several reasons why I don't really want to use reminders,
00:12:17
◼
►
none of which matter, and it's really not worth going into, but I tried to tell people
00:12:21
◼
►
this, and they're like, "But that should work for you." And I'm thinking to myself, "Well,
00:12:26
◼
►
I just told you it doesn't."
00:12:28
◼
►
Well, now that you're a famous person, that's the thing, is that you want the famous person
00:12:31
◼
►
to use your app, because it's like, "Oh, well, this is used by this person who has this voice
00:12:38
◼
►
to the world," or whatever. But it's nothing against a lot of these apps. Some of them
00:12:42
◼
►
I acknowledge are better applications than the one I'm choosing to use. But if one is
00:12:46
◼
►
green and one is red and I really like red, I'm going to use the red one, even if the
00:12:50
◼
►
green one is technically a better app. And that's how people actually are. And I don't
00:12:53
◼
►
think we should be excluded from being allowed to be just like people are and just picking
00:12:58
◼
►
the green one because you like green. As long as we're clear when people ask about recommendations,
00:13:03
◼
►
it's like, "This is the app that I like, but there are plenty of other really great
00:13:06
◼
►
apps too. Try the ones and see which one or do what I did and buy every single one of
00:13:10
◼
►
and then pick the one that you like best.
00:13:12
◼
►
Oh yeah, and what you said a minute ago, you said you like this button being red and the
00:13:17
◼
►
other app is blue.
00:13:19
◼
►
Back when I worked at—I've told this story a few times on Build and Analyze, so I'll
00:13:22
◼
►
be quick—back when I worked at Vivissimo in Pittsburgh and we made the Cluste search
00:13:26
◼
►
engine, among other things, we would get support emails from Cluste saying, "I use you over
00:13:31
◼
►
Google because I like the color scheme on the site," or "I like your logo."
00:13:37
◼
►
You would think, oh, Google in 2006 or 2005,
00:13:40
◼
►
when we were doing this, they were on top of their game.
00:13:43
◼
►
They were dominating the search market.
00:13:44
◼
►
Bing wasn't around yet.
00:13:46
◼
►
DuckDuckGo wasn't around yet.
00:13:47
◼
►
Everything was Google back then.
00:13:49
◼
►
And you would think an alternative search engine,
00:13:52
◼
►
there'd be no market for it.
00:13:54
◼
►
But there was.
00:13:55
◼
►
There wasn't another market for a Google-sized company
00:13:58
◼
►
to have their own search engine.
00:13:59
◼
►
But when you had a little one, like we did,
00:14:01
◼
►
run by only a handful of people, you
00:14:03
◼
►
can pay them with the revenue.
00:14:05
◼
►
you can be sustainable with a small company
00:14:07
◼
►
having a small product with a small market share,
00:14:10
◼
►
because the market is just so damn big
00:14:12
◼
►
that if you can get half of 1% of it
00:14:15
◼
►
to prefer your product over the other one,
00:14:18
◼
►
you can support a company on that,
00:14:21
◼
►
as long as it's not that big of a company.
00:14:23
◼
►
And that applies to so many things.
00:14:24
◼
►
It applies to the app store.
00:14:25
◼
►
That applies to so many things where
00:14:28
◼
►
you think there's no more room in the market for your product.
00:14:31
◼
►
But there is.
00:14:32
◼
►
There might not be a whole lot of room for your product.
00:14:35
◼
►
You might not be able to have a ton of users
00:14:37
◼
►
and make a ton of money, but there
00:14:39
◼
►
is enough space for sustainable living
00:14:42
◼
►
to be made by one or a handful of people in a lot more markets
00:14:46
◼
►
than you think.
00:14:53
◼
►
You can always rely on me to break that awkward silence.
00:14:55
◼
►
It's hard not to think of this position by Marco
00:14:59
◼
►
as like a foreshadowing of his future endeavors.
00:15:02
◼
►
It's going to be a to-do app, isn't it?
00:15:04
◼
►
You can just admit it.
00:15:04
◼
►
Yes, that's it. I already posted a screenshot. I posted my preview of the To-Do app with
00:15:12
◼
►
To-Do? I missed that. Did you post it on your site or Twitter?
00:15:14
◼
►
On Twitter. Yeah, because now I'm thinking there aren't enough apps in the App Store
00:15:19
◼
►
that let you take a photo and apply a filter to it.
00:15:22
◼
►
I saw it. That was one of your shopping lists, yes.
00:15:25
◼
►
Yes. That market, I think, is underserved. There just aren't enough photo filter apps.
00:15:29
◼
►
we just discussed, there are many to-do apps, but there aren't really any that we all
00:15:35
◼
►
love. So I'm going to combine the two and maybe throw in a flashlight as well, because
00:15:40
◼
►
those are pretty bad too. And I was thinking maybe a weather feature as well, because all
00:15:46
◼
►
those things are dramatically underserved. And so it would be a flashlight weather shopping
00:15:52
◼
►
list with filters.
00:15:53
◼
►
For your shopping list, I have two words for you.
00:15:56
◼
►
Animated kale.
00:15:58
◼
►
Million dollar idea.
00:16:00
◼
►
And you should call it— Should that be the name of the app?
00:16:02
◼
►
No, it should have animated kale in it.
00:16:04
◼
►
When you write down kale on a list, I want to see kale leaves.
00:16:06
◼
►
I know they want them to be animated.
00:16:09
◼
►
Like as if you're shaking the water off of them from the fruit sprayers?
00:16:11
◼
►
No, not at all.
00:16:12
◼
►
Now you're getting it.
00:16:13
◼
►
No, they should blow with— in proportion to the wind velocity where you're standing.
00:16:17
◼
►
You can use the accelerometer and the gyroscope, you know.
00:16:20
◼
►
Run with it, Marco.
00:16:21
◼
►
You can figure it out.
00:16:22
◼
►
Call it Instalist.
00:16:25
◼
►
Well, I was saying too, I don't plan to ever reuse the prefix "insta" anymore
00:16:30
◼
►
because ever since Instagram came out and became insanely popular,
00:16:35
◼
►
that prefix has been so overused now that if I use it again,
00:16:42
◼
►
I will look like I'm copying the trend and not just copying my own previous product
00:16:48
◼
►
that predated most of the Insta craze.
00:16:50
◼
►
And so I just, and you know, there's like, there's nothing I can really do about that.
00:16:56
◼
►
You know, you just gotta accept that, you know, that phrase has been ruined and move
00:17:01
◼
►
Do you want to talk about Google I/O?
00:17:05
◼
►
That happened today.
00:17:06
◼
►
>> Do we care?
00:17:07
◼
►
>> I think we probably--
00:17:08
◼
►
>> I'm kidding, I'm kidding.
00:17:09
◼
►
>> We probably should care.
00:17:10
◼
►
>> No, actually there were some interesting--
00:17:11
◼
►
>> I think it's relevant.
00:17:12
◼
►
>> Yeah, there were some interesting bits.
00:17:13
◼
►
I'm just trying to be--
00:17:14
◼
►
>> So I didn't see any of it because I was working and then, you know, at dinner and
00:17:19
◼
►
school concerts.
00:17:20
◼
►
And really, I saw the tweets about it, but I really know nothing.
00:17:23
◼
►
So hopefully you guys know more about it than I do, and then you can explain it to me who
00:17:26
◼
►
doesn't know any of the stuff, and that will serve to also explain it to the listeners
00:17:31
◼
►
who could not endure three and a half hours of that keynote.
00:17:34
◼
►
Or maybe they have jobs and had to work.
00:17:36
◼
►
Well, to that end, I did not watch the three and a half hour keynote.
00:17:39
◼
►
And after I got home, I lazy Twittered for a brief recap, and my good friend Larry King
00:17:47
◼
►
definitely called me out and asking basically all of Twitter to do my show prep on my behalf.
00:17:52
◼
►
So thank you, Twitter.
00:17:53
◼
►
But then Panzer did it for you, so there you go.
00:17:55
◼
►
Yeah, but Panzer did it for me because who doesn't like Panzer? I mean, he's the man.
00:18:01
◼
►
He has very tall hair.
00:18:02
◼
►
He has extremely tall hair.
00:18:03
◼
►
Don't be jealous.
00:18:04
◼
►
I can't hide it. I am jealous. My hair cannot get that tall. And he can pull it off. Just
00:18:10
◼
►
like Jeff Rock always has. Jeff Rock is a cool enough guy that he can pull off any facial
00:18:16
◼
►
hair. Like, mutton chops, full beard, partial beard, goatee, anything. He can pull off any
00:18:21
◼
►
facial hair combination. And I'm very jealous of that because I can't pull off anything
00:18:25
◼
►
except clean shaven, which I don't do very well. Like, I'm sorry, guys. I did not shave
00:18:29
◼
►
for the podcast.
00:18:30
◼
►
I thought something felt just a little bit wrong tonight.
00:18:33
◼
►
Yeah, I'm a little sharp. Anyway, so, Google I/O. Go on.
00:18:38
◼
►
You watched it, didn't you?
00:18:40
◼
►
No, I didn't, actually.
00:18:41
◼
►
Oh, I thought you did.
00:18:42
◼
►
watching Google I/O, I took a new allergy medicine this morning because my allergies
00:18:47
◼
►
have been crazy and slept all afternoon. So I was able to tweet a few things in response
00:18:52
◼
►
to some of the live blogs that I was reading before and after the giant nap. Amazingly,
00:18:57
◼
►
I woke up from the giant nap and it was still going on.
00:19:00
◼
►
Yeah, so apparently, so I'm going to recap. So let me try that again from the top. I know
00:19:07
◼
►
almost nothing, but apparently of the three of us I know the most.
00:19:10
◼
►
So based on Panzer's excellent punch list, which I'll try to find while one of you start
00:19:16
◼
►
talking and put in the chat so we can put it in the show notes, there were a few different
00:19:20
◼
►
things that I kind of grouped everything into.
00:19:23
◼
►
And so the general themes that I saw were general stuff about Google's business and
00:19:30
◼
►
Android and Android's business.
00:19:33
◼
►
Then there was a bit about dev tools, of course a bunch about cloud services, and then finally
00:19:36
◼
►
some hardware. In terms of iOS and Android or Google's business, they did note that they
00:19:43
◼
►
have 900 million Android activations, which is quite a bit, and 48 billion apps downloaded.
00:19:50
◼
►
Which given that Apple just rolled over 50 billion, I thought that was kind of interesting
00:19:54
◼
►
and unsurprising that they had a me too moment about that.
00:19:57
◼
►
>> Oh, definitely. >> So I don't know if you guys have anything
00:20:00
◼
►
else to add on that before I continue. Doesn't sound like it.
00:20:03
◼
►
OK, so DevTools, they mentioned a few different things.
00:20:07
◼
►
Firstly, apparently there's a mechanism
00:20:09
◼
►
by which you can ask for app translation to happen,
00:20:12
◼
►
or maybe not ask for as though it's free,
00:20:14
◼
►
but you can request app translation
00:20:17
◼
►
to happen within the Google equivalent of iTunes Connect,
00:20:22
◼
►
Yeah, I wasn't clear on that.
00:20:23
◼
►
Was that human powered?
00:20:25
◼
►
I don't know.
00:20:25
◼
►
My impression was you have to-- somebody is doing it somehow.
00:20:29
◼
►
So yes, it's human powered.
00:20:31
◼
►
And I don't think it's free.
00:20:32
◼
►
but again, I'm not 100% sure.
00:20:34
◼
►
It's still very good though, because
00:20:36
◼
►
you know, I've always rallied
00:20:40
◼
►
good voiceover support in apps
00:20:42
◼
►
to the point where I think Apple should be testing
00:20:44
◼
►
apps with voiceover on during app review
00:20:46
◼
►
and rejecting the ones that are
00:20:48
◼
►
unusable or otherwise terrible
00:20:50
◼
►
for voiceover users.
00:20:52
◼
►
And my reasoning for that would be to get more apps to do this fairly trivial thing to support
00:21:00
◼
►
accessibility better.
00:21:03
◼
►
And I think it would be interesting if somebody were to do the same thing with basic
00:21:06
◼
►
localization.
00:21:07
◼
►
The way Google...
00:21:08
◼
►
Like now that Google has this infrastructure in place where
00:21:11
◼
►
you can very easily localize your app or at least do the basics
00:21:15
◼
►
right within their developer portal.
00:21:18
◼
►
Like what if Apple did that and made it a basic requirement of
00:21:22
◼
►
app review? That like you have to localize all
00:21:25
◼
►
important strings in your app for, you know, strings that are important to use it.
00:21:29
◼
►
That was a question I had about the localization thing, because although I didn't watch it,
00:21:32
◼
►
I saw tweets going by about it.
00:21:34
◼
►
Is this a service they provide?
00:21:37
◼
►
You give them some money or something and then people localize your app?
00:21:40
◼
►
Or is this just a way for you to localize your own app?
00:21:45
◼
►
My impression was that it was a service and somebody in the chat is saying that yes, it's
00:21:51
◼
►
human powered and you pay per word.
00:21:53
◼
►
If your name was pronounceable in the chat, I would pronounce it, but it's a series of
00:21:58
◼
►
And so I guess your name is G-G-G. But anyway, so they were saying that it's human powered
00:22:03
◼
►
in pay per word.
00:22:04
◼
►
And I agree with you, Marco, that voiceover support is so unbelievably trivial in iOS,
00:22:09
◼
►
it's really just saying, hey, for this UI element, this is what you should read to a
00:22:13
◼
►
vision impaired user.
00:22:15
◼
►
And when you got on a kick about this, geez, I don't know, it was like two years ago now,
00:22:19
◼
►
I did that with my really crummy and really simple app in the App Store and it took me
00:22:23
◼
►
about an hour.
00:22:24
◼
►
And I expected it to take forever.
00:22:26
◼
►
So that's not translation, that's a little bit different, but I completely agree that
00:22:32
◼
►
not having voiceover support is inexcusable, and shame on you if you don't.
00:22:36
◼
►
This translation thing highlights, if it is as you described, how is the difference between
00:22:43
◼
►
Apple and Google?
00:22:44
◼
►
Because I can never imagine Apple offering a service like that, because what Apple would
00:22:48
◼
►
want you to do is to get your own translators and work closely with them to make sure it's
00:22:54
◼
►
exactly the way you want it because it's not that it's automated translation or machine
00:22:59
◼
►
translation it's just that this generic pool of translators aren't going to know your particular
00:23:04
◼
►
application to the same degree that someone that you hired personally and worked with
00:23:11
◼
►
It seems like what you'd end up with is more applications that are translated but the ones
00:23:15
◼
►
that are translated would not be very good translations and it seems like Apple would
00:23:18
◼
►
be like "just don't even bother translating if you're not going to sweat the details over
00:23:22
◼
►
the exact precise word in this other language is going to be the right word for your application.
00:23:27
◼
►
And you're going to go back and forth with your guy 50 times about it, you know?
00:23:30
◼
►
One thing, too, like one of the reasons why I never localized Instapaper, which honestly
00:23:34
◼
►
was probably very bad for business, but the reason I didn't localize the app is because
00:23:39
◼
►
Instapaper is much more than just the app, and there's the entire website that would
00:23:43
◼
►
go along with it. And the Instapaper app and website and the way they interact, the bookmarklet,
00:23:50
◼
►
installation procedure, all that stuff. It's very text intensive,
00:23:54
◼
►
very language intensive, and the language is very nuanced in a lot of cases.
00:23:58
◼
►
And also, there's the question of, you know, shouldn't you also,
00:24:02
◼
►
if you're selling an app in a language, giving the impression that you support that
00:24:06
◼
►
language, do you also need to provide support
00:24:10
◼
►
in that language? Like, that's another question. So there were all these,
00:24:14
◼
►
the task of localizing Instapaper would have been so large to do it well
00:24:18
◼
►
that I never got around to it as my limited time and resources permitted. I just never
00:24:24
◼
►
got around to doing it because I knew that it wasn't just localizing a few button labels
00:24:30
◼
►
in the app. It was much, much more than that. And localization, even when it is just localizing
00:24:36
◼
►
button labels in an app, that alone is not trivial. There's a lot of problems with, again,
00:24:43
◼
►
with nuance, you know, not the company, with nuance the noun, of, you know, just when you
00:24:52
◼
►
say, you know, "accept" or "okay" or if you say "read later," what does that mean, you
00:24:56
◼
►
know, in another language? Like, it would, if you directly translate that, you know,
00:25:01
◼
►
is there a better alternative than what you come up with or is it confusing if you directly
00:25:05
◼
►
translate it? There's all these little exceptions that, as you said, John, like it's not as
00:25:10
◼
►
as easy as, here, just blindly take the strings file
00:25:14
◼
►
and give me the output.
00:25:15
◼
►
And then there's other issues like, do the new strings
00:25:18
◼
►
fit on the buttons?
00:25:20
◼
►
Do they overflow the boundaries of the labels?
00:25:24
◼
►
Hence German and their expensive spaces.
00:25:26
◼
►
Right, or like Japanese, where you
00:25:27
◼
►
should be using larger font sizes slightly
00:25:29
◼
►
or different fonts.
00:25:31
◼
►
There's all sorts of differences that you need to consider
00:25:35
◼
►
and edge cases all over the place,
00:25:37
◼
►
to the point where they're not even really edge cases.
00:25:40
◼
►
It's just regular cases.
00:25:42
◼
►
Localization is not a trivial thing.
00:25:44
◼
►
And just translating the strings is step one.
00:25:49
◼
►
And there's a lot more to it than that.
00:25:53
◼
►
But at the same time, you could possibly
00:25:54
◼
►
argue, is a badly translated app better than an app that
00:25:59
◼
►
is not translated at all?
00:26:00
◼
►
Yeah, and I'm not making a value judgment about it.
00:26:03
◼
►
Apple's system of priorities is such
00:26:06
◼
►
that they would prefer that you do a super awesome job or not do it.
00:26:11
◼
►
Whereas Google, their philosophy is definitely it's better to make translation as easy as
00:26:17
◼
►
possible even if the translations aren't going to be that great, because we think it's more
00:26:22
◼
►
important to just have 10,000 okay translated apps out there instead of 100 ones with great
00:26:30
◼
►
translations.
00:26:31
◼
►
But yeah, but the same thing with the layouts.
00:26:34
◼
►
and forget about, you know, when you were doing Instapaper testing, having your 17 Kindles,
00:26:38
◼
►
your 800 iOS devices, now multiply that by the number of languages, and make sure you
00:26:42
◼
►
check every screen in every language, because you never know when that label's going to
00:26:44
◼
►
poke out of the button or get truncated. It's just a nightmare.
00:26:47
◼
►
Oh, yeah. Like, I remember when we, back in Tumblr, before I even left to do Instapaper,
00:26:53
◼
►
when Tumblr started localizing, it was just a massive amount of work. And fortunately,
00:26:58
◼
►
I didn't have to do it, but it took a dedicated staff of, I think, two people, one being—and
00:27:05
◼
►
it's hard enough to find a good translator, for one thing, because you have to find somebody—generally
00:27:09
◼
►
speaking, it's better to find somebody who is a native speaker of the destination language
00:27:15
◼
►
that you're translating to. So, you know, if you want to translate to Japanese, you
00:27:20
◼
►
should probably find a Japanese person who has grown up in Japan who knows enough English
00:27:25
◼
►
to be able to understand your app and translate it well
00:27:28
◼
►
to Japanese.
00:27:28
◼
►
But then it isn't just enough to find
00:27:30
◼
►
somebody who speaks the language and knows it well.
00:27:32
◼
►
You have to also find somebody who's good at writing interface
00:27:36
◼
►
Think about how hard it is to find people
00:27:38
◼
►
in your own language to do that.
00:27:42
◼
►
That's not an easy job.
00:27:43
◼
►
And that really can make a very, very big difference
00:27:47
◼
►
in how people perceive and use your product.
00:27:49
◼
►
And so you can't just find anybody.
00:27:52
◼
►
But here's the worst part.
00:27:54
◼
►
you can't really judge the quality of somebody for a language you don't know very well.
00:27:58
◼
►
You can't judge how good they are at that. It's very, very difficult.
00:28:01
◼
►
So there's the issue of how do you find good people to do this even.
00:28:06
◼
►
Yeah, Google's automated. The tools are actually a problem, because I've worked at companies
00:28:10
◼
►
where we extensively localized everything, and the tools to give to the people who are
00:28:16
◼
►
doing the localization, that is actually an issue, because we would hire the best people
00:28:21
◼
►
to do localizations, we could, but they weren't necessarily tech savvy.
00:28:25
◼
►
So you wanted to give them a really simple way for them to be able to update things quickly
00:28:29
◼
►
that integrated with the rest of your process.
00:28:31
◼
►
So this tool that Google is providing provides that piece of the puzzle.
00:28:35
◼
►
And I can also imagine a way for them to help with the problem that you were just describing,
00:28:39
◼
►
Marco, where you're like, "I hope this guy's doing a good job at these translations, because
00:28:42
◼
►
I can't read them."
00:28:45
◼
►
You could have a system whereby people rate the quality of the translations of those applications
00:28:50
◼
►
in the store.
00:28:51
◼
►
crazy for us in the iOS ecosystem to talk about adding features to the store or the
00:28:55
◼
►
backend to it, but for Google, they'd be like, "Oh yeah, we should do that."
00:28:59
◼
►
So then the people who participated in this human-powered translation process could be
00:29:04
◼
►
rated by the customers of the applications to say, "Is this application localized in
00:29:09
◼
►
your language very well, or did it read like when we read those manuals on how to assemble
00:29:14
◼
►
something that are clearly badly translated from Korean or Chinese or something?"
00:29:18
◼
►
And you can tell, right?
00:29:19
◼
►
And eventually you would probably start narrowing the pool of your human-powered translators,
00:29:25
◼
►
or at least marking this guy as like five-star.
00:29:28
◼
►
All the things you can do with the internet and the web could be brought to bear on these
00:29:33
◼
►
aspects of the translation problem.
00:29:36
◼
►
The difficulty of finding tools, finding people who are going to use the tools, and making
00:29:39
◼
►
sure those people—like having some sort of feedback mechanism whereby the people get
00:29:45
◼
►
better or at least you can see how good they are during translation.
00:29:49
◼
►
I think that also brings up an interesting side discussion related to this, which is,
00:29:55
◼
►
I think, seeing all the stuff that Google was adding to their developer portal today
00:30:01
◼
►
really makes iTunes Connect look terrible in comparison.
00:30:05
◼
►
I mean, iTunes Connect, which is what iOS developers use to manage their apps and upload
00:30:09
◼
►
them and everything, it's always been pretty terrible.
00:30:13
◼
►
It has gotten better over the years, but I would still not call it anywhere near good.
00:30:20
◼
►
There's lots and lots of old cruft there.
00:30:22
◼
►
It's very clearly made for the music industry to upload their stuff to iTunes back forever
00:30:29
◼
►
ago and they just kind of tack all this stuff onto this ancient infrastructure to support
00:30:34
◼
►
I can't say it's just a website, right?
00:30:36
◼
►
Because I never upload an iOS app.
00:30:38
◼
►
It's amazing to me that if you think of how far the tools that Apple's developers use
00:30:42
◼
►
have come since Project Builder when it was—was it still called Project Builder in Mac OS
00:30:47
◼
►
10? 10.0? I don't remember. I wasn't there for that.
00:30:50
◼
►
Way back when, Xcode did not look like it does now, and it was in as many complaints
00:30:55
◼
►
as people have about Xcode 4. It's leaps and bounds of where it was when things started.
00:31:02
◼
►
It's clear that Apple has invested very heavily, with some bumps in the road, fine, in its
00:31:07
◼
►
native IDE. But then if you look at any part of the development process that's not as
00:31:12
◼
►
not in a native application like Radar Web or apparently iTunes Connect, which I haven't
00:31:18
◼
►
used, or even just like the ADC side, which is kind of limped along.
00:31:22
◼
►
Those have not made the kind of progress that Xcode has over the same period of time.
00:31:27
◼
►
And it's frustrating for everyone involved.
00:31:29
◼
►
It doesn't make sense to me because in this particular case, it's not like they don't
00:31:33
◼
►
prioritize the developer experience.
00:31:35
◼
►
I mean, look at what they're doing with Xcode.
00:31:38
◼
►
they made their own compiler for crying out loud, or acquired/commandeered their own compiler.
00:31:44
◼
►
They're not afraid to do the hard things when it comes to trying to make great tools for
00:31:48
◼
►
developers, but somehow the web doesn't count.
00:31:51
◼
►
It's like, "Oh, we'll just suffer through this website," and I don't understand that.
00:31:55
◼
►
We're going to get to that if we get this far, since I'm on point one of Google I/O
00:32:00
◼
►
and we've already run for a few minutes.
00:32:02
◼
►
We'll get to that later in that Google announced a lot of cloud services, and that really made
00:32:06
◼
►
think about the comparison to Apple.
00:32:08
◼
►
But yeah, iTunes Connect definitely stinks.
00:32:11
◼
►
And in my, what is it, three or four years that I've been
00:32:15
◼
►
piddling with iOS as a developer, it has
00:32:18
◼
►
always been awful.
00:32:19
◼
►
And I couldn't agree with you more, Marco, that it's
00:32:22
◼
►
unsurprising to me that Google, who is so strong in web
00:32:26
◼
►
services and cloud computing sort of things, it's not
00:32:30
◼
►
surprising to me that they're doing so much better or appear
00:32:33
◼
►
to be doing so much better than Apple is at these sorts of
00:32:37
◼
►
So along the line with DevTools, another thing
00:32:40
◼
►
that they announced is native beta testing.
00:32:43
◼
►
And to be honest, I don't know specifically what that means.
00:32:46
◼
►
I'm assuming it's a TestFlight sort of setup, which
00:32:49
◼
►
is interesting because last I heard TestFlight was just
00:32:51
◼
►
becoming available on Android.
00:32:53
◼
►
But that is available now.
00:32:54
◼
►
And the other thing that I thought was very interesting
00:32:56
◼
►
is staged rollouts.
00:32:57
◼
►
So you can say, hey, for this new feature,
00:32:59
◼
►
perhaps for this new binary--
00:33:01
◼
►
again, I'm not totally clear on how it works--
00:33:04
◼
►
you can target or say only 10% of my users can see this new feature or new binary or
00:33:09
◼
►
whatever the case may be.
00:33:10
◼
►
And that strikes me as really useful and relevant for things like, what was the trendy mail
00:33:17
◼
►
Was it mailbox?
00:33:18
◼
►
Is that right?
00:33:19
◼
►
It doesn't matter.
00:33:20
◼
►
It doesn't matter.
00:33:21
◼
►
You got it right.
00:33:22
◼
►
So yeah, so mailbox who famously had or infamously had a queue system and I think a couple other
00:33:27
◼
►
apps have done that since.
00:33:28
◼
►
Instead they have this native mechanism
00:33:31
◼
►
wherein you can do a staged rollout, which I thought was really cool and interesting, but speaking of support
00:33:39
◼
►
problems, I can only imagine the support
00:33:42
◼
►
snafu that that would cause. So I don't know if this is more, if this would do more harm than good, and I'm curious Marco
00:33:47
◼
►
to hear your two cents about this. But it certainly, on the surface it sounds excellent,
00:33:51
◼
►
but as soon as I dig deeper mentally into what this would mean, it strikes me as maybe not the best idea in the world.
00:33:57
◼
►
Well, I think it really, it's necessary in the Android ecosystem more so than it is in
00:34:03
◼
►
the App Store or iOS ecosystem because, you know, the Android ecosystem is kind of this
00:34:09
◼
►
wild west where you can upload a binary at any time, there's no app review, it's just
00:34:15
◼
►
kind of, you do what you want whenever you want to. And so having something like a staged
00:34:19
◼
►
rollout actually makes some sense because you don't have that, first of all, that long
00:34:24
◼
►
delay between when you ship some code and when people can actually get it. And there's
00:34:29
◼
►
also not that big step of app review happening in the middle where there's someone else trying
00:34:37
◼
►
your app in an isolated environment and catching most really obvious major bugs. And therefore
00:34:44
◼
►
preventing you from submitting that to your customers.
00:34:48
◼
►
So I think with iOS, if you had a stage rollout, how would that really benefit you if you can't
00:34:57
◼
►
send a new binary up there for another week anyway? The benefit there is less so than
00:35:04
◼
►
if you just had, than in the Google case where you can just upload things whenever you want
00:35:08
◼
►
and it's pretty much immediate.
00:35:10
◼
►
Well, but that presupposes that an issue is with your binary and not with the backing
00:35:15
◼
►
web service that in this phantom app presumably is under your control and presumably you could
00:35:20
◼
►
fix whenever you want.
00:35:23
◼
►
Did that make sense?
00:35:24
◼
►
Yeah, it did. I mean, yeah, I guess if you're rolling out something that's going to put
00:35:27
◼
►
a lot of strain on your servers or you don't know how it's going to be at scale and you
00:35:31
◼
►
might have to re-index some databases or optimize some things, then I could see some value there.
00:35:37
◼
►
But I think the overhead of having such a system probably is not worth it in most cases.
00:35:43
◼
►
I don't even know how much it's worth to Android, really.
00:35:46
◼
►
I think what we're seeing here, though,
00:35:48
◼
►
is that Google has to make all their tools awesome.
00:35:52
◼
►
They have to make all of these things for Android developers
00:35:56
◼
►
great, because they have to attract developers.
00:35:59
◼
►
Google needs developers to really start
00:36:01
◼
►
taking Android more seriously.
00:36:03
◼
►
And they are, slowly.
00:36:04
◼
►
But it is slowly happening.
00:36:05
◼
►
But Google needs to be attracting developers
00:36:09
◼
►
as hard as they can.
00:36:10
◼
►
Apple doesn't need to do that, because all the developers
00:36:12
◼
►
already go to Apple. So Apple, they don't need them as badly.
00:36:16
◼
►
And so that's why Apple can sit there with iTunes Connect
00:36:20
◼
►
being as mediocre as it is, and they can
00:36:24
◼
►
not support all of these cool new things that Google's doing
00:36:29
◼
►
and they can have app review and things like that. They can do all that because
00:36:33
◼
►
we go to them already. We're like knocking down the door. We are desperate to get
00:36:37
◼
►
into the Apple App Store because that's where the people and the money and the influence all are.
00:36:41
◼
►
And the Android app stores have been kind of this mixed game of usually not simultaneous release with iOS.
00:36:50
◼
►
Things usually debut on iOS first if they're going to be cross-platform at all.
00:36:55
◼
►
Certainly they almost never debut on Android first and then go to iOS.
00:37:00
◼
►
And most of the buzz of new apps happening is still happening on iOS.
00:37:04
◼
►
So Google really needs people to go to them first.
00:37:06
◼
►
So they need to be doing all this stuff, whereas Apple really doesn't.
00:37:10
◼
►
Yeah, I would agree with that.
00:37:11
◼
►
And the other thing that I forgot to mention
00:37:14
◼
►
in terms of developer tools on an iTunes Connect
00:37:16
◼
►
sort of scenario is I heard some rumblings of,
00:37:19
◼
►
I guess there's some sort of lead tracking
00:37:21
◼
►
or referral information like analytics-ish kind of,
00:37:25
◼
►
analytics is a poor choice of words,
00:37:26
◼
►
but some sort of referral information
00:37:29
◼
►
so you can see why somebody downloaded your app.
00:37:32
◼
►
And I don't, again, I don't know any of the details
00:37:33
◼
►
beyond that, but I heard some rumblings about it.
00:37:35
◼
►
And I know that would be really exciting
00:37:37
◼
►
if you take your presence in the App Store seriously,
00:37:40
◼
►
which I do not, but I know Marco, you certainly did.
00:37:44
◼
►
- And still do.
00:37:45
◼
►
And so I can only imagine how awesome that would be
00:37:48
◼
►
if Apple provided even a rudimentary amount of information
00:37:52
◼
►
about where you've gotten downloads from.
00:37:55
◼
►
- Oh yeah, I mean, I've been yelling about that for years.
00:37:57
◼
►
That it is, and yeah, I think what they said was,
00:38:01
◼
►
like later this summer they're tying it in
00:38:02
◼
►
with Google Analytics and something like that.
00:38:05
◼
►
And so you could have App Analytics and the website
00:38:07
◼
►
and track where they came from and all that stuff.
00:38:08
◼
►
Basically everything iOS people want.
00:38:11
◼
►
As an iOS developer, it's very hard
00:38:13
◼
►
to know why people are buying your app.
00:38:16
◼
►
You can look at your rank, and you
00:38:17
◼
►
can see how well you're doing relative to other apps
00:38:19
◼
►
and everything like that.
00:38:20
◼
►
You can see your sales every day.
00:38:21
◼
►
You can see how many you're selling.
00:38:23
◼
►
And you can attempt to correlate, like, OK, well,
00:38:25
◼
►
I just did a big ad buy, and then the next day
00:38:28
◼
►
my sales were up.
00:38:29
◼
►
So that might have been because of the ad buy.
00:38:32
◼
►
Or it might have been because a lot of people just
00:38:34
◼
►
bought new iPhones that day.
00:38:36
◼
►
or I could have been featured somewhere in the App Store
00:38:40
◼
►
and not even known about it because they don't tell you
00:38:41
◼
►
when you're featured.
00:38:42
◼
►
There's all these conditions.
00:38:45
◼
►
And you don't know even,
00:38:47
◼
►
did somebody search for your app by name?
00:38:50
◼
►
Or did they browse an App Store section?
00:38:52
◼
►
And if they were browsing an App Store section
00:38:54
◼
►
and it popped up, what kind of section were they browsing?
00:38:56
◼
►
Was it a feature?
00:38:57
◼
►
Was it a top list?
00:38:59
◼
►
Was it a category list?
00:39:00
◼
►
It would be great to know where these people
00:39:04
◼
►
are coming from, why they bought your app,
00:39:05
◼
►
how they got there. If you're on a web campaign, there are things like Tapstream that will
00:39:11
◼
►
try to track people between things. But even those, they can't work all the time because
00:39:17
◼
►
Apple doesn't have any kind of hooks into their stuff. And so it would be great to know,
00:39:23
◼
►
"Oh, my app was downloaded from browsing the top list here, and therefore I might want
00:39:28
◼
►
to consider staying in the top list and maybe adjusting my price as a result." Or it'd
00:39:33
◼
►
be nice to know, well, most people download my app by searching for it by name. Therefore,
00:39:39
◼
►
I don't need to rely as much on the top list, and I can concentrate more on advertising
00:39:42
◼
►
my name and branding and all that stuff. It would be great to know that stuff, and you
00:39:48
◼
►
just have no insight into any of that with Apple today. You can attempt to get some of
00:39:53
◼
►
it through various hacks and services that attempt to tie IPs to purchases and things
00:40:00
◼
►
like that, but it's really, it would be so much better
00:40:04
◼
►
if Apple integrated that somehow,
00:40:06
◼
►
and they just ignore that completely.
00:40:09
◼
►
- Which is kind of their MO.
00:40:11
◼
►
Which is unfortunate, but it's certainly true.
00:40:15
◼
►
- So what if iTunes Connect, and all this stuff
00:40:18
◼
►
having to do with sales tracking and uploading new versions
00:40:21
◼
►
of your application and everything,
00:40:23
◼
►
was written as a native application instead of a web app?
00:40:25
◼
►
Does that solve the problem for us?
00:40:27
◼
►
Is that the only way we can make this happen?
00:40:29
◼
►
because maybe it would start out as kind of like the first version of Xcode 4 and be kind
00:40:33
◼
►
of a disaster and it would be like, "Oh, this is so much worse. At least the website
00:40:37
◼
►
worked." But maybe over time they would iterate on that native application, whatever
00:40:42
◼
►
it might be called. Hopefully it would not be called iTunes.
00:40:45
◼
►
Well, they already have a native app and Xcode integration doing part of the job. It used
00:40:51
◼
►
to be that you would prepare your binary with the special—you'd have to export it with
00:40:56
◼
►
the distribution signing profile and all this crazy certificate and profile stuff.
00:41:02
◼
►
And then make sure you upload that version of it into the file upload form.
00:41:06
◼
►
And now, first they had this application loader, I think, or I think that was the one that
00:41:12
◼
►
First they had this app that you would do everything in iTunes Connect to prepare for
00:41:15
◼
►
You'd enter all the metadata, the screenshots, everything else, and then it would say, "Ready
00:41:19
◼
►
for upload."
00:41:20
◼
►
And then you'd launch this app and that would do it.
00:41:21
◼
►
And now that's built into Xcode.
00:41:23
◼
►
So Xcode itself can do that.
00:41:25
◼
►
People were super excited—I think this was last year's WWDC—when I think someone was
00:41:29
◼
►
discussing this feature of the integration of—and they were like, "Oh, do they integrate
00:41:33
◼
►
iTunes Connect into Xcode?"
00:41:35
◼
►
And everyone was excited about that, I think mostly because they figured if we can hook
00:41:40
◼
►
on to the train that actually has iterative improvements year after year, that'll be a
00:41:46
◼
►
And then everyone was disappointed an hour or two days later when they realized, "Oh,
00:41:51
◼
►
they didn't integrate it entirely.
00:41:52
◼
►
it's just slightly more stuff happens in Xcode,
00:41:54
◼
►
but still you're going to be going to that website.
00:41:57
◼
►
And the stuff they integrated does work well.
00:41:59
◼
►
And it is better and faster and way less error-prone
00:42:02
◼
►
than the old way of doing it.
00:42:04
◼
►
But it's still not the full experience.
00:42:07
◼
►
But I don't even know if integration would really
00:42:10
◼
►
solve the problems of iTunes Connect.
00:42:12
◼
►
Because it's not that web apps are always terrible.
00:42:15
◼
►
There's lots of great web apps.
00:42:16
◼
►
I don't think this needs to be a native app to do the stuff
00:42:19
◼
►
that iTunes Connect mostly does.
00:42:21
◼
►
I think it just needs to be a better web app, and there's plenty of room for that.
00:42:25
◼
►
Are Apple's web apps always terrible? I don't think they are. Some of the iCloud apps, like the little
00:42:29
◼
►
fake mail application they have, they suffer from trying to look too much like native applications.
00:42:33
◼
►
Yeah. But other than that, there's competence there
00:42:37
◼
►
to do it. Competence that is not reflected in, for example,
00:42:41
◼
►
Radar Web. Oh yeah, Radar Web is way worse than iTunes Connect.
00:42:45
◼
►
Right, because they had, I think Apple helped fund/hired a bunch of
00:42:49
◼
►
the guys from SproutCore, and they had PastryKit, their internal thing that was doing emulated
00:42:55
◼
►
UI kit stuff in JavaScript. There's little fits and starts of web stuff that goes on,
00:43:00
◼
►
and then of course there's the WebObject guys toiling away, doing whatever it is that they
00:43:04
◼
►
do. But clearly, Google, the entire company, is focused on web development. And their web
00:43:11
◼
►
apps, you may not like them aesthetically, and you may not like Google and the things
00:43:15
◼
►
they collect or whatever, but they know how to make a web app, let me tell you.
00:43:18
◼
►
Oh yeah, they work great. Even if the visual design is often questionable, in fact I think
00:43:25
◼
►
it has always been questionable, functionally they work extremely well.
00:43:29
◼
►
And I think the visuals have gotten better. Like leaps and bounds. When they did that,
00:43:34
◼
►
they redesigned everything to be that kind of more widely spaced, sharp-cornered, Google
00:43:40
◼
►
colors, gray and red and blue. I'm not that big a fan of that design, but applying that
00:43:46
◼
►
coat of paint, at least it's finally giving them some kind of unified appearance across
00:43:50
◼
►
their product lines.
00:43:51
◼
►
And each new one that comes out, when they redid Google Images, it got a little bit better.
00:43:55
◼
►
And the new Google Maps looks like a little bit more modern, a little bit better.
00:43:59
◼
►
Gmail is still weird looking.
00:44:00
◼
►
Google Plus, even in its short life, Google Plus has stepped up.
00:44:03
◼
►
So the old thing we've said a million different times about a million different companies,
00:44:09
◼
►
but in this case it's Google and Apple, Google is becoming better at being like Apple, faster
00:44:15
◼
►
than Apple is becoming better, being like Google or whatever you want to phrase it.
00:44:18
◼
►
Google becoming Apple, Apple becoming Google. But it seems like Google is upping its game
00:44:23
◼
►
in all the areas where Apple is traditionally strong, and Apple is not really upping its
00:44:28
◼
►
game. I guess kind of. Pulling off maps at all was kind of a leg up, like now Apple proving
00:44:33
◼
►
they can kind of do this stuff. But that didn't come out great, you know?
00:44:37
◼
►
Yeah. Let's come back to that in a minute. This is a good time to do our first sponsor.
00:44:41
◼
►
Our first sponsor is An Event Apart, and I bring this up now because we were just talking
00:44:45
◼
►
about web design.
00:44:47
◼
►
An Event Apart is the design conference for people who make websites.
00:44:51
◼
►
They have upcoming events in San Diego, Boston, Washington, D.C., Chicago, Austin, and San
00:44:58
◼
►
Founded by web visionaries Eric Meyer and Jeffrey Zeldman, and dedicated to the proposition
00:45:03
◼
►
that the creators of great web experiences deserve a great learning experience, An Event
00:45:08
◼
►
Event Apart brings together 12 leading minds in web design for two days of non-stop inspiration
00:45:13
◼
►
and enlightenment, plus an optional day-long workshop on multi-device web design.
00:45:19
◼
►
So if you care about code as well as content and usability as well as design, an Event
00:45:24
◼
►
Apart is the conference you've been waiting for.
00:45:26
◼
►
An Event Apart is the design conference for people who make websites.
00:45:30
◼
►
So go to aneventapart.com/atpfm.
00:45:34
◼
►
That's aneventapart.com/atpfm.
00:45:38
◼
►
Thank you to An Event Apart for sponsoring this show.
00:45:41
◼
►
I've been to Event Apart, and I highly recommend it,
00:45:43
◼
►
especially if you're a programmer developer type nerd
00:45:47
◼
►
and you've never been to a non-developer conference.
00:45:50
◼
►
Not that Event Apart is a developer conference,
00:45:52
◼
►
but it's not hardcore programming.
00:45:55
◼
►
They're going to talk about HTML, CSS,
00:45:57
◼
►
and they're going to talk a lot about design issues.
00:46:00
◼
►
It's great to go to a conference like that, especially
00:46:04
◼
►
good one outside of your core area of competency, right? Because maybe you're not a designer,
00:46:10
◼
►
maybe you're just, you know, you're a JavaScript programmer. But just to go to a conference
00:46:13
◼
►
where more than half the sessions are about things outside the realm of your little world
00:46:19
◼
►
of programming really helps expand your mind to the fact that your product is more than
00:46:25
◼
►
how nicely factored your classes are, you know?
00:46:28
◼
►
Oh, yeah. And I went to one as well. I learned a lot there. And it really is a very good
00:46:33
◼
►
balance of code and design and style. And it really is focused a lot on websites. Yeah,
00:46:40
◼
►
highly recommended if you're a web developer or web designer.
00:46:45
◼
►
And the quality of their speakers tends to be perhaps a notch above, in terms of public
00:46:49
◼
►
speaking skill, the average speaker you'd get at a Python conference or something. Not
00:46:54
◼
►
that I'm impugning programmers, but these people understand that it's part of their
00:46:58
◼
►
job to be entertaining and engaging, and they are. So, highly recommended.
00:47:03
◼
►
So back to what you said a second ago. I did want to talk a little bit about this, how
00:47:08
◼
►
it does seem like Google is advancing rapidly. And Apple seems to be going at a relatively
00:47:16
◼
►
stable pace that is noticeably slower than Google in a lot of these areas. And we had
00:47:22
◼
►
on our previous shows, we discussed what happened with the WebKit project and how Google just
00:47:26
◼
►
threw a ridiculous amount of engineering talent at WebKit and just totally blew past Apple's
00:47:33
◼
►
contributions pretty quickly.
00:47:34
◼
►
See, I don't know if it's so much as them throwing people at it, because that makes
00:47:38
◼
►
it seem like they have taken resources and directed it a certain thing. I just think
00:47:42
◼
►
they have more bandwidth. Like, they're a wider machine, you know? They just have more
00:47:47
◼
►
bandwidth for all the types of--for these types of things. How many people does Apple
00:47:51
◼
►
have to put towards making any kind of web application better, versus how many people
00:47:57
◼
►
does Google have to put towards that? And pick any other thing. How many people does
00:48:01
◼
►
Apple have to put towards their compiler versus how many people does Google have? It just
00:48:05
◼
►
seems to me, I'd love to see the real head counts here, but it just seems to me that
00:48:09
◼
►
Google has more bandwidth. They have more people. They have more smart people.
00:48:14
◼
►
And they seem to, through what is often a failure of Google, which is they're relatively
00:48:21
◼
►
hands-off management through most of their history, that always results in them having
00:48:24
◼
►
a million different half-finished, half-assed products and services, and they go into betas
00:48:30
◼
►
and they get shut down and then they get ignored.
00:48:32
◼
►
And they've always been kind of all over the place,
00:48:34
◼
►
but as a result of this lack of strict management for so long,
00:48:39
◼
►
you're right, they do have a lot of bandwidth.
00:48:40
◼
►
They can just get tons of stuff done
00:48:43
◼
►
because it isn't all flowing through a narrow funnel at the top,
00:48:45
◼
►
or at least it hasn't been so far.
00:48:47
◼
►
And at Apple, it's always been the opposite.
00:48:50
◼
►
At Apple, it's always been like everything goes through the top,
00:48:53
◼
►
everything is directed from the top,
00:48:55
◼
►
and so things that the top doesn't care about
00:48:58
◼
►
or doesn't have time to care about generally get neglected or get on very, very slow development
00:49:04
◼
►
cycles like iTunes Connect. And so I think--or the Mac Pro. And so I think, you know, Apple
00:49:14
◼
►
has always operated much like a small company. And that has really given them a lot of benefits
00:49:23
◼
►
in a lot of their products and a lot of their output.
00:49:27
◼
►
But I think in the case of things like web services,
00:49:31
◼
►
that just doesn't work.
00:49:33
◼
►
You just need more throughput.
00:49:34
◼
►
There's more to do.
00:49:36
◼
►
There's more that needs to be able to be done
00:49:38
◼
►
without the CEO having to approve everything,
00:49:41
◼
►
or the chief director of whatever
00:49:43
◼
►
having to approve everything, or be in all the meetings.
00:49:46
◼
►
And you're right that Google is just
00:49:49
◼
►
so capable of throwing tons and tons of bandwidth, as you say, at this problem. And Apple just
00:49:57
◼
►
has not seemingly done that. I mean, it's hard to know with Apple, because so few people
00:50:01
◼
►
really talk about what happens inside there. You know, they're not really allowed to. But
00:50:05
◼
►
it just seems, it seems from the outside like Apple has just never cared that much about
00:50:12
◼
►
things like web services, enough to get them as right as Google does.
00:50:16
◼
►
I have to say something about this every show, so this will be my time this show.
00:50:21
◼
►
Google seems so much more dedicated to caring about infrastructure, solving a general purpose
00:50:28
◼
►
problem that will benefit the entire company in a general purpose way rather than having,
00:50:32
◼
►
"Oh, the group that's working on this little thing will do whatever it takes to make it
00:50:37
◼
►
great whatever they're working on."
00:50:39
◼
►
So the Gmail team would like, "Oh, we really need to make storage work great for Gmail,
00:50:43
◼
►
so we're going to do a storage project."
00:50:44
◼
►
like, "Great, good job, we love Gmail, it came out great, we have people with good taste
00:50:48
◼
►
like the Apple model, people with good taste deciding what's in and what's out, and we
00:50:51
◼
►
really make a great product, but what did you do for the rest of the company? Great,
00:50:55
◼
►
so you made a great product, did you help the rest of the company in any way when you
00:50:58
◼
►
made that? Maybe some other projects in the company need some way to store stuff in a
00:51:02
◼
►
similar way that Gmail needs to store stuff." And I get the impression at Apple, especially
00:51:07
◼
►
before they went cross-functional, that it was like, the team working on iOS does all
00:51:11
◼
►
all sorts of crazy things to make the first version of iOS awesome, with minimal eye towards
00:51:19
◼
►
what are we doing that will help the rest of the company, not just today, but 10 years
00:51:23
◼
►
from now. And with all their concentration on, we just need to make this the best operating
00:51:27
◼
►
system it could possibly be. And there are pluses and minuses to both of those strategies,
00:51:30
◼
►
because if you spend all your time trying to make infrastructure, you'll have an awesome
00:51:33
◼
►
infrastructure and crappy products. And you can apply that slam to Google in many past
00:51:38
◼
►
scenarios and present scenarios, right?
00:51:40
◼
►
Because infrastructure is something that nerds love,
00:51:43
◼
►
but great products are something that customers love.
00:51:47
◼
►
But there's a balance.
00:51:48
◼
►
And it seems like Google is starting
00:51:51
◼
►
to get better at concentrating on making great product,
00:51:54
◼
►
not having a million different products,
00:51:56
◼
►
while retaining its religion about we
00:51:58
◼
►
need to make infrastructure.
00:51:59
◼
►
We need to make things better for everyone at the same time.
00:52:01
◼
►
Whereas Apple just seems to be doubling down on the we
00:52:03
◼
►
need to make the most awesome product.
00:52:05
◼
►
But at a certain point, you can't make your products
00:52:07
◼
►
more awesome if you just don't have the tools in place for your company to make great web
00:52:12
◼
►
services, to make great cloud computing things, all that stuff.
00:52:17
◼
►
It seems almost like they can't figure out why aren't our maps as good as Google's?
00:52:21
◼
►
Why isn't our iCloud service as good as the equivalent one?
00:52:25
◼
►
And soon they'll be asking themselves why Game Center isn't as good as this cross-platform
00:52:31
◼
►
And maybe it doesn't matter because iOS will still have better games than Google, more
00:52:36
◼
►
Games that make people more money, like in the end, that's all that really matters, right?
00:52:39
◼
►
But I worry about the infrastructure thing, and that's something that has historically been Google's strength.
00:52:44
◼
►
And they're playing strongly to it, like you were saying. So,
00:52:48
◼
►
the other section or grouping of things that we learned at Google I/O that I saw was just kind of cloud services.
00:52:55
◼
►
So, you mentioned Google Play Games. I think that's what it's called. I don't even know.
00:52:59
◼
►
They also have a
00:53:02
◼
►
cloud messaging thing, which my understanding is it's not as much iMessage as it is a more
00:53:08
◼
►
centralized version of push notifications.
00:53:12
◼
►
And so the understanding that I got was that if you're using some application that uses
00:53:18
◼
►
this service, say it's a website within Chrome, well, if you get a notification within Chrome,
00:53:26
◼
►
it will only go to that Chrome session.
00:53:28
◼
►
But the minute you leave that Chrome session, and I don't know by what mechanism it determines
00:53:33
◼
►
that you've left, then you'll start getting these notifications on your phone instead.
00:53:37
◼
►
And so this is the thing that all Apple users beg for, specifically around iMessage, but
00:53:41
◼
►
would be awesome in general.
00:53:43
◼
►
So if you say use Tweetbot, you would only get Tweetbot notifications on whatever thing
00:53:49
◼
►
you're actively using.
00:53:50
◼
►
And again, that would be really awesome for iMessage.
00:53:54
◼
►
And the interesting thing that I caught myself thinking was, "You know, I bet that'll
00:53:59
◼
►
work really well."
00:54:00
◼
►
Whereas, if Apple announced the exact same thing at WWDC in a month, or not even a month,
00:54:06
◼
►
I think my first thought will be, "Hmm, I hope that works."
00:54:09
◼
►
They can't even get iMessages to show up in the right order within a single application
00:54:12
◼
►
on a single device.
00:54:13
◼
►
Like, it's so far in terms of the confidence level in getting this stuff right.
00:54:17
◼
►
You know, speaking of Google Hangouts, which someone mentioned in the chat room and featured
00:54:21
◼
►
in various ways in this thing.
00:54:23
◼
►
It was integrated with the messaging stuff.
00:54:25
◼
►
Remember when they showed Google Hangouts,
00:54:26
◼
►
like Google+ came out and like,
00:54:27
◼
►
and there's also this Hangout thing,
00:54:28
◼
►
and you're like, some sort of like video thing,
00:54:31
◼
►
and I have to install like some sort of plugin
00:54:34
◼
►
from my browser so now we can do video chat
00:54:37
◼
►
inside a web browser?
00:54:38
◼
►
It seems lame.
00:54:39
◼
►
And like, you know, no big deal, right?
00:54:40
◼
►
Fast forward however long it's been
00:54:42
◼
►
since Google+ came out, and at my work,
00:54:45
◼
►
Google Hangout is now the way that we do teleconferencing.
00:54:48
◼
►
We have all these fancy teleconferencing hardware
00:54:50
◼
►
software which we do not use, everyone goes to Google Hangout in their web browser, and
00:54:55
◼
►
that is the way that we can successfully video conference. And they share their screens with
00:54:59
◼
►
each other and have different speakers doing things, and we do all the things that you
00:55:02
◼
►
would see in those 80s futuristic, like in the future you'll be able to do this. We do
00:55:06
◼
►
it and we're doing it all in a web browser in Google Hangouts.
00:55:11
◼
►
Does that require Google+ or is that its own thing now?
00:55:13
◼
►
I don't know what people are doing to do it. I think it might require Google+, but the
00:55:18
◼
►
point is all you need is a web browser. No one has to install any software, works on
00:55:22
◼
►
a Mac, works on a PC. I don't even know if everyone's using Chrome. Maybe they all are,
00:55:26
◼
►
but it's the one thing that actually works. It's amazing to me to see these people who
00:55:32
◼
►
have not been evangelized, as far as I know, by anyone from Google. Just a bunch of managers
00:55:38
◼
►
coordinating their non-technical people, coordinating their own five-person multimedia presentation
00:55:45
◼
►
in three different locations, and it just works in a web browser.
00:55:50
◼
►
It's amazing to me that if you had said, "Maybe Apple will be the one to bring us," because
00:55:54
◼
►
iChat and VideoChat was the first VideoChat that actually worked, and people could do
00:55:57
◼
►
it as long as everybody had a Mac.
00:55:59
◼
►
FaceTime works great, too.
00:56:00
◼
►
If everyone has an iOS device, FaceTime just works, so kudos for Apple on that.
00:56:05
◼
►
Things like Hangout that seem stupid and silly to begin with, just Google keeps hammering
00:56:09
◼
►
Even just adding the ability to do screen share, integrating instant messages, and having
00:56:12
◼
►
file attachments. They'll just keep integrating that until you—you know, Hangout becomes
00:56:17
◼
►
this be-all, end-all, multi-person communication thing, and it started out as this weird chat
00:56:23
◼
►
roulette type thing attached to a social network that nobody wanted to join.
00:56:26
◼
►
Well, and apparently, according to Marcos Carr in the chat room, it still does require
00:56:31
◼
►
a Google+ account, which I think I have one, but God knows I haven't looked at it in
00:56:35
◼
►
like two years. But what's interesting about the way you describe it, John, and I think
00:56:39
◼
►
you're right is that it's been iteratively improved upon, which is a very Apple-like
00:56:45
◼
►
approach. It seems to be working really well for Google. I know that I've heard regular
00:56:52
◼
►
people talk about, "Oh, let's just do a Google Hangout real quick." I look at them like,
00:56:56
◼
►
"Wait, what? Really?" Obviously, I'm the one that's crazy because you're getting the
00:57:02
◼
►
But people can do it. They are successful at doing it. Whereas, think about any other
00:57:05
◼
►
way that you would do that. Let's all get on Skype video chat. Oh, forget it. Skype
00:57:08
◼
►
Skype is a train wreck, and try to get everyone to have it.
00:57:10
◼
►
I don't have Skype installed.
00:57:11
◼
►
Are I installed?
00:57:12
◼
►
Or does it see your camera and this and the other thing?
00:57:15
◼
►
FaceTime is pretty good.
00:57:16
◼
►
FaceTime works.
00:57:17
◼
►
The only problem with FaceTime is finding the other person.
00:57:18
◼
►
Like, what name do I put in?
00:57:19
◼
►
What Apple ID are you signed into?
00:57:21
◼
►
And that gets back to what you were talking about before.
00:57:23
◼
►
That insanity.
00:57:24
◼
►
And it rings in your iPad and not your computer.
00:57:27
◼
►
And then eventually, when it finally works, you have to get your parents to turn the thing
00:57:31
◼
►
So they're not--
00:57:33
◼
►
So their image fills the screen.
00:57:35
◼
►
Someone at Apple--
00:57:37
◼
►
have some sort of mode that just, like, you can do that for vertical video shooting on
00:57:41
◼
►
the iPhone. Just force people to put it sideways. Because if you just put the image on the screen
00:57:45
◼
►
sideways, they will turn it sideways so the image is right side up and we will all thank
00:57:49
◼
►
So quick, quick. Let me channel neutral for a second. When we were going around the Nürburg
00:57:54
◼
►
ring and I was driving, I looked over briefly and saw Erin recording what was going on with
00:57:59
◼
►
her phone in portrait. And I very, very sternly explained to her that that was just not going
00:58:06
◼
►
cut it for a video of me driving around the Nurburgring.
00:58:08
◼
►
Yes, we actually had that discussion while Casey was driving the Nurburgring. We were
00:58:12
◼
►
discussing why you don't want to shoot video in portrait.
00:58:16
◼
►
It's called multitasking. Anyway, it's weird because I think FaceTime does work
00:58:22
◼
►
extremely well, but the problem with FaceTime is it's one-to-one. And just like you were
00:58:26
◼
►
saying, Jon, if you want a multi-person thing, that very quickly eliminates FaceTime unless
00:58:33
◼
►
I'm missing something.
00:58:34
◼
►
And that's like, even iChat video thing used to be able to share a document kind of off
00:58:38
◼
►
to the side in this weird thing.
00:58:39
◼
►
It still wouldn't work for business, because in business you want to put the big spreadsheet
00:58:42
◼
►
up so people can see it, or you want to share your web browser screen so you can demonstrate
00:58:46
◼
►
a web application while they can still hear your audio.
00:58:49
◼
►
We're not asking for the moon, but Apple's conception of this in iChat video chat was
00:58:54
◼
►
like that little thing where the people would have the little reflections like they were
00:58:57
◼
►
on this big virtual infinite black mirror finish plane, and then when you share a document
00:59:01
◼
►
that would come in and another one of those little things.
00:59:03
◼
►
But they weren't expecting you to share a picture of your baby you can all look at,
00:59:07
◼
►
It wasn't made for business where you wanted to fill the screen with stuff.
00:59:10
◼
►
Google Hangout has lots of features, and they're complicated and picky or whatever, but people
00:59:15
◼
►
can figure them out.
00:59:17
◼
►
They're not elegant and beautiful or whatever.
00:59:18
◼
►
At some point, just having those features means something.
00:59:21
◼
►
Why doesn't FaceTime have multi-person chat by now?
00:59:24
◼
►
Was that team, "Oh, okay, we're done with FaceTime.
00:59:26
◼
►
It works fine.
00:59:27
◼
►
Now go off and work on the next great thing, but we're not going to improve FaceTime anymore,
00:59:30
◼
►
or we're not going to add multi-person FaceTime,
00:59:32
◼
►
or maybe it doesn't work over 3G, who knows?
00:59:34
◼
►
But it's kind of depressing.
00:59:39
◼
►
And there are a few other things that Google announced.
00:59:43
◼
►
What else do they do?
00:59:44
◼
►
Well, they have the Google Play games,
00:59:48
◼
►
and then they also have Google Play Music All Access, which
00:59:51
◼
►
my friend Brad Lautenbach had tweeted that they really
00:59:55
◼
►
need a brand manager helper.
00:59:57
◼
►
I forget how he phrased it.
00:59:58
◼
►
he phrased it much better than I'm giving him credit for, but they need a way to come
01:00:02
◼
►
up with better names. But there's Google Play Musical Access, which is basically Spotify
01:00:07
◼
►
That's a terrible name.
01:00:08
◼
►
Oh, it's atrocious. It's really—
01:00:09
◼
►
It's just like we were talking about last week, how Microsoft puts Windows in front
01:00:13
◼
►
of everything, and they used to put Windows Live, blah, blah, blah. And now Google has
01:00:18
◼
►
put Google Play in front of all these different product names, and it just sounds ridiculous.
01:00:22
◼
►
Google Play itself is just no good.
01:00:24
◼
►
No, it isn't.
01:00:25
◼
►
That, whatever they came up with, like Google Play is going to be our, like, flagship brand for the way we sell you things for, like, that should not have, because you can't go anywhere from that. There's nothing you can put after Play that's going to improve it. Bad.
01:00:38
◼
►
Yeah, so, I don't, to me, a Spotify-like clone by Google really, I don't think I care.
01:00:48
◼
►
I care because I don't actually don't care because I don't use streaming music
01:00:52
◼
►
But if I did use streaming music, I would be more comfortable in
01:00:56
◼
►
investing in in the
01:00:59
◼
►
Google to like they'll stream me music
01:01:01
◼
►
They'll let me upload all my stuff or whatever because I would have more faith that Google is going to be around long term in Spotify
01:01:07
◼
►
Not that Spotify is a fly-by-night company or whatever
01:01:09
◼
►
But I just if something is going to involve mass uploading or mass downloading. I
01:01:15
◼
►
I like it to involve a big company that it would take a lot to kill.
01:01:20
◼
►
Well, but even somebody as fickle as Google who always kills things?
01:01:24
◼
►
That's the wild card, but for something where there's a business model that makes sense,
01:01:29
◼
►
like where they charge you money for it on a monthly basis, yeah, maybe the thing could
01:01:32
◼
►
just go away, right? So that's a risk with anything. Like, should I start buying iTunes
01:01:36
◼
►
music the day the iTunes store is open? You try it and you find out, but it's not like
01:01:41
◼
►
Google Reader where it's a free service that costs a tremendous amount of money to run
01:01:44
◼
►
you can't figure out how they make money. They charge you every month, and presumably
01:01:47
◼
►
they charge you enough money to cover their costs. So it's the same as with Spotify.
01:01:52
◼
►
This is one of Google's strengths. And Amazon's too, for that matter. Amazon's streaming service
01:01:57
◼
►
or whatever, they're always selling you things. They like to sell you digital things. That's
01:02:01
◼
►
not going away. Amazon's probably not going away. I feel more comfortable with that than
01:02:04
◼
►
I do with just some random company like Spotify. And maybe Spotify becomes as big as Google
01:02:11
◼
►
in ten years, and I'll trust them as much too, but I think there is something to be
01:02:14
◼
►
said for that type of thing.
01:02:16
◼
►
I don't know, but there's also something to be said for Spotify, that's their whole business.
01:02:22
◼
►
Whereas Google, this is kind of like the side business, it's brand new, and Google often
01:02:26
◼
►
tries things that don't work and then they shut them down, and Google doesn't really
01:02:30
◼
►
need this to succeed, they have other things they could be doing. Spotify, this is their
01:02:34
◼
►
entire business. So if you're going to try to figure out one company of those two that
01:02:38
◼
►
want to invest your time and effort into, I'd still pick Spotify.
01:02:42
◼
►
Well, I mean, it also has to do with integration, too. The reason we like the Apple thing is
01:02:46
◼
►
if you buy all Apple devices, you're sure that you'll be able to watch—you'll
01:02:49
◼
►
be able to listen to your iTunes music if you do iTunes Match on all your iTunes devices
01:02:53
◼
►
and your Apple TV, and you're all set, right? Well, Spotify has to do that as well, but
01:02:58
◼
►
they don't own any platform. So they're coming from the outside, whereas at least
01:03:02
◼
►
Google can put it on Android, and you know they're going to have an awesome version
01:03:04
◼
►
on the web, and then they're okay about making iOS apps, so they've got something
01:03:08
◼
►
covered there, but Spotify doesn't have any sort of native platform.
01:03:11
◼
►
Well, by that rationale, you shouldn't use Netflix.
01:03:14
◼
►
I was just about to say the same thing.
01:03:18
◼
►
That's the thing.
01:03:19
◼
►
If Apple had come up with a Netflix-like service, I would probably be using that instead of
01:03:23
◼
►
Netflix, but they didn't.
01:03:24
◼
►
You know what I mean?
01:03:25
◼
►
There's no reason Apple couldn't have done exactly what Netflix did around the same time
01:03:30
◼
►
Netflix did it, but they didn't.
01:03:33
◼
►
Netflix was out there alone making it happen.
01:03:36
◼
►
So that's why we're all doing it.
01:03:37
◼
►
And Dropbox is another example.
01:03:38
◼
►
Why aren't we all using Google Drive?
01:03:40
◼
►
Because Dropbox got there first, earned our trust,
01:03:42
◼
►
and Google Drive came out,
01:03:43
◼
►
and then Google Drive looks like the Me Too.
01:03:45
◼
►
And you're like, well, you know what?
01:03:46
◼
►
Even though Google might be around longer than Dropbox,
01:03:49
◼
►
Dropbox has proven itself to me,
01:03:51
◼
►
and it's stable and everything.
01:03:52
◼
►
I also don't like the Spotify app.
01:03:53
◼
►
I've tried it a few times,
01:03:54
◼
►
and it's a little bit offensive to me.
01:03:56
◼
►
- Oh, it's gotten better too.
01:03:57
◼
►
That's the sad thing.
01:03:58
◼
►
I agree with you.
01:04:00
◼
►
It's not intuitive at all,
01:04:01
◼
►
or at least not for the way my brain ticks,
01:04:04
◼
►
but it's actually gotten a lot better
01:04:05
◼
►
since the early versions.
01:04:08
◼
►
So I think that's the majority of the cloud services.
01:04:12
◼
►
The only thing we haven't really talked about, which
01:04:14
◼
►
looks reasonably exciting-- and I do not say that
01:04:16
◼
►
sarcastically--
01:04:17
◼
►
is the new version of Maps, which seems to be a kind of
01:04:21
◼
►
quasi mashup of Google Maps of today with Google Earth, with
01:04:28
◼
►
just generally improved visuals, and everything just
01:04:32
◼
►
gets better.
01:04:32
◼
►
They've kind of-- I can't believe I just
01:04:35
◼
►
thought about saying this, but I was going to say they kind of
01:04:38
◼
►
+1'd everything, and now I think they need to shower.
01:04:41
◼
►
But no, I saw a very brief video that Google
01:04:44
◼
►
made of the new Google Maps.
01:04:45
◼
►
And it looks really darn good.
01:04:47
◼
►
It really, really, really does.
01:04:49
◼
►
They have really great representation
01:04:52
◼
►
of all the different directions you can take between places.
01:04:55
◼
►
And if you're lucky enough to live with somewhere that
01:04:57
◼
►
has public transport, they'll show that.
01:04:59
◼
►
They'll show car.
01:05:00
◼
►
They'll show bike.
01:05:00
◼
►
They'll show walking.
01:05:02
◼
►
It really, really looked good.
01:05:04
◼
►
It apparently uses-- what is it-- WebGL?
01:05:07
◼
►
The 3D API, if you will, for web browsers.
01:05:12
◼
►
So presumably it runs really, really quickly.
01:05:15
◼
►
Everything about it just looks like Google Maps, which
01:05:19
◼
►
almost everyone I know really likes,
01:05:21
◼
►
myself very much included, but better.
01:05:23
◼
►
And that's never a bad thing in my eyes.
01:05:25
◼
►
So did you guys see this?
01:05:27
◼
►
I think they didn't plus one it.
01:05:28
◼
►
I think they like, plus 100 it.
01:05:30
◼
►
It strikes me as like, that depressing thing that Apple used to do and still kind of does
01:05:35
◼
►
is particularly on hardware, where Apple comes out with an amazing hardware device and then
01:05:39
◼
►
for a year, the rest of the industry bends over backwards to try to come up with something
01:05:43
◼
►
that's even remotely as good.
01:05:44
◼
►
And as soon as they start getting close, Apple just leapfrogs itself.
01:05:47
◼
►
And they're like, "Oh, God, we just barely caught up with whatever the previous iPod
01:05:50
◼
►
model was, and now they have this thing.
01:05:52
◼
►
The iPhone was one of those things.
01:05:53
◼
►
We were just finally trying to get our digital music players to be half of it, and now they
01:05:57
◼
►
have this phone thing and everyone is screwed."
01:06:00
◼
►
Apple has not yet caught up with plain old, before this announcement, Google Maps.
01:06:04
◼
►
And, you know, Apple's working hard to make them better, and so on and so forth.
01:06:07
◼
►
And now they do this, and it's like, what?
01:06:10
◼
►
You guys, if you just stay still for a minute, we could catch up with you.
01:06:13
◼
►
But they won't.
01:06:14
◼
►
Like, they're driving forward, you know, every aspect of this map thing.
01:06:18
◼
►
It's not like we just have new data, or we added new features, like all new UI,
01:06:21
◼
►
all new look, all new vocabulary, all new set of things you can do,
01:06:24
◼
►
all new technology to run the thing.
01:06:26
◼
►
By the way, WebGL still freaks me out a little bit.
01:06:29
◼
►
I'm always afraid that I'm going to accidentally root my phone by…
01:06:33
◼
►
Yeah, security on that is tricky.
01:06:36
◼
►
I don't know.
01:06:37
◼
►
Yeah, that bothers me a little bit.
01:06:38
◼
►
But you can't say that Google is just adding tiny incremental improvements to maps.
01:06:42
◼
►
They're not resting on their laurel.
01:06:43
◼
►
Some team had been working on these maps to vastly improve it, and they already had the
01:06:48
◼
►
best map data.
01:06:49
◼
►
And it's just going to get better from there.
01:06:52
◼
►
Yeah, I don't see Apple catching up to that, honestly.
01:06:55
◼
►
I don't see, I see Google Maps always being way better than Apple Maps.
01:07:00
◼
►
Apple has never shown an ability to catch up with things of this nature at all, to even
01:07:08
◼
►
survive at all, let alone to be able to surpass Google.
01:07:13
◼
►
Google's so good at services and big data type stuff, and Apple is so bad at that.
01:07:19
◼
►
And leveraging the crowd, like the OpenStreetMap initiative.
01:07:24
◼
►
If I was counseling Apple on what their only chance to be competitive in the map space
01:07:27
◼
►
is, you have to go community-based, collaborative, find an open project, get the entire world
01:07:35
◼
►
behind it, because then it can be you and the entire world versus Google.
01:07:38
◼
►
I'm sure Google's doing the same thing with trying to...
01:07:41
◼
►
They'll do it on their own.
01:07:42
◼
►
They'll integrate feedback from all the people.
01:07:44
◼
►
That whole mechanism of if someone sees something that's in the wrong place, correcting it...
01:07:48
◼
►
Daniel Jackett was talking about this on Twitter the past week, about how he wishes if a store
01:07:52
◼
►
was in the wrong place he could correct it on his phone and he would at least see that
01:07:55
◼
►
change immediately even if everyone else didn't and then by doing that it would eventually
01:08:00
◼
►
filter upstream but it's like why torture himself with his own phone if he knows the
01:08:03
◼
►
pin is in the wrong spot let him drag it to the right spot and let that change stick local
01:08:07
◼
►
to his phone and everyone on Twitter told him how that wouldn't work because what if
01:08:10
◼
►
you share the map with somebody else and people could put in bad information and blah blah
01:08:13
◼
►
those are they're all correct those are all the hard problems solving those hard problems
01:08:18
◼
►
on a massive scale is how you get better map data you know you can't just do it on your
01:08:22
◼
►
You can't hire 10 people to improve your maps or sort through the backlog of 8 billion requests.
01:08:26
◼
►
You really have to just let the whole world participate.
01:08:28
◼
►
In fact, I wish the entire world, as I've said many times in the past, were all working together to provide the best map.
01:08:34
◼
►
This is only one planet. There's only one Earth. There's only one set of roads. There's only one set of buildings.
01:08:38
◼
►
There's no reason, other than good old capitalism and competition, that we couldn't all be collaborating to provide the single most accurate, unified set of information
01:08:48
◼
►
that individual companies could sort of average out and smooth
01:08:50
◼
►
off the edges and decide how they want to pull from that
01:08:53
◼
►
to make their maps better.
01:08:54
◼
►
But alas, that kind of cooperation
01:08:57
◼
►
between Apple and Google seems to be in the past.
01:09:00
◼
►
Well, it worked well with WebKit.
01:09:02
◼
►
For a little while.
01:09:04
◼
►
I was being sarcastic, actually.
01:09:05
◼
►
So a couple really quick thoughts,
01:09:06
◼
►
and then we can move on to something different.
01:09:09
◼
►
Firstly, in contrast to all the things
01:09:11
◼
►
that we said about how hideous Google properties tend to be,
01:09:15
◼
►
I actually think that the new maps looks really,
01:09:17
◼
►
pretty and I was very impressed by that. And the other thing on a more global
01:09:22
◼
►
scale in terms of Google I/O is that a bunch of people joke every year that
01:09:28
◼
►
this year's, whatever this year may be, this year's Google I/O is last year's
01:09:33
◼
►
WWDC. And to some degree I think that's true, especially let's look at the Game
01:09:38
◼
►
Center knockoff whatever you call it thing. But this year there were a lot of
01:09:42
◼
►
things that as even an amateur Apple developer I looked at them said hey man
01:09:46
◼
►
that would be really nice." Or, "Wow, I kind of wish Apple would do that." And
01:09:49
◼
►
I just think it's interesting that this year, and this comes back to what you guys
01:09:53
◼
►
were saying about how quickly Google is moving in this space. It's interesting to me that
01:09:58
◼
►
rather than being like, "Oh, ha, look at these copycats." Now we're saying, "Man,
01:10:02
◼
►
Apple, you should copy some of that because that's really good." And I don't know,
01:10:05
◼
►
maybe I'm the only one who thinks that way, but I thought it was very different than it
01:10:08
◼
►
was in the past. Oh, definitely. All right, moving on. Our second sponsor for this episode
01:10:15
◼
►
is Cococonf. Cococonf is a focused two-day multi-track conference for iPhone, iPad, and
01:10:21
◼
►
Mac developers featuring some of the biggest names in the Apple developer community. Each
01:10:26
◼
►
event includes sessions covering tools, frameworks, tips, and techniques that will help iOS and
01:10:32
◼
►
OS X developers build better apps and have more fun doing it. Along with these sessions,
01:10:36
◼
►
they have inspiring keynotes by industry luminaries, including Brent Simmons, Matt Drance, and
01:10:41
◼
►
and Jeff LaMarche.
01:10:42
◼
►
And on top of all that, they have fun and engaging panels, great food, cool prizes,
01:10:48
◼
►
and that includes current books, Apple Store gift cards, and even an AeroPress.
01:10:52
◼
►
That's pretty cool.
01:10:53
◼
►
So Early Bird Registration is now open for their 2013 CocoCon Fall Tour.
01:10:58
◼
►
That includes stops in Portland, Oregon, my hometown of Columbus, Ohio, Boston, and Atlanta.
01:11:05
◼
►
So listeners of this show can save even more by using the coupon code ATP for 20% off any
01:11:12
◼
►
That's pretty big, Jon.
01:11:13
◼
►
I think that beats our previous record, right?
01:11:17
◼
►
No, I thought that was half off.
01:11:19
◼
►
Wasn't that half off?
01:11:20
◼
►
Oh, that's right.
01:11:21
◼
►
Yeah, that's right.
01:11:23
◼
►
I mean, let's not shake our fists at 20%, though.
01:11:24
◼
►
I mean, that's pretty good.
01:11:25
◼
►
This is a higher ticket.
01:11:26
◼
►
I don't know.
01:11:27
◼
►
20% off any ticket for Cococonf.
01:11:28
◼
►
So for all the details, go to cococonf.com.
01:11:32
◼
►
That's cococonf.com.
01:11:34
◼
►
use coupon code ATP for 20% off your ticket. Go check them out, and thanks a lot to those
01:11:39
◼
►
guys for sponsoring also.
01:11:41
◼
►
You know, I feel like this is like, we have two sponsors on this show that are both conferences,
01:11:46
◼
►
and they don't really overlap that much at all. You know, an event apart is really web
01:11:51
◼
►
apps and design of the web apps, and CocoaConf is iPhone, iPad, and Mac native Cocoa development.
01:11:59
◼
►
So really I think most most people listening can identify very well with one of these conferences. You can't really go wrong with either of them
01:12:06
◼
►
Alright so next up I wanted to talk about
01:12:12
◼
►
Apple's new Objective-C JavaScript bridge, which actually John you had tweeted about earlier today, and that was the first I had heard of it
01:12:18
◼
►
First are we talking about bridges with John, Syracuse?
01:12:23
◼
►
We are and that the chat was guessing that we might go here and I'm already getting pestered about the potential for a
01:12:30
◼
►
Syracuse a county title and I should probably tell you that I'm I'd find it unlikely. We'll go there
01:12:36
◼
►
I find it unlikely that John would let us go there
01:12:38
◼
►
Even if we wanted to and I'm not sure I do but I should point out to begin this
01:12:43
◼
►
Conversation that there is a picture of two Golden Gate bridges beside each other in this article, which I'll put the URL in the chat and
01:12:51
◼
►
The caption on this article of the picture of two Golden Gate bridges right next to each other is and I quote
01:12:58
◼
►
Syracuse a county is on the left. Don't you recognize that picture Casey? I don't actually
01:13:02
◼
►
WWC, isn't it Marco? I don't remember
01:13:06
◼
►
Their teases it was either for WDC or oppressive. It's from apples like, you know, they send out like a picture
01:13:12
◼
►
You know come to whatever someone in the chat room, please tell me I forget what it was
01:13:17
◼
►
Maybe it's a metaphor for the forking of WebKit. But anyway, no, no, it was it was from a past
01:13:21
◼
►
A. Pike in the chat room says it's from the WWDC 2008 invitation.
01:13:26
◼
►
Oh, that was before my time, so I wouldn't know.
01:13:29
◼
►
Anyway, they didn't make it up, that's what it was.
01:13:31
◼
►
Well, clearly they did not make up the fact that Syracuse County is on the left.
01:13:34
◼
►
I mean, that is geographically and factually fact.
01:13:38
◼
►
Factually fact?
01:13:40
◼
►
It is. There's a title if I've ever heard one.
01:13:42
◼
►
So anyway, so, John, since you brought this up by way of tweeting it earlier,
01:13:47
◼
►
Would you like to give the executive summary and get your first comments in?
01:13:51
◼
►
Yeah, well, because I've been busy today, I Instapapered this article and I skimmed
01:13:55
◼
►
it, but I have not yet actually read it.
01:13:57
◼
►
I tweeted it, I skimmed it, and I Instapapered it.
01:13:59
◼
►
That's what I do with all links that I run across now.
01:14:02
◼
►
Looking at it, first of all, this is a feature of WebKit, and I've already seen some people
01:14:06
◼
►
say that this is not new, that something similar to this has existed in the past, so I don't
01:14:10
◼
►
even know how much this is an improvement of an existing feature or an expansion of
01:14:14
◼
►
an existing feature.
01:14:16
◼
►
It's certainly not a bridge in the sense that the Cocoa JavaScript bridge was, where you're
01:14:19
◼
►
now writing your native applications in a language other than Objective-C. That's not
01:14:23
◼
►
what this is either.
01:14:25
◼
►
And since it's specifically related to WebKit, well, the JavaScript core part of WebKit,
01:14:31
◼
►
it's not a general purpose thing.
01:14:33
◼
►
But they've got the plumbing there where you can write JavaScript code that manipulates
01:14:39
◼
►
Objective-C objects and vice versa.
01:14:42
◼
►
And so just having skimmed this article, if you will ask me what I think it means, I think
01:14:46
◼
►
what it mostly means is all the developers I've seen complaining over the years about
01:14:50
◼
►
how little control you have
01:14:54
◼
►
over WebKit views in your native application.
01:14:58
◼
►
I would like it if I could intercept whenever this happened and make this happen
01:15:02
◼
►
in my Objective-C application, and I would like it if my Objective-C application
01:15:06
◼
►
could cause this to happen and manipulate the WebView in this way. This seems
01:15:10
◼
►
like a way where you could arbitrarily connect JavaScript code running in
01:15:14
◼
►
in a WebView with the state of your application and its objects and its methods in memory.
01:15:19
◼
►
And that strikes me as a much more powerful way to let people use WebKit views to do things.
01:15:24
◼
►
Now, could that same mechanism be used to let people write code as part of their native
01:15:28
◼
►
application in JavaScript for the hell of it?
01:15:30
◼
►
Perhaps, but the API you have now where you make a JS context and you just pass it strings
01:15:34
◼
►
and stuff, that's not the same thing as writing your application in JavaScript or whatever.
01:15:39
◼
►
So I don't even know if you would call-- I mean, I guess it is kind of technically a
01:15:42
◼
►
because they're calling objectives from JavaScript
01:15:44
◼
►
and the other way around.
01:15:45
◼
►
But it's not what people think of when they read the title.
01:15:48
◼
►
Like, oh, now I'm going to write all my Cocoa and UI Kit
01:15:52
◼
►
applications, but I'm going to use JavaScript instead
01:15:54
◼
►
because now I don't have to worry about pointers anymore.
01:15:57
◼
►
That's not this.
01:15:58
◼
►
Well, and there already are a lot of cross-platform frameworks
01:16:02
◼
►
that work on that principle of you write things in JavaScript
01:16:06
◼
►
and on both iOS and on Android, they
01:16:11
◼
►
have these shell apps that interpret that for you.
01:16:13
◼
►
So you already can write apps in JavaScript
01:16:16
◼
►
on the mobile platforms.
01:16:18
◼
►
And there's certainly nothing stopping you
01:16:20
◼
►
from doing it on the desktop as well if you want to.
01:16:23
◼
►
But I think what's interesting about this-- there's
01:16:27
◼
►
two big points I think worth thinking about.
01:16:29
◼
►
One is this might not necessarily
01:16:32
◼
►
be how they want to move forward to say all apps will
01:16:36
◼
►
be JavaScript coming soon.
01:16:39
◼
►
it might just be like right now people do tons of hacks
01:16:43
◼
►
with like passing URLs back and forth between the WebView
01:16:47
◼
►
and the Cocoa code, you know, passing URLs
01:16:51
◼
►
and evaluating JavaScript string literals and stuff like that. It's just a pile of hacks right
01:16:55
◼
►
now. Having a WebView that you communicate with your app and going
01:16:59
◼
►
back and forth. So they might just be trying to improve that. Certainly it would improve performance
01:17:03
◼
►
and it would make things a lot cleaner and a lot less bug prone and error prone
01:17:07
◼
►
and everything else.
01:17:08
◼
►
Oh, this is also-- like, you said that it's so hacky the way you had to do it before.
01:17:12
◼
►
This is still kind of hacky, where you're applying the protocol to built-in classes
01:17:15
◼
►
so they can have visibility to the JavaScript world.
01:17:18
◼
►
Believe me, it's less hacky.
01:17:21
◼
►
It's less like you're not sipping through a straw anymore.
01:17:22
◼
►
You're not making up, you know, like, "I only have three ways to communicate with these
01:17:26
◼
►
Everything must funnel through them."
01:17:27
◼
►
Now you have a new way, and you can really hook up arbitrary stuff, but it's still, like,
01:17:32
◼
►
it's still kind of creepy and weird, you know?
01:17:36
◼
►
It's not even as good as the various other bridges they've had, like the Ruby, what is
01:17:41
◼
►
the popular Ruby one, where it really is a fairly transparent bridge where things just
01:17:48
◼
►
work and you don't have to worry about the plumbing.
01:17:50
◼
►
This, the plumbing is visible.
01:17:51
◼
►
You're manually creating the plumbing, you're hooking things up, but as you said, the ability
01:17:57
◼
►
to do it at all is what I've heard many developers ask for over many years because it's just
01:18:01
◼
►
so frustrating to have a web view and have just so little control over it.
01:18:05
◼
►
seems to be solved, assuming this ships and is made a public API for developers and recommended
01:18:10
◼
►
to everyone at WWDC. Right, because the other interesting thing
01:18:13
◼
►
about this is that in WebKit, first of all, it was committed on New Year's Eve so that
01:18:19
◼
►
nobody would notice. And a lot of this stuff is wrapped in compiler macros to not compile
01:18:25
◼
►
it if it's not on 10.9. So it certainly looks like this is set to be a feature only of 10.9,
01:18:35
◼
►
And so whether they will do anything more with it outside of the WebKit tree, if they'll
01:18:42
◼
►
expose this API on a broader level or make a bigger deal out of it, we don't know that
01:18:46
◼
►
yet. But I think that's really interesting that they seem to make some effort to do this
01:18:53
◼
►
Well, the fact that it's in WebKit is the only reason we've seen it at all, because
01:18:57
◼
►
WebKit is open source. And I guess they could have still held the backup they wanted to
01:19:00
◼
►
like they do a lot with a lot of their big WebKit changes. They just hold them and hold
01:19:02
◼
►
them and then push them out. But yeah, like there's the question of will this even be
01:19:08
◼
►
a public API to WebKit? Because if it's not, like it doesn't matter if you're writing a
01:19:11
◼
►
Mac app, but if you're a Mac App Store app, it matters. And if you're certainly writing
01:19:14
◼
►
an iOS app, I know the app, I know the UI is there, I can see the headers, but Apple
01:19:19
◼
►
says they're private, so I can't use it. So you'd still be stuck if you're selling things
01:19:23
◼
►
through Apple, any of Apple's app stores, you'd still be stuck using the crazy hacks
01:19:27
◼
►
you had before. But like when I see stuff like this, I don't, it seems like the kind
01:19:32
◼
►
of thing that Apple would not do for the hell of it. And it all seems like the kind of thing
01:19:35
◼
►
that is not particularly useful to anyone outside Apple, because who else uses Objective-C
01:19:39
◼
►
and WebKit at the same time? So it strikes me that it's probably there to help one or
01:19:45
◼
►
more Apple applications. Maybe they're finally making the App Store apps better. I don't
01:19:49
◼
►
know. What is that company they bought to redo their store with the worse appearance
01:19:55
◼
►
It doesn't matter. Yeah.
01:19:56
◼
►
It was like starting with a "CH." Again, chat room can help me out.
01:19:59
◼
►
It's not even worth disparaging them because they did just make everything worse.
01:20:02
◼
►
Yeah, but maybe if they could do everything with a WebView.
01:20:07
◼
►
Remember the iTunes store was done with these crazy XML descriptions of the data,
01:20:10
◼
►
and then they had the iTunes app itself interpret the XML,
01:20:13
◼
►
and then I heard they had slowly transitioned to using WebKit views,
01:20:16
◼
►
but then they suffer from the thing of, well, you've got a nice WebKit view,
01:20:19
◼
►
but it has to hook into this application, and the hooks are very bad,
01:20:22
◼
►
and we're tired of doing these crazy hacks to do hooks.
01:20:25
◼
►
And here is now a slightly better system for integrating WebViews and stuff,
01:20:28
◼
►
stuff. So I would expect that the reason this API exists is because one or more applications
01:20:32
◼
►
on either iOS or the Mac are going to use this API to better integrate web views with
01:20:37
◼
►
the native application that surrounds them.
01:20:39
◼
►
That's very possible. It might just be for Apple for their own apps to use. Maybe if
01:20:46
◼
►
you're a Mac developer you'll be able to use it, but maybe they won't bring it to iOS because
01:20:49
◼
►
there's no less of a reason, or who knows.
01:20:52
◼
►
Chomp is the name of the company, says the chat room.
01:20:53
◼
►
I was hoping we'd do without it. Everyone was so excited when they bought Chomp. They
01:20:58
◼
►
"Oh, this is finally going to make everything better!" and it made everything worse.
01:21:00
◼
►
I don't know if you blame Chomp. It was like, the technology that enables the store may
01:21:06
◼
►
be better than the technology they had before, but it's just the choice of the UI that is
01:21:12
◼
►
So the passage of this article that I thought, Jon, you would be most fired up about and
01:21:18
◼
►
where the bridges of Syracuse County come in is, and I quote, "The most interesting
01:21:23
◼
►
possibility would be that this is the start of Apple's evolution away from Objective-C,"
01:21:27
◼
►
by the way they're linking to Copeland 2010 Revisited, into promoting a higher level language
01:21:32
◼
►
for their platform.
01:21:33
◼
►
It's too early to say at this point, but if JavaScript core is going to one day displace
01:21:37
◼
►
the Objective-C runtime, this would be a reasonable starting point.
01:21:40
◼
►
And I guess I see their point, but I feel like that's a really big leap.
01:21:45
◼
►
And to your earlier point, Jon, this isn't a bridge in the sense that you're making
01:21:51
◼
►
JavaScript a first-class citizen of the OS X or iOS API, it's just a mechanism by
01:21:59
◼
►
which you can call back and forth, which is a very, very, very big difference. And
01:22:02
◼
►
furthermore, JavaScript seems like a peculiar choice to me of a high-level
01:22:07
◼
►
language to choose in order to replace Objective-C. It's not that crazy because
01:22:10
◼
►
it's so insanely popular now and so many people are working so hard and making
01:22:14
◼
►
JavaScript fast, particularly Google, for example. But I don't like the
01:22:18
◼
►
JavaScript language. So that's... Yeah, but you like Perl. Yeah, I know Perl. I like Perl much better than JavaScript.
01:22:24
◼
►
Well, that's the funny thing about JavaScript is that nobody likes JavaScript, but it's everywhere. So everyone just kind of, you know, learns it eventually.
01:22:30
◼
►
The thing is, some people I think do like it. If you work with low-level language for a long time, and JavaScript is the first and maybe the only in the primary high-level languages, you're like, "Oh my God, high-level languages! It's amazing! I can concatenate strings with ease and run substitutions and just, you know, it's just so amazing to not have to do that."
01:22:47
◼
►
amazing to not have to worry about all these details of a strongly typed, low-level language
01:22:53
◼
►
like C or C++. It's like, "Wow, JavaScript. It's amazing. I feel so productive." But if you've used
01:23:00
◼
►
any other high-level language, you're like, "Oh, JavaScript." It has weird warts. It's kind of like
01:23:08
◼
►
PHP but not as bad in that it was not designed by an expert language designer. It just kind of came
01:23:14
◼
►
to be to scratch someone's itch under tight deadlines and progress from there.
01:23:21
◼
►
Of course, PHP sort of metastasized, and JavaScript was pinned down by the fact that it was implemented
01:23:26
◼
►
in web browsers and it couldn't advance that fast.
01:23:29
◼
►
But it's a similar type of thing.
01:23:30
◼
►
It's not, "Oh, we've got the world's best language designers together," and they come
01:23:34
◼
►
up with a language.
01:23:35
◼
►
In fact, most languages that end up being successful are not that way.
01:23:37
◼
►
C might be an exception because it's made by some really smart people who really thought
01:23:41
◼
►
about it, and that worked out pretty well.
01:23:43
◼
►
JavaScript. There's like one guy, right, at Netscape.
01:23:46
◼
►
Originally, yeah.
01:23:47
◼
►
Under a tight deadline, came up with this thing. And it has crazy warts that are still there today,
01:23:52
◼
►
because that's the way it was. And you can't break backward compatibility very easily when
01:23:57
◼
►
it's in a million web browsers. So are you thumbs up or thumbs down to this, John?
01:24:03
◼
►
I think it's good for integrating WebViews better with your native application. I think that's a
01:24:07
◼
►
worthy advancement. I don't think it indicates anything one way or the other about Apple's
01:24:12
◼
►
plans for anything. We've discussed this on past shows, like the path Apple has chosen
01:24:18
◼
►
and continues to walk along is enhancing Objective-C, and it seems like they'll continue along that
01:24:21
◼
►
path. And last year, WWCA was saying that, "Oh, you guys are going to have type inference
01:24:26
◼
►
next year while we're approaching. We'll see if they have anything like type inference
01:24:28
◼
►
or maybe just C++'s auto keyword brought into Objective-C." I think you can already use
01:24:32
◼
►
in Objective-C++.
01:24:34
◼
►
But yeah, advancing Objective-C by taking
01:24:37
◼
►
the reins of the compiler and adding features to the language
01:24:39
◼
►
seems like that will continue.
01:24:43
◼
►
And with that, I think it's a good time to wrap up the show.
01:24:45
◼
►
What do you think?
01:24:46
◼
►
Sounds good.
01:24:48
◼
►
Thank you very much to our two sponsors of this episode.
01:24:50
◼
►
An event apart.
01:24:51
◼
►
Go to aneventapart.com/atpfm.
01:24:54
◼
►
It's the design conference for people who make websites.
01:24:57
◼
►
And our second sponsor was CocoaConf.
01:25:00
◼
►
CocoConf is a two-day multitrack conference for iPhone, iPad, and Mac developers.
01:25:04
◼
►
Go to cococonf.com, use coupon code ATP for 20% off.
01:25:09
◼
►
Thank you very much, guys.
01:25:13
◼
►
Now the show is over, they didn't even mean to begin,
01:25:17
◼
►
'cause it was accidental.
01:25:20
◼
►
Oh, it was accidental.
01:25:23
◼
►
John didn't do any research, Marco and Casey wouldn't let him,
01:25:28
◼
►
'cause it was accidental.
01:25:30
◼
►
It was accidental.
01:25:31
◼
►
It was accidental.
01:25:33
◼
►
And you can find the show notes at ATP.fm.
01:25:36
◼
►
And if you're into Twitter, you can follow them at C-A-S-E-Y-L-I-S-S.
01:25:46
◼
►
So that's Kasey Liss M-A-R-C-O-A-R-M.
01:25:52
◼
►
Anti-Marco, Armin, S-I-R-A-C, U-S-I-C, R-A-Q-S-A
01:25:59
◼
►
It's accidental, accidental, but you didn't mean to
01:26:05
◼
►
Accidental, accidental, tech podcast so long
01:26:12
◼
►
No, yeah, I've actually considered teaching myself to type the right way, but it seems like work.
01:26:18
◼
►
Well, I mess with what works. Plus you have RSI anyway or whatever.
01:26:21
◼
►
Yeah, exactly. I should just type all my talk on my code. Open curly base return.
01:26:27
◼
►
Tab tab. Dollar sign foo space equal space. No.
01:26:32
◼
►
Please put that in the show.
01:26:36
◼
►
If that actually worked, do you think that would be fast?
01:26:39
◼
►
No, definitely not.
01:26:42
◼
►
I don't know because like a lot of the programming keys you have to hold down shift for
01:26:45
◼
►
And maybe I could speak it faster, especially if you could abbreviate, like you'd say "curly"
01:26:49
◼
►
or pick some other word that's like one syllable long for "gurlies."
01:26:52
◼
►
The Ruby people would love it. And a lot faster to say that than to type it.
01:26:57
◼
►
That's our show ending right there.
01:27:00
◼
►
Yeah, it is.
01:27:02
◼
►
You don't have to put that crap in.
01:27:03
◼
►
Oh, do it. Do it. Please.
01:27:07
◼
►
Maybe post-roll or something.
01:27:08
◼
►
Yeah, people love that.
01:27:10
◼
►
I love post-roll.
01:27:12
◼
►
There's something I complain, like all the people say, "Oh, I love this song, blah, blah."
01:27:14
◼
►
Now, it's already like two episodes after the song has been like, "Oh, I can't take
01:27:18
◼
►
the song anymore. It's so long. I have to fast forward through it to see if there's
01:27:21
◼
►
any post-roll."
01:27:23
◼
►
It's like 30 seconds long. It's not even.
01:27:26
◼
►
Yeah, I think the full version is like 45. It's really a short song.
01:27:31
◼
►
And you don't have to hear the stupid gag at the end. You can just stop listening.
01:27:34
◼
►
Well, yeah, but you know as well as I do. Nobody thinks that way.
01:27:38
◼
►
I don't know. People can't please anybody.
01:27:43
◼
►
if you put in bleeps and boops, which everyone loves.
01:27:45
◼
►
It is one minute and three seconds.
01:27:46
◼
►
Oh, listen to him! Oh my goodness, you are such a baby. It cracks me up. It's that spot
01:27:53
◼
►
about kettle.