Archive for Platforms

Stepping Off the Edge

imagesUbuntu is my preferred flavor of desktop Linux by far. In fact, I consistently used it as my daily driver for over two years and only left because I was having trouble with Pulse Audio (who wasn’t back then) and I started to doing Apple development which required a Mac. Despite moving to OS X, I’ve kept a close eye on the development of Ubuntu and have run it on several machines and plenty of desktop VMs. Recently, however, it has been taken in a somewhat perplexing direction culminating in the absurd $32,000,000 Indie GoGo campaign for the Ubuntu Edge.

Before you get your knickers in a knot, no, I don’t have an issue with Unity or Mir; in fact, I think Canonical is doing the right thing by moving away from the aging and bloated X and it is haar to deny that the recent releases of the Ubuntu desktop have been the best looking ones they’ve had.

Usually, I’d be happy about a Linux-based operating system taking user experience seriously; after all, that’s pretty much the basis for Apple’s rise. Canonical, however, doesn’t seem to be acting in the interest of desktop Ubuntu and the gains in user experience feel like little more than side effects of the change in focus to mobile.

Not that I am against making a great mobile operating system! I’d love to see someone branch off the code and create Ubuntu Phone or something like that. My feelings regarding iOS conventions bleeding over into OS X apply here as well — basically, I believe that a desktop OS and a mobile OS should be two totally different products and, given the failure of the Surface, it seems the market agrees with me.

There may be an opportunity for Canonical in the mobile space and I could of course be wrong. In fact, given Canonical’s willingness to get in bed with the mobile operators and willingness to allow them to pervert and mar the system’s user experience, the carriers are somewhat likely to embrace Ubuntu on mobile.

Users, however, are likely to disagree. Sure a lot of people who don’t want to pay for a smartphone will take the carrier’s freebie and that’s great for Canonical if that freebie runs Ubuntu, assuming Canonical is getting some sort of financial remuneration per handset, but this group of people is pretty much worthless to developers, since, as the statistics on the low end Android phones show, these users are unlikely to even download many apps let alone pay for apps. These low value users are unlikely to warrant even passing attention from quality developers. If Canonical wants Ubuntu to be an app platform powerhouse, it ought to focus on the platform where it already has high value users — the desktop. The current state of the Software Center on Ubuntu is a disgrace and should never have been released to the public. Beyond being buggy, it is an insult to any developer that would publish any app on it.


Ouya Review

imgresCoder Radio listeners will know that I was an early Ouya backer and was a little disappointed in the backer unit. Earlier in the week, I received a consumer unit and know feel that it is appropriate to write a full review of the device; previously I felt that it would be unfair to write up a review of a developer unit.

The Good: The developer unit had some issues with controller lag and buttons often sticking, however, the full release unit addresses those issues for the most part. On a few games, there was some input lag, but that is likely caused by shoddy programming in those games rather than any issue with the input device itself. It might seem a bit picky but input lag is a deal breaker and it is great that the Ouya team has been able to address these issues. The Ouya store was originally extremely slow and that has been for the most part addressed, however, it does appear that the store does not (or often fails to successfully) cache the cover images which causes the store’s images to be slow everytime you load it; still, the store is far more usable than it previously was and some of the lag issues might be due to it being still very near its launch day rush. I was also pleased to see a few interesting independant games on the Ouya that were designed for consoles rather than just being mobile ports from Android.

The Bad: The majority of games available on the Ouya are pretty bad. This is caused less by the laissez-faire approach that Ouya take to its submission process, though that is certainly a contributor, and more by the fact that a lot of the early games are bad ports of touch games. It is more than a little jarring to see games that are excellent on my Nexus 7 perform so badly on the Ouya. Still, it is hard to blame the Ouya for lazy developers, but these poor ports do make me wish there were some kind of submission review process or at least testing for input lag and other very obvious bugs. Another pain point in my review was that the Ouya does not list the full price of a title or the in game purchases available for that game on the game’s store page. This is a little frustrating, since I would like to be able to know if a game is based on a traditional purchase model or a microtransaction model when browsing the store; this issue is by no means a major problem but would be worth further review by the Ouya UX team.

The Ugly: Based on information that has become available from retail and the Kickstarter numbers, the Ouya has sold well, but it is not entirely clear what that means for independent game developers. For instance, a significant emulation community has sprung up around the Ouya and there is some concern that the device may become little more than an emulation box — potentially limiting the market of owners interested in purchasing original independant games on the console. At this point, removing emulators from the Ouya store would be politically damaging for Ouya, but it is also unclear to what degree (if any) emulators are cannibalizing what could have been original game sales.

The Bottom Line: The consumer release of the Ouya solves a lot of the issues found in the developer release and is definitely worth taking  a look at from a consumer perspective. As a developer, the consumer release definitely makes it worth taking another look at, but the issues around emulation and the newness of the platform temper somewhat any enthusiasm in the platform.


Why Not Platform X?

Recently, I launched my latest app Tomato Soup —  simple iOS pomodoro timer and have been fielding a lot of questions from Coder Radio listeners regarding my platform choice; for those who don’t know Code Journal (iOS and OS X) and Tomato Soup (iOS) are both only available on Apple platforms. Many of these listeners seem to think that my selection of a particular platform over another is some sort of indictment of lack of confidence in the alternative platforms, however, that’s not always always true and there perfectly legitimate reasons to go single platform for any particular project.

One of the most obvious ones is familiarity with the platform, development environment, and language. In my particular case, Cocoa and Objective-C are by far my favorite platform / language combination. That doesn’t mean that there is anything wrong or I think badly of C# / .Net or Java — in fact, I often find myself defending Java against folks who spend far too much time reading alarmist Reddit posts. All it means is that I am most efficient in Objective-C. As they say: “Time is money” and sometimes shipping fast is important and the time it would take.

Increasingly, platform vendors are adding features to their platforms that can (generally speaking) only be accessed via the native API — an example of this on OS X is Notification Center. Sure, it is possible to write a wrapper around the Cocoa API for Notification Center, but that’s usually harder than you would hope and adds maintenance to your project that (in most cases) would not be put on the individual developer.

Some projects just market better on specific platforms. A lot has been discussed about the marketability of apps on Linux in particular, but I really don’t think that the conversation needs to center around Linux but should rather be about the tastes and norms of users of each respective platform. For instance, it is usually tough to sell an OS X app to a Mac user that doesn’t “feel native” but that problem doesn’t generally exist for Windows or Linux users.

Developing software for multiple platforms presents its own issues and often takes more financial resources than honing in on a specific platform. The sad fact is that if ISVs (independent software vendors) regularly poured more resources into cross platform development, we would eventually have fewer unique applications released.

I hope this provides a bit of clarification and rest assured that I, like most developers, do not hate your chosen platform and sincerely wish I could easily have my software on as many platforms as possible.

Review: HTC 8X

HTC 8XSanta was good to me this last Christmas. Not only did I get a Asus Vivo Tab RT but I also got an HTC 8X. I am currently replacing my Galaxy Nexus with the 8X and have been living in the device for a little under a month now.

HTC has done a pretty good job with the hardware. The phone feels not only light but also sturdy — something I have found lacking in many of their other products and my Galaxy Nexus. The screen is certainly not “retina” but is more than adequate. The speakers are again more than adequate.

With good hardware the discussion turns to the device’s software. To start, I like Windows Phone 8 as an operating system — despite its less than impressive name. As a developer, I even like the API (more on that another day) but as a user who knows something about technology, I can’t approve of the app selection or of the quality of the majority of the apps that I’ve tried. To be fair to Microsoft, there is nothing wrong with their software and a lot of the issues I am seeing are the fault of Windows Phone’s third party developer community or, perhaps more accurately, lack thereof.

Since I’ve been using the 8X as my day to day phone, I’ve been able to do most of what I did with my Galaxy Nexus but unfortunately the workflow has not been ideal. The biggest issue is that I have a large dependency on Google Apps, including Gmail, and Windows Phone 8 is not nearly as integrated with Google’s services as Android; to be far that’s to be expected, but the fact that my email has to manually sync every twenty minutes is less than ideal and I feel a bit out of touch with the Windows Phone. Unlike the lack of third party apps, these Google issues are unlikely to be fixed by time due to the fierce competition between Google and Microsoft; yes, I could just switch off of Google Apps and onto Office 365 but that seems like a lot to ask for the sake of a smartphone.

Overall, I like the device and if I weren’t so invested in the Google Apps ecosystem for my work the transition would be easier. Questions? Comments? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, INC.

Ubuntu Phone OS: Initial Thoughts

ubuntu-logoLooks like Canonical is serious about making 2013 a big year for the Ubuntu project. As I am sure you are aware, Canonical revealed the Ubuntu Phone OS earlier this week. Unfortunately, like most Linux enthusiast, I have not been able get my dirty little mitts on a device running the new operating system but have been reading everything that Canonical and other sources have written about it. I really would love an Ubuntu-based phone, but have some serious misgivings about the OS: Canonical  doesn’t have carrier relationships, the mobile market is maturing, and you can’t buy an Ubuntu Phone today.

Carriers are incredibly powerful in the mobile space and it is more than a little difficult to release a product without their approval and cooperation. To date, Canonical has no public relationship with any carrier and has never released any sort of device that uses cellular technology*. If you know the history of the iPhone and Apple’s interactions with the major US carriers to get the original iPhone on the market, then you know how difficult dealing with them can be. The telcos are old companies and they run their business in a very old school manner, basing a lot of what they do on relationships.

For the sake of argument, let’s say that Canonical can get a good carrier relationship to the point where the carrier actually promotes and pushes the Ubuntu Phone; make no mistake here — the carriers do push certain phones over others in the stores via ‘sales incentives’. The last time a carrier really stood behind one platform was a huge success for the platform — the platform was Android and the campaign was Verizon’s ‘Droid’ campaign. It’s fair to say that Verizon made Android a household name and can be credited with a lot of the platforms early success, but would they do it again? Would any carrier when they can just work with any of the hundreds of Android manufactures and get a platform they know they can sell? It is widely held that the ‘Droid’ campaign was designed to compete directly with the iPhone, an AT&T exclusive at the time. The market today is different, however, and if the carriers want to push handsets other than the iPhone (perhaps because they can strike a better financial arrangement with a different manufacturer than Apple), they already have the Android powerhouse and the Windows 8 darkhouse. The market is matured and there isn’t just one platform anymore. Worse still for Canonical (and Microsoft but more on that later), a lot of everyday users have spent a lot of money on apps for Android and iOS. I believe that this creates something of a platform lock in scenario that most consumers would be unwilling to move from one platform to another, because they have purchased apps and other content that cannot be moved between platforms.

It’s 2013. You can’t make a huge mobile announcement and not actually have anything consumers can buy, but that’s just what Canonical did. Of course, they will get a lot of Ubuntu fans (myself included) installing the OS on a spare Nexus but, for the mass market, they have just squandered the excitement that the market displays around a new platform launch. Worse still, they have not announced any retail partners. The sad truth is ‘normals’ (non-geeks) buy their devices in carrier retail stores or other outlets. If the Ubuntu Phone does not have a retail presence, then, for a huge market segment, it might as well not exist.

This article has been focussed on showing the issues with an Ubuntu Phone. That does not mean that I am not an Ubuntu fan. In fact, I would it to do well, since more competition in the space is good for developers and the market as a whole. Questions? Comments? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, INC.


*UPDATE: Thanks to Arthur for pointing out that they did in fact release a netbook running Ubuntu in cooperation with Vodafone. However, they have never released a phone with carrier support.