Fishpool

To content | To menu | To search

Tag - Android

Entries feed - Comments feed

Thursday 13 October 2011

Where the chips fall - platform dominator for 2012

It's been about a year since I put my prognosis skills on the line and tried to predict where technology and consumer products are heading. Since today is National Fail Day in Finland, perhaps it's time to try again. Lets see how right or wrong I end up being.

Last year I noted a couple of things about mobile platforms and of the software environments best suited for creating apps on them. While this year has seen a lot of development on those fronts, little of it has been in surprising directions. HTML5 is coming, but not here yet. If WebGL and Intel's River Trail project were supported by the Big Three (IE, Firefox and WebKit, ie Safari/Chrome), that'd make an amazing game platform - but at least the latter is research-only at this point, and IE9 isn't going to support either. In the meantime, Adobe finished Flash 11, which now has hardware-accelerated 3D in addition to a pretty good software runtime, and, after only 10 days out, already has 42% reach for consumer browsers (at least judging by stats on habbo.com). Like I've said a long time, Flash gets a lot of undeserved crap due to the adware content created on it. We won't get rid of that by changing tech, and platforms should be judged by their capabilities in the hands of good developers, not by mediocrity. And, as far as mobile goes, the trend continues -- iPhone and Android battle it out, now also in courts as well as in consumer markets, while everything else falls under the wagon. If you're creating an app -- do it either with a cross-platform native toolchain, or with HTML5. If you're doing a game, do it with Unity or Flash, and build a native app out of it for mobile.

The interesting thing, to me, is playing out on the Internet. Google+ came out as a very nice product with well-balanced feature set, but (fairly predicably, though I was rooting for it) failed to catch the early adopter fancy for long enough to displace Facebook in any niche. Facebook, on the other hand, scared (or is going to scare) 40% of their audience by announcing Timeline (eek, privacy invasion!). Brilliant move -- you can't succeed today without taking such leaps that nearly half of your audience will be opposed to them, at least initially. Smaller changes simply aren't meaningful enough.

So, I'm betting on Facebook. I'd also guess that once they get Facebook Credits working outside of the Canvas, they're going to demand that any app using Facebook Connect log-ins will accept Credits for payment. I'd hazard a guess they're even going to demand FB Credits exclusivity. They'll fail the latter demand, but that won't stop them from trying it. Having your app's/game's social publishing automatically done by Facebook simply by feeding them events, and not having to think about which ones are useful to publish, is just such a big time saver for a developer, no one will want to miss out on it.

Not even Zynga. They're doing this destination-site, we're-not-gonna-play-inside-Facebook-anymore strategy, but continue to use Facebook Connect for log-ins. That's not because FB Connect is so much more convenient than own username and password (though it is), but because even they can't afford to let go of the "free" access to people's social network. That's the power of Timeline and the new, extended Graph API.

The chips are still in the air. When they fall, I think Facebook will be stronger than ever, but strong enough to displace the "rest of the Internet"? No. As a developer, I want to push Facebook the data for in-game activities, because that saves me time doing the same thing myself. As a publisher, I'm unsure I want Facebook to have all that info, exploiting them for their purposes, risking my own ability to run a business. As a consumer, it makes me uneasy that they have all that info about me, and while I can access and control quite a lot of it, I can't know what they're using it for. I don't think that unease will be enough to stop me or most other consumers from feeding them even more data of our lives, likes and activities. Still, they're only successful doing this as long as they don't try to become a gatekeeper to the net - nor do they need to do that, since they get the data they want without exerting control over my behavior. Trying to fight against that trend is going to be a losing strategy for most of us - possibly even for Google. Apple and Microsoft won't need to fight it, because they're happy enough, for now at least, to simply work with Facebook.

Sunday 28 November 2010

Notes on Samsung Galaxy Tab

Last week, I noticed Amazon UK had a pretty decent price on the Samsung Galaxy Tab, which I had already set my eyes on earlier - so order it I did. It's been a mixed bag of experiences over the week. I was hoping for a bit smoother ride. Now, to begin with, I'm a very satisfied Android user since getting a Nexus One last March - having gone through the experience of both Android 2.1 and 2.2, I'm eagerly awaiting 2.3 release. I've also been impressed by the Galaxy S phone, which I have not used as a primary device, but have played around with for a few days. I knew what I was getting into - having used a Nokia 770 back in 2006 and tried the iPad enough times to know Apple's limitations still don't jive with me, I knew the Tab would not be perfect, but it'd probably be useful. Also, I wanted something that would let me avoid carrying the laptop around quite so much.

The good

I like the form factor of the Galaxy Tab a lot. Never mind what Steve Jobs says, I think 7" is a brilliant compromise. It's big enough to work for an Internet terminal, just big enough to have a usable two-finger keyboard, and yet small enough to fit to a pocket. Not any pocket, mind you - but most mens' jacket pockets will do.

The doubtful

What's up with that dock connector? Galaxy S has a perfectly working micro-USB connector, and Tab would have been much better with one, as well. Sure, maybe they felt the 2W charging power requirement and micro-USB would not have fit together that nicely, but I'm sure there would have been better solutions. Also, while I don't really see the need for HDMI connectors on phones (the N8 micro-HDMI for instance feels more of a gimmick than something truly useful), on the Tab I miss it.

The build quality is good, but not great. Unlike the Galaxy phone, for example, there is a clear seam between the front face and the rest of the case. This sort of thing wouldn't even have been noticeable just a few years ago, but now it stands out.

Finally, I knew that the device is more "a phone" than might be expected from the form factor, due to Android 2.2 having been developed for smaller devices, but the amount of places the phone capabilities show up in is rather amusing, given it makes calls only with a hands-free attached. For example - why is there a call button in the web browser besides the URL bar?

The downright ugly

Update 3 weeks later: I took the hacker route (again!) and downloaded an alternative firmware to the device. Certainly not a task for the faint of heart, but after three failed attempts, it booted. Many of my previous issues are solved or at least greatly mitigated -- but my "this is not a consumer-friendly experience" assessment stands... Original critique continues below.

Given how much money Samsung has thrown into marketing this device, with every streetside filled with ads, it's nothing short of amazing how bad the packaging is. I don't mean the box - that was nice enough, but what appears on the device once you turn it on. Mine has the UK customizations, and other markets will probably see something slightly different, but... 1. a task manager widget that you'd expect on a developer prototype, but not in a final consumer version, 2. video examples consisting of trailers for last years' movies in low resolution and broken aspect ratios! I mean, The Dark Knight was a great movie, and I plan to watch it again, but I didn't need a YouTube clip to remind me!

That's all fixable by some customization. A consumer shouldn't have to, and it sets a horrible first impression, so I'm not surprised the device isn't quite selling as expected, but I was going to throw that crap away anyways. No, what really bugs me is that the thing is sluggish. It has a 50% faster CPU and twice the memory of an iPad, and at times that really shows in great performance, and then, out of the blue, it decides to wait 2 seconds before responding to anything, or show a blank browser window for 15 seconds when I try to load a simple news article. And no, it's not due to Flash - I disabled automatic Flash startup (equivalent to AdBlock, a standard feature in the Android browser).

Samsung has made quite a few tweaks to Android's UI to fit it better to the 7" screen. They've stayed admirably close to the already-good Android baseline (unlike some other manufacturers), and most of the UI changes are quite OK, but at the same time, it looks like they've bitten off a bit more than they can chew in terms of software development, and the amount of bugs affecting the usability is pretty high. I hope they'll be able to deliver 2.3 soon.

Speaking of 2.3, my Nexus One received 4 over the air software updates over the last week. It's still Android 2.2.1 build FRG83D though, and the only thing I've noticed has been the last letter of that build number changing). I wonder what's up with Gingerbread -- with this winter weather in Helsinki, I might grow tired of glög and gingerbread pretty soon :)

Tuesday 9 March 2010

Smartphone platforms comparison - a developer perspective

Having for years used Nokia phones, lately S60 phones of various generations, with a fair amount of experience of the iPhone/iPod Touch OS and lately having used both the Nokia N900 (Maemo OS) and the Google Nexus One (Android) devices as well, I can't avoid comparing these together. As a developer, I'm not really that interested in what they look like today, because today's devices are not what a developer needs to target for applications - rather, what can one determine of the platforms' future from looking at their past?

I can't make any comparisons to the Palm Pre (WebOS), Windows Mobile or Blackberry devices, since I have no first-hand experience of any of them. However, of the four platforms I know to some degree, not only is iPhone still clearly in the lead, but it looks to have the most predictable future as well. iPhone OS 3.1 no longer misses any significant functionality and has gained all the important bits without giving in on the level of platform polish, and the application market is humongous. Its only real weakness is the draconian control Apple enforces, and the crazy restrictions that results in. Those issues are well documented by a recent EFF post outlining the contents of the iPhone developer program contract.

The imminent launch of iPad is the first time the platform starts to experience any kind of real fragmentation in terms of a application development target. At this point that fragmentation looks like to be minimal - with the iPhone, iPod Touch and iPad all sharing the same OS, same UI, practically same inputs and outputs and differing only by what networks are available for communication and what size the screen is, developers are not going to have a hard time at all in developing for all three devices.

That is quite unlike the situation on the other three platforms (Symbian, Android, Maemo). The fragmentation of the Symbian market is a matter of some notoriety. Basically, the same app will not work on phone models launched 9 months apart, or sometimes even on simultaneously launched devices, due to differences in the OS, let alone differences in the form factor, screen size, input mechanisms, and so on. With already two major revisions announced, this trend is only going to continue, and the base OS is already nearing 15 years old, if traced back to the first 32 bit EPOC it evolved from, though I believe the first S60 UI version came out in 2002.

Android is beginning to suffer from the same disease. Not only are the devices on the market each a running different base OS version with different features available to applications, but nearly all of them are also customized by their manufacturers or network carriers with little regard to compatibility (nor in fact could they have any regard for it, since none of them have any previous experience maintaining a platform). And of course each one has a different form factor. However, the most surprising feature of the platform (as a recent Nexus One user) is that even though Android is barely two years old, it already carries with itself a legacy of inconsistent UI controls. What exactly does one do with an indirect-control pointing device (a trackball) on a device capable of direct control via both a touchscreen and motion sensors? Why are the built-in applications (never mind those available on the Android Market) full of menus, "select an object and execute a function on it via a separate control" type UIs clearly inheriting baggage from the decade before touch screens, and other clunky hacks, when there's a rich base to copy from in the iPhone UI design library of 150,000 applications?

So, what about Maemo? I bought a few years ago the very first Maemo device, the N770 Internet Tablet. I've seen and played with every device since. All of them up to the N900 carried the same "windows and menus" baggage Android is suffering from, but the refreshed UI in N900 got rid of most of that. Not entirely so, but enough that I can state with confidence that the N900 UI is more modern, more designed for the touch screen than Android is. However, Maemo's weakness is that of a platform - there's none. Every version of the OS thus far (five iterations on the market) has broken compatibility with the previous. Now, that's to be expected and somewhat forgivable as long as it's in developers-only mode, essentially being beta tested. It's hard to call N900 a beta test any longer. What's worse, is that Nokia has publicly stated that the next device, whatever it's name, and regardless of whether its OS is called Maemo 6 or MeeGo whatever, is also going to be incompatible with the current one, and applications will require a re-write. This is no way to build a developer base.

So, what do we have to look towards to as application developers, trying to figure out what platform to target when working on our next mobile applications?

iPhone, a consistent, easy to use platform with a stable technical roadmap and little legacy baggage, but saddled with an unpredictable owner who's just as likely to deny you from doing business at all than to support you in it?

Symbian, full of legacy, and with a refreshed, incompatible platform to launch maybe next year?

Android, fast-growing, but already full of clunky hacks, and fragmenting faster than than anyone's seen before?

Or Maemo, approaching a state of polish but unable to maintain direction for the length of one device cycle?

I think we're all going to miss the days of Java mobile games development before this is over.