top
Sort by :

Release of WebStorm 2016.2- JetBrains

WebStorm, the JavaScript web development IDE from JetBrains has a new release, WebStorm 2016.2. This release has a new support for TypeScript 2.0 which is yet to come. The support means that now we can use optional members. Different properties like read-only, never type and this function type has also been added in the support. You can declare global module export, resolve for type declarations in @typesfolder, and use path mappings based module resolution. It has given the support for Declaration of global module export, resolving type declarations in @typefolder and using path mapping based module resolution. With this new release, it has also improved the React support and have an integration with Angular CLI. React support has been improved and it provides code completion and resolving component properties which are defined using propType. Non-DOM attributes are not marked as unsolved now and component lifecycle methods are also not marked as unused. Angular CLI has also got support from WebStorm 2016.2 and with this Angular CLI Webstrom, new Angular 2 projects can be created. It also contains a collection of Angular 2 Live templates that provide frequently used code snippets which are going to be used in the IDE. In general, The IDE has been improved to add support for fonts with ligatures such as Fire Code, Monoid or Haskig. VCS patches have also got some new improvements in them, these changes can be seen while working with IDE. The patches can be copied to the clipboard and then after going to WebStorm, it will immediately ask the user whether he wants to apply it. Alternatively, patches can be simply dragged into the IDE. More Information: Webstorm Latest version
Rated 4.0/5 based on 20 customer reviews
Release of WebStorm 2016.2- JetBrains 44 Release of WebStorm 2016.2- JetBrains What's New
Geneva Clark 13 Jul 2016
WebStorm, the JavaScript web development IDE from JetBrains has a new release, WebStorm 2016.2. This release has a new support for TypeScript 2.0 which is yet to come. The support means that now we ca...
Continue reading

Data Binding feature in AngularJS

AngularJs is open source and structural framework for dynamic web apps. This uses HTML as its template language. It is basically used to develop the large-scale and high-performance web applications. AngularJs is a powerful JavaScript framework, It is used to develop RICH and out of box internet application. It facilitates to write the client side application in an MVC architecture. Data  Binding is one of the key features of AngularJS, as it is the automatic synchronization of data between the model and view components. Below we have mentioned some important key features of AngularJS, but here we are going in Depth of Data-Binding and Controllers.   Features of AngularJS Data-Binding Controller Filters Dependency injection MVC Data-Binding: It is the synchronization between the data and model and view components. There are two ways of Data Binding in AngularJS : Basic Data-Binding /one-way Data-Binding Two-way Data-Binding Basic Data-Binding /One-way Data-Binding: It is the one in which a value is taken from the data model and inserted into an HTML element. Basically, the binding is static in nature. AngularJS provides predefined data-binding directives as shown below: - ng-bind – Binds the inner Text property of an HTML element. - ng-bind-template – It is same as ng-bind and allows for multiple templates. - ng-non-bindable - Declares a region of content for which data binding will be skipped. - ng-bind-HTML - Creates data bindings using the innerHTML property of an HTML element. - ng-model - Creates a two-way data binding.   Below is an example for one way Data Binding in AngularJS. It uses ng-app directives. Two-way Data-Binding: In two-way data binding when there is a change in the model, the data values change is reflected in the view. This is also referred as “Dynamic Data Binding in AngularJS”. Below is the example for Two-way Data-Binding. We have discussed both one-way binding and two binding, the main difference we should notice here is the usage of ng-controller in two-way binding. Controllers in AngularJS play a very important role in giving the dynamic view to the elements. Controllers In AngularJs, Controller is one of the important features. Controllers are basically the JavaScript objects. A controller is defined by a JavaScript constructor function that is used to the argument the angular scope. The  ng-controller   directive defines the Application controller. Angular will instantiate a new controller object. Use controllers to: Set up the initial state of the $scope object. Add behavior to the $scope object. Let’s check out some of the differences between One-way binding and Two-way binding:
Rated 4.0/5 based on 20 customer reviews
Data Binding feature in AngularJS

Data Binding feature in AngularJS

Blog
AngularJs is open source and structural framework for dynamic web apps. This uses HTML as its template language. It is basically used to develop the large-scale and high-performance web applications. ...
Continue reading

Rails 5.0 Release

The latest version  Rails 5.0 has come up in the market and we can say it is the perfect release till date . This version has come up with new framework for handling web sockets and support for API mode. Action cable New framework is being introduced as Action cable. It’s a complete integrated way for managing connections, it’s also a JavaScript layer for client- side interaction and a channels layer for server-side processing. This framework makes easy for developers for designing live features like chat, notifications and presence. Power of this framework can be seen in features of Basecamp 3. Action cable access to Active record and RORO domain model in Websockets work. A new rendering feature has been included in this framework, ActionController::Renderer that can render the templates outside of controllers, so you can reuse the server-side templates for websocket responses. Action-cable during development stage runs in-process with rest of the app . To support this feature Rails have switched from default development server from Webrick to Puma. Action Cable servers can run on their own processes during development stage. That’s how we run it at Basecamp at scale. Support for API mode To build a full stack application that uses server-side rendering of HTML templates,Rails is a good option. API mode gives a slimmed down version of rails for client-side JavaScript or native applications that just need the backend to speak JSON. Rails is a great choice when you want to  Rails has got new backend api support which will help in creating new Rails applications. Use of this api will slim down the configuration and skeleton and assumption can be made that you are working with JSON, not HTML.
Rated 4.0/5 based on 20 customer reviews
Rails 5.0 Release

Rails 5.0 Release

What's New
The latest version  Rails 5.0 has come up in the market and we can say it is the perfect release till date . This version has come up with new framework for handling web sockets and support for A...
Continue reading

Zingtouch: Gesture Detection JavaScript Library

“A JavaScript Gesture Detecting Library for the modern web” says the official documentation of zingtouch. Being a Gesture detection library it comes with six standard gestures which are completely customizable. Here we are just going to give the highlights of the gestures and how to start working with zingtouch. Refer to the official documentation for all the necessary codes and steps. Gestures 1.  Tap: A tap event is a quick start and end of an input. Configuration can be done easily for a tap gesture with the amount of time in between a start and end of an input, and the number of inputs given. 2.  Rotate: Rotate gesture is determined when user has given two inputs moving about a circle. The main thing required here is that inputs given should be on the edge of a diameter.  3.  Pinch and Expand: When user has two inputs on the screen and he moves one or both close to each other then it detects a pinch. Expand is detected when the two inputs move away from each other.  4. Pan and Swipe: A pan is identified when user makes a touch on the screen and moves about the area. Swipe is related to the user’s touch on the screen and moving with relatively increased velocity. Including ZingTouchIt is very simple to use ZingTouch in your website. There are two different ways of use zingtouch: 1.Using the import syntax (ES6) : import ZingTouch from './path/to/zingtouch.min.js'; OR 2.Including the script directly :       This was just a glimpse of how to include this powerful javascript library in your website. Getting started Documentation contains a lot of information about this powerful gesture detection library.
Rated 4.0/5 based on 20 customer reviews
Zingtouch: Gesture Detection JavaScript Library

Zingtouch: Gesture Detection JavaScript Library

What's New
“A JavaScript Gesture Detecting Library for the modern web” says the official documentation of zingtouch. Being a Gesture detection library it comes with six standard gestures which are...
Continue reading

Restricting Private C/C++ Symbol in Android N improves Stability

It becomes very painful and frustrating for Android users if their app fails suddenly after a platform update. To protect Android users and apps from crashes, Android N is now going to restrict which libraries app’s C/C++ code can link against at runtime. If the app uses any private symbols from platform libraries, it will be required to update it either by using public NDA (Native Development Kit) APIs or including its own copy of those libraries. As per Documentation of Android N Behavioral change, the system prevents apps from dynamically linking against non-NDK libraries, which may cause your app to crash. Some libraries are public such as NDA (Native Development Kit) and some libraries are private, and Android N only allows access to them for platform HALs, system daemons .If the android user is not sure about the libraries used in his/her app, whether it’s private or public, checking can be done immediately for warnings on N Developer Preview. During updating their apps users should have a consistent app experience and  developers shouldn’t have to waste time on making emergency app updates to handle platform changes. This has created the need of restricting private C/C++ symbol. Private symbols are not taken into consideration while Compatibility Test Suite (CTS), which is required for Android devices to pass. When Android 6.0 Marshmallow switched from OpenSSL to BoringSSL, many developers found that apps used in the devices failed to load. To separate the user from this change, a set of libraries have been identified that are being used in Google Play’s most-installed apps. These libraries are feasible and it can be supported for the short term which includes libandroid_runtime.so, libcutils.so, lib crypto.so, and libssl.so . These libraries are there in support temporarily but Google is not intending to continue it for their future Android platform release. So, users can fix the error if he/she gets a warning that the code will not work in a future release.  
Rated 4.0/5 based on 20 customer reviews
Restricting Private C/C++ Symbol in Android N improves Stability

Restricting Private C/C++ Symbol in Android N improves Stability

What's New
It becomes very painful and frustrating for Android users if their app fails suddenly after a platform update. To protect Android users and apps from crashes, Android N is now going to restrict which ...
Continue reading

D3.js Now Combines Modules Supporting Independent Release Cycles

Recently D3.js, a tool for JavaScript data visualization got a new update which features, “the tool going modular with this release”. Version 4.0 of D3 has been made modular, through which it is now possible to pick and choose the part which suits best and use it. The developer of D3.js, Mike Bostock said, D3 is a visualization API intended to be the lowest layer of visualization tools, as in the visualization "kernel," or "standard library”. Earlier, D3 was using Unicode variable names and string literals but D3 version 4.0 has now started using ASCII code which avoids encoding issues. Version 4.0 has deprecated the d3.geom.polygon constructor. Developers instead have to pass an array of vertices to polygon methods. This version also has removed the concept of quadtree generators (configurable functions that build a quadtree from an array of data). Now it has become the only quadtree, which can be created via d3.quadtree and addition of data can be done via quadtree.add and quadtree.addAll. Some of the features of DOM are immutable in Version 4.0 like data- driven transformation, transition and animation changes in DOM, providing a cleaner interface. D3 Version 4.0 changes are better interaction for brushing.   The micro-libraries available in 4.0 are “easier to understand, develop and test”, release notes says. It has reduced the distinction between a code module and a plugin and increasing the pace of development in the D3 feature. Developers can release their own customized standalone libraries for use of D3.If not interested with D3 can go with default bundle.
Rated 4.0/5 based on 20 customer reviews
D3.js Now Combines Modules Supporting Independent Release Cycles

D3.js Now Combines Modules Supporting Independent Release Cycles

What's New
Recently D3.js, a tool for JavaScript data visualization got a new update which features, “the tool going modular with this release”. Version 4.0 of D3 has been made modular, through which...
Continue reading

E2E testing with protractor in AngularJS

Unit testing is good, but not obviously enough. Programmers need to tests how their app behaves eventually when small units are assembled into what is known as a complete product. This is where end-to-end testing comes into picture.  E2E testing is about checking the integrity, behavior and flow of your complete application. It is a way to ensure that when your users use your app, they do not run into bugs or defects (For eg: a broken link). e2e testing can be done manually, but here we will see how we can automate e2e tests for our AngularJS applications using a tool known as Protractor and in doing so, we will programmatically replicate user behavior on our application. Protractor Protractor is an e2e testing framework for AngularJS applications. Protractor is a Node.js program and uses webdriver-manager to interact with the browser and replicate user actions. It uses Jasmine for its testing syntax. Protractor provides AngularJS specific locator-strategies which makes it the framework of choice for performing e2e tests on AngularJS applications. Setup Protractor requires node.js to run. So make sure you have node installed. Protractor 3 is compatible with node v4 and above, for lower versions of node use proractor@2. We will require a standalone selenium server to interact with the browsers,which requires Java Development Kit to be installed on our machine. After java installation in some cases, you might have to restart your machine for java to be available as an environment variable. We can verify this by running $ java -version in command line. Install Protractor Globally Install protractor globally by running $ npm install protractor -g. Note:  In windows, you may need to fire up the cmd window with administrator privileges and for Linux, sudo access might be required. This command will install protractor and webdriver-manager and make them available in command-line. To ensure if protractor was successfully installed run $ protractor --version. Next update your webdriver-manager by running $ webdriver-manager update Our App Our app is a simple one view todo app which lets user type-in a todo and add it to the list of todos. Since this is a simple demo app, we are following a simple flat directory structure. Here are the files. Index.html                              Todo App                                                                                        Zeolearn Todo App                                                 Todo List                                                                                                 {{item}}                                                                                                                                 Add todo                                                                                                                            Add                                                                                                        App.js angular.module('zeolearn', []) .controller('TodoCtrl', [function(){ var vm = this; vm.items = [  'Read book- How google works', 'Renew car insurance'      ]    vm.addTodo = function(item){    vm.items.push(item);    vm.newItem = "";      }}]);Make sure you run the app on a local server. You create a simple node server or simply use xampp.Protractor Configuration Now create a file named protractor.conf.js. This will be our protractor configuration file. Here we can configure our browsers to test with our framework of choice and other configurable items. Our protractor.conf.js looks like below. Protractor.conf.js // protractor.conf.jsexports.config = {framework: 'jasmine',   seleniumAddress: 'http://127.0.0.1:4444/wd/hub',specs: ['specs.js'],  jasmineNodeOpts: {     showColors: true, // Use colors in the command line report.},  capabilities: {   browserName: 'chrome'  }} Notice under specs we have specified a file as specs.js, this is where we will be writing our tests. The seleniumAddress is the url to the selenium server. Capabilities define the browsers on which you want to run the tests. We can add multiple browser capabilities using the multiCapabilities option in the below format. multiCapabilities: [{  'browserName': 'firefox' }, {   'browserName': 'chrome'}] Writing Tests Now that we have our machine configured for e2e tests with protractor let’s create a spec.js file and write a few tests. We are using jasmine for our testing syntax. Protractor also has partial support for mocha. The reason for choosing jasmine is that it is the default framework for writing e2e as well as unit tests in AngularJS. To begin with, we will write a very basic test that will access our app and verify our app title. Specs.js describe('Protractor Demo App', function() { /** This block runs before each it block */        beforeEach(function() {        browser.get('http://localhost/zeolearning/e2eprotractor'); //fetch your app replace the above by your apps url  });         it('should have a title', function() {          expect(browser.getTitle()).toEqual('Todo App');});}); Your tests can be divided into different describe blocks. As a good practice, you can have one describe block for one component or view of your app, although this is not necessary. The before each block contains all the things we need to do prior to running each spec. A spec in jasmine is an it block.  So here, we are fetching our app using the browser.get function provided by protractor. Later we have added one spec where we have an expectation that checks the title of our app. Running tests Now that we have our first test ready let’s run the test to see what happens.  Before doing so we need to have our selenium server running. Open up another window of your command line tool and start the selenium server by running $ webdriver-manager start To run the tests run $ protractor . So in our case, we can run by $ protractor protractor.conf.js On doing so you will notice browser windows opening up and closing. This is done by selenium, where it’s actually replicating the user behavior. After the tests are complete you should get the following output. Writing more tests Now that we successfully ran our first test. Let’s go ahead and add more specs, to test our complete app. Specs.js describe('Protractor Demo App', function(){ var items;  var count; /** This block runs before each it block */ beforeEach(function() {browser.get('http://localhost/zeolearning/e2eprotractor'); //fetch your app items = element.all(by.exactRepeater('item in todo.items'));items.count().then(function(originalCount){  //resolve initial count of the listcount = originalCount;   }); });it('should have a title', function() {expect(browser.getTitle()).toEqual('Todo App');}); /** The tests in the below it block can be skipped */  it('should have all required elements present', function(){  expect(element(by.exactRepeater('item in todo.items')).isPresent()).toBe(true); //if list presentexpect(element(by.model('todo.newItem')).isPresent()).toBe(true); // if model -input box presentexpect(element(by.buttonText('Add')).isPresent()).toBe(true); // if button present });  it('should have 2 todos initially', function(){ //checking no of items in list initially expect(count).toEqual(2); });  it('should add a todo', function(){  var newTodo = 'Complete my assignment';   element(by.model('todo.newItem')).sendKeys(newTodo);  // Typing in a todo  element(by.buttonText('Add')).click();  // clicking the add button  var list = element.all(by.exactRepeater('item in todo.items'));// get our todo list expect(list.count()).toBe(count + 1);// check if count increasesexpect(list.getText()).toContain(newTodo);// check if the newTodo is present });});  Below are the specs we have added. ●     should have all required elements present: Here we are checking if all the HTML elements required are present and rendered. ●     should have 2 todos initially: Here we verify the initial number of items in the todo list. ●     should add a todo: Here we make protractor add a new todo where it literally goes in and types into the text box, then clicks the add button just           like a user would. It also verifies if the todo was added successfully. Please read the comments inline along with the code for a functional explanation. Upon running the test using $ protractor protractor.conf.js we should get the below output. Conclusion At first, writing e2e tests might look time-consuming, but as your app starts to scale and grows in complexity, manually testing becomes cumbersome and inefficient. By automating e2e tests you only have to invest once and then perform tests any number of times. Automated e2e tests at later stages saves a huge amount of time and is more reliable than manual testing. Protractor, is the de-facto tool for e2e testing of AngularJS applications. In this tutorial, we learned how we can setup our machine and perform e2e testing on our AngularJS applications using protractor. References Protractor api: http://www.protractortest.org/#/api Jasmine: http://jasmine.github.io/2.0/introduction.html  
Rated 4.0/5 based on 20 customer reviews
E2E testing with protractor in AngularJS

E2E testing with protractor in AngularJS

Tutorials
Unit testing is good, but not obviously enough. Programmers need to tests how their app behaves eventually when small units are assembled into what is known as a complete product. This is where end-to...
Continue reading

5 Irresistible Features Of Python

Python is a widely used general-purpose, high-level programming language developed by Guido van, Rossum. Actually, the name has been taken from one of van Rossum's favorite television shows, Monty Python's Flying Circus. Python first appeared on 20th February 1991 and from past 25 years, it has marked its presence. As per Definition of Python, it is a high-level general-purpose programming language. The thing which makes python different from other languages is its usage of English keywords rather than any punctuation. Python is indeed the best combination of performance and features that make writing the codes in python more fun and easy. Python has some irresistible key features which need to be understood before getting your hands dirty with python coding: 1: Python is actually very easy-to-learn Python programming language gained its popularity just because of less usage of keywords, simple structure and clearly defined syntax. People picked python because the codes are easily readable and understandable. Due to such shift many online python courses also made their way and people found an easier way to learn the language. 2: Python can be ported to other platforms Python is an open source language i.e. it can be ported to different platforms. Python has no compatibility issues with other platforms unless all the system dependent features are fixed. Like Perl, stock Python even offers a portable set of bindings to the Tk toolkit that supports portable GUIs across Unix, MacOS, and Windows. 3: Object- Oriented Language Great thing about Python is that it has support for both procedure-oriented programming as well as object-oriented programming. The programs for procedure-oriented languages are built around functions or procedures and can be reused. In object-oriented languages, the program is built around objects which combine data and functionality. An object-oriented language includes data and functionality in their object. Unlikely many big languages like C++ or Java, Python comes with a very powerful and simple way of using object-oriented programming.   4:  Dynamic in Nature   Python owns this dynamic nature which makes the execution very easy. The modules are compiled at import time with the interpretation of object messages done and problem reported at the run time.                              In C++, the changes done in the centrally used class header will lead to lengthy recompilation of dependent modules. Again with Java, the changes to the public interface of a class can invalidate a number of other modules. With every change, recompilation is required in the best case or runtime errors in the worst case. 5:  Extendable & Scalable   Python can be extended by adding low-level modules to its interpreter. The modules only enable the programmers to add or modify their tools to be more efficient. Python is also scalable because it provides a better structure and support for large programs than shell scripting. These are some of the best features of python, along with these it has a lot more distinguished features to attract programmers. If you have still not started learning python, then you are missing something very interesting. Besides this understanding and learning python is very easy as compared to many other languages.
Rated 4.0/5 based on 20 customer reviews
5 Irresistible Features Of Python

5 Irresistible Features Of Python

Blog
Python is a widely used general-purpose, high-level programming language developed by Guido van, Rossum. Actually, the name has been taken from one of van Rossum's favorite television shows, Monty...
Continue reading

Kakapo.js - Making Prototyping Easy For Web Apps

Interesting news came for the developers as Kakapo.js was introduced. Kakapo.js is the next generation mocking framework in Javascript. Currently kakapo is in beta version and it’s already being used in some of the applications with code coverage of 97 percent, said Hector Zarco, the main developer of Kakapo. Kakapo is basically javascript based HTTP mocking library and this enables developers to replicate back-end logic in a declarative manner in the browser. So, the developer doesn’t have to wait for the back-end to be ready while prototyping web apps. When going for the production stage of the app, developers can deactivate kakapo.js. Kakapo is bundled with many features of routing, request and database capabilities but the key feature is the ability to build advanced use cases. Consistent and reliable mocks can be generated just in the browser, that's the uniqueness. Developers don't have to setup an http server that returns the fake data. "Let's say if anybody has a blog and he wants to comment, and later during the usage of app he wants to retrieve that comment. In such case, kakapo will be very helpful as it returns only the specific comment not all the static payloads." Basically, Kakapo.js helps the Developers in prototyping their web apps without the Backend. Kakapo has been named after a bird in New Zealand and uses weakmap, collection of key/value pairs in which the keys are weakly referenced. kakapo uses objects as key instead of using plain values like strings. As of now, kakapo.js is limited to web development only, a new version has already been designed and ready to roll out for apple's swift language.  
Rated 4.0/5 based on 20 customer reviews
Kakapo.js - Making Prototyping Easy For Web Apps

Kakapo.js - Making Prototyping Easy For Web Apps

What's New
Interesting news came for the developers as Kakapo.js was introduced. Kakapo.js is the next generation mocking framework in Javascript. Currently kakapo is in beta version and it’s already being...
Continue reading

The Must-Have Skills For An SEO Expert

SEO’s are a unique group of individuals having diversified set of skills and experience .Their demand has increased drastically within the businesses which rely on web traffic for sales or marketing. It doesn’t matter whether the business is small or large, to be the dominant player it has become important for the companies to either master search engine optimization (SEO) or hire an SEO specialist. SEO is a thing which can’t be understood just by reading, it’s more understandable if done practically. Many simplified online courses are now available in the market which provides all the insights about SEO. Interested individuals can also go for SEO training and SEO certifications and make a career out of it. Here we will be discussing some skills that an SEO expert should have. Let’s try to find out what it takes to become an expert in SEO: 1: Handful experience in Analysis A person having good knowledge and experience in Analytics can see his/her future in SEO. The Expert should know all the aspects of analytics and how to read data. It requires a mathematical mind to understand all such things. 2: Knowledge of website development is required SEO Experts should have knowledge about the website design and meta tags. Generally, website designers don’t really care about SEO aspects but it is the job of the expert to make the website look pleasant and keywords enriched. 3: Researching throughout the Internet The major portion of the job of an SEO expert is to do research on all the keywords, analytics and any change in the search engines. If the research is not done properly and successfully, then the website might lose its respective ranking in Google search. 4: Prioritizing the changes in Websites SEO should be able to prioritize the changes and modifications in his/her website. The expert should be able to think how the changes are going to affect the website.. 5: Should know how to Curate Contents Being an SEO expert it is important to have a checklist of things that makes a great content. Mostly the contents are created by the writers but the expert must also have the knowledge of type of content. It is expected from SEO experts to be updated about the trends and giving their valuable inputs to the writers. 6: Focusing on Conversions is very Important To create a good and effective SEO plan it is important to convert a visitor into a customer. Achieving a rank in a Google Search does not define the success of a website. SEO experts should always focus on ways to increase the conversion rate. SEO is actually not anybody’s cup of tea. The skill sets mentioned above are a just glimpse of a big picture. It’s not only for the Experts but someone writing a new blog or creating a web page should have at least these all skill sets to start with.    Here we have one video regarding the basics of SEO: https://www.youtube.com/watch?v=kyUaZG3H0L4
Rated 4.0/5 based on 20 customer reviews
The Must-Have Skills For An SEO Expert

The Must-Have Skills For An SEO Expert

Blog
SEO’s are a unique group of individuals having diversified set of skills and experience .Their demand has increased drastically within the businesses which rely on web traffic for sales or marke...
Continue reading

Google Awareness APIs – Creating Intelligent and Context Aware Apps

Recently Google I/O 2016 commenced at Shoreline Amphitheatre in Mountain View, California and the announcement of Google Awareness API was made. These API enables the apps to react intelligently to user context using snapshots and fences with minimal usage of system resources. Google Awareness APIs are now available for the Android App Development through Google Play Services. There are 7 different types of context through which apps understand user’s current situations. Information collected from these are helpful in optimizing the experience of the user. The context includes location, weather, user activity and nearby beacons. Snapshots API and Fence API are the two ways offered by Awareness APIs through which app developers can take advantage of context signals within their app: Snapshots API provides the user’s current context and it allows easy access to the request information from the app. Example: “give me the user's current location and the current weather conditions”. Fence API gives all the information about user’s change in the context to the app. For example, "tell me whenever the user is walking and their headphones are plugged in". These API possess similarity to the Geofencing API, once an awareness fence is registered, it can send callbacks to the app even when it’s not running. The Awareness APIs are designed in such a way that now it has become possible to optimally process context signals in new ways. It is important for the APIs to provide accurate and insightful context cues , alongside the stress has been given on the resource management to save battery and minimize bandwidth allocation. Some of the apps in Google Play Store are using awareness APIs and giving their customers a better app experience. Apps like Trulia and SuperPlayer Music have found an incredible way to integrate context awareness. Let’s check how these apps behave with context awareness. Trulia is an online residential real estate site, using Fence API to find open houses. The app sends a notification to the user when it senses that user is moving and it shows different open houses around them. Notifications are sent as a reminder to the users to stop by and have a look.                                                                                              Source: Android Developers Blog SuperPlayer Music uses both Snapshot API and Fence API and gives suggestions for perfect music to match one’s mood. Whether the user is just finishing up a run and beginning to stretch, setting off on a long car ride, or just getting to the gym, their assistant can understand user’s context and suggest the right playlist for them.                                                                                                    Source: Android Developers Blog Awareness API is one of the initial step taken by Google towards creating a tailored experience for different apps. We can get more information for Google Awareness API Android by watching Google I/O session Watch it here https://www.youtube.com/embed/37ia7S4Lsv4  
Rated 4.0/5 based on 20 customer reviews
Google Awareness APIs – Creating Intelligent and Context Aware Apps

Google Awareness APIs – Creating Intelligent and Context Aware Apps

What's New
Recently Google I/O 2016 commenced at Shoreline Amphitheatre in Mountain View, California and the announcement of Google Awareness API was made. These API enables the apps to react intelligently to us...
Continue reading