Category Archives: Uncategorized

Flickr SOPA blocking is genius

Flickr (among many other sites like Wikipedia) implemented a blackout today to battle SOPA. Their implementation is different though – each user on the site can block up to 10 photos, but those photos can be from anyone, not just the user’s own photos. Browsing through Explore, all photos that aren’t opted out are already blacked. Raises awareness of the issue on whole another level than if the blocking was just of one’s own photos. Well done, Flickr duderinos!

Adobe kills Flash browser plugin for mobile

Headline at ZDNet: Adobe ceases development on mobile browser Flash, refocuses efforts on HTML5

I guess this kills the discussion on whether Apple should support Flash on the iPhone, or not. Also I think Gruber is right in saying this is a victory for everyone. HTML5 just seems to work better on the mobile.

The reasons that I can see behind the move are:

  1. They just couldn’t get it to work very well, and realised that getting things working was more or less a lost cause. It took years to get Flash play nice on the desktop, and it still doesn’t actually work all that well on actual computers, which have significantly more resources to spare than mobile devices. The blame for this is not entirely on Adobe, though – in my experience a large portion of Flash-based content on the web has been implemented poorly and hence tax even computers to the extreme to run. This type of Flash apps are just impossible to get running on the mobile. Additionally, content providers didn’t seem to care jack squat about optimising content for the mobile, and providing a good user experience on a site that runs poorly encoded 1080P video through Flash is just impossible on the current generation of devices (and probably the next couple gens as well), leading to embarrassing video demos of the Flash player sucking at video playback.
  2. Web-based mobile app discovery doesn’t work very well. People expect to get their apps from the App Store or the Android Market. Despite a lot of effort being put onto smooth web app installation on mobile, it just doesn’t work the same as native apps. As a result, the demand for Flash browser plugin on mobile was significantly less than the demand for good tools for creating apps distributable though the channels supported by Apple and Google.
So, someone Adobe just did the math and decided to drop developing an effort that didn’t have much actual demand from Adobe’s customers (you know, the developers) and which was going nowhere.

iOS & Android web use relative to device share

I bumped to an article that mentioned data on web usage share of iOS and Android devices. I found the numbers a bit odd – the most recent numbers indicate over 60% of mobile web traffic comes from iOS devices, while Android commands ~18% of the web use. Where this doesn’t add up is, the device share of Android has been going up hugely over the least two years, so why hasn’t the web use increased in proportion? How much should it have increased?

To answer, I used the data from above, googled for public releases of Nielsen device market share data, and slapped those to Google Docs. Nielsen data is US market share data. The web metrics company doesn’t seem to unfortunately tell about their data collection methods. So, take this with a big grain of salt. Here’s what that looks like:

See how the iOS market share for devices stays flat, while the share of web browsing goes up? And Android device share goes up, but the web share stays relatively flat?

How about visualising the web share proportionate to the device share?

Apple web share is now overrepresented 2.2 times, compared to the device share. Android’s proportional web share hasn’t effectively changed in a year, and is 0.44 times the share they have on devices.

If the data is correct, this indicates that for whatever reason, iOS users are much more likely to actually use their devices to browse the web than Android owners. I’m assuming this is due to a number of factors – the browser in iOS is in my experience more responsive than the Android browser which leads to better user experience, which in turn must be influencing people’s browsing habits. Second, if the premise of Android is affordability, I’m fairly sure the likelihood of iOS users having a good data plan is higher than with Android which in turn will again affect the amount of browsing done using the respective platforms.

Additionally, the way Apple has been developing the iOS ecosystem has been more successful at increasing the usage of iOS as a mobile web platform, than how Android has been developing. That’s counter to Google’s premise of monetizing the platform through providing advertising on the mobile web, where the Android should be the platform to offer the best in class web browsing experience.

Looking this from the operator angle, people more or less pay the operators based on how much data they consume. If the relative proportion of use vs devices gives any indication of the data bill size for iOS and Android, I can see why iOS users are desirable to the operators.

Apple, gaming consoles & Real Racing

I blogged in June about how Apple TV, combined with the iPad 2, made for a console gaming experience. Time for an update.

Firemint recently published an update to Real Racing 2 which adds four player multiplay mode, on the TV. As long as you have at least one iPad 2 or a new iPhone 4S & an Apple TV 2 unit, you can use that device to host a four-way racing game on your HDTV. The rest of the devices can be old iPhones or iPod Touches, only one of the devices actually has to have the streaming capability.


This is pretty awesome. I’m expecting the next gen of iPod Touch will also gain the full mirroring ability, at which point Apple will have a competitive offering to multiplayer gaming compared to the console manufacturers.

Further, I think people working on Wii U at Nintendo ought to be worried. Apple’s solution will be competitive in pricing once the mirror-capable iPod lands, they have a massive existing games ecosystem and the iPod is hugely desirable as a piece of electronics compared to the fugly Wii U controller Nintendo has been showing in public.

This does make me sad given I think Nintendo gets games on a much deeper level than Apple, but is losing to Apple due to having been reluctant in building a platform that enables gaming like App Store. And obviously Apple is currently way ahead in designing and manufacturing hardware.

The next interesting piece of this puzzle is, what will the next Apple TV be like, and are the Apple HDTV set rumors true. If Apple TV had the same graphic processing internals as the iPhone, you could just run the game on the set top box, and purchase a couple iPod touches as controllers. Interesting times!

(If someone at Apple really wanted to push this forwards, they’d create a simple sample multiplayer game shows the board on a TV. Doing this is not hugely complicated, but removing friction in getting started with this would be good for developers.)

Canon IX6550 shared printer paper sizes on OS X…

…issues have been fixed with the most recent printer driver update for OS X Lion. Network computers can print A3 to the shared inkjet. Both the host as well as the network computer needs to have the up to date software. For the client computers, you need to go to System Preferences and delete & re-create the printer after the update.

You have the working driver (as of the moment of writing this) if your System Preferences says you have Driver Version, on both the server as well as the client computer.

Weirdest corporate gift ever

Something I’ve been meaning to blog for months: I visited Google’s offices in March, and got a bag of swag during the visit. Among the gifts was the strangest corporate gift I’ve ever received – a holographic bracelet.

Says the package: “Power Bracelet is a mylar hologram that is embedded with a range of frequencies found in nature that react positively with your body’s energy field. It has been shown to improve balance, flexibility and strength as well as contributing to an overall sense of well being among its users”

The reason I think this is so weird is, the holographic bracelets are magic. Mumbo jumbo, with no scientific proof they work. Google, on the other hand, is run by engineers, and prides in using algorithmic approaches – pure science – to solve problems. So the bracelet is antithetical to what Google represents to me as a company. And it’s a cheap Chinese item, too, rather than anything made with pride in Mountain View. Makes me wonder if the company is being run over by unscientific marketers. Guess Larry Page has some work to do to rever the course of the corporate culture that’s been emerging.

iOS 5 multitasking gestures on iPad

Update: It’s now being reported iOS 5.0.1 is being released soon, and it’ll add the multitasking gestures to the 1st generation iPad. Looks like people at Apple realised they screwed up, and are correcting the mistake. Case closed.

One of the nice new features promoted by Apple for iOS is the Multitasking Gestures which allow you to swipe from app to app. They’ve been testing this on iOS 4 for a long time, and I’ve used them quite a bit on my iPad 1. I’ve especially been using the 5 finger pinch to exit an app, and four finger swipe up to show the app switch menu. The feature was only available to developers in the past, but became available to all users at the launch of iOS 5.

Except it didn’t, Apple killed the feature on iPad 1 on iOS 5’s release version.

I’m guessing this was a last minute decision on Apple’s part, since they launched iOS 5 with a page describing the features that said the features is available on “iPad”, indicating both iPad 1 and iPad 2 were supported. Apple has now silently changed the features page to say the feature is for iPad 2 only, but the UK site and other international sites are still carrying the original page.


So, nice little fail from Apple’s part that’s infuriating the early iPad adopters. I can see why they chose to not support the side swipe from app to app which wasn’t 100% smooth, but it completely beats me why the pinch to exit and 4 finger swipe up were eliminated, as they simply replicated the behavior of the hardware button. So – Apple – could you please add the feature back, and give the users the choice on activating it or not, the way it used to work?

iOS 5 Core Data change

This will only be of interest to you in case you’re an iOS developer and you’re using Core Data. Anyone else – you can safely stop reading.

I’ve made the assumption in the past that NSManagedObjects persisted with Core Data return the same instances of their contained Mutable objects after the NSManagedObject has been deserialized and instanced. This seemed to be a valid (even if wrong) assumption under iOS 4, but is patently false under iOS 5. The NSManagedObject memory allocation scheme has apparently been changed in iOS 5 so that objects are stored in serialized form and deserialized on demand, so that you’ll now get a new autoreleased instance of each object on every accessor call. Hence you cannot ever check for pointer equality between copies of an object returned by Core Data on separate accessor calls – you’ll be getting a new instance on each call.

So, for example:

@interface DateHolder : NSManagedObject  {}
     @property (nonatomic, retain) NSDate *aDate;

@implementation DateHolder
     @dynamic aDate;

DateHolder* aHolder;
NSDate* aDateInstance = aHolder.aDate;
NSDate* aDateInstance2 = aHolder.aDate;

Under iOS 4, aDateInstance == aDateInstance2 (even if this is not apparently guaranteed), but under iOS 5 aDateInstance != aDateInstance2. The values are still obviously equal so ([aDateInstance isEqual:aDateInstance2] == TRUE).

Most apps and developers won’t notice, but there are instances where pointer comparison has been handy, but this is a total no-go route now. I suspect the change was motivated by the iDevice CPUs getting faster so the deserialization process for the devices is getting faster and faster while simultaneously the object graphs in apps is getting richer, and the change allows the device to hold more data in memory.