When would you go for a hybrid mobile application?
When you want your application to be compatible with more than one operating system and you have very less time for developing the application. These are the two basic factors that you might consider while choosing to go hybrid.

Hybrid applications are considered to be a lot easier to develop than native applications, essentially because most of the code, required for development can be reused in different platforms. For the same reason, they cost less and require much lesser time for development when compared to native mobile applications. With all these advantages, your chances of choosing to go for hybrid application development, are pretty high.

Hybrid mobile application development is often assumed to be a one-size-fits-all approach. A single set of code can be reused with minor tweaks across different operating systems or platforms. From an organizational perspective as well, hybrid applications might seem easier. Instead of hiring separate developers for each platform, a single set of developers can do the job.

One-size-fits-all: does it really apply?

However, the one-size-fits-all principle might not be entirely true. For hybrid applications to have access to device capabilities like the accelerometer, the camera etc. they need plugins, coded in the respective native language according to the platform. Now, these plugins, are actually the most crucial part of a hybrid application; without these, they are no better than a web application. There are several risks associated with these plugins though. They are not quite reliable in terms of consistency and sometimes may go missing altogether. This is especially true where the mobile platform for which the plugins are developed, gets upgraded. In other words, when several versions of a particular mobile platform are introduced, the plugins associated with it might get outdated or unreliable. Most often it is halfway through development, focusing on the features of the mobile platform, that you realize that the plugins are missing. Then you are forced to either do away with a feature altogether or code plugins yourself. And like I said, plugins are one of the most essential parts of developing a hybrid application, so without it, the whole purpose of hybrid apps is pretty much unserved.

Another problem associated with hybrid apps is that even though they are easy to develop and deploy, they don’t perform as well as native apps. The look and feel of hybrid apps is also not as smooth and natural as their native counterparts. Again, since they need plugins to work with a mobile device, that needs to be coded in their native language, you will need to spend way too much time fixing them in case of bugs. Also, they use separate webview implementations for different platforms, as they are hosted through each platform’s webview, which is not needed in case of native applications. Native applications can run in an operating system independently. In short, hybrid applications have several dependencies like plugins and webview implementations. They in turn vary according to the platform used for creating the application.

Hence, you really cannot rely on the fact that hybrid apps go with every platform and device, with little tweaks. In order to achieve maximum efficiency from your hybrid apps, you need to make sure that the essential APIs are in place and available well ahead of development.

Stay up to date on what's new

    About the Author

    ...
    Ashmitha Chatterjee

    Ashmitha works with Fingent as a creative writer. She collaborates with the Digital Marketing team to deliver engaging, informative, and SEO friendly business collaterals. Being passionate about writing, Ashmitha frequently engages in blogging and creating fiction. Besides writing, Ashmitha indulges in exploring effective content marketing strategies.

    Talk To Our Experts

      iBeacons, one of the most thoughtful and effective recent innovations in the world of technology, have taken over the area of consumer interaction and experience in almost every industry now. They have been quite helpful in keeping consumers engaged and thereby increasing sales. iBeacons were introduced by Apple in 2013, as part of their efforts to provide better location-based services to consumers. Being a proprietary closed spec technology, it is not available for development by others, although there are other beacons using the iBeacon format.

      Here we discuss 2 such different beacon technologies, that came into being after iBeacons:

      1. AltBeacon – As the name suggests, it is a beacon that was developed as an alternative to iBeacons. It is an open source and free beacon design, developed by Radius Networks and has almost the same functionalities as iBeacon, except that it is not company specific. A noteworthy feature of AltBeacons is that they have 25 of 28 bytes available for user data, which enables more data to be delivered per message. It is also not limited to single-function devices and works with any device that is Bluetooth Low Energy (BLE) compliant. Considering that it is a very new technology, it is not being widely used yet. Although, in time, they are very likely to become popular because of the fact that they can carry more data and that they are open spec.
      2. Eddystone – This is an open beacon format by Google developed as part of their Physical Web project. They are very similar to iBeacons except that they have a URL in the payload. They deliver short links to the web through BLE advertising packets. It Doesn’t require an external database. This allows for benefits like promotional codes that can be made available at retail stores which can be used to go to a webpage having a discount coupon or things like that.
        URIBeacon – It is another Google beacon developed as a part of their Physical Web project. URIBeacons have slowly evolved to be a part of the new Eddystone format. It uses 28 bytes of the 31 bytes available in an advertising packet. Just like Eddystone, they also support URLs through their BLE advertisement packets.It has a configuration service, unlike AltBeacons and iBeacons. These have to be updated with new information and they keep changing with time. How they differ from their new improved version (Eddystone) is that Eddystone supports a variety of payload types now, while URIBeacons do not. Also, Eddystone offers a lot more support for Unique IDs through its Eddystone-UID framework, which was again not the case with URIBeacons. Moreover, Eddystone is now more open to future innovations.

      In short

      iBeacons and AltBeacons are almost the same except for the fact that iBeacons are closed spec and AltBeacons are not. They both use external databases and broadcast Universal Unique IDs. Being Apple-branded, iBeacons are more widely used than AltBeacons. On the other hand, URIBeacons do not use external databases, instead they use web links to link the data directly. In that sense, the workload on the app side for URIBeacons is comparatively more. And they are slowly becoming a part of the Eddystone format.

      Although iBeacons are the most popular form of beacon technology used nowadays, the other types are also slowly catching up. Together, they are likely to transform the way data is being transmitted, whether it is in the retail industry, or the finance industry or any industry. In all, the beacon technology is definitely here to stay and is wide open for innovations in future.

      Stay up to date on what's new

        About the Author

        ...
        Ashmitha Chatterjee

        Ashmitha works with Fingent as a creative writer. She collaborates with the Digital Marketing team to deliver engaging, informative, and SEO friendly business collaterals. Being passionate about writing, Ashmitha frequently engages in blogging and creating fiction. Besides writing, Ashmitha indulges in exploring effective content marketing strategies.

        Talk To Our Experts

          Many a time, we have come across chief business managers and executives who have had a tough time deciding on the kind of approach to adopt while developing a mobile application. That is, whether to go for a native application or a hybrid application. In order to help them make better and more informed decisions, we had put together the major features of both and some factors to consider while choosing a method of development on one of our previous articles – NATIVE Vs. HYBRID: Things to Know Before Building Your Next Mobile Application.

          Here we discuss some important points on the development aspect of native as well as hybrid applications.

          It is often much easier to develop a hybrid application than a native application and there are several reasons for that. Hybrid apps can also be developed a lot faster than native applications for the same reasons. These are the main development aspects of native and hybrid apps:

          Programming languages used

          In the case of native apps, there are specific languages used for specific Operating Systems or platforms. That is, Java is the language used for programming an Android app, Objective-C or Swift are the languages used for iOS apps and C# is the language for Windows Operating system. All of these have their own standard Software Development Kits (SDKs), which provide the necessary tools and interface elements for development. Native apps have full access to device capabilities like the camera, the contacts, the accelerometer etc. Hence, they perform better.

          In the case of hybrid apps, the languages used depend on the type of hybrid technology that is used for development. Some of the most widely used hybrid technologies that are used today are PhoneGap, Flex, Corona, and Xamarin, although the latest and most popular ones are PhoneGap and Xamarin. The programming languages used for these technologies are as follows:

          PhoneGap – HTML5, Javascript, CSS3, JQuery, AngularJS, Node JS
          Flex – Actionscript for Flash
          Corona – Lua
          Xamarin – C#

          The application is developed using these technologies, coded in their respective languages and is then hosted inside a native application’s web view. This enables them to have access to device-specific features like the camera and contacts.

          Coding

          In the case of native apps, the code has to be written from scratch. That is, each time an application is developed for a particular platform, the code for its programming has to be written from the beginning. For example, if a native mobile application has to be developed for both iOS and Android platforms, the coding has to be done wholly and separately for each platform. That is why, it requires more time and effort. Separate development teams have to be employed for both platforms and separate SDKs will have to be used with separate interface elements like text boxes and buttons, all of which add to the cost of the application.

          On the other hand, in the case of hybrid apps, coding is a lot easier. Most of the code written to program an application to work in a particular platform can be reused for the same application to work in another platform. For example, if a hybrid mobile application has to be developed for iOS and Android platforms, most of the coding done for that application to work in iOS can be used as such while programming it for Android as well. It basically means that the coding need not be done from scratch, unlike native apps. It is for this reason that hybrid apps take much lesser time and effort. Since a single development team can be employed for the application, the cost also is fairly lesser when compared to native apps. Along with the programming code, plug-ins also need to be coded in the respective native language for hybrid apps, in order to enable hardware capabilities access.

          User Interface (UI) Frameworks

          In the case of native apps, just like programming languages, the UI frameworks used for the development of each application vary with the kind of platform. UI frameworks basically provide the user interface elements like buttons, radio buttons, checkboxes and textboxes and also contribute to the visual aspects of the app. They are responsible for the look and feel of the app. For example, IONIC is a UI framework that is used to build the interface of mobile applications mostly native. It is used with Cordova when developing applications and uses the language AngularJS. Similarly, Android apps use the framework bootstrap.

          In case of hybrid apps, Intel XDK provides UI elements and allows you to build apps on any platform.

          Integrated Development Environments (IDEs)

          IDEs provide the facilities required for mobile app development. Most IDEs consist of a source code editor, building and automation tools and a debugger. They differ with the platform in case of native apps as follows:

          iOS – XCode
          Android – Eclipse
          Windows – Visual Studio

          In case of hybrid apps, the IDE used is part of the technologies that are used like PhoneGap and Xamarin.

          Dependencies

          Dependencies arise only in the case of hybrid apps since they make use of plug-ins coded using native language depending on the kind of platform. Plug-ins have to be coded in order to enable access to the device’s hardware capabilities as mentioned before. That way, they need code to program the app as well as for its plug-ins. In the case of native apps there are no such dependencies as they are coded entirely using their respective language according to the platform. Since they already have access to device capabilities, they do not need plug-ins.

          These were the differences in the development aspect of native and hybrid apps. Even though native apps take a longer time and effort for development, they are better in terms of performance when compared to hybrid apps. Since native apps can use device features without the use of plug-ins, they are more accurate and much faster than hybrid apps.

          Stay up to date on what's new

            About the Author

            ...
            Ashmitha Chatterjee

            Ashmitha works with Fingent as a creative writer. She collaborates with the Digital Marketing team to deliver engaging, informative, and SEO friendly business collaterals. Being passionate about writing, Ashmitha frequently engages in blogging and creating fiction. Besides writing, Ashmitha indulges in exploring effective content marketing strategies.

            Talk To Our Experts

              Ever since the introduction of iBeacons in mid-2013, it has increasingly gained popularity and has literally changed the way consumers search for stores and purchase products from stores, in the retail industry. That is just one industry iBeacons have influenced greatly.  There are a number of other industries which make use of this technology nowadays. Before we get into the different industry uses of iBeacons, it would be worthwhile to discuss what exactly iBeacon technology is.

              What is iBeacon

              iBeacon is a kind of wireless technology that uses the Bluetooth Low Energy (BLE) protocol to provide location-based information and services to devices. It was introduced by Apple and is now being used by Android as well. iBeacon makes use of a small Bluetooth transmitter known as a ‘beacon’. It basically generates content or even actions through interaction with a beacon in close proximity of an app installed on your device. This works with mobile apps running on both iOS and Android devices.

              For example, in a grocery store, beacons could be placed in specific places around the store and if a consumer, having an iOS or Android device walks in, the device would detect close proximity to the beacons. Retailers could use this technology to send out special offers and promotions to the consumers’ devices and even make contactless payments. It Would require the use of consumer’s shopping history to understand preferences and interests in order to make it more effective. This is how iBeacons can be used to enhance consumer experience.

              That said, here are some other industries where iBeacon technology is being used widely:

              Sports

              Sports_Media_Smartphone

              Manufacturers have tie-ups with sports associations to provide fans in sports stadiums with personalized and interactive experiences with iBeacons. For example, the Major League Basketball Association is working with Apple to serve this purpose with its Ballpark App. It welcomes fans as they enter the stadium with interactive maps that show them to their seats, gives player updates and videos about the stadium, the game etc. That way, fans feel as though they are a part of the game.

              Airlines

              Airports have started to enhance their services to consumers by improving on consumer experience while they are at airports. For example, Virgin Atlantic, one of the leading airline companies in the world, started an iBeacon trial at the London Heathrow Airport. The premium passengers of Virgin would receive personalized offers and alerts through their phones. Initially, they used beacons to alert consumers about keeping their electronic boarding passes ready before travel and also to send out offers regarding currency exchange. They were also able to inform consumers about entertainment facilities inside the flight before travel.

              Events

              sxsw-app-ibeacons

              One of the most popular music and film festivals in the world ‘The South by South West’ (SXSW) started using iBeacons since 2014. Through their official mobile app, and with the help of beacons, of course, they were able to provide enriched customer experiences. All the attendees received their registration quick codes on their phones, as soon as they were in the vicinity of the event’s registration counters. They also made use of a number of beacons placed at a number of event venues, whereby they could welcome the attendees to different sessions and also invite them to join sessions along with information about various sessions.

              Electronics

              In the case of home electronics, there are Apps that make your living a whole lot simpler. As a matter of fact, you don’t even have to pull off your couch if using the new Launch Here app. With the help of beacons, it changes your phone into a smart personal assistant that lets you launch other apps of your choice. For example, a beacon placed in the living room sofa or anywhere else in the living room, could send you signals to launch the remote app on your phone so that you can use it as a remote or maybe even launch the TV app on your phone. You could also use beacons in other appliances like the refrigerator, to help you create a shopping list or so.

              These were just some industries that use this increasingly popular technology to provide improved customer experiences. There are many other industries as well that are yet to use this, although they are well on their way. The education industry is one such example, where they are slowly coming up with new innovations that improve the interaction between teachers and students. Beacons can help a great deal in this regard.

              Soon ibeacons will lead to disruptions in most industries and it will be a matter of time before they become mainstream entities in every industry. Have you seen these little beacons or better, have they made life easier for you somehow? Let us know in the comments below!

              Stay up to date on what's new

                About the Author

                ...
                Ashmitha Chatterjee

                Ashmitha works with Fingent as a creative writer. She collaborates with the Digital Marketing team to deliver engaging, informative, and SEO friendly business collaterals. Being passionate about writing, Ashmitha frequently engages in blogging and creating fiction. Besides writing, Ashmitha indulges in exploring effective content marketing strategies.

                Talk To Our Experts

                  How often have you come across a situation where you needed a mobile application and had to choose between a native or hybrid application?

                  We as developers, have come across a number of business heads and managers, who have had a tough time deciding on the approach they had to take for the mobile application they required. More often than not, business officials are seldom aware of the technical specifications of native as well as hybrid apps. Hence, they are often confused and unable to decide between the two.

                  For example, one of our clients from the mining industry specialized in providing cut and fill earthworks for residential, commercial and industrial development projects, faced a similar problem. They needed a software that enabled them to move from their paper-based project management system to an online one. They also required a mobile application that enabled their field agents to gather information from their sites and also access project information contained in the main application as well. The client was confused as to what approach to use for their mobile application. After detailed analysis of their requirements, we churned out the best possible approach for their business. Similar issues persist among most entrepreneurs today.

                  Hence, in this article, we take you through the significant aspects of native and hybrid applications that have helped us advice our clients in deciding between the same.

                  Native apps

                  A native application is basically one that has been developed for use on a particular platform or device. And for the same reason, they are able to make use of the specific features of the operating system as well as other software installed on the device. This also implies that native apps can make use of specific hardware features as well, that are part of the device and the latest technology available with the device like the Camera, the GPS, the contacts, the accelerometer etc. Some of the general features of native apps are as follows:

                  They are coded in a specific programming language such as Objective-C for iOS, Java for Android and C# for Windows operating systems.
                  They are easily available on an app store or a market place specific to the device and they can be installed from there.
                  Each native app requires its own development process depending on the platform it is being developed for.

                  Hybrid apps

                  A hybrid application is one that has combined features or elements of native and web apps. Unlike native apps, they are not built for use on a particular platform, but they are made available over multiple platforms just like a web app. The major difference between a hybrid app and a web app is that hybrid apps are hosted within a native application that makes use of the mobile device’s Web View. It is more like a browser that runs full screen. Hence, they are able to utilize most of the device capabilities just like native apps. Some of the general features of hybrid apps are as follows:

                  • They are coded using a combination of technologies like HTML5, CSS and Javascript.
                  • They are easily available on the app store to be installed.
                  • It uses hybrid technologies like PhoneGap (or Apache Cordova), which provides APIs to gain access to native platform features like the camera and contacts.

                  COMPARISON OF NATIVE AND HYBRID APPS

                  Now that we have a basic understanding of both kinds of apps, here we have a comparative study of the features and elements of the two.

                  User Interface

                  In terms of user interface, there is not much of a difference. There may be minor differences in the looks and the like, to enable a consistent user experience depending on the platform. Apart from that, both native and hybrid apps are designed to look and work the same way in terms of user interface and experience.

                  Development

                  Native apps, as mentioned before are developed using specific programming languages for specific platforms, such as Objective C for iOS, Java for Android and Visual C++ for Windows operating systems. They make use of standardized Software Development Kits (SDKs), user interface elements like buttons and text boxes, and other development tools provided by the manufacturer of the respective platforms in the process of development. They are developed using code specifically written for the app. It basically means that native applications are harder to develop and take more time.

                  Hybrid apps on the other hand, are developed using HTML or CSS or Javascript or a combination of these. As mentioned before, they are made to work inside a native app container so that they can have access to the hardware capabilities of the device. More importantly, most of the functionalities of hybrid apps are taken care of from the back end or server side, unlike native apps.
                  One of the most popular platforms that is being used for hybrid applications these days is Apache Cordova, which was earlier known as PhoneGap. It helps to provide a consistent and reliable set of Javascript APIs in the form of plug-ins which are built using native code, so that the app has sufficient access to hardware capabilities on the device. They take lesser time and effort to develop, as they make use of already existing code segments across multiple platforms.

                  Delivery method

                  Native apps as well as hybrid apps can be downloaded from an app store and installed on the device. Since hybrid apps make use of plug-ins to enable the hardware functionality as a native app does, even hybrid apps are available on the store, unlike web apps. For the same reason, the users need to manually download and install updates as and when they are ready.

                  Accessibility

                  Native apps, as they are developed for a specific platform, have access to all hardware and software functionalities of the device or platform on which it is installed. Hybrid apps on the other hand need plug-ins to have access to device specific features.

                  While choosing between native and mobile apps, some of the factors that you need to consider are as follows:

                  • Time – Native mobile applications require a longer duration of time to be developed because we need to start it from scratch. There is a lot of effort involved in building a native app as the entire code needs to be written to program the whole app. Hybrid apps on the other hand require much lesser time as they can use already written HTML code components across various devices. If you are looking to develop a mobile application and you want it done within a short period of time, then, a hybrid app would be a better option. This is one of the reasons that make hybrid apps popular.
                  • Budget – Native mobile applications are more expensive to build for the same reason why they require more time to develop. The effort that has to be put into making a native app is a lot more when compared to hybrid apps. Hence, the costs involved in developing native apps are more than that for hybrid apps. If you have cost concerns regarding your mobile application, then it is always better to go for hybrid applications. They are usable across multiple platforms and are available at a lesser cost.
                  • Requirements – If you need an application that uses features like video editing and trimming, or if your application needs access to in-device features like contacts, then you need to go for a native application. Hybrid apps do not have that capability.
                  • Scalability – This is an extension of the requirements factor. Native applications are more scalable than hybrid applications. If you plan future expansions to your application with more native features or features that require more communication with the Operating System of the device, it is always better to go for a native application. Hybrid apps can be made to have native features to some extent, but if you are planning to integrate many more features and add more functionalities to your app in the future, then you need a native app.
                  • Speed – Native applications perform faster and are easier to work with as they use the device’s built-in features. Hybrid apps, on the other hand, may not be as fast.

                  The basic advantages of a hybrid application over a native application are in terms of cost and time. Although, you get more efficiency and accuracy through native applications. These points will definitely help you choose better between native and hybrid apps..
                  Nevertheless, what matters the most is your requirement. And your final decision is entirely dependent on the kind of requirement you have.

                  Need more help? Talk to us! We can create powerful custom mobile applications or help you decide what works best inline with your business goals.

                  Stay up to date on what's new

                    About the Author

                    ...
                    Ashmitha Chatterjee

                    Ashmitha works with Fingent as a creative writer. She collaborates with the Digital Marketing team to deliver engaging, informative, and SEO friendly business collaterals. Being passionate about writing, Ashmitha frequently engages in blogging and creating fiction. Besides writing, Ashmitha indulges in exploring effective content marketing strategies.

                    Talk To Our Experts

                      Imagine your privacy being compromised through something that you never thought had anything to do with your privacy and security – your laptop’s or your smart phone’s battery status! Yes, it is a little known fact that the Battery Status API, used by HTML5 in most of its websites, gives out information related to battery life of the device on which it is being used and through that the users of particular browsers and sites can be tracked online.

                      Until recently, the decision to share such information without the knowledge of users was not a problem on grounds that it did not involve any security concerns. Also, it is a part of the battery status API that is a standardized feature of HTML5, as set by the W3C Consortium.

                      The W3C has created a standardized open web platform meant for application development, which enables developers across the world to build rich, entertaining and interactive web experiences and make them available on any device. Although, the platform as a whole is growing rapidly, its activities are reliant on a number of other technologies created by W3C like CSS, XML, the Semantic Web Stack and several other APIs and protocols. All activities on the platform, regarding application development or web services or even browsers are governed by standards and rules set by the W3C. So what exactly is the need for such standards?

                      Need for standardization

                      Standards, in general, are basically meant to make sure that products and services work safely and as intended. They direct efforts towards their goal constantly and consistently. The process of standardization in the web world and the set standards, work together towards the same goal, which is to provide a consistent and reliable base for use and reuse in future. Some of the benefits of standardization are:

                      • Safety and reliability – Adherence to standards, as mentioned before, helps to ensure safety and reliability and also even environmental care. Users generally perceive standardized products and services to be more dependable, which in turn increases their confidence in the product or service. This leads to more different kinds of new technologies to be accepted and used.
                      • Interoperability – Devices and technologies are able to work together only with the help of the set standards. It provides a base for them to rely on, while working as a group.
                      • Business benefits – Standards provide a solid base or foundation upon which new and improved technologies can be developed and also already existing ones can be modified or improved. They also help in encouraging innovation and increasing awareness of technical developments and other such initiatives.
                      • Consumer choice – Standards set the base for new options and features to be added to existing technologies as well, which contributes to the enhancement of our daily lives. When more products are produced based on the standards, it adds to the great variety of products accessible to the consumers.

                      In a world where there are no standards –

                      • Products may not work as expected and may be of inferior quality
                      • They may be incompatible with other equipment
                      • In some extreme cases, products may even prove to be dangerous
                      • Customers may stick to a single manufacturer or supplier
                      • Manufacturers may have to create their own individual solutions for even the simplest needs without any opportunity to compete with others

                      Standardization makes it easier to set prices, implement the best practices and track the quality of products and services. It also helps to build the reputation of an organization.

                      Standardization in the world of Information Technology

                      In the world of Information Technology, standardization becomes more important as there is a need for collaboration between various technologies and artifacts. Commonly used norms or practices may be set as standards, or vendors at the top of the chain set the standards and others follow.
                      For example, a large organization may set some practices as standards for interacting with their software and all the vendor organizations may be forced to follow them too. Interfaces of IT solutions need to be standardized at any cost so that interaction is possible with any software. An Internet standard, once set, is supported and used by the entire internet community. The starting point for internet standards is the Request for Comments (RFC). RFCs contain proposals for establishing new standards or revising existing ones. In order to include the Internet community, RFCs are published online free of charge by the IESG (Internet Engineering Steering Group) or IAB (Internet Architecture Board).

                      The various standardization levels (or maturity levels) are as follows:

                      • Internet draft – which is submitted by an individual or a working group
                      • RFC proposed standard – which are drafts approved by the IESG or the IETF(Internet Engineering Task Force). As a prerequisite, the proposed standards are required to have at least two independent and interoperable implementations within 6 months.
                      • RFC Internet standard – After sufficient experience with implementations, the IAB establishes a status for every standard such as required, elective, recommended, limited use or not recommended, which characterizes its meaning.

                      Different parts of an IT solution may be built or created by different stakeholders. For example, a browser created by Google may use additional softwares or plugins integrated within itself in order to include extra functionalities like video downloader, advertisement blocker, security mitigating etc. In this case, Google would be providing the standard for the other softwares or plugins to interact with its browser.

                      Standardization for HTML5 by W3C

                      HTML5 is a core technology markup language used for structuring, developing and presenting content for the World Wide Web. It was intended to subsume HTML4, XHTML and also DOM Level 2 HTML. The previous standards were revised in order to improve usability and to include more features and functionalities.

                      This standard was set by the W3C Consortium as part of its attempt to bring about compatibility and agreement between the various industry members. As different incompatible versions of HTML were being offered by different vendors, it led to inconsistencies in the display of web pages. The W3C Consortium thus introduced a set of core principles and standards to be followed by all vendors. The various stages in the development of such standards by the W3C are as follows:

                      • Working draft – which is openly accessible and open to comment
                      • Candidate recommendation – where minor changes are accepted and implementations are developed
                      • Proposed recommendation – where implementations are evaluated with sufficient documentation
                      • Recommendation – After approval by the W3C committee

                      All W3C drafts and recommendations are available online anytime.

                      The standards act as guidelines for the developers of web browsers and are not binding. The developers follow these guidelines by making minor variations in order to distinguish themselves from others.

                      The Battery status API is one such standard set by the W3C in an attempt towards providing interactive and convenient web experiences to users.

                      The Battery Status API

                      A battery API basically allows an application to interact with the device being used (smartphone or laptop) and access information related to the battery life of the device. The HTML5 Battery Status API also does the same. By allowing access to battery status information to websites, they can switch between energy-saving and high performance modes. Hence, this API was designed to allow users to switch modes according to the life of their device’s battery thereby increasing the affordance of the users. The browsers are also able to adapt themselves to the changing device battery levels.

                      According to the Security and Privacy Considerations section of the W3C specification that describes the Battery Status API, “The information disclosed has minimal impact on the privacy or fingerprinting and therefore, is exposed without permission grants.” This implies that such sharing of information without the user’s knowledge or consent was considered legitimate for a long while as it did not create any security or privacy concerns.

                      A recent paper by Lukasz Olejnik, Gunes Acar, Claude Castelluccia and Claudia Diaz, called “The Leaking Battery”, proves this assumption wrong. The study analyzes how the battery status API, with capacity of the battery as well as its level, exposes a certain fingerprintable surface which can be used to track web users in short periods of time. The API uses the battery level, the charging time which is the predicted time to charge and the discharging time which is the predicted time to discharge. It is through this data that the users can be tracked online. This API is supported by Firefox, Chrome as well as Opera browsers. This particular study focuses on the browser, Firefox working with the Linux operating system. It said that their report on this issue was accepted and that a fix was deployed.

                      Stay up to date on what's new

                        About the Author

                        ...
                        Ashmitha Chatterjee

                        Ashmitha works with Fingent as a creative writer. She collaborates with the Digital Marketing team to deliver engaging, informative, and SEO friendly business collaterals. Being passionate about writing, Ashmitha frequently engages in blogging and creating fiction. Besides writing, Ashmitha indulges in exploring effective content marketing strategies.

                        Talk To Our Experts

                          ×