Progressive Web Apps are supported on Apple iOS now!

Till last month there was a confusion on whether Apple is going to support PWAs or not. But with the recent 11.3 update, Apple silently added support to Progressive Web Apps (PWA).
Here is a snapshot of Flipkart Lite PWA on iPhone –
Flipkart PWA on iPhone
Following is a detailed article on medium which covers a brief history of PWA, its association with Apple and lot of other interesting things – https://medium.com/@firt/progressive-web-apps-on-ios-are-here-d00430dee3a7
 

Interval Markers on both side of axis in Highcharts

If you want to have interval markers on both side of axis in Highcharts and wondering how to do it because Highcharts only support tickPosition = inside or outside. Here is a simple work-around for it.
We can do it in three simple steps.

  1. Add one more xAxis, with tickPosition as ‘inside’
  2. Disable its labels (so that there will be no gap between both the axes
  3. link the second axis with first one using linkedTo
 xAxis: [{
    tickPosition: 'inside',
    tickWidth: 2,
    labels: {
       enabled: false
    },
    tickInterval: 1.666
 },
 {
    tickInterval: 5,
    tickWidth: 2,
    linkedTo: 0
 }]

JS fiddle: http://jsfiddle.net/pranavaa/93o4jqga/

Facebook Messenger Channel added to Bot Connector

Microsoft has recently added Facebook messaging channel on Bot Connector. For connecting your Bot to Facebook via Page. That means Users can talk to your Bot using the Messaging Section of the Page. So, you need to create a Page or get the Page ID of existing Facebook Page. Usually it will be under Page Info of your Page Settings.
I am experimenting the API. Will share the sample App once I am done with it. This information is not shared in Bot Framework Blog nor shared anywhere. It is informed via emails for those who created Bots using Bot Framework earlier. So, thought to share it here.
Facebook Channel of Bot Connector

Kick starting with Bot Development

Introduction
Bots don’t need any introduction. They aren’t new and definitely are not unique to Microsoft. Bots are conversational agents. They’re meant to help users achieve and/or complete a particular task. Bots can help users interact with a particular service or application without having to download a separate app or go to a specific Web site. Personal digital assistants like Cortana, Siri and Alexa could be construed as bots. Continue reading “Kick starting with Bot Development”

Why should we add “shim” for AngularJS when using Require.js?

In computer programming, a shim is a small library that transparently intercepts API calls and changes the arguments passed, handles the operation itself, or redirects the operation elsewhere.Shims typically come about when the behavior of an API changes, thereby causing compatibility issues for older applications that still rely on the older functionality. In these cases, the older API can still be supported by a thin compatibility layer on top of the newer code. Shims can also be used to run programs on different software platforms than they were developed for.

-Wikipedia

When using require.js, we usually write as follows. Continue reading “Why should we add “shim” for AngularJS when using Require.js?”

Permissions API for Web

Permissions API in Web - PranavOn.Net
Till now, when you land on a site that needs your location, Chrome immediately pops up a little request at the top of the browser window, even though you may not even really know what the site is all about. Now, as a developer, if you’ve worked with the Geolocation API before, chances are you’ve wanted to check if you had permission to use Geolocation without causing a prompt. This simply wasn’t possible. You had to request the current position and this would indicate the permission state or cause a prompt to be shown to the user. Similarly for Notifications, you need to check whether notifications are enabled or not. Each API has different (or its own) way of checking if that feature is available/enabled or not. With the increased and growing number of such APIs in there is a necessity for common way of doing this. Chrome is first one to implement this feature called ‘Permissions API’ in its 43 version which is rolled out a couple of days back.
To brief, Permissions API lets developers query and observe changes to their permission status for Geolocation, Push, Notifications, and Web MIDI. Asking for permission in context means fewer unnecessary and untimely prompts for the user.
Before the Permissions API, websites could not determine the permission state of APIs. Sites would thus attempt to use APIs immediately after page load without pre-existing permission, causing users to see confusing permission prompts without an explanation.
You can check the status of a permission using the permissions.query() method. This will return a status of granted (you have permission), denied (you are blocked from accessing the API) or prompt (user needs to be prompted).

// Checking for Geolocation API Permissions  
navigator.permissions.query({name:'geolocation'}).then(function(permissionStatus)
{
  console.log('geolocation permission status is ', permissionStatus.status);
  permissionStatus.onchange = function() {
    console.log('geolocation permission status has changed to ', this.status);
  };
});

For more details on Usage, have a look at Documentation or for a quick glance.
Demo: Permissions API Demo
Resources:

Awesome Bookmark Manager from Google

Once upon a time we use to use the word ‘Bookmark’ for a piece of paper or ribbon placed between the pages of a book to mark the reader’s place. But now if someone refers to Bookmark, it is related to browser and bookmarking is the process of storing the link of a website for future reference.

Since their creating, bookmarks became integral part of browsers. So, now Google made them more useful than ever before. Bookmark Manager extension for Chrome makes it easy to organize your bookmarks and have the bookmarks look great at the same time.

In fact, it was developed long back and released as Google Stars which was not made public. Now, Google released it as Bookmark Manager extension for Google Chrome which makes bookmarks more powerful with improved search, bookmarks by topic, and the ability to share them anywhere.

Bookmark Manager Extension

Following are some of the useful features that Bookmark Manager extension offers:

Bookmarks by topic: All of your bookmarks will be organized by topic or you can reorganize them however you like.

One-click save: When you bookmark a page you also have an option to save an image and notes to make bookmarks more helpful.

Share bookmarks: You can make a specific folder of bookmarks public and share the link anywhere you like.

Improved search: Bookmark searching is now enhanced with Google search and looks at a bookmark’s title, snippet, and content.

Bookmark Manager Extension can be downloaded from the Chrome Web Store. Here is the direct link for it – http://bit.ly/ChromeBookmarkManagerExtension

Approval process of specifications by W3C (World Wide Web Consortium)

The process of approving Web Standards by W3C includes following 7 steps.

  1. Receive Submission
  2. Publish Note
  3. Working Group
  4. Working Draft
  5. Candidate Recommendation
  6. Proposed Recommendation
  7. Final Recommendation

Let us go through each step in detail –

Receive Submission:
First, W3C receives a submission of a proposed Web Standard. They will scrutinize the submission and decide whether to proceed with it or not. If they think it is valid one, then they will proceed to the next step.

Publish Note:
Once decided to work on a Submission, W3C will publish a public note about it. The Note will be in the form of a document prepared by the member that submitted it. The note can be modified or discarded at any time in this phase.

Working Group:
After publishing the Note, a working group is formed which consists of members and other interested parties. This phase indicates that the work is in progress. This group will work on the standard and report their observations along with modifications/enhancements to the submission, if any.

Working Draft:
Next, the Working drafts submitted by the Working Group are posted on W3C website. In this phase, the consortium will also consider the comments of public on the standard. A working draft indicates that the work is in progress and it should not be used as a reference material. The content can be changed, modified or removed at any time during this phase.

Candidate Recommendation:
For complex proposals, the W3C Advisory Committee releases the specification as Candidate Recommendation as these requires more inputs, more testing and takes more time. Then the specification is tested by members, vendors (implementers of specification) and feedback will be sent to W3C Committee.
Usually most of the browsers will implement the specification which is in Candidate Recommendation stage for allowing the public to test it.
If a specification passes Candidate Recommendation phase, we can assume it to be there in the Final Recommendation (might be with slight modifications, in some cases).

Proposed Recommendation:
In this phase, the Working Group’s consensus is reviewed by W3C Advisory Committee. Few changes will be made, if necessary.

Final Recommendation:
Once the specification passes the Proposed Recommendation stage, the W3C Advisory Committee’s consensus and stamped with W3C Director’s approval. After recommendation, the specification will be recognized as a feature and it will remain stable. The developers can build software using this feature.