Monthly Archives: July 2015

SpeedyKey Keyboard App By Teknowledge

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

Typing quickly on mobile touchscreen keyboards is not the easiest task for many. Errors crop up, words have to be deleted and rewritten – resulting in frustrating delays. In the last six months or so, we had received multiple requests for creating an app that would make the task of typing on mobile devices faster, simpler, and most importantly, error-free. The SpeedyKey project gave us the opportunity to finally make such an application.

SpeedyKey is available on iPhone, iPad, iPod Touch and Apple Watch

The Start


Ever since the release of iOS 8, we have received plenty of proposals for making custom third-party keyboards. Barring a few, most of the concepts were not exciting enough to take on. SpeedyKey, however, put an entirely new spin on the idea of what a keyboard app for iOS devices should be like. Making it was…fun.”

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Software)


When the head of Sp/F Meitilberg Arts presented the app idea for the first time, it was clear that it had the potential to be a big-time winner. Apart from making typing quicker, SpeedyKey was slated to pack in a host of keyboard shortcuts, pre-written custom replies, themes, and other fun features. We knew that, if we could successfully make this app – it would find favor among users. And that’s precisely what happened.


Before I got in touch with Hussain and his team, I had one thing pretty clear in my mind. I did not want SpeedyKey to be like the other run-of-the-mill mobile keyboard applications. A look at the portfolio of Teknowledge told me that these guys might have it in them to properly implement my ideas in the app. My gut feeling turned out to be correct.

Head, Sp/F Meitilberg Arts


As is customary at our mobile app company, we sent along a free app quote within two business days after receiving the app idea. All the formalities were settled by a week, and the project was handed over to our iOS development team.


What’s SpeedyKey All About?

Speedy is an iOS keyboard app that helps users to type faster

It would be an injustice to refer to SpeedyKey as just a ‘third-party iPhone keyboard app’, and leave it at that. We had aimed to make typing a faster, and more fun experience, for users of this application. In essence, SpeedyKey can be described as a compact, user-friendly, and multi-featured keyboard application – just the way it had been conceived by Sp/F Meitilberg Arts. Once the final prototype was ready, we realized that there were hardly any keyboard app at the store that was as good as this one.


Whenever I get the proposal for a new app, I try to find whether it would indeed be of value to final users. Otherwise, making it is…frankly…a waste of time. SpeedyKey is one of those apps about which I was confident from the very outset. It had simply too many top-notch features to not be liked.

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Software)


Main Features Of The SpeedyKey App


Making SpeedyKey – my dream project – stand out from the cluster of similar apps was my prime prerogative. I took my time to think up the features that the app should have…the features that would actually benefit people. Credit to the Teks team here, they made sure that my ideas were incorporated in the app in the right manner.

– Head, Sp/F Meitilberg Arts


Apart from typing being an absolute breeze on the app, SpeedyKey has many other delightful, well-thought-out features. Right from the custom speedy replies and word suggestions, to support for foreign languages and the speedy-menu option – each feature contributes towards making typing quicker, customized and free of mistakes. The spacebar of the app, which performs several actions, deserves a special mention too.


So, What Exactly Is A Speedy Reply?

When the head of Sp/F Meitilberg Arts explained the concept of ‘Speedy Reply’, we immediately felt that this feature could be the main USP of the app. Users were given the option of creating and storing their very own customized replies, which they could send with a single tap. ‘Speedy Reply’ could be used to respond to emails as well as text messages. What’s more, email ids and personalized mail signatures could also be added with the Speedy Key tab.


When you have to type more, the chances of making mistakes go up – it’s as simple as that. The central focus of SpeedyKey is about minimizing the need for typing as much as possible, particularly repetitive things like email signatures and short replies. Not surprisingly, the app brings down errors in typed replies significantly.

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Software)


The ‘Speedy Reply’ feature comes in particularly handy for replying to messages/mails when a user is in the midst of something important. All that (s)he has to do is tap a custom message (for instance, “I’ll call you soon”) to send it along – without disrupting his/her work. After due deliberation, our in-house iOS app developers also included the provision of adding reminders with these replies. If a specific time is mentioned, a small red bell appears on the top-right corner of the custom reply messages.


I am not particularly fond of third-party keyboard apps. But this SpeedyKey is different. Earlier on, I often could not respond to the client emails – particularly the ones that came in during meetings and board discussions – quickly enough. I tried out this app, and found that I can do a one-tap reply to the senders, and then follow up with more detailed replies later. SpeedyKey has made me a more efficient manager, that’s for sure!”

Jonas Coleman (Advertising Manager)

(downloaded SpeedyKey on 4 July 2015)


Compactness Of The App


SpeedyKey supports three different languages – English, Faroese and Danish. There are plans to include more languages in the upgraded versions of the app in future. While creating an English keyboard was easy enough, the task was slightly tricky when it came to the foreign languages – which have extra alphabets. The SpeedyKey button (that little tab with the black smiley) maintains the compactness of the application in such circumstances. Pressing the button displays the extra letters/characters – from where users can easily choose the one(s) they wish to put in a message. The total number of buttons do not increase.

SpeedyKey button supports special characters of foreign languages

One of the challenges I had to address while conceptualizing SpeedyKey was how the additional letters that many languages have would be accommodated. The last thing I wanted was extra buttons to appear, which would ruin the overall layout of the keyboard. After a couple of meetings with Hussain and his team, we locked in the idea of supporting extra characters with the SpeedyKey button.

– Head, Sp/F Meitilberg Arts


What if a language does not have extra alphabets? For such languages, a long-press of the SpeedyKey tab pulls up the custom speedy replies and emojis. Once again, the need for including more buttons is done away with.


Ease Of Use


A remarkable thing about SpeedyKey is how the app addresses practically all types of requirements that a person might have, while typing on an iPhone or iPad. A few swipe gestures is all it takes to move the cursor, add/delete words, and type numbers. Even the custom-created words and suggestions can be removed. SpeedyKey is indeed…speedy!

Hussain Fakhruddin, CEO, Teknowledge Software

– Hussain Fakhruddin (CEO, Teknowledge Software)


The buttons in the top row of the SpeedyKey app have numbers in their bottom-right corners. 8 other buttons have similar small signs on them. To insert these numbers/signs, users have to press the appropriate button and swipe downwards. Yep, it’s really that easy!


The app also has a built-in menu bar, for quickly activating/deactivating select functions. The suggestion bar can be minimized (a great option for those looking for more screen real estate) as well. For deleting a custom word, it has to be selected, and the ‘Forget This Word’ option chosen.


In-App Purchases

SpeedyKey offers four extra themes via in-app purchase

After consultation with the chief of Sp/F Meitilberg Arts, we went ahead with a grey theme as the default for the SpeedyKey app. Four other cool themes (black, purple, green and white) were made available as in-app purchases. A single purchase enables users to get all the four themes. Playing around with the visual appearance of the app is, hence, simple.


I wanted to give users the option to take their pick from alternative color themes on SpeedyKey. The question was, how they could be included in the app. After a couple of rounds of discussion, it was decided that the themes will be downloadable via in-app purchase. I loved the idea, for it made things convenient for users.

– Head, Sp/F Meitilberg Arts

4 color themes are available on SpeedyKey

The pack of additional themes can be purchased by paying a nominal price of 8,00 kr.

SpeedyKey comes with a host of simple swipe gestures

Device Compatibility

SpeedyKey is optimized for all iOS 8 devices (naturally, for the earlier iterations of the platform do not support third-party keyboards). Apart from iPhone 6 and iPhone 6 Plus, the app can be downloaded on upgraded iPhone 5 handsets, iPad, and iPod Touch. The memory requirement for installing SpeedyKey Keyboard is only 14.0 MB. We wanted to expand the reach of the app as much as possible – and till date, the feedback on it has been uniformly positive.


SpeedyKey is available for download at If you wish to know more about the features of the application, visit This app has laid down a marker regarding what good third-party iOS keyboard apps should be like – and it was a privilege to work on this amazing project.

Making Apps For Apple Watch: Key Takeaways For Developers

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

It has been over three months since Apple started accepting third-party WatchKit applications for its smartwatch – the Apple Watch. By now, well over 4000 Watch apps are present at the store. However, most of these first-generation apps for Apple Watch have been of mediocre quality, and the general consensus amongst developers worldwide is that, the quality of the applications would improve when they would be built natively for the smartwatch, and have access to the native features of the device (for instance, the Digital Crown). As we wait for the final release of watchOS 2 (expected to be in the third quarter of this year), let’s take stock about what we have learnt about WatchKit app development till now:


  1. Xcode bugs can affect WatchKit – If the segue(s) are not working even though apparently everything looks correct, a bug in Xcode is most probably the reason. For an application being made with WatchKit, a random segue ID number might get generated due to the bug – which keeps the segue from firing up. Under such circumstances, app developers have to remove the faulty ID from the storyboard, wipe out the previous details, and start building again from scratch. Finding out whether an Xcode bug is affecting a segue is fairly easy – all that the coder has to do is include the ‘println(segueidentifier)’ inside the methods.
  2. Using big fonts is vital – No one likes to squint while trying to read off text from the Watch face. Many iOS and WatchKit app developers made the mistake of using medium sized fonts in Watch apps (in a bid to save on screen real estate). That, in turn, forced wearers to bring their wrists very close to their eyes – to find out what is written on the app screens. The problem was particularly prominent for apps being used in ‘Glances’ view. The ideal font size that should be used for a Watch application should be around 42-44 pts. Things have to be made easy for final users, you see?
  3. Downloading is easier with NSURLSessionDownloadTask – Many times so. Downloading images within an app might take several seconds, during which users might simply navigate away. Those who are into making apps for Apple Watch need to remember that the average app-interaction time on the smartwatch is very low – and no one is likely to wait as a resource takes its own sweet time to download. This is where the NSURLSessionDownloadTask *downloadtask command comes in handy. It ensures that background task(s) do not get timed out as pictures or other stuff gets downloaded in an application. Adding a provision for AFNetworking (AFURLSessionManager *manager) makes things even more stable.
  4. iOS applications cannot be opened by sending messages from Watch – This is a very common source of confusion among professional Watch and iPhone app development experts. A message from Watch can wake up the background processes of an iOS application, but it DOES NOT OPEN the actual app (the message is sent by calling the WKInterfaceController class). The misconception, in most cases, stems from the fact that iOS apps could be directly opened by sending messages with the WatchKit API in the simulator. On the actual device though, it only activates the application in the background.
  5. Shared data container is required – For both the app as well as its extension. Unlike what was initially thought, WatchKit app data do not get saved in the Apple Watch (i.e., there is no local storage and caching). To access this data, developers need to move to the ‘Capabilities’ section in Xcode, and set up app groups for the iOS application and its WatchKit extension. To rule out unauthorized access of confidential data stored in the apps, the ‘Data Protection’ option should be turned on. The ID for the data container should be the same for the app and the WatchKit extension.
  6. Using margins is unnecessary – There is little scope to get very creative while designing an app for Apple Watch. As per the company’s Human Interface Guidelines, developers can only use different shades of black, to enhance the illumination of the applications. The one thing that isn’t required though, is putting margins around the view area on the Watch screen (a departure from the usual norms of iOS app development). The display area should seamlessly merge with the bezel of Watch. Margins make the display unnecessarily smaller, and the UI of apps become more compressed. Navigation becomes an issue too.
  7. The parent application can crash – Which makes the inclusion of exception breakpoints absolutely vital. WatchKit developers have to attach the breakpoints to the parent – to ensure that the latter does not get lost in the event of an app crash. This can be done by navigating to Xcode → Debug → Attach To Process, and adding the name of the process of the app. Attaching the parent app lets developers use the debugging methods they are familiar with. The process itself gets displayed only after the +openParentApplication:reply: has been called.
  8. The image picker can be a memory hog – Many first-generation mobile app developers faced problems while using image picker for adding photos to Watch apps. Apart from taking up too much of memory space, image picker caused the WatchKit extension to frequently crash as well (in any case, the loading speed was painfully slow). The way around this problem is to ditch the UIImage objects, and use data instead. A thumbnail of each picture to be added to the app has to be created, and then compressed into either PNG or JPEG format. For adding animations, using the +[UIImage animatedImageWithImages:duration:] is advisable. The animated pictures can be moved to the application after NSKeyedArchiver encoding.
  9. Alpha layers cannot be used in Watch app icons – Neither should the images used as icons have transparency. At the app store, icon images that have either of these two properties generate the dreaded “Invalid Binary” error in iTunes Connect (this happens even when submit your app through TestFlight). App developers who use Pixelmator need to go to Sharing → Export For Web, and remove the transparency option (which is generally checked by default).
  10. Replicating an iOS app for Watch is a no-go – This one is probably a no-brainer. The screen of the smartwatch is way smaller than that of the latest iPhones, and if you simply replicate the graphical elements of an iOS application on a Watch app, the latter would look seriously cluttered. Instead, UI/UX designers need to chalk up the layouts and designs of Watch apps from scratch. Only the most important components of the original app interface can remain, and the focus should be on providing enough space for the text to be displayed. This includes doing very subtle changes, like replacing a square checkbox with a circular dot in the center. It’s a challenge to make apps properly viewable on the tiny screen of Apple Watch – but with smarter designing, it can definitely be done.
  11. Card layouts do not work well on Watch – According to experts from the field of general mobile app development, Card layouts enhance the viewability of applications. This does not hold true for WatchKit applications though. An app in Card layout appears weird when the card comes in touch with the edges of the display area, since the screen does not seamlessly merge with the edges. To put it in another way, Card layouts do not let the screen and the bezel of Apple Watch remain visually in sync. That, in turn, results in a poor app-using experience of wearers.
  12. Views cannot be updated too frequently – Yet another difference from iOS apps, on which views can be changed pretty much whenever the developer feels like. On WatchKit, however, Bluetooth services are used for making screen updates – and updates that are made after calling the didActivate function generally do not get approved. Since neither WKView nor WKInterfaceController has any provision to let developers keep track of the screen update data, it is a good idea to use a caching controller subclass, which would record the values of the main views. Any update that is deemed by WatchKit as a duplicate is removed, and Apple is making a conscious endeavor to minimize the number of updates sent via Bluetooth.
  13. Xcode does not auto-create all the provisioning profiles – Three different provisioning profiles are required for each target in an app for Watch – yourAppID, yourAppID.watchkitapp, and yourAppIDwatchkitextension. The Xcode tool creates only two of these provisioning profiles, and developers need to manually create the third from the dev portal. The three profiles need to have separate, unique App IDs. If you are working with app groups, double check whether the entitlements of the main application and the WatchKit extension have been correctly set.
  14. BTLE connections can be unreliable – Responses from Watch apps are sent via Bluetooth Low Energy (BTLE), and the connectivity can often be downright slow. Since testing apps on iOS simulators do not involve BTLE, developers can overlook this – and end up making apps that do not ‘reply’ fast enough. To tackle this problem, app-makers should ideally create cached copies of the API responses that are used most frequently. In case you feel that there will be a delay, add an animation which the wearer would see (just like a splash screen). The focus has to be on minimizing response times as much as possible.


In WatchKit, delegations can still be used – but the method of passing ‘self’ has changed, while a protocol has to be predefined on it. All updates have to be done within willActivate(), since only the ‘set’ methods can be updated with the WatchKit UI controls. For creating Watch interfaces, Storyboards have to be used – so if you do not use Interface Builder, it’s time to learn how to work with it. Also, do not forget that Watch apps have to be compatible with iOS 8 AND iOS 7 (many developers forget about the older platform). During the app testing phase, the Watch should be plugged on to its charger (to prevent the screen dying quickly). watchOS 2 will surely make things easier for developers – with native access to many features of Apple Watch. The over-reliance on paired iPhones will go down as well. The quality, usability and value of Watch apps should also improve over time.



Know More About Android M: 15 New Features

Hussain Fakhruddin
Follow me

Hussain Fakhruddin

Hussain Fakhruddin is the founder/CEO of Teknowledge mobile apps company. He heads a large team of app developers, and has overseen the creation of nearly 600 applications. Apart from app development, his interests include reading, traveling and online blogging.
Hussain Fakhruddin
Follow me

One of the biggest announcements at this year’s somewhat underwhelming Google I/O event was that of the latest iteration of the Android mobile platform, Android 6.0. It has been codenamed Android M (keeping with the alphabetical chronology), and although speculations are rife among tech enthusiasts and app developers alike regarding whether the final name would be ‘Marshmellow’, or ‘Milkshake’, or any other dessert – the general opinion is that, Google has done a good job of making the Android platform more efficient and user-friendly with this version. Let’s check out some of the interesting new features of the upcoming Android M platform right here:


  1. Google Now gets ‘Now On Tap’ feature – Siri 2.0 on iOS 9 is getting smarter, and Google has ensured that its arch-rival, Google Now, will get a facelift in the new Android OS version as well. The best addition to the mobile digital assistant’s features is ‘Now On Tap’ – which allows users to access Google Now services simply by long-pressing the ‘Home’ tab on their devices (irrespective of where they are, and what application(s) they might be using). Like Apple’s Siri, the new and improved Google Now would also have the capacity to ‘understand’ people’s commands better, and provide a more intuitive experience.
  2. Opening links from apps becomes easier – The beta preview of Android M has already been seeded to app development experts, and according to reports, the new platform handles app links more efficiently than before. The OS has the capacity to understand whether a link should be opened within an app, or in the mobile browser – unlike in previous Android versions, where a popup used to be generated for this. Deep-linking within Android applications is also facilitated with the help of additional autoVerify attributes (to be included by developers).
  3. App Drawer gets redesigned – Although the first look of the app drawer in Android M has drawn some flak, it has the potential to make things simpler for final users – especially those who have loads of apps installed on their devices. The rather awkward horizontal scrolling system has been ditched in favor of the easier vertical scrolling (it used to be present till the 2nd generation of the Android platform). People would find the apps that they use more frequently in the top row of the drawer, while the alphabetical arrangement has also become more systematic. Android developers feel that the searchability feature of the revamped app drawer will also come in handy.
  4. Android Pay expands its range – The poorly received Google Wallet is not going to be discontinued anytime soon, but the focus of those up top at Mountain View has clearly shifted to upgrading and popularising Android Pay. With Apple Pay off to a fairly fast start, Android Pay has a bit of catching up to do – but going by the promised features, it should prove to be a more-than-decent mobile payments platform. Built-in with the Android M OS, Android Pay will be compatible to any Kitkat (or later)-powered devices that has near-field communication (NFC) support. In the United States, Android Pay will be usable at nearly 800000 stores, with American Express, Discover, Mastercard and Visa cards being supported. It remains to be seen which one wins the Apple Pay vs Android Pay tussle – but contactless payments technology is going to get a boost, that’s for sure.
  5. Custom Tabs arrive in Chrome – Dave Burke’s announcement of Chrome Custom Tabs being a feature of the Chrome browser in Android M met with enthusiastic response at Google I/O 2015. Android app developers have confirmed that the Custom Tabs allow better and faster access of web services for users, directly from the applications they are using. If a link is tapped in an app, the screen that opens matches the design and feel of the application – which retains an air of familiarity. The Chrome Tabs would also ‘remember’ the login information of users, ensuring that people do not have to go through the process of signing in each time.
  6. Uninstalling/Moving apps is simpler – Remember how you had to go to ‘Settings’ on your Android phone, and remove apps from there (as and when required)? Well, Google has made the task simpler in Android M. All that users will have to do is bring the application to be removed on the home screen (drag-and-drop), and then uninstall it. The same principle works for moving the location of any application from one folder to another. Customization has always been a high point of the Android ecosystem (something that cannot still be said about iOS), and Android M looks to build on that further.
  7. Arrival of the Doze Mode – Anyone who owns a smartphone (any OS) would know the unavoidable problems of battery life. The Doze Mode, which would be present in Android 6.0, should, hopefully help in increasing the battery performance of handsets significantly. When a device is not being used for some time, it goes into a long-standby (think of it like a ‘deep sleep’) – which does away with unnecessary battery-wastage. Particularly for Android smartphones with non-removable battery, the Doze Mode will be helpful for extracting just that bit more of battery juice. Don’t hope for a five-fold increase in battery life though!
  8. Greater user-orientation in app permissions – Professionals from mobile app companies who have already checked out the developer preview feel that this is one of the best features of Android M. The existing system of app permissions has been tweaked around – and users will now be asked for permissions whenever an app tries to access any phone feature. In essence, the app permissions structure has been broken down into separate categories. This promises a smoother app-using experience and, more importantly, greater security while using third-party applications.
  9. MicroSD cards to get native support – Android KitKat removed it, Lollipop brought it back, and ‘M’ will increase it. We are talking about the native support for external storage options on Android handsets – which will ensure that data stored on microSD cards will be treated just like the items saved in the internal storage of handsets. Users will be able to seamlessly transfer apps and other software to and from the expandable memory. Interestingly, the Samsung Galaxy S-series phones no longer have external storage options. Many developers are of the opinion that this is another proof of the growing differences between Google and Samsung.
  10. Charging will be faster – At least it should be. Along with better battery performance (thanks to the presence of Doze Mode), Android M phones will be quickly chargeable as well, since the newest iteration of the platform will have in-built support for USB Type-C charging. What’s more, other compatible devices can also be charged by connecting to smartphones running on Android M. Users would certainly like not having to tag along their phone chargers with them all the time!
  11. Standardized fingerprint scanning – Right from unlocking devices and accessing Android apps, to authorizing purchases and enhancing the security of Android Pay – the beefed up fingerprint reader of Android M will serve multiple purposes. All devices with fingerprint scanners in the hardware setup will get this standardised support. This feature would help in authenticating app downloads from the Google Play Store too. The number of devices with this fingerprint scanning feature is expected to increase over time.
  12. Presence of new Do Not Disturb feature – Android M comes with high-level granularity, with ‘Do Not Disturb’ being the most important addition in the ‘Notification Priorities & Downtime’ standards of the platform. For specific events, users can turn off all notifications for a certain period of time, while setting up separate ‘quiet hours’ for different days of the week is also an option. Owners of new Android phones will get to see only the notifications they want to…and if they so want during any period, no notifications at all. The sliding heads-up notification feature can also be turned off in Android M.
  13. Sharing becomes faster and easier – The revamped ‘Share’ menu option in Android 6.0 will include the names of the people with whom you share stuff (photos, documents, web links) on a regular basis. This, in turn, will make the entire sharing process less cumbersome and time-consuming. In addition to this ‘Direct Share’ feature, software experts and Android app developers have pointed out the floating toolbar (for copying/pasting) and the word selection tool as extremely useful. Android M will support direct A2DP Bluetooth streaming as well – yet another powerful boost to the sharing capability.
  14. Customization option in the pull-down bar – The pull-down notifications bar offers fast access to a vast range of settings and modes – and on Android M, the position of these settings can be personalized as well. The System UI Tuner of the operating system will allow users to remove items from the Quick Settings list of the notifications bar as well. Shortcuts that get removed in the developer preview version cannot be replaced in any way though. When the OS is finally launched, this would be added.
  15. New RAM manager – On Android M-powered devices, finding a rogue app that is hogging too much of memory space, or causing excessive battery drain, will be a breeze. There is a dedicated RAM manager present in the OS, that rates individual applications as ‘average’ or ‘good’ – based on the amount of memory it takes up. In the developer preview of Android M, the RAM Manager can be seen under Settings → Apps → Options → Advanced. The Memory Manager of Android will get more informative with this RAM manager now in place.


Android M will support tethering speeds (for broadcasting signals) of up to 5GHz, a considerable increase over the 2.4 GHz supported by the earlier versions. Volume control has become more personalized, with three different sliders for adjusting notification alerts, music volume and mobile alarms. Android developers have also hailed the provision of automatic app backups that the latest version of the platform will provide. For those who do not dig the bright white default interface of Android Lollipop, there’s some good news – Android M will allow users to switch over to a dark theme (in the developer preview, it can be activated by tapping Settings → About Phone → Build Number (7 times)). Settings and Google Settings are no longer separate, which is a relief for many too.


The Android M developer preview has been made available on Nexus Player, and the Nexus 5, 6, and 9 devices. The final release is expected to happen sometime in September this year. The adoption rate of Android 5.0 Lollipop is still way below 15%, and it remains to be seen whether Android 6.0 packs in enough punch to become more popular. It certainly seems like having the potential to do so!