Tip:
Highlight text to annotate it
X
Mac Slocum: So where are we in terms of mobile optimization best practices?
Are we just at the beginning?
Are we before the beginning at this point?
Steve Souders: I think four months ago I would say we were at the beginning.
But I've collected a few things,
maybe gone a little slower than I would like.
But I just saw,
I've been seeing slide decks from other people like Nicholas Akis,
I just saw his slide deck.
I forget where he was.
Maybe up in Portland.
And in this slide deck,
he had at least five,
if not ten mobile performance best practices.
This week here at Velocity we have Maximiliano Firtman who wrote a book on,
O'Reilly book on mobile development.
And he spoke last year also.
Mac Slocum: Um hmm.
Steve Souders: And so he's got a lits of best practices.
So I don't think we're as far along.
We're certainly not as far along as we are on desktop.
where there's maybe a lot of agreement.
Like if you look at YSlow and page speed,
they have a lot,
and some of the other performance linked analysis tools.
They have a lot of the same best practices that they're evangelizing.
So I don't think we're all on the same page yet.
I don't think the list of best practices are as full as it should be
and as agreed upon as it will be a year from now.
So four months ago I would have said we were right at the beginning.
Right now I would say we have pretty good rough drafts of what the list should be.
Mac Slocum: That's a pretty good trajectory in four months.
Steve Souders: Yeah. Yeah.
Mac Slocum: I mean even a year ago where were we then?
I mean was it even just a hint of deciding
that we were going to go down the mobile route?
Steve Souders: A year ago people were thinking about it
but I don't think they were,
I don't think we were really organized about it,
at least for me personally.
I really didn't start until January and well Maximiliano--
his book came out over a year ago.
Mac Slocum: Yeah.
Steve Souders: So he's been working on it for awhile.
Mac Slocum: Right.
Steve Souders: But I think we're seeing more mobile conferences come out.
This is the first year we've had a half mobile track at Velocity
so I think we're,
I think this is the year we really kind of got our act together
and said let's really focus on trying to gather
and codify our best practices for mobile performance.
Mac Slocum: So speaking of those best practices,
are there things now where developers can just knock them out?
They know that those are the key issues with mobile.
That they should hit those off the list first
and then they can start dealing with their own nitty gritty stuff?
Steve Souders: Yes.
In one sense, when I started doing desktop performance five, six years ago,
there were a lot of really easy important things that weren't being done,
like compression or expire headers.
And I'm kind of surprised.
I haven't quantified this.
But I'm kind of surprised when I look at mobile versions of popular sites.
The popular sites are pretty much down with those best practices.
Like they're getting good YSlow load and page speed scores.
The mobile version of those sites,
it's kind of they had amnesia for a second.
And like they don't have expires headers on their mobile logos and stuff like that.
And it's like, huh?
So I think, I don't think that's as pervasive as it was six years ago on desktop
when we were first getting started.
But I think there's a kind of,
--a little kind of simple six years ago clean up we can do in the mobile space.
And then after that,
there are other kind of obvious,
like definitely you should do these things that should be done
but they're not gonna be as easy as turning on compression.
It's like a great one is local storage.
Using local storage and not relying on the browser's cache.
And that's gonna take a little bit of work.
Certainly using App cache and manifest files is gonna take even more work
and kind of rethinking the architecture of your code on the mobile device.
Mac Slocum: Right.
Steve Souders: So I think there are definite things that can be knocked out.
There aren't very many that are as easy and impactful
as we had on desktops six years ago.
Mac Slocum: So there's no, no silver bullet,
no clearly obvious thing that suddenly gets you a lot.
Good to know.
You mentioned desktop before.
Are there issues on the mobile side that developers there are just,
that they will not have encountered on the desktop side?
Steve Souders: Oh yeah. Definitely.
I'm trying to get through this blog post I've been working on for about two weeks
where I've discovered some really weird patterns
in how caching headers are ignored on certain mobile devices.
So you should have something that's cached for ten years
but every time you go and launch that app,
it re-requests all of the things from the,
that are, that you know are in the cache.
I know they're in the cache.
So that doesn't happen on desktop.
That's a bug or a quirk or something that happened from taking this browser
from a desktop environment to a mobile environment.
And maybe it'll be fixed in the next version of it but right now,
it's a serious problem.
So there are definitely things happening on mobile that--
like we haven't, developers haven't seen on desktop.
But it also works the other way.
There's some of these things like
'Huh. Why isn't my stuff being cached when it should be?'
But there's also other things like,
I mentioned local storage just a minute ago.
I don't know the exact number
but if you were to count the percentage of desktop users
that are using a browser that supports local storage,
that percentage is probably lower than it is on mobile.
Steve Souders: So the fact that, at least on smart phones,
people read their phones pretty frequently.
We don't have this IE 6 anchor kind of dragging everyone back and,
so on those smart phones
at least we're seeing that developers can take advantage
of things like App Cache and local storage and CSS 3 and things like that.
So it kind of works both ways.
In some ways, and several web developers have told me this,
it's almost kind of liberating to transition from desktop development
to mobile development where you can count on more powerful browsers.
Mac Slocum: Interesting.
Hm.
Are there tools out there now or best practices for,
for measuring mobile performance?
What should people be using?
Steve Souders: We're just getting there.
Again, four, six months ago, I would have said no
but we had the Blaze DOT I/O guys are here, they just did a workshop this morning.
showing Mobi Tests where you can just log into a URL and,
and to a website and load any URL you want in an Android or iPhone.
And so we're getting more visibility there and we're even getting,
I think the way we're gonna go in the future for developers
is they need hands on tools, right?
They need tools that they can use to actually debug and change code
and iterate quickly that edit/save/test, edit/save/test cycle
that you do forty times in a day.
You can't do something like that with some remote service
that you have to run things in.
You need to run and debug and iterate with your code interactively.
And so the solution we're gonna see there are remote debuggers
and I felt so,
what a great forecaster I am when I said that six months ago.
And like the next month, they all came out.
And we have Weinre from Patrick Mueller
and Chrome has just announced remote debugging.
Opera Dragonfly just came out with their one dot oh release
and there was one other one and I forget what it is.
And so that's I think what we're gonna see on mobile devices
is this ability to debug things and profile things and,
and iterate with code remotely
'cause of course you don't want to do that on a constrained mobile device.
And I think we're all pretty much down
with we want to be maybe very cautious about using emulators.
I wanted to ask you about that.
Steve Souders: Yeah
You know for most people like once you verify,
like using an emulator or even a user agent switcher
just switching your webkit or Firefox to have a different user agent
mimicking a,
cloaking as a mobile phone,
it makes things easier and it's totally cool to do
once you verify that the thing that you're trying to optimize or tweak
is unaffected about using an emulator or a user agent switcher.
If it turns out that you just,
you just spent a couple days or a week optimizing something
when you were using an emulator
and then when you actually run that on the mobile device,
it doesn't work the same,
then you feel really bad you wasted that time.
So that's what I always do is I look at some test I'm trying to,
behavior I'm trying to diagnose or nail down or measure improvement on
and I'll do it on the mobile device first
as much as I can and verify that it behaves in this way
and then I'll see does it behave that same way on something on my desktop.
And if it does,
then I'll do a lot of my work there but I'll,
every couple hours I'll go back and go,
'Huh. That's an interesting discovery.
Let me make sure that's the way it works on the real device.'
And I'll go back to the real device.
So an emulator,
you can't put too much initial trust at least in an emulator.
Steve Souders: Yeah.
And your, your question was actually measuring.
So I talked about having visibility but actually measuring performance.
I was just talking to people about this last night.
For actually measuring,
when I think about measuring things is like Google Analytics
released the capability to add time measurements into the page.
We have the web timing spec
which is out in Chrome and IE and very soon in Firefox, it'll be out.
And none of that stuff is, is working on mobile.
So the Google Analytics doesn't measure,
we don't have the web timing spec on any mobile browser
as far as I know right now.
And Google Analytics relies on the web timing spec
in order to take these time measurements and send them back.
So that means Google Analytics isn't working on mobile
or the time measurement part.
And what I'm really waiting on are these metrics companies,
New Star, Keynote, Gomez,
to come out with Javascript snippets
that you can embed in your page for the mobile version of your site.
That will take time measurements
and then send those, beacon those back to some data warehouse.
And I don't know why they're not doing that.
Like it seems pretty obvious to me.
Mac Slocum: Right.
Steve Souders: And I don't know anyone
who has good charts of their actual load times performance times,
from mobile devices.
Mac Slocum: Do you feel like the stakes are higher on mobile with optimization
that you really have to put an enormous amount of focus on there simply
because not only are you dealing with the distractions of other opportunities,
of things that you could go visit on your mobile device
but the external distractions as well?
Steve Souders: No. I don't think so.
Because everyone's, every site's mobile experience is terrible.
Mac Slocum: [laughs]
Steve Souders: So the bar is right,
it's like that Mutual of Omaha Wild Kingdom.
Like you only have to run faster than the slowest guy in the packs.
Like so.
But over the next year, it's gonna be huge.
And what we're gonna see,
I always go back to Mary Meeker slides from,
we were just talking about Web Tools Summit.
Mac Slocum: Yeah.
Steve Souders: Last year and the year before.
Last year Rakuten.jp did,
20% of their e-commerce was mobile
and for that same time period,
New York Times just had an article come out two months ago.
I think based on Commscore data that in the US that was 2%.
So we've got this order of magnitude growth in mobile e-commerce
that's gonna happen in the US over the next couple years
and who is going to capture that?
It's gonna be the people that have a good,
which also means fast,
user experience on their,
the mobile version of what they're trying to offer.
Mac Slocum: Right.
Steve Souders: And so I think there's a lot of room for improvement
and a lot of opportunity for improvement so it's not just that it's bad.
It's that it's bad and it's possible to fix it
while figuring out how to do that,
I think over the next year the companies that are at the forefront of that
will capture that tremendous increase in mobile e-commerce.
Mac Slocum: Right.
Well the last question I have for you.
It's about the HTTP Archive.
Steve Souders: Oh yeah. Yeah.
Mac Slocum: What are you hoping that does?
Where do you hope it goes a year from now, for example?
Steve Souders: It's one of those things where you don't know.
You know it's right and you know it's gonna be really valuable
and I can name a few things that it's gonna help with
but you don't really know
because we don't know what the future holds.
And so things I can think of is,
like right now I'm not tracking the adoption of Web P
'cause it's only supported in Chrome.
But as that gets more wider support,
I'll start measuring the adoption of Web P.
Already CNet did an article about over the first six months
that we were gathering data how Flash has dropped.
I mean not a lot.
I think it went from 51% to 48% or something like that.
And so we'll see these movements on performance,
development geeks.
I like seeing these movements and trends in technology adopt,
adoption or abandonment.
But we're also gonna see things about the size of pages
that are being downloaded
and we're also, HTTP Archive is also on mobile.
So we were, we just spent a lot of time talking about that.
That's gonna be very interesting to see.
I'm saying things are going to change a lot over the next year.
Is that true?
Mac Slocum: Yeah. [laughs]
Steve Souders: So we'll talk a year from now.
Mac Slocum: Right.
Steve Souders: And we'll see like at least now
we've got something that's measuring that stuff
that's always gonna be there, that's open,
that all the data's available and the code is there
so like you can look at what the code's doing and how it's doing that
and any potential biases or anything like that.
And so now we have a record.
So a year from now, we'll be able to answer questions,
hopefully even questions that we didn't even know we were going to ask today
because we'll have the data there
and we can always go back to the data and reanalyze it,
reslice it in different ways to answer questions
that we're not even thinking of right now.
Mac Slocum: Great.
Well thanks so much for being with us. I appreciate it.
Steve Souders: Yeah. Thank you.