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.





Windows 8 for business and for home

10 04 2013

I know most organisations are either stuck on Windows XP or migrated a short while back to Windows 7. Typically (or should I say historically) organisations seem to embrace every other version of Windows, which puts them on a 4-5 year upgrade cycle. So any ideas that businesses are shunning Windows 8 because of it new tile start screen isn’t quite accurate.

What is true is the fact that no matter what Windows 8 was, businesses wouldn’t look to update until Windows 9 was released, and most of us thought that would be approximately 2 years after the release of 8, so September / October 2014. However, with Microsoft’s recent announcements of Blue being available at the end of the year, it seems that Microsoft is now looking for annual releases of its OS, and since that OS is now essentially across all devices, that includes mobile, tablet, laptop and good old desktops. So this new release cycle from Microsoft will no doubt have an impact on how businesses look to their upgrades.

 

Give it a short amount of time and you come to love the start screen in your business

Give it a short amount of time and you come to love the start screen in your business

 

Windows 8 now

My own company, CloudZync, is using Windows 8 for the majority of users (though I will be honest, some are on Windows 7 still) and I must say, having both operating systems in the organisation hasn’t caused a single issue. But, I have noticed that when I move back to Windows 7 I’m starting to get a little frustrated. It seems the start screen has become something of a blessing, even though I spend I would say 85%+ of my time on the desktop side of the OS. I really wouldn’t listen to those who say the OS its jarring and moving between “Metro” and “desktop” is confusing, because it simply isn’t. Sure there are some things you need to learn but they are so easy, like just put your pointer in a corner of the screen, that pretty much sums up what you need to know as the rest is very intuitive (well I think – especially when compared to other operating systems out there). Sure there are some things that frustrate me with Windows 8, but that’s true of every single OS and piece of software I think I have ever used.

I’m glad we have Windows 8 now in the organisation as with Microsoft’s new OS releases being mainly “upgrades” I think moving between Windows 8 and newer releases will be quite a seamless and painless experience.  I expect Blue to be more about upgrades to Windows 8, addressing some of those user frustrations and bringing even more seamless experiences between the OS and the cloud.

 

Intuitive

I do find I get very frustrated with peoples take on what intuitive is. I’m sorry, but something isn’t un-intuitive because it doesn’t work like something else you are used to. That means it’s just different. Intuitive for me means I should be able to logically understand where something maybe. When moving to iOS I have to say I found it very un-intuitive, yet most people say it’s an easy to use OS, which it is, once you know all the little oddities of it. That doesn’t make it a highly intuitive OS. If I handed iOS to my Dad for example he would hate it, and moan like hell about it. (He recently looked at the iPhone, Samsung Galaxy and Nokia Lumia devices, he went with the Lumia as he said that one made sense to him how to use it, the others would require him to learn the UI). Likewise, things on Windows 8 are different to 7, and many of us at first think “wow 8 is so un-intuitive” because it’s different to what we have learnt. But if you come at with no expectations, and don’t think it should be the same as something else, you soon find that actually, it’s a very intuitive OS. Sure there are some odd things that aren’t intuitive, but just like iOS, once you know them they seem brilliant and then obvious.

 

Windows 8 in your organisation

There are some real nice features when you start moving all devices to Microsoft’s latest OS. I have a Windows 8 phone, Windows 8 PC, Windows 8 netbook (which since I have had access to an RT hasn’t been used) and a Microsoft Surface RT. When switching between devices it’s amazing how much is synchronised and how easy it is to be working on one, then switch to the other. I would say improvements could be made for sure, but as a work environment, it really is second to none.

Yes I am aware of how improved Apple is in this department, but I too have an iPhone for testing our software on and our CEO uses his iPad consistently. What I’ve noticed is though anything that is a bit more work focussed or requires greater attention, he has to switch back to the desktop PC, while I’m equally happy on any of the Windows 8 devices (granted I don’t like editing office files on my phone but it’s not that bad).

Moving forward, Windows 8+ is a no brainer for me. Tablets that double up as real desktop, desktop and tablets seamlessly acting together and don’t forget a wide selection of Windows 8 phones that bring it all together on your mobile. For an organisation, it makes almost no sense to splash cash on anything other than Windows devices, all you do is add in another level of complexity that simply doesn’t need to be there, and worse, you have to spend much more money.

Think of this example, my sister in law is a sales rep. She has an iPad which she uses to show prospective clients items they can stock, great, it’s a nice experience. However, if the client wants to purchase or look at anything in real detail, then she has to get out her laptop and boot that up and use bespoke software on there to complete her sale. She is essentially carrying around 2 devices, one of which is being used as a glorified catalogue, something that just presents well. Now if her organisation had purchased a Windows 8 tablet then that’s all she would need to carry. She can replace the iPad delivering the same experience and then still have all the power of her legacy apps available on the tablet. It would have saved her company a tidy sum…

 

Organisation Upgrades

No matter your take on Windows 8, there is no doubt in my mind that come October 2014 we will start seeing mass migration of organisations away from Windows XP and 7 in favour of 8, Blue or whatever it will be called by then. What will be hard is how the media (especially tech bloggers) look at this, will they then say Windows 8 was a disaster like Vista but Windows 9 is amazing? Or will they finally grasp that their rather 90’s view of desktop computing is dead and that the desktop is very much on the same cycle as mobile operating systems and their wireless upgrades?





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…





Life after RIM in the enterprise?

30 03 2012

There has been a lot of talk about RIM today, caused mainly because the company has stated it is giving up on the consumer market and heading back to its roots, the enterprise. Couple this with the $120m loss the company has made and the hints at “sale”, and you do see why lots of people have been talking about RIM. (If you don’t know RIM – Research in Motion make the BlackBerry devices).

One of the big conversations I have been involved in today (on Twitter with @BPMredux @puleen @souvikbonnerjee and @AlbertoManuel) is just what do we think will happen in the enterprise regarding the use of mobile devices, and vendor offerings for mobile based solutions. @BPMredux asked in his blog two simple questions

“How many BPM vendors have a mobile BPM solution based on Apple, Android or Windows Mobile”

and

“Now how many of you are still stuck with RIM and Blackberry in your own corporate environment?”

You can join in his debate at http://bpmredux.wordpress.com/2012/03/16/mobility-inside-the-bpm-scene/

So in this blog post I have want to have explore at some of the main points and give some thoughts based on conversations and relationships I have with a number of IT professionals that work within the enterprise supporting their systems…

BlackBerry

Are we seeing the BlackBerry swansong?

RIM is still a big player

For sure RIM is still a big player in the enterprise. Most people I know and speak too (within large corporations) have BlackBerry devices handed out to them as their corporate phones. There are lots of reasons why the enterprise opts for BlackBerry – security being one, durability another. Many people I speak to who have to support mobile devices within their business prefer BlackBerry, and that’s because they have better control over them, they are easier to administer, the battery life is second to none and the devices are durable (they do seem to get dropped a lot). These things mean less time is spent with the end user trying to address issues, and after all, time is money…

Apple is making in-roads in the enterprise

This all being said, the iPhone is making in-roads in the enterprise, especially within the “exec” levels of business. While the phone is undeniably a great phone, it does cause headaches for business, especially if you are already standardized on RIM. Throw into the mix that not much else in the enterprise is Apple based and the fact that you do pay over the odds for their devices, and you can see why, even with a great offering like the iPhone, Apple still isn’t king of mobile for business.

BYOD (Bring Your Own Device)

This is something I hear a lot about and read about. However, in reality, this really hasn’t shown any traction with the enterprise, and I very much doubt it ever will. Predominantly BYOD is a media thing based on what some SMEs maybe doing – it simply isn’t a great option for the enterprise, and here is why…

The enterprise needs to support its workforce and their devices, mobile, desktop, tablet, laptop whatever. This means they have resource dedicated to help ensure IT runs smoothly. That IT needs to administer these devices, ensure business applications run as expected, ensure everything is secure as possible and support end users. (They do other things also, but no need to list out everything). If the IT department has control over its devices, it knows what they are, it can secure them better, ensure the software works as expected, manage roll outs, upgrades etc etc and help users with their devices (without having to train IT staff / mobile support staff on every handset available to a consumer). In addition, standardization allows the enterprise to strike good deals with their suppliers and all big business has preferred suppliers – that’s just life. So imagine you take all that control away from IT. What are you left with? Yeap, a mess. You simply can’t have users connecting random devices to your network. You can’t expect vendors to support all mobile platforms under the sun for bespoke software for that business. You can’t expect in house IT to help users with their particular phones OS or hardware issues, and you can’t expect everything you need to work on the device to work on every single device (have I said that one already?). All in all, BYOD is a great concept, lovely for startups and SMEs, but for the enterprise, this isn’t an option…

Software vendors and their mobile offerings

The BYOD issue does illustrate that software vendors do not support all mobile devices. Sure there are comments that solutions should be mobile web enabled, that they should run using HTML 5, but that user experience is going to be pretty poor. The reason we love our native apps is that we can do more with an app, and the experience is a lot better than anything we see on our mobile web browser. This means vendors have to support native apps, and do they really need to support so many different platforms? Ideally they want to support one, but realistically know they may need to support a few. The problem for a vendor at the moment is which to support? RIM is a must, or is it…It used to be. Apple devices, well they are a must aren’t they…well yes and no…Android? No. Symbian…erm No….Windows Phone…Well potentially……

So what do you do as a vendor? I personally would wait until the end of the year to make a decision…

Windows 8 in the enterprise

Let’s be clear, Windows 8 may not be rolled out across the enterprise as soon as it’s released, but business will be reviewing it, and scheduling in a Windows upgrade path. Some upgrade paths will be quicker than others, and some may do their normal, and wait for the version after – so upgrade when Windows 9 is available as they haven’t long been on Windows 7. The point is Windows 8/9 will be the standard OS on the enterprise desktop and on majority of their servers. With this comes the normal office based software and legacy applications that every enterprise has running on a Windows environment. However, Windows 8 is a little more than just a desktop OS. All of a sudden the enterprise can have the same OS across all devices, including mobile and tablets. Think what a nice thought that is for IT within the enterprise and vendors alike. A single OS to administer across all devices,  a single user experience to support and the ability to seamlessly tie in lots of services they already use back into the devices of choice. Office, Outlook, Lync, Office 365, Sharepoint, cloud backups, device synchronization etc. That makes life a lot easier for IT doesn’t it…

As a vendor then, supporting Windows 8 is a must. But hold on, if you support Windows 8 metro what do you support all of a sudden? Yes, tablets (including ARM based tablets), desktops, laptops, netbooks and with a few tweeks, mobiles. All of a sudden supporting Windows Phone seems an obvious choice –  a necessity. So perhaps it’s back to the usual suspects, support Windows first, then perhaps Apple…Or vice versa depending on where you are with your mobile policies and vendor software.

Let’s think about suppliers to the enterprise. Most enterprises have a strict supply chain policy, and with Windows 8, this means the enterprise can choose who supplies their hardware, including desktop and phones. Remember Fujitsu, Acer, Dell, Nokia, Samsung, HTC and others deliver Windows 8 mobile devices. These same companies will deliver Windows 8 tablets, and most of them will deliver desktops, servers, laptops and netbooks. The enterprise therefore has the flexibility it desires regarding suppliers, but the security, administrative advantages of being tied into a single ecosystem, which runs all their legacy software. Essentially, for the enterprise, Windows 8/9 is a no brainer across all devices….

Where does this all leave RIM?

Well, to be blunt, I believe in a very deep, dark hole.

Essentially if it becomes a no brainer to support Windows Phone in the enterprise and Windows 8 tablet devices, then Apple will continue to struggle in the Enterprise, but that’s not a great loss to them. RIM on the other hand, if they struggle in the enterprise then I believe we will be saying goodbye to RIM and thanks for the BlackBerry memories. Without a consumer market, Windows 8 could well be the last nail in the BlackBerry coffin. I for one am already starting to think that by mid 2013, I could be writing a blog along the lines of “bye bye RIM, thanks for the BlackBerry memories…”





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…