Disclaimer: This post is entirely my personal opinion. I also own an HTC T-Mobile G1, which runs Google’s Android operating system.

I picked up the new iPhone 3G S this Friday and I thought I’d jot down a few thoughts:

The Good:
- The iPhone 3GS is considerably faster than the iPhone 3G. Especially in the browser, you’ll notice pages render faster. JavaScript-heavy pages (such as the mobile web version of Gmail) execute much more smoothly. The iPhone 3GS feels less like an underpowered mobile phone and more like a powerful pocket computer that can keep up with its owner.
- The built-in video camera is very cool. I expect a corresponding spike in home videos. For example, here’s my cat Ozzie playing with a toy:

More seriously, within about five years, for any group of 10 or more people, at least a few will have a video camera built into their phone. That’s a very powerful trend in a lot of ways.
- I tend to agree with Michael Arrington that no one with an iPhone 3GS needs a Flip video camera now. Cisco bought Pure Digital Technologies, the makers of the Flip, for almost $600 million dollars about three months ago. That might prove to be good timing on Pure Digital’s part.
- Lots of small changes in OS 3.0 are quite nice, such as showing outgoing vs. incoming calls in the “Recents” list.

The Bad:
- Apple’s iPhone philosophy has always seemed to me to be about simplicity. The single button forced a constrained elegance on the iPhone’s interface. In providing some newer features, the iPhone 3G S feels less like an iPhone and more like someone shoveled in a lot of features. I didn’t really need copy/paste, and it seems to pop up at random inconvenient times: double-tap a word if you’re not in the browser; in the browser, hold your finger on some text. Except the copy handles don’t seem to show up on the web pages I want, and sometimes unwanted copy handles appear when I’m just scrolling with my finger.
- The iPhone 3GS is not the huge leap that the iPhone or the iPhone->iPhone 3G was. I do think that leaves some opportunities for Android, Palm, and other competitors.
- Battery life has been worse so far for me. I’ve been using the phone more and it’s only been a few days, so I’m not going to jump to conclusions on this yet. Apple also recommends that you let the phone run down completely at least once a month, and I haven’t done that yet. I expect that battery life will be better for most people.
- Not a great name; the “GS” part makes me think of Ghostscript. A few days ago, I would have said that the “iPhone Video” is a much better name, but it’s true that the speed bump is more noticeable than the video. I still think Apple could have come up with a better name than “iPhone 3G S” though. I’m sure someone who knows about Mercedes Benz cars knows the difference between the E class, the SLK class, or the GL 420 CDI, but most normal people don’t know what a bunch of letters and numbers mean.

The Ugly:
- On my previous iPhone (the 3G), the metal band around the front matched smoothly with the black plastic back. On the new iPhone 3GS, I can feel the seam where the band meets the plastic. On the front of the phone, when I flick my finger off the glass, I can feel the seam of the metal band there too.
- In my personal opinion, someone miscalculated in charging iPhone 3G owners $200 extra to upgrade. New iPhone 3G S customers pay $199 (16GB) or $299 (32GB); many early adopters would have to pay $399 (16GB) or $499 (32GB) to upgrade. The CPU speed bump and video abilities aren’t enough to counteract what many early adopters will perceive as a bit of a slap in the face. Last year, the line for the iPhone 3G at Valley Fair stretched outside the building most of the day. When I went to get my iPhone 3G S on the release day at Valley Fair this year, there was no line at all.

And remember that early adopters often give their previous phones to family members. In my case, two other relatives are taking our older iPhone 3G phones and moving from a different carrier to AT&T. By charging early adopters more, AT&T ensures that more people will hang on to their old phones instead giving them to other people, many of whom would then become AT&T/iPhone customers. By limiting the “trickle down” effect as older iPhones go to family members, AT&T is missing a chance to gain more marketshare by acquiring additional new customers.

I’ll be interested to see how Apple and AT&T react. AT&T has already allowed some (but not all) iPhone 3G owners to upgrade without paying an “early adopter penalty.” And Apple can move quickly and decisively when needed--remember the $200 iPhone price drop in 2007 just a short time after the iPhone was released? Of course, it’s possible that penalizing early adopters is all part of some four-dimensional chess game that Apple is playing. If Apple decides to terminate its exclusive U.S. deal with AT&T in a year or so, maybe it didn’t want a bunch of people signing up for two-year contracts this time around? Right now I’m puzzled by what appears to me to be a misstep, but the folks at Apple are smart, so I’d be willing to believe that Apple has good reasons for what they’re doing.

Should you upgrade? That’s something only you can answer. If you still have a non-smartphone or an original iPhone, it’s probably worth it. If you have an iPhone 3G (especially if you’re not eligible for the discounted upgrade yet), you might try OS 3.0 and see if that’s enough. I decided to get the 3G S and I’m glad that I did. I fill all sorts of idle moments with surfing, tweeting, and checking my mail. The iPhone 3G S makes all those activities much faster and more pleasurable. Overall I’m quite happy with my iPhone 3G S.

{ 65 comments }

Google just added machine-translation of Persian (Farsi):

This means you can now translate any text from Persian into English and from English into Persian — whether it’s a news story, a website, a blog, an email, a tweet or a Facebook message. The service is available free at http://translate.google.com.

Is the translation going to be perfect? No. But I saw multiple people around the web asking for this, so I’m glad that Google is offering this translation tool so quickly.

Here’s one final tip: Google provides a set of translation bookmarklets for many languages. The “English” bookmarklet (drag this bookmarklet up to your bookmarks bar) will auto-detect any language (including Persian) and translate it into English. If you select some text first, the bookmarklet will translate just that text. If you click the button with no text selected, the whole page will be translated.

So for some Persian (Farsi) text like this:

Example text in Persian / Farsi

You can select just the text you care about and click the “English” bookmarklet and you’ll see something like this:

Example translated text from Persian / Farsi

This can be pretty helpful, so I’m glad that the Google translation team added this feature. Likewise, if you want to translate from other languages into Persian, here’s a bookmarklet that should work.

{ 21 comments }

At Google I/O a few weeks ago I did a site review session with fellow Google colleagues Brian White and Greg Grothaus. The video from that session is live now and I’ll include it below:

About 38 minutes in, the session morphed into a general Q&A. So even if you don’t care about site reviews, the Q&A might be interesting to you. Video aren’t perfect (for example, it’s much harder for someone watching a video to skim quickly). But I love that I can do a two-minute video by just talking for two minutes. :) Compare that to any blog post which seems to take me at least an hour.

P.S. If you like this session, you might be interested to know that most Google I/O sessions were recorded and are available on video. For example, one of my favorite sessions was watching Aaron Boodman (author of Greasemonkey) talk about how to write extensions for Chrome. The amount of information available from the full session list is pretty amazing. That’s not even counting the Google Wave announcement, which has been viewed about 2.5 million times.

{ 58 comments }

PageRank sculpting

June 15, 2009

in Google/SEO

People think about PageRank in lots of different ways. People have compared PageRank to a “random surfer” model in which PageRank is the probability that a random surfer clicking on links lands on a page. Other people think of the web as an link matrix in which the value at position (i,j) indicates the presence of links from page i to page j. In that case, PageRank corresponds to the principal eigenvector of that normalized link matrix.

Disclaimer: Even when I joined the company in 2000, Google was doing more sophisticated link computation than you would observe from the classic PageRank papers. If you believe that Google stopped innovating in link analysis, that’s a flawed assumption. Although we still refer to it as PageRank, Google’s ability to compute reputation based on links has advanced considerably over the years. I’ll do the rest of my blog post in the framework of “classic PageRank” but bear in mind that it’s not a perfect analogy.

Probably the most popular way to envision PageRank is as a flow that happens between documents across outlinks. In a recent talk at WordCamp I showed an image from one of the original PageRank papers:

Flow of PageRank

In the image above, the lower-left document has “nine points of PageRank” and three outgoing links. The resulting PageRank flow along each outgoing link is consequently nine divided by three = three points of PageRank.

That simplistic model doesn’t work perfectly, however. Imagine if there were a loop:

A closed loop of PageRank flow

No PageRank would ever escape from the loop, and as incoming PageRank continued to flow into the loop, eventually the PageRank in that loop would reach infinity. Infinite PageRank isn’t that helpful :) so Larry and Sergey introduced a decay factor--you could think of it as 10-15% of the PageRank on any given page disappearing before the PageRank flows along the outlinks. In the random surfer model, that decay factor is as if the random surfer got bored and decided to head for a completely different page. You can do some neat things with that reset vector, such as personalization, but that’s outside the scope of our discussion.

Now let’s talk about the rel=nofollow attribute. Nofollow is method (introduced in 2005 and supported by multiple search engines) to annotate a link to tell search engines “I can’t or don’t want to vouch for this link.” In Google, nofollow links don’t pass PageRank and don’t pass anchortext [*].

So what happens when you have a page with “ten PageRank points” and ten outgoing links, and five of those links are nofollowed? Let’s leave aside the decay factor to focus on the core part of the question. Originally, the five links without nofollow would have flowed two points of PageRank each (in essence, the nofollowed links didn’t count toward the denominator when dividing PageRank by the outdegree of the page). More than a year ago, Google changed how the PageRank flows so that the five links without nofollow would flow one point of PageRank each.

Q: Why did Google change how it counts these links?
A: For one thing, some crawl/indexing/quality folks noticed some sites that attempted to change how PageRank flowed within their sites, but those sites ended up excluding sections of their site that had high-quality information (e.g. user forums).

Q: Does this mean “PageRank sculpting” (trying to change how PageRank flows within your site using e.g. nofollow) is a bad idea?
A: I wouldn’t recommend it, because it isn’t the most effective way to utilize your PageRank. In general, I would let PageRank flow freely within your site. The notion of “PageRank sculpting” has always been a second- or third-order recommendation for us. I would recommend the first-order things to pay attention to are 1) making great content that will attract links in the first place, and 2) choosing a site architecture that makes your site usable/crawlable for humans and search engines alike.

For example, it makes a much bigger difference to make sure that people (and bots) can reach the pages on your site by clicking links than it ever did to sculpt PageRank. If you run an e-commerce site, another example of good site architecture would be putting products front-and-center on your web site vs. burying them deep within your site so that visitors and search engines have to click on many links to get to your products.

There may be a miniscule number of pages (such as links to a shopping cart or to a login page) that I might add nofollow on, just because those pages are different for every user and they aren’t that helpful to show up in search engines. But in general, I wouldn’t recommend PageRank sculpting.

Q: Why tell us now?
A: For a couple reasons. At first, we figured that site owners or people running tests would notice, but they didn’t. In retrospect, we’ve changed other, larger aspects of how we look at links and people didn’t notice that either, so perhaps that shouldn’t have been such a surprise. So we started to provide other guidance that PageRank sculpting isn’t the best use of time. When we added a help page to our documentation about nofollow, we said “a solid information architecture — intuitive navigation, user- and search-engine-friendly URLs, and so on — is likely to be a far more productive use of resources than focusing on crawl prioritization via nofollowed links.” In a recent webmaster video, I said “a better, more effective form of PageRank sculpting is choosing (for example) which things to link to from your home page.” At Google I/O, during a site review session I said it even more explicitly: “My short answer is no. In general, whenever you’re linking around within your site: don’t use nofollow. Just go ahead and link to whatever stuff.” But at SMX Advanced 2009, someone asked the question directly and it seemed like a good opportunity to clarify this point. Again, it’s not something that most site owners need to know or worry about, but I wanted to let the power-SEOs know.

Q: If I run a blog and add the nofollow attribute to links left by my commenters, doesn’t that mean less PageRank flows within my site?
A: If you think about it, that’s the way that PageRank worked even before the nofollow attribute.

Q: Okay, but doesn’t this encourage me to link out less? Should I turn off comments on my blog?
A: I wouldn’t recommend closing comments in an attempt to “hoard” your PageRank. In the same way that Google trusts sites less when they link to spammy sites or bad neighborhoods, parts of our system encourage links to good sites.

Q: If Google changed its algorithms for counting outlinks from a page once, could it change again? I really like the idea of sculpting my internal PageRank.
A: While we can’t ever say that things will never change in our algorithms, we do not expect this to change again. If it does, I’ll try to let you know.

Q: How do you use nofollow on your own internal links on your personal website?
A: I pretty much let PageRank flow freely throughout my site, and I’d recommend that you do the same. I don’t add nofollow on my category or my archive pages. The only place I deliberately add a nofollow is on the link to my feed, because it’s not super-helpful to have RSS/Atom feeds in web search results. Even that’s not strictly necessary, because Google and other search engines do a good job of distinguishing feeds from regular web pages.

[*] Nofollow links definitely don’t pass PageRank. Over the years, I’ve seen a few corner cases where a nofollow link did pass anchortext, normally due to bugs in indexing that we then fixed. The essential thing you need to know is that nofollow links don’t help sites rank higher in Google’s search results.

{ 316 comments }

By the way, you might have missed it at Google I/O, but the Custom Search Engine team has made it really easy to add custom search to any site. Google recently introduced Web Elements, which are simple snippets of code you can copy/paste into your site’s HTML.

From the Custom Search Element web page, I copied the code. Then in the WordPress control panel under Appearance->Widgets, I clicked to add a new “Text” widget, changed the title to “Search (CSE)” and pasted the code into the box:

Add Custom Search

Click “Done” and then “Save Changes” and that’s it! No need to register, sign up for anything, get a user ID, or anything like that. You can see the result on the right-hand sidebar of my blog.

{ 47 comments }