Image from Přemysl Vaculík's page
Android 4.4 KitKat has finally been released. Even though the new OS version currently runs only on Nexus 5 and very few devices are getting this privilege in the foreseeable future, there are many good reasons why you should start experimenting with Android KitKat right now. In a few words, here’s what you need to know:
- KitKat is said to corner the Android market in 2014 kicking off Jelly Bean and Gingerbread.
- New features leave much space for creativity and imagination making discovery of new unoccupied niches for mobile apps more than possible.
- New APIs and frameworks make app building more convenient and pleasant.
- New graphics and design enhancements help implement the most challenging ideas in both elegance and productivity.
Reason 1. One OS for all Android smartphones
Google has an ambitious goal — to bring all Android devices to one mobile platform by 2014: ‘We have one version of the OS that'll run across all Android smartphones in 2014’, said Sundar Pichai. That sounds like the notorious problem of Android fragmentation is coming to an end. Instead of putting efforts into support of outdated Android versions, developers can finally concentrate on making good apps for just one version.
Reason 2. You can test apps on KitKat
Even though the official KitKat support for the majority of devices is far far in the future — until phone manufacturers adopt their UI for the new OS and release official updates, the new Android SDK, as usual, includes a new mobile device emulator, so testing is already possible. Besides, the unofficial Roms, like CyanogenMod 11 ROM by TeamDouche, are on their way.
Reason 3. Be the first to come with original app ideas
The 4.4 release comes with many great new features that could either enhance existing apps or inspire ideas for something completely new. Take, for example, KitKat's IR Blaster support. Although right now it only has one real action (sending IR signals and not receiving them), the new API still enriches app potential and lets users remotely control nearby electronic devices. Of course, this is only the case if the device itself is equipped with IR. The learning, recording and 2-way IR communication remains out of question by now, but still it's better than nothing.
Reason 4. Host Card Emulation (HCE)
Since new NFC feature has the potential to revolutionize the whole payment system, I consider it a fair reason on its own. Tired of waiting for any news in this field, we even came up with an alternative to NFC technology, yet Google finally rolled out the support for secure NFC-based transactions through Host Card Emulation (HCE). This means that developers can now build mobile payment apps and other custom services and no extra device hardware (NFC card) is required.
Reason 5. Screen recording
Making tutorials and marketing material has now become a much easier task! With the new screen recording utility, you can capture (with high-quality!) video of what's happening on a device without extra gadgets but the device itself. Although, as with any other feature, it might backfire. For example, this feature might become a problem if your app deals with copyrighted material. But no worries, there’s a way to protect media content, just read the corresponding Android manual section.
Reason 6. New APIs and frameworks
There are lots of tasty things in the KitKat wrapper. Especially:
- The printing framework was warmly greeted by Android developers. This isn’t surprising, since previously Android had no universal system printing solution. Now Google offers both API and ready-made plug-ins for printers.The plug-ins will be distributed via Google Play saving users time and energy.
- Transitions framework makes it easier to animate the states in your UI.
- Storage access framework optimises the working process with data stored locally and on cloud-based services. One more piece of good news for developers of cloud services: the data exchange methods are unified, so you could produce your own plug-ins compatible with almost any app.
- SMS provider — another great feature of Android 4.4. It’s a set of API that allows developers to optimise an SMS app to work by default. For instance, if earlier installation of a third-party software caused clones of incoming messages and a general mess in the notification panel, now the installation of an SMS/MMS app and setting it as a default application, in fact, disables functions of previously used app by intercepting messages.
Reason 7. Smart memory management
Besides being memory-efficient platform itself — with the ability to run on devices with as little as 512MB of RAM — KitKat's new API ActivityManager.isLowRamDevice() allows to optimize apps for device RAM available. In other words, now it's you who determines what amount of phone memory your app is working with.
Reason 8. Chromium
Time to bring web content to a whole new level. Since Chromium became the standard WebView for Android, you get the best from HTML5, CSS3 along with the power of V8 virtual machine. Besides, Chromium WebView supports remote debugging from a PC. So, now you can debug mobile projects with the help of a desktop Chrome, while previously it was possible only through Android Chrome.
Reason 9. Compatibility with Java 7
Considering that Java 6, which is the basis for Android code, is gradually becoming outdated, a change was anticipated. Finally, released together with Android KitKat, the newly updated Android Studio 0.3.2. brings support for more Java 7 components. Looks like developers are getting more freedom in using Java 7 syntax in projects from now on.
Reason 10. Security improvements
- The SELinux configuration has been switched from 'permissive' to 'enforcing'. So, if previously all actions that potentially could violate security policy were just logged, now they are automatically blocked.
- Adding of Elliptic Curve Digital Signature Algorithm (ECDSA), thus improving security of digital signing of app or data connection.
- The implementation of Scrypt key derivation function improved security of full-disk encryption.
- VPNs on multiuser phones are now applied per user.
- Adding support for FORTIFY_SOURCE 2.
- FORTIFY_SOURCE now works within NDK.
Reason 11. RenderScript Compute improvements
If you use or plan to use RenderScript, you will surely appreciate ongoing performance tuning in the runtime. RenderScript that came as an alternative to OpenCL has been improved considerably both in terms of productivity and convenience of use. If in previous versions RenderScript GPU acceleration was possible on Nexus 10 only, now it works with Nexus 4, 5, and 7(2013). Moreover, you can call RenderScript from a new version of the Android NDK (r9b) via new C++ API and therefore use this technology for resource-greedy native apps.
Reason 12. Graphics improvements
SurfaceFlinger also features nice changes: the prehistoric OpenGL ES 1 it used before has been updated to OGL ES 2.0 specifications. As a result, there is a nice performance gain by using multitexturing, better color calibration quality and support for more complex special effects.
Hardware Composer also gets its share of enhancement: HWComposer 1.3 supports hardware composition of one virtual display in addition to the primary, external display and improved interaction with OpenGL ES.
Reason 13. Design improvements
For design enhancements you could check the updated section of the Android Design guide. It covers:
- Your branding — KitKat's pointers how to incorporate your brand components into the app UI.
- Touch feedback — the default touch feedback has been changed from vibrant blue to subtle blue.
- Full screen — ever wished for an extra pixel for your app? Android 4.4 has just granted your wish having introduced two full screen modes: IMMERSIVE and IMMERSIVE_STICKY.
As you can see Google's update is not just new colors — Android 4.4 KitKat has much to please users and inspire developers. We have been inspired. Have you?