G$earch

Android Fragmentation: The Story So Far

Posted by Harshad

Android Fragmentation: The Story So Far


Android Fragmentation: The Story So Far

Posted: 16 Jan 2014 07:01 AM PST

Android fragmentation is often brought up as the Achilles’ heel of the OS. Critics often point to fragmentation as being the key factor in why Apple’s iOS is the better mobile operating system, despite the fact that 81 percent of the world’s smartphones run on one version of Android or another. In fact, we have six versions of Android running on more than 11,000 types of devices.

Android Fragmentation

In general terms, fragmentation is when something is broken down into separate parts, and doesn’t function as a whole. When applied to Android, it basically means that there isn’t a standard Android version or device on the market. Fragmentation actually encompasses two different, but related issues: hardware fragmentation and software (or OS) fragmentation.

In this post, we’re going to look into the implications of this problem, the repercussions it has on the mobile OS market and what Google is doing about it.

Fragmented Market Share

Being open source, Android can run on pretty much any level of hardware specification or screen size – thus, unlike for iOS devices, there’s no standard for manufacurers to stick to when it comes to running Android. So, you have anything from low-end smartphones with sub 4-inch screens to top-of the line quad-core smartphones with 5 inch screens and everything in between, running on Android.

The image below, taken from OpenSignal’s July 2013 report on Android fragmentation, shows just how many different Android devices downloaded their app in the first half of 2013. As you can see, there’s quite a large number of devices out there. This is called hardware fragmentation.

Android Hardware Fragmentation
(Image Source: OpenSignal)

Getting OS Updates

Android is also quite fragmented on a software level. Here’s what the Android OS landscape looked like as of December 2013.

Android Software Fragmentation
(Image Source: Android Developers)

Nexus devices received the Android 4.4 KitKat update soon after it was launched, but phones such as the Sony Xperia Z1 are still running older versions (usually 4.2.2 or 4.3). Some lower-end or older Android devices might not even be running a 4.x version – Android 2.3.x (Gingerbread) still has a 24.1% market share – and probably won’t be getting updates any time soon.

The fact that Android is open source is, again, the main reason for the OS fragmentation. This means that updates are really out of Google’s hands: once Google releases a new version, the manufacturers have to take it, make any necessary modifications, and then roll the update out to their devices. As you can imagine, this often takes quite a while.

Device manufacturers can make their own modifications to Android, for example, the custom user interface layers you get in smartphones from HTC (HTC Sense) and Samsung (Samsung TouchWiz). It doesn’t help that device manufacturers are in the business of selling you phones, and thus will use new Android versions to get you to upgrade to a newer device.

Android Vs iOS

To really put the severity of Android’s OS fragmentation into context, let’s take a look at iOS. A quick look at Apple’s Apple Developer site shows that more than 78% of users are on iOS 7 as of 29 December 2013, as measured by the App Store.

iOS Version Market Share
(Image Source: Apple Developer)

As you can see, the pie charts for the two operating systems couldn’t be more different. This really boils down to the fact that the Apple ecosystem is more tightly controlled hardware-wise. Thus, users are able to download updates immediately after they go live, without having to wait for manufacturers (or even carriers) to adapt the newest update to fit their specific devices.

The rate of adoption also differs greatly: it took only one day for iOS 7 to be adopted by 35% of the iOS userbase, whereas Android KitKat took five weeks to reach a 1.1% market share.

Pros And Cons Of Fragmentation

In the rush to pass judgement on the fragmented Android ecosystem, it’s all too easy to forget that fragmentation, like a lot of things, can be both good and bad.

Pro: More Choices For the People

One of the biggest positives to fragmentation is simply the fact that it gives consumers more choice. There’s an Android device out there that will fit almost any budget and fulfill any number of feature or hardware requirements.

Compare this with Apple’s iOS ecosystem, which has a relatively limited selection of devices and commands generally premium prices outside of the United States, and it’s not hard to see why Android has over 80% of the mobile device market. It just has more reach, which is almost entirely down to the options available to consumers.

In fact, it’s not hard to see the iPhone 5c as an attempt by Apple to reach potential customers who may previously have been put off by the prices of the 5 and 5s, and to compete with higher-end Android smartphones. No, the 5c doesn’t make the iOS ecosystem fragmented like Android does it, but it is a reminder that fragmentation is not inherently undesirable.

Pro: Larger Potential Audience

The sheer number of devices running Android means that there’s a large potential audience for app developers to tap into.

In fact, Android seems to have closed the gap to iOS in terms of developer popularity and revenue. As reported in Business Insider’s The Future of Digital, Android is now as popular with developers as iOS. In addition, developer revenue for Android apps has closed to within a few hundred dollars compared to iOS developers.

Android Developer Popularity
(Image Source: Business Insider)

This may have something to do with the lower barriers for developer entry; developing for iOS requires access to a Mac development machine and a $99 developer fee, while Android has no such requirements.

Android Developer Revenue
(Image Source: Business Insider)

Cons: Now You have It, Now You Don’t

Despite the positives of fragmentation, it’s not all rosy. It’s difficult to overcome hardware or software inconsistencies if your app relies on a particular feature that is not available on all Android devices.

Take, for instance, Bluetooth Low Energy support. Not only does it need compatible hardware, it also requires Android 4.3 and above. Not every Android device out there meets both requirements. This has been cited as one of the reasons that Nike’s FuelBand app has not yet been ported to Android.

Nike Fuelband and Motorola Moto X

Cons: Development Pains

The large number of possible device and software combinations can also result in technical support headaches for developers. Since there’s no one version of Android or one level of hardware specification, there’s a lot that can go wrong.

Developing for Android also involves having to take into account these inconsistencies, adding to development time and costs. It has to be said, though, that there are developers who have argued that it’s really not that bad. It’s also worth pointing out that Google themselves provide clear guidelines on developing apps that scale well to different screen sizes.

Cons: Android Doesn’t Do BYOD Well

Fragmentation can also be problematic in enterprise mobility situations, especially when bring your own device (BYOD) policies are implemented. Having to deal with two or three different versions of Android and the different security issues with each, can make app management and device security quite problematic.

What Has Google Done?

As one might expect, Google hasn’t just sat by idly and watched the Android ecosystem became more and more fragmented.

Hardware Fragmentation

That said, ot’s unlikely that Google will ever do anything about hardware fragmentation; it is still, after all, primarily a software company. Besides, attempting to exert control over the way that Android can be implemented on devices may actually hurt the ecosystem, removing Android’s biggest advantage over its competitors: its reach.

Software Fragmentation

On the OS side, one of the most important steps Google took was to turn Google Play services into a powerful system-level service. In other words, with Google Play services, Google has taken back some control over OS updates.

Google Play services is the platform on which all of Google’s apps and APIs run. It updates itself quickly and, most importantly, runs on Android versions as far back as Android 2.2. This means that even if manufacturers don’t provide version updates for particular devices, Google can ensure that users (again, running at minimum Android 2.2) will get the latest Google APIs and security updates.

This goes hand in hand with Google’s decision to to migrate most of their non-system OS apps onto the Google Play Store, so they can be updated piecemeal without having to wait for a new version of the OS.

Lower Memory Footprint

Another step Google has taken with the latest version of Android, 4.4 KitKat, is to reduce its memory footprint so that it can run on a wider variety of devices and specifications. KitKat was designed to run on devices with as little as 512MB of memory. This means that future entry-level smartphones, most of which run on older hardware, should be able to run Android 4.4. The idea, of course, is that this will help reduce software fragmentation in the long run.

Future Prospects

Android’s hardware fragmentation probably won’t go away anytime soon. After all, it’s one of the reasons why the OS became so popular in the first place, and the constant stream of new smartphones and tablets coming out each year isn’t going to stop. But this isn’t necessarily a bad thing, after all.

On the OS side, it’s too early to say whether Android 4.4 will have any effect on OS fragmentation. The slow rate of adoption isn’t helping, but the true test is whether 4.4 becomes the go-to version for upcoming smartphones and tablets across all levels of hardware specifications.

Even if it doesn’t, though, Google Play services may just render the problem irrelevant anyway. Sure, version numbers and user interfaces may differ, but Google Play services makes sure that 99% of all Android devices are running the latest APIs and will support almost all of the latest apps. Fragmentation doesn’t look so bad now, does it?


    






20 Infographics With Smartphone Facts You Probably Didn’t Know

Posted: 16 Jan 2014 05:01 AM PST

Smartphones have become a very important part of our lives. Try to pry our mobiles off us and you will see what we mean. There are already more than 1 billion smartphones globally and the numbers are still rising. You can’t help but be fascinated with smartphones which has certainly changed the way we operate and function in this generation.

So, in this post, we are featuring creative infographics to do with smartphones involving a variety of angles like how e-commerce, business and marketing are done via mobile. On top of that, we will look at smartphone usage patterns of the new generation, college students, and users from the world over, specifically in how we text, call, game, donate or buy things online via smartphones.

So join us as we explore smartphones in a whole new different way via these infographics (please click in to see the full infographic at their sources). Share with us what surprised you most from these infographics in the comments section.

Mobile Commerce Trends

A Visual Guide To How Consumers Use Mobile Phones

The Mobility Metamorphosis

Evolution of Nexus devices

College Students And Their Smartphones

The Takeover Of The Mobile Web

A Short History Of iPhone Photography

Anatomy Of The Perfect Mobile Email

The iPhone Evolution

Text Talk

10 iPhone Fun Facts

Call Me, Maybe: The Importance of a Mobile Campaign Infographic

Smart Phones, Devoted Users

Smartphone Users In The World

The Mobile Gaming Industry

Generation Mobile

Business Mobile

7 People You Meet In Mobile

Why Smart Social Marketers Think Mobile First

Getting To Know The Mobile-Only Crowd


    






Deciphering The Code Of NDA (Non-Disclosure Agreements)

Posted: 16 Jan 2014 02:01 AM PST

For those new to freelance writing, the non-disclosure agreement or NDA can be a scary thing. It should be scary. It is not something to be taken lightly. Some writers can go an entire career and never see one. Others see many. It is known by many names, names like:

  • Propriety Information Agreement
  • Secrecy Agreement
  • Confidential Disclosure Agreement
  • Confidentiality Agreement

They all serve as an agreement between the freelancer — writer, designer, developer, copywriter etc — and the client they intend to work for in order to protect information the client deems confidential. If you are unfamiliar with NDA, this post will be helpful in helping you make good decisions before you sign one.

The short of it is always read the NDA carefully and thoroughly, and make sure you understand every aspect. As they say in boxing, protect yourself at all times.

The Need For NDAs

There are numerous reasons a client may want you to sign a Non-Disclosure Agreement. It is meant to protect information about the client and about how they conduct business. This could be a concept, an idea, content or information, an invention, or even a process by which the client operates their business.

An example of this is an e-commerce website that has found a formula for success that puts them ahead of their competition. The thing to remember is that most of them are legitimate contracts protecting legitimate confidential information that could be damaging or costly to the client.

Drawing from past experience, I once wrote an eBook for a client under the protection of an NDA. It was for an invention (we will call it a widget since the NDA did not specify a "release of" date). One week before the e-book’s scheduled release, another contractor leaked the news and delayed the project.

Someone else picked up the idea and beat the company to the market.

The Scary Side of NDA

Once you have signed a non-disclosure agreement, you are bound by that legal agreement not to disclose any information covered in the document. You cannot speak about it to anyone, including your family, friends, and especially on social media. Trade secrets and the satisfaction of patent laws are the most common forms of confidential information.

If you betray any part of the NDA, even accidentally, you could very well find yourself facing charges in a court of law. At this point, an expensive lawyer is a necessity.

Heavy fines and even time behind bars is a very real possibility for betraying trade secrets. That is why it is so very important to know what it is you are agreeing to before you sign.

NDA includes those that Work for You

If you use subcontractors for any part of the work you perform for your client, and those contractors have access to the information in the NDA, you must inform the client of this so that they can include these subcontractors in the agreement.

An example of this would be the content writer that uses another company to edit, add SEO, or keyword research. If the services involve touching information protected under the NDA, they have to be made aware of the NDA and to treat the data accordingly.

What To Look For in an NDA

In my 33 years, I have worked for many companies both off and online that required an NDA. I have also walked away from many. If the agreement does not meet certain criteria, I refer the client somewhere else or simply decline. Here is what I look for when presented with an NDA.

1. An NDA that makes no provisions on my behalf is one that I decline. For example, one where the content writer is not liable for damages caused by the client producing dangerous or faulty claims of products.

2. An agreement that stipulates I must deny working on a project is not one with which I want to associate. I have seen a few that stated I would have to deny any affiliation, which makes no sense to me.

3. I do not work for clients who refuse to allow me to use them in my resume without speaking about the project. In one NDA, I was not allowed to use the websites name in any self promotion, including my resume. The content, which had no provisional rights clause and remained under my ownership but was sealed by an NDA, won awards including money that took a lawyer to recover (one-third of which went to the lawyer).

4. I have declined work on an NDA that stated I had to deny the existence of the NDA. In one case, my lawyer was needed during a lawsuit against the client who tried to deny responsibility based on the foolish belief that a court of law could not over-ride the NDA. You cannot deny the existence of it in court. Foolish client vs smart, lawyered up freelancer; guess who won.

5. I avidly avoid NDAs that are not negotiable in any aspect of the contract. As a freelancer, you have the right to negotiate an NDA as long as you are not trying to change the information you are being asked to protect. Other points of the contract are negotiable, including the timeframe it can be enforced.

Set Your Personal Limits

The first few times I was presented with a Non Disclosure Agreement, I consulted a lawyer friend who reviewed and explained them to me. Once I finally set down what I would consider, namely the stipulations above, I stopped stressing over them. Once you have seen a few, you should be better able to tell which you are most comfortable with. One last thing, I have found that very often, the clients who use an NDA pay better than those who do not.


    






Easily Create Dynamic Grid Layout With FreeWall

Posted: 15 Jan 2014 11:01 PM PST

If you are familiar with Windows 8 or Pinterest, you know of the dynamic grid layout. A dynamic grid is a layout where you can rearrange and reposition child elements as required or when you have your browser resized. A popular jQuery plugin used to create this layout is jQuery Masonry but if you want more options and even animation, check out FreeWall.

FreeWall is a free jQuery plugin from Minh Nguyen which you can use to create many grid layout types: flexible layout, metro style layout, nested grids, image layout and fluid grid. It also has support for responsive design so you can display your site in desktop, mobile or tablet.

On top of that it also has very nice CSS animations and callback events like onGapFound, onComplete, onResize and onSetBlock.

Getting started

To get started with FreeWall you need to include the jQuery or Zepto framework. In this basic guide, we’re going to use jQuery as an example to make a normal grid layout demo.

Now let’s first include the jQuery framework as well as the FreeWall plugin with the following code.

 <script src="http://code.jquery.com/jquery-latest.min.js"></script> <script type="text/javascript" src="js/freewall.js"></script> 

We will display some brick pieces for the container of the layout.

 <h2>Normal grid</h2> <div class="free-wall"> <div class="brick size320"></div> <div class="brick size320"></div> <div class="brick size320"></div> <div class="brick size320"></div> <div class="brick size320"></div> <div class="brick size320"></div> </div> 

And define our brick sizes with the width and height values of 320px using the style rule below:

 .size320 { width: 320px; height: 320px; } 

Now, to add some javascript code.

Make It Work

To give random colors to the bricks, we’ll define some color arrays and apply them to the bricks using the Math.random() method like so.

 var colour = [ "rgb(142, 68, 173)", "rgb(243, 156, 18)", "rgb(211, 84, 0)", "rgb(0, 106, 63)", "rgb(41, 128, 185)", "rgb(192, 57, 43)", "rgb(135, 0, 0)", "rgb(39, 174, 96)" ]; $(".free-wall .size320").each(function() { var backgroundColor = colour[colour.length * Math.random() << 0]; var bricks = $(this).find(".brick"); !bricks.length && (bricks = $(this)); bricks.css({ backgroundColor: backgroundColor }); }); 

Lastly, we’re going to add functions to make the layout display well. Here is what makes FreeWall great. It has some options and methods to control the behaviour of the grid. The options offered by FreeWall are:

 animate : true, // True to make block move with animation. block.flex : true, // True to made block can resize a bit to fit. cell.width : number, cell.height : number, fillGap : true, // True will made layout without gap. gutter : mixed, // The spacing between the blocks. selector : string, // Get all blocks to made layout. 

Let’s call the plugin using the following code.

 $(function() { $(".free-wall").each(function() { var wall = new freewall(this); wall.reset({ selector: '.size320', cellW: function(container) { var cellWidth = 320; if (container.hasClass('size320')) { cellWidth = container.width()/2; } return cellWidth; }, cellH: function(container) { var cellHeight = 320; if (container.hasClass('size320')) { cellHeight = container.height()/2; } return cellHeight; }, fixSize: 0, gutterY: 20, gutterX: 20, onResize: function() { wall.fitWidth(); } }) wall.fitWidth(); }); $(window).trigger("resize"); }); 

As you can see in the above function code, we use some of the FreeWall option, method and event. Like fixSize, gutterY, gutterX, onResize and fitWidth. If you want to use another option, method or event you can find the documentation in the FreeWall official homepage.

Now you can see the dynamic grid layout in action in the demo page. If you resize your browser, the bricks will automatically be rearranged and resized.

References


    






Track Productivity (&#38; Distractions) On Chrome With Limitless

Posted: 15 Jan 2014 09:01 PM PST

It’s harder to concentrate and remember things when you work online. There is so much to see, do, read, watch, follow, like, upload, download and.. you get the idea. Productivity can take a dip if you aren’t disciplined enough, which is unfortunately true for most of us.

But if you cannot get of the Internet complete to get work done, what you can do is keep track of the time spent on websites with an extension like Limitless.

Limitless

Limitless is a Chrome extension that automatically tracks the sites you’re on and logs the time spent on each website. It then categorizes the websites and lets you know if you’re spending too much time online shopping instead of being productive with work.

It also replaces Chrome’s default New Tab page with statistics displayed over beautiful and calming pictures. Let’s check out how Limitless works.

Start Tracking Website Duration

After installing Limitless on your Chrome browser, you’ll be asked to input your name and goals you want to achieve for the day and year. These goals will be occasionally shown to you when you open the New Tab page together with words of encouragement.

Once you’ve updated these settings, Limitless will run on its own and begin tracking the duration you spend on each website.

Limitless Settings

Limitless automatically categorizes the sites you visit and will give you a detailed analysis showing exactly how long you spend on that specific category. Note that due to its automatic categorization, sometimes a website that you frequently surf for work can be mistakenly categorized as something else and logged in as non-productive.

Productivity Analytics

Don’t worry thought because you can click on the categories and edit the predetermined categories to ensure more accurate tracking activities and better analytics of your productivity.

This feature is helpful for social media marketers or digital marketers who have to spend time working on Facebook, Twitter and Instagram.

Limitless Categories

Another feature that Limitless has is called the Scratchpad. Clicking it shows you a text box to quickly jot down notes or thoughts without worrying that it’ll be lost within one of the many productivity tools you have. Once you’ve entered some text in, clicking anywhere outside the text box saves it.

Limitless Notes

At the end of the day, you get a final count of how long you were distracted today and can read up on tips to manage distractions.

Limitless

Limitless is built with this generation’s attention span in mind. So if you know you need help handling your Facebook surfing habits, get this extension and start tracking where you spend your time online and adjust your online habits accordingly.


    






0 comments:

Post a Comment