Android fragmentation, development frustrations

12 04 2013

As a developer we want to be able to produce nice maintainable code, ideally a single code base and deploy that on as many platforms as possible. While on the desktop this is pretty simple, come to the world of mobile and well, things get more complicated, with Android I would say a mess really.

Androids fragmentation makes it hard to support all devices, hell, there isn't even a business case to do so

Androids fragmentation makes it hard to support all devices, hell, there isn’t even a business case to do so

Things to consider

I don’t want to talk about cross platform development etc. rather there are a few blogs I’ve written on this subject already (see Cross Platform Mobile Development – CloudZync blog, and one of my recent blog posts, Cross Platform mobile app) , so for the point of this post, we will presume that you are going to build a native app with a technology like Xamarin (Monotouch). So what challenges are there then to build an app that works on multiple platforms?

Well first off what platforms are supported? At the moment, that’s limited to iOS, Windows Phone and Android devices (no Blackberry in there at all – though I hope this changes if Blackberry 10 starts getting some form of traction in the consumer market). For each of these operating systems we still need to take into consideration the actual platform style, there is no point in trying to deliver a Windows Phone type app to an iOS device as it simply won’t work (they don’t share the same controls and the look and feel would be a very jarring experience). You may be thinking that that means you still need to maintain separate code bases, even with our cross platform technology, but you would be wrong.

The beauty of C# and the whole Microsoft development environment is the way you can structure applications. If you are familiar with MVVM then you will understand my point. MVVM (Model View ViewModel) allows a developer to separate concerns within the application, to be very basic, it means we can separate out the UI elements from the actual working code. (Have a read here if you want to undertand MVVM) So we can maintain a single code base in essence for the app across the multiple platforms even if we change and modify the UI.

Fragmentation

This is the point of this article, while we have to do different things for different operating systems, we have to do different things still for the same operating systems even, well in the case of Android quite a lot different.

With Windows Phone and iOS, life is pretty easy, the only real issues relate to image sizes, so you have to package up a couple of different size options for icon images (which can be a pain). With iOS you do have to consider if you are deploying to an iPhone 5 as opposed to an earlier device, due to the screen sizes. For example, in the CloudZync Zync Terminal app (an app that allows merchants to raise and process mobile transactions), on an iPhone 4, we had to place a “done” button into the keyboard in order to hide it and show the rest of the screen, in the iPhone 5 this wasn’t needed as the screen was longer and we didn’t need to hide the keyboard (something that only really got spotted in testing).

So while doing these few extra things can be a pain, they are all pretty small. Then we look at Android, and this is when things get a little harder and a pain to be honest.

Android not only has a fair few flavours on the market, it also has a number of issues with the types of devices it can be found on. So while we are packaging up 2 versions of an image for iOS, on Android we find we could be packaging as many as 10! That’s a real pain to say the least, but not a real head scratcher.

The real problems arise when we look at the different flavours of Android and how they act. When testing apps across different Android flavours we notice we get different experiences. What is really frustrating is how different those experiences can be and what that means in terms of coding and testing. But things get worse still. For example we looked at developing our Zync Terminal App for Android and looked at a few different Samsung Galaxy devices. All consistent you would think, but nope, they aren’t. On top of that we noticed we had to use different API calls on different phones to access different parts of the device, such as the camera. That becomes so frustrating, not to mention time consuming in terms of development, but also in terms of testing, and time consumption means expensive.

Let me give you a little interesting point about our development, it seems that the cost of building and testing our app on iOS and Windows Phone together was about the same as the cost associated with just building for the major Android devices (so that’s us cutting corners and not supporting a lot of Android devices officially). To me, that can’t be right and is not a good place for Android. I can build an app for two very distinctly different operating systems with completely different experiences for the same price I can build an app for a single platform, Android…

Technically I’m not being fair, as this article suggests I’m looking at Fragmentation, so I’m actually developing for 3 versions of Android and umpteen Android based devices – as opposed to two operating systems in iOS and Windows Phone.

Conclusion

I want to maintain as much code with a common base, and we use Xamarin to deliver our apps on Android. The sad fact is that it doesn’t make much business sense to support all of the Android flavours or devices. The fragmentation issue just makes it too expensive to really develop for all Android variations (especially when we look at the demographics of a number of Android users).

While Android holds a very healthy market share (across all flavours) it makes sense to build for Android, but I do find myself hoping that iOS, Windows Phone and Blackberry start taking large chunks of market share away from Android. As an OS to for businesses to build for, businesses that want to maintain code across multiple operating systems, who want to deploy apps with great consistent robust experiences, Android is miles behind Apples iOS and Microsoft Windows Phone.





Is there such a thing as a bad Smartphone?

8 11 2012

If you go online and you look for articles on Smartphone’s you will no doubt find loads of reviews of particular phones, operating systems, features etc. and unfortunately you then more often than not get a biased warped view based on the authors preferred device, brand or ecosystem. Unfortunately actual facts and relative information back down to an average user is just lost or not present. Opinion in mobile is, well everywhere, and yet when we think about it, can we really purchase a bad Smartphone these days?

 

Dumb to Smart

It all depends on what you want from your phone, but many more of us now want our phones to be a useful device, be that just for searching the web, consuming some content or actually trying to carry out some small amount of work on them. This is illustrated by the amount of market share Smartphone’s now command across the globe. But if you are moving from a dumb phone to a Smartphone do we really need to know every feature of that device or ecosystem? Probably not…

 

Purchasing

My brother-in-law works for a mobile phone network provider here in the UK, and I always like to get his insight into the kind of people who come in and purchase Smartphone’s. The truth is that the majority of us just want a Smartphone, and because we have heard of the iPhone or Samsung Galaxy, that’s what we go in and ask for. We have no idea why we want those phones over another brand or device, just that these are the phones that people are aware of, and that’s great testament to both companies marketing capabilities. It also shows that many of us purchase mobile phones still very much based on brands we have heard of and what our friends have purchased. We don’t purchase a phone like we would a PC, spending time looking at the specification, the pro’s and cons of a particular bundle from the store etc etc. We still see phones as a short term thing which will get renewed in 12-18 months (if on a contract).

Obviously I’m generalising here. There are lots of people who pick their phone based on the quality of the device, the camera, the durability, performance and of course the operating system. But these types of people are the minority (though if you read blog posts or technology articles you would think everyone was a phone expert. We must remember that the majority of phone users do not go near a mobile phone blog or technology magazine).

As a mobile phone manufacturer or operating system, this all means that marketing and relationships with the network are the only way to shift mobile phones. The main audience therefore has to be those moving into Smartphone’s for the first time, mainly because anyone who has had a Smartphone for 24 months is probably attached to that operating system, and therefore more likely to stay with that particular device or brand. (Especially if they have purchased a large number of apps) For the likes of Nokia, RIM and HTC this means all is not too late, since Smartphone users make up just over 50% of the mobile phone market, that leaves another 50% of untapped customers. The battle lines therefore are still being drawn.

 

Consumer education

The problem for all mobile phone manufacturers, with the exception of Samsung and Apple, is that the 50% of potential new Smartphone customers are not that into the real benefits of a Smartphone device. Rather they are getting one because they can send the odd email, surf the web and perhaps use Facebook. Let’s be honest, any Smartphone therefore is a great purchase, and no doubt these customers will just request the phones they have heard of, so the iPhone and Samsung Galaxy.  That’s a problem…Though customers will be happy, they could have been a lot happier potentially with a different device or a different operating system, especially if they were shown or told about all the options.

An example is my own mother. She wanted a new phone, but was told to get an Android Samsung Galaxy, mainly because that’s what the sales guy had. He didn’t take into consideration any of her needs, requirements, what she was looking for neither in a phone nor from the OS. My mum actually wanted an OS that played nicely with her office work, an OS that potentially would tie up with her tablet that she is looking to purchase and something that was really easy to use, real easy. For me, that meant really only looking at the iPhone or a Windows Phone, of which the sales agent didn’t have much in-depth knowledge of. He could talk about the iPhone, but as for Windows phone devices or Blackberry, nothing to say at all….In the end I got my mum to pick based on the UI, what felt easiest for her to just pick up and use, and she went with a Nokia Windows Phone 610, an entry level Smartphone that does everything she wants and more.

The point here is that my Mum would have ended up with a phone that she would have thought was good, but not one that was great for her. I think that’s a problem manufacturers have to overcome with network providers and sales staff somehow.

 

Any Bad Smartphone’s?

Essentially, there are no bad Smartphone’s these days, technically. However, there are bad Smartphone matches for users. The problem is that sales staff don’t marry up what a consumer wants to any given device, rather they let the consumer just real off a phone they have heard of, or sell the device they have themselves. This means that a good Smartphone will feel like a bad Smartphone for a particular user because it simply didn’t fit their criteria, or they have since seen another device that better suited their needs….If sales agents and consumers treated phones like a very expensive purchase, one that needed to match to a consumers requirements, then we would see a very different mobile phone landscape of that I am sure, and there truly wouldn’t be a bad Smartphone….Until then though, status quo…





The Android debate

27 10 2011

When anyone talks about Android there is a lot to be said, be it “Android is the most popular Smartphone OS”, to comments that it’s “the stolen OS”.  Steve Jobs even stated he would “kill Android”. But there is no getting away from the fact that Android is a feature rich OS, that it has now almost 40% of the Smartphone market share (though Smartphone’s don’t even make up 30% of the overall mobile market) and that Google owns it, and now a mobile phone company…

Competition

There are so many Android devices out there now, and from a range of manufacturers, so much so, that getting your hardware noticed is tough. When you walk into a store and see so many phones all running the same OS, how do you set your hardware out to be different (especially to the average mobile punter). Price…Oh dear…

Poor mans iPhone

So many people who have Andoird have it because they couldn’t justify getting an iPhone. I know many people who have opted for Droids because of price, but they really wanted an iPhone. The same applies to the “kids” that have Androids. Essentially many have them because of price, and once they get a little older move over to the iPhone. That must be a worrying trend. However,
is it a surprise? Probably not since Android feels like a cheap clunky copy of iOS in so many ways…

 It’s free, it’s Google

One of the reason Android has been a success is that is been seen as the free OS, allowing many a manufacturer to ship it on their devices, enabling Android devices to be “cheap” and swamp the market. That is essentially how Android has got it’s market share, and there is nothing wrong with that.

But is it really free? In the past couple of months we have seen a number of patent deals being agreed with Microsoft for Manufacturers being allowed to use Android. In addition to that, we have seen Apple halting many Android devices due to patent infringement. These are problems manufacturers can well do without. Ask yourself, as HTC or Samsung, do you really want to spend a lot of time on R&D only to have your devices stopped from getting to market? Do you want to have to pay a third party company license to use software that essentially belongs to another company? No you don’t…

Throw into the mix that Google now owns Motorola and has effectively secured its own hardware for mobile devices. This must be a worry for HTC, Samsung and all those that sell Android devices. Do you really believe that Google will continue to provide updates to their OS to give away to competitors of their own devices? If they do, then that’s crazy business thinking from Google.

 

Nokia?

I have read many a comment in the past day or so that Nokia should have opted for Android, or they should be making Android devices as well as Windows Phone. But that makes no sense from a business point of view. The Android market is all ready crowded, and how does Nokia regain its Smartphone market share by entering a dog fight with pretty much every other manufacturer
out there? Especially when all they can compete on is price and some nerdy hardware specs (maybe some design too). That’s just too tough. Throw into the mix the hassles you can have with Android and the fact that Google now owns Motorola, and Android looks very risky…

Windows Phone makes perfect sense to me. In many ways it is the overlooked OS, and that’s because no one really knows about it (phone nerds do, but who else). Not many have actually seen it advertised or ever even noticed it in stores. So for Nokia, Windows Phone market is easier to enter, and they know they can sell aggressively against the other Windows Phone competition.

The Windows Phone OS is good, very good. Pretty much everyone I have seen play with it, likes it, they find it intuitive, they like the live tiles and they love it’s simply integration with social media.  It provides something very different to Android and iOS, and as such, that means making a Nokia device stand out on a shelf is made that much easier.

Finally, Microsoft want to get involved in the mobile world, and they know Nokia are the biggest mobile brand out there (still), and that Nokia can get Windows Phones into the hands of millions of people, and ensure Nokia and Windows Phone grab market share.  I wouldn’t be surprised to see Nokia grabbing Smartphone market share quite quickly, which I am sure will make other manufacturers look closely at Windows Phone and start investing more in that OS. It is already happening to some extent with HTC and Samsung…

To finish…

Android has shocked us all with how much market share it has grabbed, but should we have been surprised? In many respects it’s a free, clunky version of the iOS that DOES cost manufacturers in terms of licensing etc etc. Now that Google owns Motorola are companies confident that they will be given the same OS to compete with Motorola? How many other instances of Android devices being banned can we expect?

All in all, Android may have shot to popularity, but there are many question marks above it, and it seems many more are being raised as time moves on. Will these question marks deter manufacturers from using Android? I believe they will over time, and I believe that Windows Phone will be there to grab market share – and that at the front of that pack will be a company from Finland, a company we all used to love…A company called Nokia…





Kindle Fire in the tablet market? errm…No…

29 09 2011

So yet another tablet has been launched, this time the Amazon Kindle Fire, and again we find another entry into the tablet market is being touted as a possible iPad killer. But is it really? Have companies, such as Amazon, RIM, HP etc actually got it right when it comes to tablets? I don’t think so…

Kindle Fire

Is the Amazon Kindle Fire anything new in the tablet marketplace?

In the beginning there was Bill…

It seems an age ago that we heard Bill Gates telling us that the future of mobile computing was with touch, and he showed us a number of “Slate laptop” type things. I loved this concept, but unfortunately the UI just didn’t lend itself to this kind of touch environment, and as a result, business and consumers didn’t embrace the whole thing.

Fast forward a number of years and we have Apple announcing the first iPhone, which to be fair was not a great phone in terms of features. However, what Apple did was deliver a user experience that was not even closely matched, they delivered a sleek easy to use, touch based UI and consumers loved it. Add on top of this the “app” store capabilities and we soon have what we know as the leading smartPhone on the market.

 

Phones lead the way for tablets

Essentially tablets were dead, until Apple then decided to manufacturer what seemed to be, a bigger iPhone but without the phone capabilities, tablet. The iOS suited touch, and was easy to use, and it
appealed to consumers who liked the idea of surfing the web from their sofa on something bigger than their phone. It appealed to us running Apps on a bigger screen. And, well, the iPad has taken off. It dominates the tablet market place, and when you look at the competition, you can see why.

Many state the tablet market is highly competitive, and that is true if you aren’t Apple. Essentially everyone else is fighting it out for Apple scraps in this marketplace, which Apple has a monopoly on. All the other offerings have come at the tablet market in pretty much the same way, thats use a touch based phone OS and get it on a tablet…Namely Android in the majority of cases.

 

What a consumer actually wants?

Yesterday with the launch of the Amazon Kindle Fire, many people said it will succeed because it delivers what consumers want, well I’m not so sure. Analysts are constantly stating that Amazon has people’s card details, so it’s easy for them to open up their online stores and make content and apps highly available to the consumer, allowing the purchase sequence to be seamless. Well I am sorry, having to re-enter some card details is no barrier to a consumer at all. Also, do we really feel comfortable with so many companies now holding our card details? Just look at the Sony incident? In
addition, we are all making the assumption that all the consumer wants to do is consum simple Apps, books, videos and music on their tablets. Well I don’t agree…

 

Problems…

So is what the Kindle Fire offering more of what consumer’s want (well the Price maybe), but probably not. Do we honestly see people looking at the iPad and then thinking, No, I will opt for the Amazon Kindle Fire? I don’t. Do we really see people looking at other tablets that aren’t the iPad and thinking, I will go for the Amazon device because the seamless payment is better? No. Do we see people opting for the Kindle Fire to replace their Kindles? Now that’s a BIG NO…People bought the Kindle as an eReader, and it’s brilliant at that. Not because its easy to buy books on (though that is true), not because Amazon has my card details, but because I can actually read a book as if it was a real book. Dont get this confused with the user experience. The eInk screen is brilliant, you don’t get eye strain like you do from a tablet, you can read it outside, and essentially, it works well…The Kindle Fire, is not the same, it’s a standard colour tablet, which means I am not going to be getting rid of my Kindle to read Kindle books on that…

So there are a number of problems here. Finally, do we see people going for a tablet that is so small? So far, tablets of around the 7” size haven’t made much of an impression, and I can see why. With smartPhones offering almost everything a tablet does in term of apps etc. what is the real benefit of having a tablet that in some cases is only 2” bigger? Amazon Kindle Fire or HTC Titan Phone?

 

Flexibility, consumer need and business drivers

Tablets are here to stay, but the next big thing in them is actually to deliver real flexibility in terms of how we use computers today. At the moment, tablets are too much like big phones than they are small portable computers. But don’t get me wrong, for many consumers this is perfect for them. I know some people run quite complicated Apps, but this is a rare feature. If I want to do some real computing, and some real tasks I need at least a notebook, or a laptop, hell even a fully blown PC in many cases…

Let me give you an example. One of the Directors I work with, bought an iPad 2, which he takes to all meetings we have, which he loves and uses a lot. However, I take a notebook running Windows 7 Starter. Why? Well it’s my need. I would love to take a tablet, but none exist that allow me to do all the things I want to (at the moment that is). While he looks at the odd app, browses the web on his iPad, and that’s about it, I have to plug my machine into projection screens, I have to run presentations, I have to modify those presentations, I have to go through technical prototypes and even
demonstrate applications, proof of concepts and much more, all from that little notebook. And that notebook is holding real databases on it, real development environments.

When I go on holiday, I take the notebook with me, as I can pretty much do everything I need on it (well within reason). I would love to swap it for a tablet, and have that user experience you get with a tablet for the 60% of my needs, but I simply can’t because of the other 40% of needs. So for me, I make do on my phone for what people use tablets for, and I own a notebook. What I want is real flexibility in the tablet marketplace…

The same applies for businesses. While some have adopted the iPad for certain applications, many find that it doesn’t quite deliver everything they need. The limitations of using essentially a Phone OS is too limiting for business and power users. We even find that businesses want to be able to run certain applications on a tablet, but this just isn’t possible, so reps etc use notebooks or take fully blown laptops with them…

 

Tablet market future?

Well who knows. I for one don’t believe iOS is going to be rivalled by any Android based tablet. Nor do I believe that the iPad will come up against much competition based on devices that rely on “content access” and “seamless payments” as major selling points. No, the Apple iPad will only be challenged once more is possible with a tablet than is currently on show in the market.

Enter Windows 8…Windows 8 could potentially be a game changer in this market. On many tablet devices it will run only “Metro”, but it is running real windows and delivers the power of a PC, and that flexibility to a tablet. In addition, on some tablets (just like the one given away by Samsung at Microsoft’s BUILD conference just a few weeks ago), you will have the full power of a PC, with “Metro” and access to the real desktop.

Windows 8, Metro Style

Windows 8 could be the game changer in the tablet marketplace

What does this mean? Well it means for typical “tablet needs” that we see in the market today, you have that with Windows 8. You have access to the Microsoft App store and you will have access to content from Amazon, eBay etc just as you do from your PC. In addition you have a full PC there, in your hands, so if you need to do more with it you can. You also have the option of different devices running the same software, and at different price ranges (just like we have today with PCs).

Going back to my own example. Windows 8 on a tablet would mean I would ditch the notebook. I would use the tablet 60% of the time, just like people use their iPads today. But, when I need to, I am able to carry out that other 40% of tasks on the same device. (Note I will not be replacing my PC, anyone who things we will only own tablets instead of PCs is wrong, or they see us with tablets accessing far larger screen). I will take away a USB keyboard and maybe a docking station for the device, and I can use it just as I use my computer at work. Now that’s real flexibility. Throw in all the added benefits of being connected to Azure with Windows 8, and I find that my little tablet is my PC at home, it is my PC at work…Now that’s real flexibility which opens up the tablet market to many more business users, and consumers…

The tablet market isn’t competitive at the moment. But I believe it will be, just not until we see Windows 8.