Tuesday, November 1, 2016

HTS - High Throughput Satellite [Adoption in Mobility Startegy]

Today world is lying on mobile and Internet ecosystems together. The proliferation of web-based mobile applications necessitated mobile broadband access to the Internet, which rapidly became widely and sufficiently available to users of mobile devices, as long as they stayed within the service range of their appropriate terrestrial networks. 

Lets think on the situation from consumer stand point when mobile users got on planes, ships and land-mobiles, the bandwidth frequency, communication and Internet experience was quite different. How consumer and enterprise industry approach and dealt with the situation? HTS (High Throughput Satellite) is one of the approaching solution, which could be considered to become a game changer for Internet users in the aeronautical, maritime, and land-mobile market segments. HTS are primarily deployed to provide broadband Internet access service (point-to-point) to regions un-served or under served by terrestrial technologies where they can deliver services comparable to terrestrial services in terms of pricing and bandwidth. Let's understand what's HTS first? As per Wikipedia, HTS is a classification for communications satellites that provide at least twice, though usually by a factor of 20 or more, the total throughput of a classic FSS satellite for the same amount of allocated orbital spectrum thus significantly reducing cost-per-bit. 
The advent of high-throughput satellites (HTS) enables network service providers to offer a new generation of communications solutions. HTS systems combine the exceptional spectrum efficiency and performance of spot-beam antennas with ultra-wideband transponders to enable unprecedented levels of bandwidth and throughput. Each spot beam reuses frequencies in multiple carriers so that a single HTS spacecraft can provide five to ten times the capacity of traditional satellites. For the customer, this provides the potential to dramatically increase data rates, upwards of 100Mbps to a single site and improve application performance compared to traditional satellite based communications.

While many current HTS platforms were designed to serve the consumer broadband market, some are also offering services to government and enterprise markets, as well as to terrestrial cellular network operators who face growing demand for broadband backhaul to rural cell sites. For cellular backhaul, the reduced cost per bit of many HTS platforms creates a significantly more favorable economic model for wireless operators to use satellite for cellular voice and data backhaul. Some HTS platforms are designed primarily for the enterprise, telecom or maritime sectors. HTS can furthermore support point-to-multipoint applications and even broadcast services such as DTH distribution to relatively small geographic areas served by a single spot beam. However, in simple terms, HTS is making broadband access better, cheaper and faster.

Here we look at five main important components of HTS design strategy are:
  1. Throughput - total transmitted per seconds
  2. Efficiency - actually interdependent of throughput requirements
  3. Coverage - the region being served in spacecraft and geographically
  4. Architecture - network architecture {Star, Mesh, Loopback…}
  5. Spectrum/Efficiency - frequency in consideration into the available bandwidth network and characteristics of the spectrum 

In business terms, HTS will significantly reduce the Total Cost of Ownership (TCO) compared to yesteryear’s satellite broadband solutions in the mobile platforms space. More importantly, HTS broadband access is finally becoming competitive with its terrestrial counterparts in terms of cost and performance. But the good news is that HTS does not have to compete with terrestrial solutions in the air, sea and land mobile segments, it just needs to become as widely available as its terrestrial cousins and support comparable broadband connectivity in terms of throughput and cost. 

Takeaway from experts based on experimental outcome result and existing case-study report:
·     Next generation High Throughput Satellites include both Ku and Ka [Refer - below comparison image table].
·         There are many different variations of technologies using the Ka-band frequencies.
·         Ka is an appropriate technology for mass markets and non-industrial markets.
·      Side-by-side technical and cost comparison of Ka and Ku HTS solutions shows significant technical and cost challenges with most Ka solutions for customers with high reliability and availability needs.
·      HTS Ku platforms offer the best overall performance and value for operations for mission critical, maximum uptime networks. 

Important links to explore the purpose and needs of HTS are in detail, such as:
  1. https://www.linkedin.com/pulse/hts-game-changer-bandwidth-run-mobile-platforms-jack-nargundkar
  2. https://en.wikipedia.org/wiki/High-throughput_satellite
  3. http://www.thedigitalship.com/conferences/presentations/2014rotterdam/10_Claude_Rousseau-Research_Director-NSR-France.pdf
  4. http://www.harriscaprock.com/downloads/HarrisCapRock_WhitePaper-Ka-Ku_Analysis.pdf
  5. https://www.youtube.com/watch?v=XrN4dtcpO8k  

Thanks you for your time on staying at this page. Please be free to advise/contribute/suggest below in comment section. Will add all valuable relevant input quickly. Thanks again and look forward!

Monday, February 8, 2016

MVC, MVP & MVVM - Architectural Patterns.

MVC - Model–View–Controller (MVC) is a software architectural pattern mostly (but not exclusively) for implementing user interfaces on computers. Traditionally used for desktop graphical user interfaces (GUIs), this architecture has become extremely popular for designing web applications.
MVC - Framework Library: Early web MVC frameworks took a thin client approach that placed almost the entire model, view and controller logic on the server. This is still reflected in popular frameworks such as Ruby on Rails, Django, ASP.NET MVC, Spring MVC and Express. Client technologies have matured; frameworks such as AngularJS, EmberJS, JavaScriptMVC, SpineJS and Backbone have been created that allow the MVC components to execute partly on the client.

MVP - Model-View-Presenter (MVP) is a derivation of the model–view–controller (MVC) architectural pattern, and is used mostly for building user interfaces. MVP is a user interface architectural pattern engineered to facilitate automated unit testing and improve the separation of concerns in presentation logic:

  • the view is a passive interface that displays data (the model) and routes user commands (events) to the presenter to act upon that data.  
  • the model is an interface defining the data to be displayed or otherwise acted upon in the user interface.
  • the presenter acts upon the model and the view. It retrieves data from repositories (the model), and formats it for display in the view.
MVP - Framework Library: Client Side- Riot.js, GWT   whereas Server Side - Classic ASP.NET, JSP Servlets. In general implementation of MVP: 
  • .Net Framework - Claymore, MVC# Framework, Web Client Software Factory, Evolution.Net MVP Framework, ASP.NET Web Forms Model-View-Presenter (MVP), Nucleo.NET, WinForms MVP
  •  Java Framework - JavaFX, MVP4J, Echo2, Google Web Toolkit, GWT-Platform, JFace, Swing, Vaadin, ZK
  •  PHP Framework - Nette Framework

MVVM - Model–View–ViewModel (MVVM) is a software architectural pattern. MVVM and Presentation Model both derive from the model–view–controller pattern (MVC). MVVM facilitates a separation of development of the graphical user interface (either as markup language or GUI code) from development of the business logic or back-end logic (the data model). Model–view–viewmodel is called model–view–binder, especially in implementations not involving the .NET platform. ZK (a web application framework written in Java) and KnockoutJS (a JavaScript library) use model–view–binder. The MVVM pattern includes three key parts:
  1. Model (Business rule, data access, model classes)
  2. View (User interface (XAML))
  3. ViewModel (Agent or middle man between view and model)
MVVM - Framework Library: Client side - Knockout.js, Kendo (MVVM) whereas Server side - WPF (Desk­top) or Sil­verlight, Win­dows Phone apps (XAML), Adobe Flex.  
When to use which?   
  • MVC - Use in situations where the connection between the view and the rest of theprogram is not always available (and you can’t effectively employ MVVM or MVP)
  • MVP - Use in situations where binding via a datacontext is not possible. 
  • MVVM - Use in situations where binding via a datacontext is possible. 
Both MVP and MVVM are deriv­a­tives of MVC (see time­lines and how these have evolved). The key dif­fer­ence between them is the depen­dency each layer has on other lay­ers as well as how tightly bound they are to each other. 

Wednesday, February 3, 2016

Developers concern and take on against Parse (MBaaS) cloud service shut down.

In  this blog we are going to discuss about the challenge and alternate approach of an initiative or best practice adoption after shutting down the Parse service i.e, mobile backend as a service (MBaaS).

As we all know that Facebook has made an announcement about shutting down the Parse cloud service. Currently it's not closed, it will stick around till up to the time of  next year i.e., 28 Jan 2017.

Facebook Parse chief technology officer Kevin Lacker wrote in a blog post,  "We’re proud that we’ve been able to help so many of you build great mobile apps, but we need to focus our resources elsewhere".


After Parse shut down, developer must look elsewhere,

Migration in new environment from existing one,

Dealing and convincing to the existing customers/clients, costing, manpower.. so on

 Growing backend and architecture services team, etc.

Alternative Solution Approach:

 Before we move on towards new alternate adoption it is good to analyze about what features are we looking for ? The list of services are:
  • Data Storage
  • Push Notifications
  • Usage Analytics
  • Dashboard
  • Social Integration
  • User Administration
  • Cloud Code Integration
  • Multiple Mobile Platform SDKs
  • Background Jobs 
  • Crash Report
The 'Github Development Community' step ahead of this challenge and a great list of Parse alternatives has already emerged as a result.
In next what developers can do ?
  1. Migrate and Host Own Parse Server: Parse has provided a Migration Guide (https://parse.com/docs/server/guide#migrating). Facebook is open-sourcing Parse Server and making available a database migration tool to help move apps off of Parse, that lets you migrate data from Parse app to any MongoDB database. Developers will run most of the Parse API from their own Node.js servers (or one hosted on a platform like Heroku). 
  2. Switch to Another SaaS:  Developers need to update their application(s) to leverage new SaaS environment as its backend service, this could also be a great time to upgrade app(s) with improved or added functionality.
  3. Build Own Backend Solution: SaaS platforms are great for MVPs, rapid prototyping, personal projects, and powering smaller features of larger products. If your application needs to be built to scale, is mission critical, and continues to evolve with custom needs, it may be a better business strategy to build your own backend. This way you maintain complete control and can leverage it as a competitive advantage.
The difference with Parse is that it has attracted more developers than the existing platforms because of its easy-to-use and well-documented SDKs, highly competitive (often free) pricing, intuitive backend portal, and its ability to handle everything (e.g. cloud computing, push services, user authentication, etc.) with very little configuration or setup. From big-name brands to indie shops, Parse was the obvious choice to accelerate production of MVPs, small to medium scale applications, or specific features of large scale applications. SaaS systems are often ideal for prototyping and personal projects, but for large, custom applications that company environment depends on, building own server stack is worth the extra time and effort. Parse isn’t the only player in the SaaS (Software as a Service) industry. Amazon, Google and Microsoft (and numerous other startups) now offer very similar tools for developers. The idea behind using a service like Parse, however, has always been that developers could avoid dealing with servers, so it remains to be seen how many of its current users will make this switch. 


Monday, January 18, 2016

Commercially available things !

There are many standards and proprietary solutions used for connecting things to each other or to the cloud: Wi-Fi, Bluetooth, ZigBee, Active RFID, loWPAN, EtherCAT, NFC, RFID to name a few. Among these technologies, Wi-Fi has been the most successful. It has become a ubiquitous standard of connectivity and is used in the home, enterprise, schools, hospitals, airports etc. 

In this post, we will see some existing commercial things that we can use right now. These include 
  • Smart home devices,  
  • Medical devices, 
  • Wearables, and 
  • All kinds of gadgets.  
All of these devices connect to your Android phone using either WiFi or Bluetooth, pacifically Bluetooth low energy (BLE), sometimes know as Bluetooth smart.
One of the most well-known internet of things (IoT) is the Phillips Hue Lighting System. talk to both Android Phone and Android wear watch.
Let's go take a look at some existing devices. Kaptur band this is a simple wrist band, that essentially consist of a microphone sensor, some memory, and a Bluetooth radio. It sits and records in a loop, 60 seconds, and whenever you tap it, it captures that 60 seconds, and sends it to your device.  
Another well-known device is the Nest thermostat, which as I believe everybody know, is also owned by Google. They also make a smoke detector, both of which connect up via WiFi, and talk to your Android phone.  

One of the most well-known companies in the home automation market is a company called SmartThings. They make a number of devices that allow you to connect up to your phone. They build locks, sensors, so you can tell when doors are opened or closed, cameras, speakers, and so forth.
Talking about the internet of things would be completely empty if we didn't talk about Android wear. The two most prominent devices right now for Android wear are the Moto 360 and the LG G watch.  There's also the Pebble watch. It's not a specific product that's just for Android, but it does have a very nice SDK, and it actually has some physical buttons on it, so you can build apps that do a variety of things with the user punching the buttons on the device. Then, using your Android phone to either control your phone or to use your phone then via WiFi to control other devices.
Lumo Lift is a small device to track your activity and calories burned, as well as improve your posture. It is essentially an accelerometer, and you can see here it goes on the shirt/bra by holding it with a magnet. Essentially, you just sit up straight, double-tap it, and then if you ever start to slump, it'll buzz, vibrate and remind you to sit up straight again.  

In terms of wearables and fineness, one of the most popular's called Fitbit. Fitbit, essentially, will tell you how many steps you've taken, route your map, and do all of that while you just wear it around everyday, and it'll help you manage your weight, eat better, sleep better, and so forth.
One of the early entries in the internet of things was a company called Withings. They make everything from activity tracker to a bathroom scales, to this fashionable Activite steel white watch and activity tracker. They also make a pulse oximeter, so that you can tell how much oxygen is in your blood while you're exercising, and even a home camera.  

The internet of things goes everywhere, including into your peaceful moments. The muse, the brain sensing headband monitors your brain waves, and allows you to determine when you brain is actually calm. There's also an SDK that you can use to experiment with using your brain waves to control other things.  

TI Sensor Tag. The reason it's great is because it's $25, and it contains all of these things, temperature sensor, humidity sensor, pressure sensor, accelerometer, gyroscope, and magnetometer. That works on one CR2032 battery, and it's very, very easy to talk to it with Bluetooth. And also you can do your Android phone or Android tablet to talk to a Bluetooth device. This is a easy way to get started, so that you can understand how to build a Bluetooth app. 

Then, there's this great product that's a internet of things developer kit called WunderBar. It's from Germany from a company called Relayer.  We'll talk to the Relayer master module via WiFi, and it will talk to the different individual modules via Bluetooth.

Then, we're going to go even further, and build a simple intelligent device that you can mount at your door, so that when somebody rings the doorbell, you can pick up your phone and snap a picture of who's there, so you can see who's at the door. For that, we're going to use the Tessel platform. Tessel's very interesting. It's a microcontroller that runs JavaScript. It uses no JS, has WiFi, it's got four connectors. Tessel's very unique in it, all of the components are only on one side. You can always tell when you've got things plugged in correctly with the Tessel, because it can only go in one direction. With components on one side, if you flip it over, all you see are the backs of all the boards. You can plug pretty much any component into any one of those things, and you can power the Tessel with via USB or with a battery. It's very, very easy to program using JavaScript.

Lot more are available or existing which can be used as a solution in demanding market.