Showing posts with label Android. Show all posts
Showing posts with label Android. Show all posts

Monday, 8 June 2015

Brillo: Now Android Joins the IoT Bandwagon





Last week in Google I/O Google made an announcement about its latest OS: Brillo. With Brillo Google aims to create an operating system that links our real world things with each other so that our appliances like microwave, televisions, washing machines, air conditioners can all communicate with each other .
In I/O Google also confirmed that Project Brillo will be based on its existing Android operating system but it will be significantly simplified for use in objects other than smartphones and tablets.
Some of the key features which Brillo offers are:
  • Its derived from Android
  • Has minimal System Requirements
  • Broad Silicon Support
  • Easy to Secure

A screen capture from I/O provides a better insight on the same

But Brillo is not alone , Brillo is packed with a powerful communicating layer called Weave. This is the layer which would enable IoT devices to communicate with each other , it’s the glue which will bind the cloud, your mobile and your appliance together . Using Weave it will be possible for devices to publish their current state and also the various supported states. Weave will support JSON based developers APIs thus providing out of the box cross platform support and making the entire system developer friendly.

Brillo will be available to the developer community from Q3 this year and we can expect the complete developer stack with Weave somewhere around Q4.

With Brillo Google has taken a giant step in bringing together this fragmented world of IOT, Google has put forward a very well formed strategy, now its the execution which will decide whether Brillo will prove to be another Android in Making or just another research product to be shelved.
(Image Source: Google I/O )
For experiencing and discussing Brillo based Mobile apps or other Internet of Things Projects please do reach us(Recrosoft Technologies Pvt. Ltd. ) at  http://www.recrosoft.com

Wednesday, 7 January 2015

Tizen: The OS of Everything

Few days back Samsung announced that come 2015 , all the Smart TVs of Samsung will be powered by an Operating  System called “Tizen”. The company announced that it will be bringing up  a platform which is suitable for tomorrow’s  connected world. Tizen  has been build keeping in mind the way society consumes entertainment from multiple devices. Tizen is designed to deliver an integrated entertainment experience that is at once streamlined and powerful. The Tizen powered devices would empower the connected world, these devices would be able to search and identify near by devices and would be able to establish connection with them , thus allowing easy sharing of content . 

 What is Tizen: 
 Tizen is a flexible and open Operating System built from the ground to cater the needs of IOT ecosystem. Tizen was developed by a community of developers and is open for all to participate and contribute Tizen has been built to support  multiple industries and support a vast variety of devices, thus making connected world a feasible possibility. Tizen comes in various profiles to support the devices coming from different industries. Some of the common Tizen profiles which are available for customization  are:
  • Tizen IVI (in-vehicle infotainment),
  • Tizen Mobile,
  • Tizen TV
  • Tizen Wearable
The customization feature of these profiles help the vendors to modify the underlying platform as per their device memory, processing power and other hardware specifications also it gives them power to develop devices which can match the customer needs without bothering on the OS requirements. For developers Tizen provides support for both native and  web based development by providing a consummate support for HTML5.  As Tizen supports a plethora of  devices , it gives the developers the immense power to create apps in a simple way without worrying about the specifications of hardware . 

Tizen Architecture:
  Tizen Architecture 


 Application Framework: This provides application management using. It is also responsible for launching system services like the dialer app.  The Application Framework also notifies applications of common events like low memory, low battery, changes in orientation etc. Database and settings support is also taken care by this framework. 

Graphics and UI : Graphics and UI consist of the system graphic and UI stacks, which includes EFL (Enlightenment Foundation Libraries), an X11-based window management system, input methods, and OpenGL* ES. 
EFL, the heart of the Graphics component, is a suite of libraries. EFL is used to create rich graphics with ease, for all UI resolutions. The libraries build UIs in layers, allowing for 3D transformations and more. EFL includes the Evas canvas API library and the elementary widget library. 

 Multimedia:  Tizen’s Multimedia services are based on GStreamer and provides support for video, audio ,imaging and VoIP. Pulseaudio based audio server functionality is  also present 

 Web:   This includes a version of Webkit ,  a layouting engine, for rendering of web pages. Also it provides a complete implementation of Tizen Web API which is customized for a vied variety of devices. The component is also responsible for providing a web runtime for web applications. 

Messaging:  This is the component from where all the message management is done. This component provides support for SMS, IM, Email  and Multi Media Messages.

Location:  This provides Location Based Services and is based on GeoClue. Thus enabling location tracking from multiple sources like GPS, Wifi Positioning System , Cell Id and other sensors.

Security: It’s responsible for ensuring security across the system and supports features like access control, certificate management, secure app distribution. Also Simplified Mandatory Access Control Kernel (SMACK) is a key ingredient in Tizen security. 

 System:  It takes care of all the system and device management features , it provides an interface to various connected devise, hardware or sensors etc. Another feature which is handles at this component is the power management like controlling the display brightness and when to trigger a sleep. It also handles various device handling events  like USB , charger ear jack events , Alarm/ time management. The system upgrade and package management is also handled by it. 

Base: It contains linux base essential system libraries. The base is a self sufficient unit and with it one can boot to console. Base also provides support for database, internationalization and XML Parsing

Connectivity:  This component takes care of all the connectivity related functionalities like Wifi, 3G, Bluetooth, NFC, HTTP. 

Telephony: It provides support for all cellular related functionalities like:
  1. Call and Non Call related information management
  2. Services for UMTS and CDMA
  3. SMS related services
  4. Management of SIM , Phonebook and Security
  5. Management of SIM application toolkit
PIM:  PIM stands for Personal Information Management and helps in managing user data on device like management of calendar, contacts , tasks etc.   References:
  1. Tizen Architecture Overview by Sunil Saxena (https://www.tizen.org/sites/default/files/tizen-architecture-linuxcollab.pdf)
  2. https://www.tizen.org/
For experiencing and discussing Tizen based Mobile apps or other Internet of Things Projects please do reach us(Recrosoft Technologies Pvt. Ltd. ) at  http://www.recrosoft.com

Saturday, 20 December 2014

Connected Car: The Google Way

We all have been using Android phones in our cars, we rely on these Android devices for a plethora of things, whether it’s for GPS based routing or for playing our favorite music or just taking a phone call, our Android device is there to help us. If that’s the case then why the project Android Auto is making so much buzz these days .. Is there anything special underlying there or it’s just a transitory craze.. Let’s dig deeper into the project to find out what exactly is Android Auto..

Image Source: Android.com
Android Auto was designed giving safety the utmost priority. We all know how many times we have to look at the smartphone screen when we try to use the same in our car. Most of the time the information is not easily available and we have to make some interesting swipes to reach it and that too while driving.. Android Auto provides simple and intuitive interfaces, provides an integration with steering wheel controls  and supports voice commands thus minimizing the attention required for operation and also ensuring that you get what you require without disturbing your driving.

ImageSource: Androd


Android Auto uses cards to bring out all the useful information that is relevant for you. The cards are smart enough to appear when you actually need them. It also provides a voice guided navigation and traffic update so that you take the right route. Also Android Auto support seamless integration with your  smartphones thus taking care of your music, contacts ,notifications  and calls when you are on your way. Last but not the least there are beautiful auto apps already in market which can be used with Google Auto..

Enough  of Gyaan I am a developer , whats there for me in Google Auto:

 As Google says.. Android Auto basically extends the Android Platform into the car. When a user connects is Android 5.0+ smartphone to a compatible vehicle , the Auto provides an Android Experience to the user which is optimized for the car. Once connected , user can interact with compatible apps and services through voice commands and Car’s Interface like steering controls / dashboard buttons.

The developers can write their apps without having to worry about the vehicle specific  hardware , they don’t have to worry about screen resolution , touch controls, knobs or other hardware controls , the apps created using this platform provide same user experience on all the compatible vehicles running Google Auto.

As of now there are two type of apps which are supported by Auto :
  •     Audio Apps: These apps all users to browse and play music and spoken audio content in car.
  •     Messaging Apps : They receive incoming notifications, read out messages and send out replies using the voice interface.

To start with the development  , no vehicle specific hardware is required even a normal android tablet/ smartphone is good enough to begin the development, all you need to do is to just adjust your manifest for the car capabilities that you need to use. The support for Auto is available from Android 5.0 (API level 21)


The Road Ahead:  Although the Auto is going good but Google is planning  for something much bigger than this . If rumors are to be believed then Google is planning to build a version of Android  directly into the cars, thus allowing drivers to use all Android specific features even without plugging their smartphones in the car. As Auto was tightly coupled with the connected smartphone.  But if Android M provides this feature then it would not only solidify Google’s position in the market but also  provide a reply which is much  bigger than the offering of their rival apple (As Car Play is pretty much similar to Android Auto )

For experiencing and discussing Auto based apps please do reach us(Recrosoft Technologies Pvt. Ltd. ) at  http://www.recrosoft.com

Saturday, 13 December 2014

Google Polymer: The Future of Web UI Frameworks

Google brought material design as new unified design paradigm for Android, Chrome and Web based apps. The core idea behind Material Design is to unify the motions, visuals and interaction designs across various platforms and devices. The material design is developed with the aim of bring the feel of ink and paper (tactile material) to the virtual world.

The Polymer library is basically a set of polyfills which can be used to create Web Components. Polymer library provides the underlying structure for defining, creating and rendering complex components in a  simple manner.  It uses the tag based declarative approach to use the prebuild components, thus making the life of developers easier. This approach helps in multiple ways like:
  •  For developers the naming convention becomes easy as Tag Style conventions are used
  • The complex controls are easier to use as using a custom control just requires declaring a tag.
  •  A  suite of custom controls are available at user’s disposal and the customizing these controls is also supported.

Polymer and material design can be seen in action in Topeka app. For a detailed experience of Topeka please use the following link Topeka(https://www.polymer-project.org/apps/topeka/)



For a detailed list of the components provided with polymer please use the following link

Polymer Architecture
(Image Source: toptal.com)


Native Layer: Needed features currently available natively in all major browsers.

Foundation Layer: Polyfills that implement needed browser features not yet natively available in the browsers themselves. (The intention is for this layer to disappear over time as the capabilities it provides become available natively in the browser.) The foundation layer comprises of following technologies:
a.       DOM Mutation Observers and Object.observe() for observing changes to DOM elements and plain Javascript objects
b.      Pointer Events: Handle Mouch and Touch events in a similar way across all platforms
c.       Shadow DOM: For encapsulating structure and style inside elements
d.      Custom Elements: For defining our own custom HTML5 elements
e.      HTML Imports: Package custom elements  .These packages include CSS , HTML and Javascript
f.        Model Driven Views (MDV): For data binding directly in HTML
g.       Web-Animations: API for unifying animation approach across various platforms

Core Layer: The necessary infrastructure for Polymer elements to exploit the capabilities provided by the Native and Foundation layers..

Elements Layer:  This layer consists of UI and non UI components built on the core layer. The layer provides aset of elements which serve as the building blocks for creating an application.  The layer provides elements for functionality like ajax, animation, flex layout, and gestures. Encapsulation of complicated browser APIs and CSS layouts. UI component renderers such as accordions, cards, and sidebars. Polymer is very similar to native HTML5: “attributes in, events out”.     

Its architecture is very component-oriented, its components being HTML elements. Responsive design is also built into most of the widgets, which implies that they transform so that they work best on a given platform (cell phone, tablet, desktop, etc.).

Polymer versus other frameworks
Polymer is not the framework to end all other frameworks. Instead, existing frameworks can be based on the same foundations. In fact, the functionality of most of the APIs that were mentioned above are similar to other UI framework such as Ember.js or AngularJS.

Getting your hands dirty
The getting started guide available on the project page is the best place to start with the link to the same is mentioned here https://www.polymer-project.org/docs/start/tutorial/intro.html
The next step is to get the paper elements , which can easily be downloaded by following one the following approaches:

To start with check out this video from Google , which takes you through intricacies of Polymer



The Future Is Here
Going forward Web Components will be becoming more and more popular and would radically change the way web apps are build. Polymer is just an example which has materialize this approach and had made this possible. Polymer gives one the ability and freedom to create components which can be customized as per the needs of the application. Also once developed these components can be shared and reused easily across teams or communities.

For experiencing and discussing awesome apps  please do reach us(Recrosoft Technologies Pvt. Ltd. ) at  http://www.recrosoft.com


Saturday, 15 November 2014

Bluetooth Low Energy and Android

Bluetooth low energy or Bluetooth LE or Bluetooth Smart  is basically a wireless personal area
network technology designed and marketed by the Bluetooth Special Interest Group aimed at novel applications in the healthcare, fitness, security, and home entertainment industries.

With Android 4.3 (API Level 18)  the support for Bluetooth Low Energy comes built in the platform and also the multiple APIs have been made available which the apps can use to discover devices, query for services, and read/write characteristics.

When compared to Classic Bluetooth, Bluetooth Smart considerably reduces the power consumption  and the maintenance cost  while maintaining a similar communication range.  This allows Android apps to communicate with BLE devices that have low power requirements, such as proximity sensors, heart rate monitors, fitness devices, and so on. The fields for which these apps can be build are endless , but to start with I am listing down a few areas where BLE based apps are picking up at a very fast pace:
a.       Health Care
b.      Sports and Fitness
c.       Notifications and Messaging Alerts
d.      Proximity sensing

This video from google provides a great overview of how Android is leveraging this technology to spread joy among the  android community and preventing  battery drain..




For experiencing and discussing awesome apps  please do reach us(Recrosoft Technologies Pvt. Ltd. ) at  http://www.recrosoft.com

Tuesday, 4 November 2014

Android Lollipop : A Developer's Perspective

We have been hearing a lot about Android Lollipop these days. Google claims it to be one of their most ambitious release . The developer preview has been in the market for some time and recently Google has also announced about the general availability of Android L, so we thought of sharing a quick preview for developers about this latest iteration in the Android world.
From our experience it looks like that with this set of API Google wants to provide a seamless experience across devices  ( no matter whether it’s a phone, tablet , a wearable or a Television). Some of the interesting features that we would like to mention about Lollipop are:
a.       Material Design : Android 5.0  brings Material Design to Android and also provides a toolkit to bring in the latest UI Patterns in your code. Material Design is based upon 3 principles:
        i.      Material is a metaphor:  The design uses  attributes of real material (tactile attributes, effect of light, motion etc)
      ii.      Bold , Graphic , Intentional: Using the foundational elements of Print Design
    iii.      Motion Provides a Meaning: Primary user actions are inflection points that initiate motion, transforming the whole design
Those who are new to Material Design can refer to the following link for details about Material  Design
Also the built in transitions and the ability to use shared visual elements takes the user experience to another level
b.      More Juice: Android 5.0 provides a faster, smoother and more powerful computing experience. Android now runs exclusively on the new ART runtime, built from the ground up to support a mix of ahead-of-time (AOT), just-in-time (JIT), and interpreted code. It’s supported on ARM, x86, and MIPS architectures and is fully 64-bit compatible.

Android 5.0 also  offers enhanced A/V sync. The audio and graphics pipelines have been developed for more accurate timestamps, thus making video and games run much smoother.

c.       Enhanced Notifications:  In Android Lollipop the Notifications are more visible and a lot configurable. Different notification details may be made available on the lock screen. Then amount of content ie. None, some or All can be made available on the lock screen as configured  by the user.  In coming calls and other key notifications appear as head up notifications and can be responded without making the user leave current app. A fair amount of meta data can also be added to notifications as developers can now collect associated contacts, category and priority. The media notifications is also juiced up and supports upto 6 action buttons also  custom controls like “Thumbs up” are now available

d.      The Big Screen Experience: For developers targeting the big screen, Android 5.0 has something stored in the kitty. Android TV provides a TV platform to maximize the big screen experience of the app and allows user to easily discover content  along with providing voice based search and recommendations. Developers can now also support game controllers and other input devices. Leanback UI framework provided with android  can be leveraged to build cinematic 10-foot UIs for TVs. The TV Input Framework  provides access to a wide range of live TV input sources and mingles them with in a single user interface for users to  relish the content.

e.      The redesigned “Recents” space: Android 5.0 introduces a redesigned Overview space (formerly called Recents) that’s more flexible and useful for multitasking than available in the predecessors. New APIs allow developers to show different activities in an app as individual documents alongside other recent screens. The developers can also leverage the concurrent documents to provide users instant access to more of content or services. 


f.        Next Generation Connectivity :   The connectivity has also got a boost in Android Lollipop , three key areas where we see significant improvements are:
              i. Bluetooth Low Energy (BLE):  Supports concurrent operation allowing both central and peripheral modes
                   ii.  Multi Networking: Supports querying of network for features
                 iii.  NFC API: Allows apps to register an NFC app Id dynamically and card emulation

g.        Godly Graphics:  High performance 2D and 3D graphics are now possible by support of Khronos OpenGL ES 3.1. Android 5.0 also introduces the Android Extension Pack (AEP), a set of OpenGL ES extensions that give you access to features like tessellation shaders, geometry shaders, ASTC texture compression, per-sample interpolation and shading, and other advanced rendering capabilities

h.      Support for sensors:  Tilt Detector for activity recognition, Hear Rate Sensor for analyzing Hear rate and various Interaction Composite Sensors for wake up, glance and pick up gestures are now supported


i.    Chromium Webview:  Chromium for Webview  based on Chromium M37 adds support for WebRTC , WebAudio and WebGL. Native support for all Web Components is also available

j.    Efficient Battery Management: With the newly introduced  job scheduling APIs developers can optimize battery life by deferring jobs for the system and schedule them to run at a later time or under specified conditions, such as when the device is charging or connected to Wi-Fi.


k.  Capture and Share Screen: Android 5.0 lets you add screen capturing and screen sharing capabilities to your app. With user permission, you can capture non-secure video from the display and deliver it over the network if you choose.

l.   Enhanced Sounds: A new audio-capture design offers low-latency audio input. The new design include a fast capture thread that never blocks except during a read; fast track capture clients at native sample rate, channel count, and bit depth; and normal capture clients offer resampling, up/down channel mix, and up/down bit depth. Multi-channel audio stream mixing allows professional audio apps to mix up to eight channels including 5.1 and 7.1 channels.

Apps can expose their media content and browse media from other apps, then request playback. Content is exposed through a queryable interface and does not need to reside on the device.

Apps have finer-grain control over text-to-speech synthesis through voice profiles that are associated with specific locales, quality and latency rating. New APIs also improve support for synthesis error checking, network synthesis, language discovery, and network fallback.

Android now includes support for standard USB audio peripherals, allowing users to connect USB headsets, speakers, microphones, or other high performance digital peripherals. Android 5.0 Lollipop also adds support for Opus audio codecs. There also are new MediaSession APIs for controlling media playback to make it easier to provide consistent media controls across screens and other controllers.

m.    Lights, Camera, Action

Android 5.0 introduces all new camera APIs that provide the ability to capture raw formats such as YUV and Bayer RAW, and control parameters such as exposure time, ISO sensitivity, and frame duration on a per-frame basis. With the new fully-synchronized camera pipeline developers can capture uncompressed full-resolution YUV images at 30 FPS on supported devices.

Along with images, there is the option to capture metadata like noise models and optical information from the camera. Apps sending video streams over the network can now take advantage of H.265 High Efficiency Video Coding (HEVC) for optimized encoding and decoding of video data.

Android 5.0 also adds support for multimedia tunneling to provide the best experience for ultra-high definition (4K) content and the ability to play compressed audio and video data together.

Reference: http://developer.android.com/about/versions/lollipop.html

For experiencing and discussing awesome apps  please do reach us(Recrosoft Technologies Pvt. Ltd. ) at  http://www.recrosoft.com





Friday, 31 October 2014

Google Fit: Lets Warm Up..

Google Fit App

When it comes to our fitness, we often go crazy.  But again our god “Google” comes to our rescue J . Google recently introduced  Google Fit which is an app to help track all our physical activities with minimal human interventions. All one need is a smartphone.
Google Fit leverages the sensors which sit inside the Android Phones to detect our physical activities like cycling, walking and running. Another great thing about Google Fit is that one can easily set his/her fitness goals and monitor them in real time on a platform of your choice ie desktop / mobile / tablet or a wearable

Google Fit can be connected to a plethora of devices and Apps (eg. Strava, Runkeeper, Withings etc.) The app aggregates the data from various sensors and gives us a consolidated view of our activities. Its like a one stop shop for all our fitness/activity records.

(Image Source: Google Play)


The Google Fit Platform

The Google Fit App is based upon the Google Fit Platform that Google has recently introduced. The  platform is a set of APIs which mingle data from multiple sources (devices, apps sensors etc). The Platform helps developers to :
  • .       Store Data from Wearables and Sensors
  •     Share data across apps built on the platform
  •      Persist user data in cloud thus decoupling the data from the user devices

The Google Fit Platform consists of 4 major components , which are:

a.     The Fitness Store:  It’s the central place where data from all sources is maintained
b.    The Sensor Framework: It defines high level representations for various sensors thus making the interactions with Fitness Store easier
c.     Permission and User Control: Controls all the permissions and authorizations required for accessing and sharing Fitness Data
d.    Google Fit API: Android and REST API are provided to enable developers use Fitness data in native android as well as other platforms.

(Source:https://developers.google.com/fit/overview)


We will dig deeper on each of these modules in our next Blog..

So wherever you go , just slip your mobile in your pocket and your personal trainer is with you , following and monitoring all your fitness activities… Stay Fit.. Live Big ;)

For experiencing and discussing awesome apps  please do reach us at http://www.recrosoft.com