Things about Google+

Some thoughts about Google+.

First the simple one. I understand / appreciate Twitter’s simplicity a lot more now. It only does one thing. You don’t need to keep track of notifications and posts and tags and checkins and comments. You just read the timeline till you get bored or catch up.

Secondly, on an Android phone, with the Plus app installed, I’m now able to share my photos and comments, and links, you name it, into Plus from the system-wide Share menu, using any application on the system that supported sharing. On my iPhone, I need to wait for the G+ API to be released, then for all of the applications I use to individually invent and implement their own seperate ways of adding a “share to Google+” button, then for Apple to approve new releases of all their software, then I have to upgrade them all on my phone.

One of the reasons that Apple makes products with such nice experiences is because they control the stack from the hardware level right up to the applications on the phone. Everything works together. But that’s where Apple’s work stops – all the applications are (intentionally) silos that don’t / can’t talk to each other. The assumption is that once you have an application to do a thing, you’re finished. To do a different thing, use a different application.

Google’s management / control doesn’t reach down as far as the hardware, or even the OS layer (as the operators / manufacturers can do a lot of things to the platform in the name of differentiation), so Android suffers from a framgmentation problem at those levels. But at the network ecosystem level, they’re stronger than Apple – all of their internet products play together reasonably well. It’s not great, but it’s decent. Google+ can recommend contacts from my address book, or because I’ve sent them mail in the past. It can use the profile I already had. I can use photos that are already in Picassa in my posts without me having to faff (if I used picassa..).

Android has better Share support because Android is a platform that understands the Internet, whereas iOS stops at the Application layer. If you care about having nice applications, iOS is better, because everything about it is aimed at having nice applications. But in the next version of iOS, Apple might manage to ship system-wide support for Twitter, just as everyone I know stops caring.

(Related – when I get a notification on iOS that I have a new @reply tweet, or a new message on some service, it’s merely a notification. I have to launch the app to see what it is. If I’m underground when I see the notification, then I’m just stuffed. On Android, I’ll have the notification because the app already has the data. When I lived in Berlin, this didn’t matter, because you can get decent data everywhere, even on the u-bahn. In London, data is a lot spottier, and it’s changing the importance I put on offline support and background-fetching of data.)

Notification slide-downs


The pull-down is a progressive reveal: when it’s half-way out, you see the top half, which is probably where the stuff you care about is.

iOS 5

The pull-down slides the view into place: when it’s half-way out, you see the bottom half, which will be blank if you only have a couple of notifications. Also, there’s no indication that you have any notifications unless you pull the slide out.

Pretty trivial, to be honest. And both entirely fixable before the actual release of the thing.

iPhone multitasking and background updating

Marco on multitasking:

The application gives the system an NSURLRequest and an ideal refresh interval, such as every 30 minutes, every few hours, or every day.

iOS executes that request, whenever it deems that it should, and saves the response to a local file.

This is a classic ‘Apple don’t do it this way because it’s not good enough’ answer. If I need to make an OAuth-signed request, for instance, this isn’t going to be good enough, because OAuth signatures have timestamps in them. I can’t queue them up in advance.

Marco’s solution solves Marco’s problem. Which is fair enough.

This would allow Instapaper to download updates in the background, and would also greatly benefit RSS readers, Twitter clients, chat programs, weather and news widgets, and a huge number of other applications.

Twitter needs OAuth. Some other app might need to make multiple requests, based on the response to the first one. My use case might be different still. When Apple produce a solution to this one (and I’m sure they will), I expect it to be cleverer than this.

Bits of your iPhone app don’t run on the phone

A while ago I mused,

The ‘application’ as a user interaction experience can keep running in the background, do things, and notify you when there’s an incoming call. Where the code is actually running is irrelevant.

A further thought on this: It’s a design that benefits the ‘owner’ of a web app over third parties. Suppose I want to write an Android twitter client. The official app polls in the background. I can also write an app that polls in the background. Equal footing.

But suppose I want to push all of my twitter updates to the phone. (I don’t follow very many people. This might be reasonable for me.) Twitter have a huge advantage – they run the site. They know when I have a new tweet. If I want to write an iPhone app with push, I still have to poll the twitter servers.

So maybe this is a bad example. Twitter have a streaming API that might actually make this possible. But I think the point is reasonable.

Links on iPhone and Android

Pages that have caused some sort of emotional response in me. There’s a bias here towards things complaining about App Store policies, because they annoy me, but there’s the odd pro-Apple piece in there as well; they might count as balance.

They’re listed in the order I came across them. I may add to the list later – I’ll probably add things to it as I find them.

Ben Ward’s Scattered Mind

So, the original, 3 years old EDGE iPhone, which has not been on sale since the iPhone 3G was launched in 2008, and which has been supported with every iPhone OS update so far, is a comparable ‘legacy’ situation to the fact I can go to Verizon right now and purchase a ‘Motorola Devour’ that only runs Android 1.6?

— Ben Ward

Sayonara, iPhone: Why I’m Switching to Android

What makes this even more insulting is that Jobs tries to dress up his selfishness as a kind of altruism. He says it’s all about creating a beautiful experience, that while he may be selling you an intentionally crippled device, he’s doing it for your own good.

— Dan Lyons

Android vs. iPhone Notes – Steven Frank

A long list of pros/cons that I can’t reasonably excerpt here.

I’m Abandoning iPhone Development

Ask permission environments crush creativity and innovation. In healthy environments, when would-be innovators/creators identify opportunities the only thing that stands between the idea and its realization is work. In the iPhone OS environment when you see an opportunity, you put in work first, ask Apple’s permission and then, only after gaining their approval, your idea can be realized.

— Dan Grigsby

*cough* bullshit *cough*

Apple is a company that produces amazing, human-usable products. I love them for the same reason I love any such company, and I forgive them their eccentricities because their products are so amazing. They make decisions that I’m told are bad for me, yet I don’t see that reflected in their products as I use them.

— Mike Lee

revMobile and Apple’s new iPhone SDK Agreement

In response to a question in a recent Apple shareholder’s meeting, Jobs said that a HyperCard-like product for the iPad would be a good idea “though someone would have to build it”.

Steve Jobs has now rejected our proposal and made it clear that he has no interest in having revMobile available on the iPhone or iPad in any form

— Kevin Miller

[C4 release];

Apple is crazy-innovative in terms of hardware and software design, but I can count the total number of software engineering advances they’ve made on one hand.

Section 3.3.1 makes developers wholly reliant on Apple for software engineering innovation.

— Jonathan ‘Wolf’ Rentzsch

iPad definitely a threat to Windows

I love my ThinkPad T400. But when I go to it, I have to pray whether it’ll come out of sleep. If it does come out of sleep, it’ll be slow. Maybe it will be out of batteries. Who knows.

— frogboy

Open is for losers

When Costolo asked whether he would invest in a company building for the iPhone versus Google’s Android platform, [Paul] Graham answered, “Of course, iPhone. I’m talking about what I hope will set us free, not what will generate opportunities.

— Anthony Ha

Regarding John Nack on Apple’s Control Over Native iPhone OS Software

Apple is testing whether a tightly controlled and managed app console platform will succeed or fail based on its own merits, as determined by customers.

— John Gruber

Cocoa, Flash, and Safari

HTML5 is an open standard. Yes, the W3C process can be frustrating. But Apple is a W3C member, and more importantly, it has a product in Safari / WebKit that not only tracks the standard, but drives it. WebKit has been a leader in modern web technology adoption for years. Apple happily gives its improvements back to the public WebKit branch, because leading is the next best thing after owning.

— Matt Drance

Is Android Evil?

Is Android evil? No, it isn’t. It has done no harm – quite the contrary, Android has boosted the level of innovation on mobile software. The point of the article is not to vilify Google or concoct visions of Darth Vader; but to balance the level of openness hysteria with a reality check on the commercial dynamics of mobile open source.

— Andreas Constantinou

Five rational arguments against Apple’s 3.3.1 policy

It’s hard to build a business on a platform where you feel like you cannot trust the men in power. If they can take down Adobe a few days before the launch of their flagship product, what hope do smaller players hold?

[..] This is especially true when Tier A developers like EA gets away with things that Tier C developers in their basement don’t. It breeds an air of aristocracy where the lords can roam as they please but the peasants are kept on a tight leash.

— David Heinemeier Hansson

Apple’s wager

Cumulatively, these actions represent a huge bet placed by Apple. The proposition is this: Apple is betting it can grow its platform fast enough, using any means necessary, that developers will stick around despite all the hardships and shoddy treatment. Each time it chooses to do what it thinks is best for the future of the iPhone OS platform instead of what will please developers, Apple is pushing more chips into the pot.

— John Siracusa

Why Apple Changed Section 3.3.1

If you’re a developer and you’ve been following Apple’s advice, you will never even notice this rule. You’re already using Xcode, Objective-C, and WebKit. If you’re an iPhone developer and you are not following Apple’s advice, you’re going to get screwed eventually. If you are constitutionally opposed to developing for a platform where you’re expected to follow the advice of the platform vendor, the iPhone OS is not the platform for you. It never was. It never will be.

— John Gruber

Pain Is A Gift

Pain is a gift: the signal that prevents a burned finger tip from becoming a body engulfed in flames. Apple is numb from success, and I hope the emerging competition from Google and others will re-sensitize them to the threat of failure.

— Daniel Jalkut

Android VM Performance is not a Factor

Fifteen years ago, all we thought that Java needed to rule the known universe was a faster VM. If we just had that, Windows and all native UI applications were toast. After lots of hard work by wicked smart people, and more than a few years, Java VM performance was increased to the point where it wasn’t a problem any more. But that didn’t change the equation of where Java did or didn’t succeed. Most notably, the Java GUI applications didn’t suddenly kick native Windows or MacOS applications to the curb.

— James Duncan Davidson

From iPhone to Android

Where Android shines in some areas, it really falls apart in others. Things that are ridiculously simple on the iPhone such as taking a screenshot involves installing an SDK and going through a 15 step tutorial to do on Android.

— Justin Williams

Gameloft Keeps Getting it Wrong

According to our refund policy, once the game is successfully installed, we cannot resend it for any reason, unless you buy it again. One purchase entitles you to one download of the game to one phone number and on one phone model only. If you delete or otherwise remove the game from your phone, or change your handset, you will have to buy it again.

— Scott Webster

(Turns out, a single app store does stop people pulling really nasty moves)

Sentence first — verdict afterwards

Our application is being removed for a very murky reason, one which is nowhere to be found in any documentation that Apple give us developers, even worse one which Apple themselves refuse to explain, or put in writing.

— ShiftyJelly blog

Steve Jobs Live at D8

“We’re just trying to make great products,” says Jobs again. “We don’t think Flash makes a great product, so we’re leaving it out. Instead, we’re going to focus on technologies that are in ascendancy. If we succeed, people will buy them and if we don’t they won’t….And, so far, I have to say, people seem to be liking the iPad. We are selling an iPad every 3 seconds.”


I don’t think Steve Jobs or Apple is evil, but I do think that the App Store is an idea that’s been executed in a way that deeply offends everyone involved that isn’t Apple.

— waffle

Pulse iPad App Gets Steve Jobs’s Praise in Morning…Then Booted From App Store Hours Later After NYT Complains

[..] by the afternoon, that flush of entrepreneurial success had turned sour, after Apple informed the two that Pulse was being pulled from the App Store after it received a written notice from the New York Times Company declaring that “The New York Times Company believes your application named ‘Pulse News Reader’ infringes The New York Times Company’s rights.”

— Kara Swisher

Google protests Apple’s iPhone developers agreement

The updated language — which was first noted by the MediaMemo blog — appeared to
put in place significant new restrictions, particularly when it comes to Google.

Hello Lua

While explicit approval from Apple is still required, these new terms seem to acknowledge that there’s a difference between an app that happens to have non-compiled code, and a meta-platform. It’s a step that should allow for many new possibilities.

— Matt Drance

Joyce’s Ulysses Banned Again—by Apple

Again, Apple can censor what it wants, and the rest of us can like it or not. But Apple is making a mockery of its own anti-porn stance in this instance. There is no clear reason why it should define obscenity more narrowly than the U.S. courts do. And even if there were, broadening the definition of porn to frivolous extremes turns the App Store into a joke at a moment when viable alternatives are emerging.

— Kevin Kelleher

Almost on the App Store

When the Apple reviewers saw bs chunks of code littered throughout the documentation, it’s not hard to see how they thought I was running a custom script interpreter on the phone.

— Rob Rhyne

Hard to judge this one. In certain lights, it is interpreting code. From another angle, it’s just loading a document. Is there really a distinction anyway?

On needing approval for what we create, and losing control over how it’s distributed

The problem is that fundamentally, it’s just never going to be possible to prevent the garbage. If you want to have a boutique, like the Apple retail stores, where you can buy a specially selected subset of merchandise from third parties, then great. But instead, we’ve conflated wanting to have that kind of retail control (a smart idea) with the only conduit by which software can be sold for the platform (an already flawed idea).

— Ben Fry


[..] the iPad attempts to simplify computing not by some stroke of magic, but by doing less. You can’t have full multitasking and multiple apps oncscreen at the same time and apps installable from everywhere and compatibility with Mac OS X and a physical keyboard AND simplicity.

— Neven Mrgan

Three fucking months has sat in the review queue, and in that time, the app review team has allowed other prototyping applications onto the app store: applications that do the same basic tasks that was created to do.

— Jeff LaMarche

Pushing web pages to your iPhone

One of the things I saw at the Google IO Event – to demonstrate Android Push events, they had a Chrome extension that would push the currently open web page from the browser to a phone. I want that for my iPhone.

Of course, the iPhone has Push Notifications already. So here’s how to do it badly. It’s not as slick as the Android version, because I’m not going to write any new software to do it, but it’s a lot easier than typing URLs in manually, or emailing them to yourself.

First, install Prowl. Although billed as a Growl client, Prowl is at core just a push notification client with a simple REST API. It costs money. Deal with it. Once installed, go to your settings page and note the ‘API key’. Drag this ‘send to iPhone’ bookmarklet to your bookmarks bar or somewhere, edit the address, and change the APIKEY string at the beginning to your Prowl API key (leave the quotes round it):

send to iPhone

Now clicking the bookmarklet will send the currently open page to your iPhone. Opening it is a bit of a multi-step process, alas – tap ‘view’ to open the notification in Prowl, then you can tap the URL to open it in Safari. I’m sure someone could write a dedicated app to skip this step, if they wanted to.


Apple has approved an iPhone case [..] that includes an NFC chip connected via the dock connector [..] I doubt Apple would do that if it were about to announce direct support for the technology itself.

The Economist / Babbage



iPhone notifications

People seem to think that for the iPhone, ‘notifications’ mean ‘not really runing in the background, but merely gets woken up by a server ping’. From a strictly engineering point of view, this might be true, yes, your code is not running. But from a user point of view, what code is running is totally irrelevant. The ‘application’ as a user interaction experience can keep running in the background, do things, and notify you when there’s an incoming call. Where the code is actually running is irrelevant.

Offline web apps

So here’s a thing I’d like to see. I’d like a standardised logo/button for mobile web applications that means ‘this web page will work offline on your phone’. I’m thinking of things like Pie Guy, that use HTML local storage and offline caching and so forth, so they can be added to your home screen and used just like a ‘real’ app. Tapping the icon should tell you what it means and explain how to save the app locally. And it should adapt itself to the local platform, be that Android or an iPhone or an N900.

Get to it.

No, no, I didn’t like it. I liked the original. I don’t resent someone else having a different opinion, but i resent having my name attached to it in approval.