Showing posts from 2016

Intel IoT and IoT Gateways

Intel XDK is changing its emphasis focusing more on IoT. Going forward many may want to experiment with Intel XDK for IoT. Here is a brief summary of one of the key elements in doing IoT, the IoT Gateway.

IoT Gateways connect IoT Devices or 'Things' to some kind of computing platform or to the cloud to provide intelligence for the IoT Solution. Although it is possible to directly connect the device to cloud if some form of intelligence to be derived before going to the cloud, a Gateway is a better solution.

If devices are TCP/IP enabled as in modern devices connecting them to the cloud is easy but there are legacy devices which are not TCP/IP enabled and therefore they need an intermediary device to connect to the cloud.

These are some of the reasons that requires an intermediary Gateway:

Support for legacy devicesRun edge analytics- Reduces communication bottleneck by pre-processing (batching, filtering, compressing etc)Minimize Latency- processing near edge faster than in th…

Changing emphasis of Intel XDK

If you have been using Intel XDK to build apps both HTML5 based and native apps, there is going to be (actually has been going on) a change in the direction. A number of frameworks were used with Intel XDK in the designer. You might have noticed that the number of frameworks are being deprecated. Presently, in version (the latest) 3641 only the Twitter Bootstrap is currently supported and the others are being deprecated.

Intel XDK is going to focus more on IoT apps. The other apps are not going to be supported in the Intel XDK. Since most of the technologies used in developing non-IoT apps are mature, Intel XDK will get provide documentation help to use these technologies.

This is according to Paul, one of the Intel XDK moderators:

" it's not that there is a benefit for developing IoT apps over mobile apps, they are quite different apps; the point is that we are focusing the tool to emphasize IoT app development, especially since the free and open-source tools available for de…

Polyfill with JavaScript

In the early days of Internet (some 10 years ago or so) one had to write some kind of code that recognizes the browser and control the flow so that the audience is given the information that there was no browser support for the functionality.

An extreme kind of instruction was that the browser's JavaScript functionality was not on, etc.

A Polyfill ( piece of code, plug-in,add-in, script) is a browser fallback so that feature(s) works in a modern browser also works in older browsers which per se did not support what is supported in the modern browser.

Here is a comprehensive collection of HTML5 Cross Browser Polyfills.

The term Polyfills was coined by Remy Sharp to describe JavaScript shims that replicate standard API found in modern browsers for those older browsers that do not support.

Polyfills are created by developers to fulfill this requirement and one can create ones own Polyfill .

One of the most popular Polyfills is htmlshiv (

Good source for Apps with streaming content

Apps that use streaming data can be created with many programming languages including HTML, .NET, etc. with full SDK support.

According to this site,
"PubNub is a global Data Stream Network (DSN) and easy-to-use secure realtime communication API for IoT, mobile and web apps. The service scales to hundreds of millions of devices with 1/4-second worldwide latency and over 70 SDKs"

This is the stuff you should look into if you are interested in streaming data.

Here are developer support items that you may be interested in.

Server Desktops

JavaScript with TypeScript 2.1

Microsoft's TypeScript (also regarded as industrial strength JavaScript)  is getting upgraded with new features:

Improved Inference
Async Functions

TypeScript 2.0 was released as recent as September 2016. TypeScript 2.1 is in RC (release candidate)

The upgrade makes modelling easier and migrating JavaScript to TypeScript easier. Aysnc/await () introduced in ECMAScript 2016  is featured in the new release and makes asynchronous programming easier. It shares same keywords in C#, Dart and Python.

Here is sample code from the msdn blog links above:
asyncfunction main() {
 await ping();
asyncfunction ping() {
 for (var i = 0; i < 10; i++) {
  await delay(300);
function delay(ms: number) {
 returnnew Promise(resolve => setTimeout(resolve, ms));
Read the rest of the story here if you are into programming with JavaScript.

Automate mobile app integration using AppFusion

Less coding and more fusing is what AppDome offers on the cloud.

First of all AppFusion is a codeless platform to automate mobile integration. It is a cloud-based service that can be used by mobile developers as well as mobile professionals (Mobile IT, Ops, LOB etc) to rapidly integrate new functionality and services to mobile apps on demand without any coding.

The following are the key parts of this platform:

Mobile Integration Workflow
 Primary user interface for interacting with the services. The workflow is intuitive for uploading, fusing, signing and deploying. Also analyze fused apps plus collaboration and productivity tools.

App library
 Upload and store unlimited number of apps in a stateful, private repository.

Fusion workbench
  Choose services that the customer wants to fuse to the app and create what are called Fusion Sets to apply to apps.

AppFusion Catalog

Also to note: When you sign you can add a complete best practice mobile security suite to mobile apps - for FREE

View f…

Developing Apache Cordova App using Visual Studio 2015 Community - Contd

This is continued from my previous post here: After creating the blank project and building it, it was found that trying to run (Start Debug) the project resulted in the following error:

In this post, I try to probe further to see if it can work with other devices\emulators. Windows Emulators run in Hyper-V and that needs to be working as the next message shows trying to work with Windows 10. This message is strange as Hyper-V is enabled. However, there must have been a Windows 10 update which probably resets other settings.

I enabled Hyper-V using the Control Panel. However, you also need to restart the computer.

 As I had launched the Visual Studio as a normal user, it needs to run in elevated mode.

 Well. I still get this error message and cannot run..

 I changed my emulator to Windows x64 and the program ran without any errors and the emulator image is shown below.

 I tried to run in Window Phone e…

Developing Apache Cordova App using Visual Studio 2015 Community

Visual Studio 2015 Community is a free Comprehensive Windows IDE from Microsoft. You can develop both web apps as well as native apps. It is also cross-platform. Besides these you can develop a whole lot other types of projects including Databases and IoT.

This post deals with creating a Apache Cordova app using Visual Studio 2015 Community Update 3.
In the New Project... window you find only one template, a Blank App available for developing a Apache Cordova JavaScript based app.


If you accept the default blank project you would see the following in the Solution Explorer.


The project can be developed at least for two platforms Android and Windows unless scripts are not needed for WP8 and IOS devices.

By default when you try to build this project, the IDE builds it for Android. The build process is lengthy and takes some time. As this computer does not have Google Chrome installed when you try to Start Debugging, you will get the following erro…

Using Bootstrap Framework in Intel XDK - 2

Start an HTML Standard project with the option to use the App Designer. Give a name to the project, a project with your chosen name is created. The first thing that comes up is the choice to use the type of designer. Of the several existing options most will be deprecated in future version of Intel XDK. Presently Twitter Bootstrap v3 is still supported fully. The latest version of Bootstrap is 3.3.7 and you can download as described in my previous post.

Creating a project like above is not enough to bring in Bootstrap related js and css references that are needed for developing Bootstrap based apps.

Here is what you get in terms of project folders/files by default:


You need to place at least one UI element to the project to include these files as shown for a similar project on which a 'button' from the designer was dragged and dropped. Here are the project files/folders.


After making the above preparation you will be able to use the  Bootstrap JS and CSS cod…

Start developing with Bootstrap Framework and Intel XDK - 1

Bootstrap, the most popular framework is a free front-end framework for everything in HTML, CSS and JavaScript. Web development will be faster and easier with Bootstrap. Bootstrap has design templates with buttons, forms, typography, and more. Moreover, it supports responsive web design, designs that automatically adjusts to the devices from smart phones to desktops.

It is,
Easy to use
Has responsive features
Wide browser compatibility

Intel XDK has built-in support for Bootstrap Framework.


For example in a Standard HTML5 project with Bootstrap Framework chosen, placing a 'button' widget on a page adds the following HTML fragment to the page.


You can download Bootstrap from here and choose the option to download as shown:


You could also link reference Bootstrap from the following CDNs:

Sorry, I can only use images of HTML fragments on the blogger as it does not support 'Pre' tags correctly.

Of course there are many other ways ot using Bootstrap refe…

Launch of JS Foundation - Broadening appeal of JavaScript

The Linux Foundation announced the launch of JS Foundation. JS Foundation will be a new project for everything that developer would be going to the open governed, open source JavaScript.

Both JQuery Foundation and Dojo Foundation plan on joining to create a more forceful new foundation.

The fact is JavaScript has become very popular.

"JavaScript is a pervasive technology, blurring the boundaries between server, client, cloud and IoT. We welcome any projects, organizations or developers looking to help bolster the JavaScript community and inspire the next wave of growth for application development."

The initial members are:

Sauce Labs
Sense Technic Systems
Site Pen
University of Westminster

There is also a mentor program.

The main motive for the foundation is to encourage and drive JavaScript centric projects towards broad adoption and facilitate ongoing development of related technologies.

Read for more about this interesting arti…

Upgrading to 3619 may encounter problems

There appears to be some problem when you try to install the version 3619 from within Intel XDK. I encountered the same problem and after visiting the Intel XDL forum, I find many others getting into the same problem (Cannot extract package error). Intel forum members identified and suggested work around, getting the xdk-wrapper folder into the correct sub-folder of the installation folder.

It did not work for me. I downloaded the new version from Intel and while installing the full version, I chose the option to repair and that solved the problem.

Are you into IoT? Visit Barcelona to attend the IOT World Congress

IOT Solutions World Congress takes place in Barcelona, Spain during 25-27 October 2016. Not many days left.

The IoT Solutions World Congress is the only event featuring live testbeds of Industrial IoT solutions and applications.

Here are some copied from their site:

Communication & Control Testbed for Microgrid Applications
Continuous noise monitoring and sound event detection & identification

Energy, Information, and Avatars
"When a physical system is connected in such a symbiotic relationship with its virtual representation, we call the resulting interconnected system a “cyber-physical avatar”.

Industrial IoT beneath our cities. Interoperability and IPv6

Remote Patient Monitoring

"Cognizant’s Remote Patient Monitoring solution, powered by Microsoft’s Azure Internet-of-Things platform, empowers healthcare providers to transform the patient care relationship …

Are you building apps with Intel XDK?

Then you may note the following:

The latest update released October 11, 2016 is v3619If you are using versions prioer to 2893 released in March 2016 then the following are no longer supported:           Build Tab
         Test Tab
         and the Intel App Preview
Please upgrade to version 3619. After this the Debug tab and the hosted weinre server while using Test Tab and the Live Development pane under DEVELOP Tab are deprecated and will be retired soon.

What's new in v 3619?

A keyword-based filter for sorting samples and prjects
New Linux and Apple OSX installers
New Iot Project Samples using Microsoft Azure

Many other issues have been addressed. Too numerous to sumarize here.
Follow this link:

Intel XDK: Controls 13: ACCORDION Control in App Designer 7

In this post I will be considering the most basic implementation of the ACCORDION control in an Intel XDK App Framework 7 project.

I had described the accordion control  years ago while using the DOJO framework, another framework that worked splendidly.

You can create a project with an ACCORDION control on the web page.

You launch Intel XDK (Version3522) and create a Standard HTML5 project and choose to use the App Framework 7. This creates a single page application and the DESIGN features will be available.

I just placed a HEADER and replaced its title to My Books. The ACCORDION control is available under CONTROLS as shown.


For this post I tried dragging and dropping this control on to the page and it does not work, probably by design. What you need to do is to drop the following HTML fragment for this control on the page.


This is where you would place this code:


This will generate an accordion control with three accordion items, the second of w…

Developing Universal Windows Platform on Windows 10 devices -1

You must be in Developer Mode both on the PC on which you develop Universal Windows Apps as well as any device on which you want to test your app.

In this post I discuss the Settings in your PC. If your in Developer Mode on your PC then you can open a Universal Windows Platform (UWP) project in Visual Studio.

Developer Mode on the PC:
For example I am in Developer Mode on this computer on which I intend to develop a UWP App. When I open up Settings as shown I can search the item for 'For developers'.


Clicking on 'For Developers the following is displayed, where if are not already in Developer Mode choose the option.


As you develop you may want to test on a connected device which may be on the local area network or a USB connected device and you should enable them on this page.


You should also enable the Windows Explorer settings to make your work more efficient.

Also settup the Remote Desktop settings and some of them are default when you are develo…

Google enters the phone hardware battle with its Pixel phones

The field is full of actors having various kinds of difficulties from exploding phones to trembling hardware infected with 'touch disease'. Apart from the headline news of problems there is the underlying problem with 'Sales'. Google wants to take on Apple, if I go by some of the Internet sites.

Microsoft has tried to enter smart phone market with a really good phone like Microsoft Lumia 950. It has not made any significant dent and can Google with similarly priced phones with very similar features do any better. OK, there is a better camera, so what?

Google is also moving to AI-First from Mobile-First. Looks like it wants to one-up the Microsoft's Mobile-First slogan.

Google phones were already in the market with the brand name Nexus made by Chinese and Korean manufacturers but now PIXEL is a Google branded phone made by HTC. Pre-ordering has started in many countries and you can pre-order at the Google site.

The most significant feature of what makes it differen…

This is the core of the future of 'Windows', the Universal Windows Platform

Windows evolved from just windows to include 'phones'.

When Windows 8.1 was introduced Windows Runtime(WinRT) which was evolution of Windows app model came up with the Universal Windows 8 apps for both Windows and Windows Phone. Windows and Windows Phone shared a ccommon piece of code.

Universal Windows Platform was introduced beginning Windows 10. The target was no more the Windows OS or Windows Phone OS but a common platform with a unified core. This core runs on all devices in the Windows family.

Devices running this core can target can not only call WinRT APIs that are common to all devices but also Win32 and .NET APIs that are specific to device family. This means all you need to develop is a single app package that can be installed on a wide variety of devices shown here.


On any device, you have therefore, the guaranteed core and you add APIs on top of it specific to the device. You will conditionally access the device specific features in your …