{"id":1389,"date":"2015-10-27T02:00:56","date_gmt":"2015-10-27T02:00:56","guid":{"rendered":"http:\/\/www.ckl.io\/?p=1389"},"modified":"2022-07-01T18:09:45","modified_gmt":"2022-07-01T18:09:45","slug":"android-m-dev-challenges-and-expectations","status":"publish","type":"post","link":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/","title":{"rendered":"Cakers\u2019 Review: Development Challenges and Expectations for Android M"},"content":{"rendered":"<p>On October 5th, the latest version of Android, Marshmallow (6.0) \u2014 aka. Android M \u2014 began its rollout for Nexus 5, 6, 7, 9, and Nexus Player. Considering that many blogs and websites have already discussed the new features Android M presents, we would like to take a different approach to this topic.<\/p>\n<p><!--more--><\/p>\n<p>&nbsp;<\/p>\n<p class=\"p1\"><span class=\"s1\">Besides briefly brainstorming the newest features of Android 6.0 Marshmallow, we will present the point of view of mobile developers experts. Here are the Cheesecakers\u2019 opinions regarding the new development challenges and expectations for Android M:<\/span><\/p>\n<p>&nbsp;<\/p>\n<h2><span style=\"color: #2995c0;\">Our Top Picks for Android M&#8217;s New Features<\/span><\/h2>\n<p>Our top Android developers Marko Arsi\u0107, Leonardo Freitas, Natan Grando, and Edson Menegatti have chosen four&nbsp;among all of the new features that they believe are more interesting to talk about. Check their opinions below.<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #ff00ff;\"><strong><span style=\"color: #a7347a;\">Runtime permissions<\/span><span style=\"color: #000000;\">, by Marko Arsi\u0107<\/span><\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Instead of asking for all of the permissions on the moment we have an app installed, permissions are going to be asked as we go. Users will also be allowed to reverse any permission at any given moment.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1399\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/RuntimePermissions02.png\" alt=\"Runtime Permissions - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"289\" height=\"466\" srcset=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/RuntimePermissions02.png 991w, https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/RuntimePermissions02-768x1240.png 768w\" sizes=\"(max-width: 289px) 100vw, 289px\" \/><\/p>\n<p><span style=\"color: #000000;\">Here is what our Caker&nbsp;has to say about this feature:<\/span><\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_1450\" aria-describedby=\"caption-attachment-1450\" style=\"width: 113px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/11\/Marko.jpg\"><img decoding=\"async\" class=\"wp-image-1450\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/11\/Marko.jpg\" alt=\"Marko Arsi\u0107 - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"113\" height=\"113\"><\/a><figcaption id=\"caption-attachment-1450\" class=\"wp-caption-text\">Marko Arsi\u0107<\/figcaption><\/figure>\n<p><span style=\"color: #000000;\">&#8220;Before Android M, users&nbsp;were only able to grant or deny all permissions at once before installing the app. Now, with Android 6.0 (M), one&nbsp;of the biggest changes is giving users&nbsp;more control over app permissions and a notification every time an app wants to access a certain part of the&nbsp;device \u2014 such as&nbsp;the camera, microphone, or location services.<\/span><br \/>\n<span style=\"color: #000000;\"> Users will also be able to see and change the level of access they\u2019ve granted for each app, under Settings &gt; Apps &gt; Gear icon &gt; App permissions.<\/span><br \/>\n<span style=\"color: #000000;\"> As a developer, you will have to test your app under a wider range of conditions. Prior to Android M, you could reasonably assume that if your app is running at all, it has all the permissions it declares in the app&#8217;s manifest. Under the new M permissions model, you can no longer make that assumption.&nbsp;<\/span><br \/>\n<span style=\"color: #000000;\"> In my opinion, as an Android developer and user, this is the right way of handling application permissions. By enabling this option, Android shows&nbsp;that it is taking care of users&#8217; data and security. This feature&nbsp;has been incorporated in iOS for quite some time, and it is past time for&nbsp;Android to provide such options.&#8221;<\/span><\/p>\n<h3><\/h3>\n<h3><span style=\"color: #a7347a;\"><strong>In-app translation<\/strong><\/span><span style=\"color: #ff00ff;\"><strong><span style=\"color: #000000;\">, by&nbsp;Leonardo Freitas<\/span><\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Android M users who have the Google Translate app will be able to translate in 90 languages right within apps.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1394 size-full\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/InAppTranslation.png\" alt=\"InAppTranslation - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"556\" height=\"321\"><\/p>\n<p>&nbsp;<\/p>\n<p>Here is what our Cheesecaker has to say about this feature:<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_1392\" aria-describedby=\"caption-attachment-1392\" style=\"width: 113px\" class=\"wp-caption alignleft\"><img decoding=\"async\" class=\"wp-image-1392\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Leo.png\" alt=\"Leonardo Freitas - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"113\" height=\"112\"><figcaption id=\"caption-attachment-1392\" class=\"wp-caption-text\">Leonardo Freitas<\/figcaption><\/figure>\n<p><span style=\"color: #000000;\">&#8220;With the internet, making friends around the globe is a pretty easy thing \u2014 of course, for this to happen, both users have to know a common language. Now imagine you could chat in your own language and your friends chat in theirs. That would be awesome, right?<br \/>\nWith in-app translation in the newest Android version, we get pretty close to it. For users to enable it, all it takes is having the Google Translate app installed, and the developer of the targeted app making use of the Android&#8217;s text selection default behavior.<br \/>\n&#8216;But the app I like doesn&#8217;t make use of the default behaviour!&#8217; \u2014 don&#8217;t panic!&nbsp;As Android is all about customization, Google shows all the steps needed for adding this awesome option into your app in the <a style=\"color: #000000;\" href=\"http:\/\/android-developers.blogspot.com.br\/2015\/10\/in-app-translations-in-android.html\" target=\"_blank\" rel=\"noopener noreferrer\">blog post featuring it<\/a>. It&#8217;s pretty easy and straightforward to do it.<br \/>\nFor developers out there, don&#8217;t throw all those internationalized <em>strings.xml<\/em>&nbsp;away yet, since&nbsp;the feature only supports translating selectable text.<br \/>\nNow all we need is love, and the ability to make these translations without users having to select the text!&#8221;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>Doze<\/strong><\/span><span style=\"color: #ff00ff;\"><strong><span style=\"color: #000000;\">, by Natan Grando<\/span><\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>The background processes will be reduced if your phone hasn\u2019t interacted with them in a while\u2013like when you\u2019re sleeping or left your phone on the table\u2013through the use of motion detectors.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1397 size-full\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Doze.jpg\" alt=\"Doze - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"660\" height=\"371\"><\/p>\n<p>Here is what our Cheesecaker&nbsp;has to say about this feature:<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_1393\" aria-describedby=\"caption-attachment-1393\" style=\"width: 112px\" class=\"wp-caption alignleft\"><img decoding=\"async\" class=\"wp-image-1393\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Natan.png\" alt=\"Natan Grando - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"112\" height=\"113\"><figcaption id=\"caption-attachment-1393\" class=\"wp-caption-text\">Natan Grando<\/figcaption><\/figure>\n<p><span style=\"color: #000000;\">&#8220;One of the major battery drain on mobile devices is networking. Every time an application makes a network request, the radio chip is woken up and remains awake for 20-60 seconds after a package is transmitted, draining some more battery as a result. So, as many developers know, the battery impact is way smaller if you batch your network requests.<\/span><br \/>\n<span style=\"color: #000000;\"> In Android Marshmallow, there\u2019s a new feature called Doze that reduces the battery usage when the device is idle. This feature reduces the CPU usage and batches the network requests of every application and performs them in a maintenance window. This feature can save up to 60% of the battery usage, which is amazing.<\/span><br \/>\n<span style=\"color: #000000;\"> &#8216;This feature seems quite magical for users, but what about the developers?&#8217; \u2014 for most cases the developer won\u2019t even have to bother with this new feature. Only a few applications that schedule alarms that may be fired when the device is idle, or that require that some urgent data is sent right away over the network should worry about it. If your app falls into these cases, fear not, because it\u2019s pretty easy to add it to the whitelist that is ignored by Doze, as you can check out&nbsp;<a style=\"color: #000000;\" href=\"http:\/\/developer.android.com\/intl\/pt-br\/training\/monitoring-device-state\/doze-standby.html\" target=\"_blank\" rel=\"noopener noreferrer\">here<\/a>.&#8221;<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>Google Now on Tap<\/strong><\/span><span style=\"color: #ff00ff;\"><strong><span style=\"color: #000000;\">, by Edson Menegatti<\/span><\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Google\u2019s new feature counts with 100 popular apps that provide users with Google Now-like content. Basically, Now on Tap focuses on proving answers and helping you take action by being aware of different contexts.<br \/>\n<img decoding=\"async\" class=\"aligncenter wp-image-1398\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/GoogleNowOnTap.png\" alt=\"Google Now On Tap - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"783\" height=\"493\"><\/p>\n<p>Here is what our Cheesecaker has to say about this feature:<\/p>\n<p>&nbsp;<\/p>\n<figure id=\"attachment_1449\" aria-describedby=\"caption-attachment-1449\" style=\"width: 113px\" class=\"wp-caption alignleft\"><a href=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/11\/Ed.jpg\"><img decoding=\"async\" class=\"wp-image-1449\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/11\/Ed.jpg\" alt=\"Edson Menegatti - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"113\" height=\"113\"><\/a><figcaption id=\"caption-attachment-1449\" class=\"wp-caption-text\">Edson Menegatti<\/figcaption><\/figure>\n<p><span style=\"color: #000000;\">&#8220;As a developer, I was excited about getting this super-powerful feature that required zero effort on my end to implement. As a user, I was even more amazed by its promised ability to filter whatever was more relevant in the screen!<\/span><br \/>\n<span style=\"color: #000000;\"> So, as soon as I got my hands on 6.0, I activated Now On Tap on every screen possible. I must admit I felt a little frustrated with the results, mostly because the demos builded up my expectation so high that was I sort of waiting for magic to take place.<\/span><br \/>\n<span style=\"color: #000000;\"> Of course, Now on Tap is not magical, it cannot conjure information out of thin air. For instance, the app I\u2019m currently working on is pretty much self-contained, so you won\u2019t find movie names, appointment dates or locations there, which means Now on Tap has nothing to work on, it can only prompt you to try again. On the other hand, whenever I feed it the screen with the right info, it excelled in giving me relevant searches.<\/span><br \/>\n<span style=\"color: #000000;\"> The conclusion is that you cannot rely on Now on Tap to take your app to the next level, unless it has the right type of data correlated with the real world in a direct and comprehensible manner. Otherwise, it just won\u2019t work for you.&#8221;<\/span><\/p>\n<h2><span style=\"color: #2995c0;\">Some of the Other Android M&#8217;s Features<\/span><\/h2>\n<h3><span style=\"color: #a7347a;\"><strong>Chrome Custom Tabs<\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Launching Chrome separately is no longer necessary whenever you click on a link.<br \/>\nChrome Custom Tabs will allow apps to open customized Chrome window right on top of the active app.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1400 size-full\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/ChromeCustomTabs.png\" alt=\"Chrome Custom Tabs - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"506\" height=\"484\"><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>Fingerprint support<\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Here\u2019s a new feature to improve security and also simplify things. Android M\u2019s fingerprint support will allow users to unlock their phones and also make purchases within Play Store.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1401\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/FingerprintSupport.jpg\" alt=\"Fingerprint Support - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"656\" height=\"407\"><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>Android Pay<\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Google\u2019s new mobile payment system designed to provide \u201csimplicy, security, and choice\u201d. Supported by Visa, Mastercard, American Express, Discover and carriers such as AT&amp;T, Verizon, and T-Mobile. Also compatible with any NFC-enabled device capabilities, and running 4.4 KitKat or above.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1402\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/AndroidPay.jpg\" alt=\"Android Pay - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"475\" height=\"356\"><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>App Links<\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>This is perhaps one of the features that will make one of the most perceptible differences regarding mobile usability. For example, if you tap a YouTube link when browsing the Internet, the YouTube app will open it automatically without have to recur to the \u201cOpen with\u201d dialogue.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1403 size-full\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/AppLinks.png\" alt=\"App Links - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"675\" height=\"200\"><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>Auto backup\/restore for apps<\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Working only on apps targeting API 23, this feature can create a backup of your apps (including data, passwords, and basically everything it needs to be reinstalled as if nothing ever happened) in Google Drive.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1405 size-full\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/AutoBackupAndRestore.jpg\" alt=\"Auto Backup And Restore - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"363\" height=\"209\"><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>RAM manager<\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Finally the RAM manager of Android provides users with more comprehensible and accurate information as to the average and maximum RAM usage of apps.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1407\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/RamManager.png\" alt=\"RAM Manager - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"300\" height=\"534\"><\/p>\n<p>&nbsp;<\/p>\n<h3><span style=\"color: #a7347a;\"><strong>Adoptable storage devices<\/strong><\/span><\/h3>\n<p>&nbsp;<\/p>\n<p>Google\u2019s new storage feature can format an external storage source (such as USB drive or SD card) like an internal storage space.<\/p>\n<p><img decoding=\"async\" class=\"aligncenter wp-image-1408\" title=\"Android M\" src=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/AdoptableStorageDevices.png\" alt=\"Adoptable Storage Devices - Cakers\u2019 Review: Development Challenges and Expectations for Android M\" width=\"279\" height=\"496\"><\/p>\n<h3><span style=\"color: #2995c0;\">That&#8217;s all folks!<\/span><\/h3>\n<p><span style=\"color: #000000;\">These are&nbsp;the Android 6.0 Marshmallow&#8217;s features that were selected by our&nbsp;Cheesecakers for this post.<br \/>\n<\/span>And you, what features you believe are the most challenging or interesting ones?<br \/>\nShare your thoughts in the comment section below!<\/p>\n","protected":false},"excerpt":{"rendered":"<p>On October 5th, the latest version of Android, Marshmallow (6.0) \u2014 aka. Android M \u2014 began its rollout for Nexus 5, 6, 7, 9, and Nexus Player. Considering that many blogs and websites have already discussed the new features Android M presents, we would like to take a different approach to this topic.<\/p>\n","protected":false},"author":65,"featured_media":2964,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[432,7],"tags":[56,54],"class_list":["post-1389","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-engineering","category-opinion","tag-tag-mobile-app-developer","tag-tag-mobile-app-development"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.1.1 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Cakers\u2019 Review: Development Challenges and Expectations for Android M<\/title>\n<meta name=\"description\" content=\"Our top Android developers chose four of the new Android M&#039;s features to discuss their dev challenges and expectations.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Cakers\u2019 Review: Development Challenges and Expectations for Android M\" \/>\n<meta property=\"og:description\" content=\"Our top Android developers chose four of the new Android M&#039;s features to discuss their dev challenges and expectations.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/\" \/>\n<meta property=\"og:site_name\" content=\"Cheesecake Labs\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/cheesecakelabs\" \/>\n<meta property=\"article:published_time\" content=\"2015-10-27T02:00:56+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2022-07-01T18:09:45+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2000\" \/>\n\t<meta property=\"og:image:height\" content=\"720\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"Cheesecake Labs\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:site\" content=\"@cheesecakelabs\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"11 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/\"},\"author\":{\"name\":\"Alissander Balemberg\"},\"headline\":\"Cakers\u2019 Review: Development Challenges and Expectations for Android M\",\"datePublished\":\"2015-10-27T02:00:56+00:00\",\"dateModified\":\"2022-07-01T18:09:45+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/\"},\"wordCount\":1520,\"commentCount\":0,\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg\",\"keywords\":[\"mobile app developer\",\"mobile app development\"],\"articleSection\":[\"Engineering\",\"Opinion\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/\",\"name\":\"Cakers\u2019 Review: Development Challenges and Expectations for Android M\",\"isPartOf\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg\",\"datePublished\":\"2015-10-27T02:00:56+00:00\",\"dateModified\":\"2022-07-01T18:09:45+00:00\",\"author\":{\"@type\":\"person\",\"name\":\"Alissander Balemberg\"},\"description\":\"Our top Android developers chose four of the new Android M's features to discuss their dev challenges and expectations.\",\"breadcrumb\":{\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage\",\"url\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg\",\"contentUrl\":\"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg\",\"width\":2000,\"height\":720,\"caption\":\"Android M\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/cheesecakelabs.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Cakers\u2019 Review: Development Challenges and Expectations for Android M\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#website\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/\",\"name\":\"Cheesecake Labs\",\"description\":\"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"name\":\"Alissander Balemberg\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/\",\"url\":false,\"contentUrl\":false,\"caption\":\"Alissander Balemberg\"},\"description\":\"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.\",\"url\":\"https:\/\/cheesecakelabs.com\/blog\/autor\/lis\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Cakers\u2019 Review: Development Challenges and Expectations for Android M","description":"Our top Android developers chose four of the new Android M's features to discuss their dev challenges and expectations.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/","og_locale":"en_US","og_type":"article","og_title":"Cakers\u2019 Review: Development Challenges and Expectations for Android M","og_description":"Our top Android developers chose four of the new Android M's features to discuss their dev challenges and expectations.","og_url":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/","og_site_name":"Cheesecake Labs","article_publisher":"https:\/\/www.facebook.com\/cheesecakelabs","article_published_time":"2015-10-27T02:00:56+00:00","article_modified_time":"2022-07-01T18:09:45+00:00","og_image":[{"width":2000,"height":720,"url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg","type":"image\/jpeg"}],"author":"Cheesecake Labs","twitter_card":"summary_large_image","twitter_creator":"@cheesecakelabs","twitter_site":"@cheesecakelabs","twitter_misc":{"Written by":null,"Est. reading time":"11 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#article","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/"},"author":{"name":"Alissander Balemberg"},"headline":"Cakers\u2019 Review: Development Challenges and Expectations for Android M","datePublished":"2015-10-27T02:00:56+00:00","dateModified":"2022-07-01T18:09:45+00:00","mainEntityOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/"},"wordCount":1520,"commentCount":0,"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg","keywords":["mobile app developer","mobile app development"],"articleSection":["Engineering","Opinion"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/","url":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/","name":"Cakers\u2019 Review: Development Challenges and Expectations for Android M","isPartOf":{"@id":"https:\/\/cheesecakelabs.com\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage"},"image":{"@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage"},"thumbnailUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg","datePublished":"2015-10-27T02:00:56+00:00","dateModified":"2022-07-01T18:09:45+00:00","author":{"@type":"person","name":"Alissander Balemberg"},"description":"Our top Android developers chose four of the new Android M's features to discuss their dev challenges and expectations.","breadcrumb":{"@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#primaryimage","url":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg","contentUrl":"https:\/\/ckl-website-static.s3.amazonaws.com\/wp-content\/uploads\/2015\/10\/Arte-Post-Blog_02.jpg","width":2000,"height":720,"caption":"Android M"},{"@type":"BreadcrumbList","@id":"https:\/\/cheesecakelabs.com\/blog\/android-m-dev-challenges-and-expectations\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/cheesecakelabs.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Cakers\u2019 Review: Development Challenges and Expectations for Android M"}]},{"@type":"WebSite","@id":"https:\/\/cheesecakelabs.com\/blog\/#website","url":"https:\/\/cheesecakelabs.com\/blog\/","name":"Cheesecake Labs","description":"Nearshore outsourcing company for Web and Mobile design and engineering services, and staff augmentation for startups and enterprises..","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/cheesecakelabs.com\/blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","name":"Alissander Balemberg","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/cheesecakelabs.com\/blog\/#\/schema\/person\/image\/","url":false,"contentUrl":false,"caption":"Alissander Balemberg"},"description":"10 years of experience in Marketing and Sales in the Technology sector. My main purpose is help, support and structure efficient operations and also develop independent and multidisciplinary teams.","url":"https:\/\/cheesecakelabs.com\/blog\/autor\/lis\/"}]}},"_links":{"self":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/1389","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/users\/65"}],"replies":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/comments?post=1389"}],"version-history":[{"count":1,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/1389\/revisions"}],"predecessor-version":[{"id":10389,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/posts\/1389\/revisions\/10389"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media\/2964"}],"wp:attachment":[{"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/media?parent=1389"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/categories?post=1389"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/cheesecakelabs.com\/blog\/wp-json\/wp\/v2\/tags?post=1389"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}