Author Archives: Hussain Fakhruddin

IoT For The Automobile Industry: 16 Major Trends

IoT for smart cars

 

By the end of 2020, the worldwide revenue stream from Internet of Things will touch $8.9 trillion – a rise of over 85% over the 2012 figure. The IoT ecosystem is easily one of the fastest growing sectors in the tech domain, and the concept of ‘connected cars’ has gradually emerged as the most cutting-edge niche of this sector. It has been projected that, by the end of this decade, around 20% of all vehicles will have wireless connectivity in one form or the other – and overall shipments of ‘connected cars’ will jump by 4 times (over the 2015 sale figure). Smart passenger cars will generate nearly $150 billion as sale proceeds. In the discussion that follows, we highlight some key trends and stats from the sector of IoT for the automobile industry:

  1. Evolution of telecommunication technology

    In terms of connectivity, smart cars can be powered by the 2G, 3G and 4G/LTE technologies. While 2G was the most common a couple of years, 4G/LTE will be prevalent in most sophisticated connected cars by 2020 – thanks to the continuous improvement in the speeds and reliability of telecom networks. Integrated connectivity solutions are also growing increasingly popular for establishing IoT for cars – as embedded connectivity takes a backseat. Within the next 5 years or so, approximately 45% of all vehicles across the world will have integrated connectivity.

Note: Apart from embedded and integrated connectivity, tethered connectivity is also frequently deployed in smart cars.

  1. Biggest markets

    Europe, rather expectedly, is the biggest market for IoT for cars. The total number of units of connected cars in the US is expected to go beyond 70 million in 2020. More interestingly though, it is the Asia Pacific that is the fastest growing geographical region for connected cars – with an average compounded annual growth rate (CAGR) of 32.6%. The US and Latin American markets are also rapidly expanding. Globally, connected cars will be a $46.7 billion industry by the end of this decade. For the 2014-2020 period, the CAGR for this industry has been projected to be 10.8%.

  1. Types of in-car services

    As the focus shifts squarely on electric cars, and vehicles like robo-taxis and long-distance automobiles become more and more commonplace – the range of services available in car will also expand. At present, the services made available through IoT can be classified under three major heads: firstly, there are supply-side services, like infotainment tools, driver assistance setups, fast cloud-connectivity, and streamlined human-machine interfaces (HMIs). Next up are the ‘smart mobility services’ (or the ‘consumer-side services’), which include social media inclusions, private entertainment, navigation tools, ride-sharing systems, and even ecommerce systems. Finally, there are the ‘connected car services’ – which are generally made available through dedicated mobile applications (and offered either as one-time purchases or subscriptions). These services include emergency support, automatic braking systems, collision prevention, and the like.

Note: As IoT for automobiles grows further, the array of connected car services will expand. Buyers will be able to easily implement these services over the standard features of their vehicles – and the average level of car automation will increase.

  1. Rising investments

    The growth potential of vehicular IoT is enormous – and this fact is not lost on leading OEMs (original equipment manufacturers) from the automobile sector. Last year, the 5 biggest OEMs contributed a whopping $46 billion+ towards research, innovation and development/deployment of technologies and tools related to connected cars. Feasibility, however still remains an issue – although the rising investments in ‘digital innovation for cars’ will buoy the growth rates of the connected car segment worldwide.

  1. User-base of cloud-based cars

    Onboard diagnostic ports, or OBDs, became compulsory for cars in the United States and Canada in 1996. Cloud services can be implemented in all the 150 million-odd vehicles that have hit the roads in these two countries since that year. Mobile app developers have also started making car-specific applications – which use the OBD ports as their trigger points. In 2015, Verizon launched an aftermarket subscription package called ‘hum’ – which offers system diagnostics, collision notifications, and a host of other cloud-connected services, for $14.99. In future, availability of such tools will increase greatly. The market is, obviously, large enough to generate (and maintain) high demand levels.

  1. Hardware/software for connected cars

    Smart car technologies have come a long way since the days of General Motor’s OnStar for Cadillac DeVille (launched in ‘96). At present, telematics control units (TCUs), head unit displays (HUDs) and human machine interfaces/dashboards (HMIs) make up the basic hardware setup for connected cars. The software, on the other hand, cover a lot of things – right from infotainment, handsfree calling and car performance notifications, to navigation & traffic routing, wireless hotspots, remote vehicle controls, and emergency assistance. With innovations being a key marker of IoT for automobiles, both hardware and software resources for connected cars will grow more sophisticated in future.

  1. Revenue-distribution and demand-share

    Revenues from the connected car sector come primarily from three types of services – autonomous driving services, safety services, and pure connected services. The collective revenue from all the three sources stands at $45 billion at present – with industry experts expecting a jump to $53 billion in 2017, and $156 billion by 2020. Safety services will remain the most sought after add-ons in connected cars, closely followed autonomous driving services. The general ‘connected services’ (like navigation, entertainment and car management) will make up 28% of the revenue stream from IoT for vehicles.

Note: The value of connected car services is already included in the list price of nearly 40% of the cars in which they are available. By 2017, 67% of the value of these packages will be reflected in the list price of vehicles.

     8. Main drivers of IoT ecosystem in cars

Certain factors have really fueled the proliferation of Internet of Things in the automobile industry. Apart from the fast-rising volume of smartphone sales and the growing number of car-related apps churned out by app developers worldwide, the constant expansions in fleet sizes, the booming market for global telematics and the new governmental regulations (in Europe and the US, for instance) have all helped to boost the demand for connected cars. Automobile production levels on a global scale has been stable lately, while the value chain has involved more collaboration. This has also made the inclusion of IoT services that much easier. Finally, and perhaps most importantly, the demand for more sophisticated in-car services by drivers/car owners is growing with every quarter. That has automatically boosted the supply-side.

    9. Enabling technologies in connected cars

Wifi connectivity is a critical, but certainly not the only, element of enabling technologies that power smart cars. In 2017 and beyond, other tools and services, like Near Field Communication, Automotive Ethernet, in-car Bluetooth and integrated GNSS systems will all gain in popularity. The 5 enabling technologies will combine to make cloud-based car services more robust, efficient and reliable. In 5-7 years from now, riding a car as we know it might just totally get revolutionized.

   10. Connected car platforms

Apple’s CarPlay (iOS 7 and later; launched in 2014; version 10.0 was released in September this year) is easily the most talked about smart car platform at present. In a January 2016 report, the Cupertino company stated that well over well over 100 car models already use, or are likely to start using the CarPlay standard (including the Chevrolet Cruze, Hyundai Sonata, Audi Q7 and Ford Escape). Android Auto – another popular connected car platform (projection standard) – entered the field a year later than CarPlay, supporting Android 5.0 Lollipop and later versions of the OS. Windows Embedded Automotive, QnX and MirrorLink are other infotainment platforms for smart cars that are rapidly growing popular.

Note: Android Auto is, arguably, the platform with the most, and best, features. It, along with Apple CarPlay, work towards bringing smartphone functionality (read: app functionality) closer to vehicular operations.

   11. Chief monetization channels

Why are the OEMs investing in a big way on connected car technology? That’s right – to earn revenues and handsome profits. To generate value from the services, a viable monetization model has to be followed. Tesla and Mercedes-Benz have shown a way – with cloud services being included in the cars from the outset. The data on customer services can be collected and collated to form a business model with optimized monetization (revenue-sharing is likely to be an integral part of such models). Real-time tracking of connected car information can also show improvements in quality, performance and in-car efficiency – and monetization can be11.  done on the basis of that. For multi-modal transportation, customer database can be created and maintained, for monetization later on.

    12. Inhibitors in the path of IoT implementation for automobiles

The demand is there and the supply capacity is also there – combining to lift up the adoption of connected services in vehicles worldwide. However, there are certain inhibitors as well, that hold back (or at least, slow down) the growth of this market somewhat. Prime among this is the rising apprehensions over information security and privacy (the growth of IoT in general has increased cyber security threats, as an unfortunate side effect). The relatively complicated nature of most connected car tools is another important factor. Things are still in an experimental stage – and hence, there remains the problem of certain platforms not being compatible with the available connectivity solutions. Cost optimization considerations might also make a section of buyers stay away from the smart car technology, hurting adoption figu   res. Over the next few years, most of these inhibiting factors (with the probable exclusion of cyber security) will become less significant – and the connected car market should start to grow at an even faster rate.

   13. Importance of peer-to-peer communication

Machine-to-machine (M2M) – or more accurately, vehicle-to-vehicle (V2V) communication will become an integral feature of connected cars by 2020. With navigation and speed information being broadcasted across cars, the chances of accidents should go down significantly. What’s more, notifications can be generated to intimate people about approaching cars. Timely V2V warnings can make driving a lot safer.

Note: For the futuristic vehicle-to-vehicle communication to actually materialize, newer, smarter car models will be required. These will mostly come bundled with select connected services.

   14. Shift in revenue sources

As awareness and adoption about connected car grows and more innovations take place in this domain, revenue figures will grow. However, a closer inspection will reveal interesting shifts in the chief sources of earnings. In the next half a decade or so, car software, cloud-based services and electronics will become the major earners for suppliers, in place of parts in the car body (chassis, engine, etc.). The profit figures of automakers will grow flatter, as automotive afterservices take centrestage in an IoT-dominated vehicular ecosystem. Finally, the share of emerging markets (e.g., China) in the overall revenue stream from connected cars will increase – with European and North American countries moving towards saturation.

   15. Premium vs Volume car models

Cars that fall in the premium range (both in terms of prices as well as quality) are the biggest users of automobile IoT systems. This scenario will continue at least till the next year. Industry professionals have predicted that 64.6% of the total revenue from connected cars will come from these high-end vehicles, in 2017. With an eye on greater adoption, things are likely to change over the next five years or so, however. By 2022, premium cars will contribute less than 50% of overall revenues, and the share of cheaper, volume-based cars will be higher.

Note: Nearly 75% of smart car service packages will be provided with the smaller volume cars, by the end of 2022.

    16. The biggest players

From Ford to General Motors, and from BMW to Mercedes – the biggest names from the automobile market are already in the IoT ecosystem. From the technology supply side, there are companies like Delphi, Sierra Wireless, NXP and AT&T, apart from Apple and Google. More auto companies as well as software/hardware firms are likely to join the bandwagon – as in-car infotainment and other services reach the next level. By 2020, 3 out of every 4 new cars, and nearly 23% of ALL cars, will have connected services.

Looking a bit further forward, the autonomous car market (i.e., driverless cars) will reach the $43 billion mark in 2025. Both Apple and Google are working on driverless car models – with the Apple Car reportedly eyeing a 2019 launch. The average price of a ‘connected car’ is on the higher side (~ $55000), but that is expected to slowly go down – as the services become more common in cheaper vehicles. It will be fascinating to track how IoT for the automobile industry actually shapes up over the next few years. One thing is for sure though…car rides are all set to become a whole lot smarter!

Meet Sir UX – The Life And Soul Of Mobile Apps

 

The importance of smart UX designing

 

As the global mobile app market continues to soar, user-retention is becoming an increasing bone of concern among developers. According to a Forbes report, the cumulative number of app downloads will touch the 270 billion mark by the end of 2017. However, nearly 8 out of every 10 newly downloaded applications are not used after the first 3 days – a startling figure in itself. Couple this with the stat that, less than 5% users continue to interact with an app after 90 days of downloading it, and the challenge for app makers becomes pretty much apparent. The need is to create such applications that are able to sustain high engagement levels on a long-term basis. For this, preparing a great User Experience Design (UX) is of paramount importance. In here, we will explain why making a top-notch UX is akin to winning half the battle – when it comes to mobile app development:

  1. The ‘loading’ factor

    Critical to the optimal UX for an app is a short and sweet splash screen. Whenever an app is fired up on a device – it takes some time to load (as all the features of the app get ready to be used). The splash screen is displayed during this period. Instead of having a simple static image as the splash screen, it is a better idea to include a progress indicator (and maybe, a simple animation) to keep users hooked. More importantly, the splash screen should not remain visible for more than 8-10 seconds, at most. Users should never feel that ‘nothing is happening’ after they tap on an app’s icon. The app should be ready for use soon – and a good splash screen should be displayed in the interim.

Note: Ideally, developers should follow a rule of thumb like ‘90% of users should be able to use an app within 10 seconds of launching it’. Device-related problems, poor network connectivity (for cloud-based apps) and other individual issues might affect the other 10%.

     2. The ‘utility’ factor

Every element of an app’s UX should contribute towards the overall purpose of the application. A good mobile application should deliver the promised value proposition (as presented by its owner/developer) to users – and it should do so promptly. That, and only that, determines whether the application will be perceived as ‘useful’ or not. Unless an application serves a specific purpose (and that includes games to while away spare times), its usage figures are likely to decline steadily over time.

  1. The ‘onboarding’ factor

    Ease of usage is one of the most important things that have to be looked into, during the usability testing of a mobile app. The average, non-geeky user should have no problems whatsoever while installing the app, learning its core features and functionalities, and using it as and when (s)he wants to. To ensure this, developers typically get new applications tested by people who are coming across the design/interface for the first time. That way, unbiased feedback on the onboarding process of the application can be obtained – and its makers can make modifications, if required. The KISS principle would be a good one to follow while designing smartphone applications. Remember, if you make things overly complicated in an app – no one is going to bother spending minutes and hours to learn how it works.

  1. The ‘cross-device usability’ factor

    There are two major considerations regarding this. First, there are no ways to predict the screen size of the device on which a particular user plans to use an application (it can be a phone, or a phablet, or a tablet). This uncertainty can be successfully countered by designing separate, optimized versions of the app for different devices. Also, a recent study found that nearly 91% people start an app-related task on one device, and complete it on another. It has to be ensured that users are able to sign in, and get access to, the app from all compatible devices – at any time.

  1. The ‘accessibility’ factor

    An app might seemingly be fairly user-friendly. That, however, is not enough for its developers – who also need to check whether the app can be used with similar ease even by person with a) disabilities, or b) other distractions. Use easy-to-read labels on all buttons, tabs and other clickable items, create a nice color contrast background (a blurry background works well for many apps), and avoid using the outdated Flash tool for pulling text content/images/videos from backend servers. Make sure that there are no instances of sudden timeouts, and check the orientation support of the app (i.e., whether it can be used in both the ‘portrait mode’ and the ‘landscape mode’) as well. Users who are willing to give your app a chance should be able to do so without a hitch.

Note: The prime purpose of app marketing is to make applications more easily ‘discoverable’. Accessibility/usability becomes more and more important as the reach of an app expands. A few negative reviews and low ratings – and the download figures can drop dramatically.

  1. The ‘navigation’ factor

    At the risk of repetition – let’s just spell it out again: there is no bigger consideration while building a mobile app than the end-user experience it will be able to deliver. In-app navigation is an extremely vital component of this. Many experts from the field of app development opine that, users should be able to reach the screen that they are interested in, by tapping their devices not more than 3 times (the ‘3-tap’ rule of mobile apps). In general too, the menus and tabs of an app should be neatly organized, broken links (if any) have to be fished out and fixed, and there should not be confusions on what might be the result of tapping on any particular section of the app screens. Smooth navigation and UI invariably helps in boosting overall user-engagement levels.

  1. The ‘speech’ factor

    The importance and, as a result, the popularity of speech technology is increasing every quarter. As per a Forrester survey, almost 40% smartphone owners use voice recognition for navigation, while 47% people use it for looking up anything on the mobile web (instead of typing on the available keyboard(s)). While not possible or necessary for all applications, there are plenty of apps that are crying out loud (no pun intended) for the integration of seamless speech technology in them. People should be able to use these apps without even having to touch their devices. A classic instance of this can be the mobile storytelling apps for kids that have automated ‘voice-narration’ options. App makers have to be extra careful while implementing voice recognition in the UX of an app.

Note: Nuance is a leading speech recognition technology provider. Its solutions power both the iOS and the Android versions of the Ask.com app.

  1. The ‘prototyping’ factor

    Trying to explain the entire UX to the client (or users, for that matter) in words is an arduous – and often impossible – factor. Things might not go exactly as planned, and these changes cannot be incorporated in a static plan of action. That, in turn, brings to light the importance of using wireframes and prototypes. By creating a prototype of the app and adding the basic features to it, developers can easily convey the essence of the app’s UX to both the clients as well as groups of final testers. Moving on to a Minimum Viable Product (MVP) from the prototype is easy, and it reduces the ‘time-to-market’ span as well.

  1. The ‘game’ factor

    Designing a mobile game presents an entirely different challenge for professional app developers. The onus is on the latter to decide the way in which a game will be set up, whether it would have multiplayer features or not, what should be the default background colours/themes and the audio effects, and other such important elements. Complete familiarity  and (preferably) experience of working with popular game engines like Unity 2D/3D and Unreal Engine comes in extremely handy in this regard. The controls have to be simple and user-friendly – and for level-based games, the difficulty should be revved up gradually. In general too, a mobile game should never be: a) so easy that it is simply not worth downloading, or b) so difficult that it ends up frustrating the majority of users. People should be able to save their progress on games with ease too. Keep in mind that most people play games on their phones only during their spare time – and for relatively short periods. Design accordingly.

Note: Many users prefer using one hand to play mobile games. Make sure that your game can actually be played in this manner.

   10. The ‘testing on device’ factor

iOS simulators and Android emulators are all very handy – but it would be a mistake to rely entirely on automated mobile app testing. Any app development team worth its salt will make it a point to test their applications on actual devices – the ones that they are supposed to be compatible with. Doing this is fairly straightforward for iOS applications, since apps have to be checked on iPhones, iPads, maybe the latest iPod Touch and, in certain cases, Apple Watch and Apple TV. Android, with its traditionally fragmented OS updates and huge number of vendors, presents an altogether different challenge. App companies typically have the latest iOS devices and the top-of-the-line Android devices (Samsung, HTC, Nexus, etc.) for in-house testing purposes. Developers can – and should – volunteer their own devices for testing too. Careful manual testing – on top of automated testing – goes a long way towards ensuring that an app would retain its visual features and core functions on all devices.

    11. The ‘ad’ factor

For free apps, third-party advertisements are a common monetization tool. At times though, these ads can royally mess up the UX of an application – blocking a section of the actual interaction area (for games, the ‘gameplay area’), using colors and fonts that are way too distracting, and at times being completely inappropriate too (particularly on kids’ apps). Video ads that are too frequent are an absolute ‘no-no’ as well. In-app adverts have become a necessary evil – and developers have to include them in a manner that they remain noticeable without ever interrupting the app-usage flow.

Note: Pop-up ads should never feature in an app’s UX scheme. Repeated reminders to rate the app at the Apple/Android store is also often a big distraction.

   12. The ‘memorability’ factor

Unless its Candy Crush or Subway Surfers, hardly any app is used everyday by users. The features and controls of a new application should be such that, they can be remembered easily by the average users – without having to resort to the tutorials screen again. Make sure that a single, extended period of interaction with the UX builds a solid air of familiarity with it – so that users do not feel the need to learn everything from scratch the next time they open the app. The memorability factor assumes particular importance in cases where an application is used after a relatively long gap. Your app should be easy to grasp AND easy to remember.

Basic tasks like creating an account, signing in, and uploading profile photo(s) should be made as simple as possible in a mobile app. An indication about the quality of User Experience Design of your app can be obtained by the number of ‘errors’ the average users make, while interacting with it. Social media integration should also be a part of the overall UX plan – to enhance usability as well as expand the app’s user-base.

A highly optimized, user-friendly UX significantly enhances the chances of users being ‘satisfied’ with the app under scrutiny. Careful usability testing also minimizes the chances app failures due to bugs. The old adage ‘well begun is half done’ holds true for app development as well – and over here, the UX is the single biggest factor for getting your app off to a great start.

Trending Mobile Technologies 2016 That Will Drive More Scope In Future!

(This post has been contributed by Surya Kumar – digital marketing analyst at LatestOne.com)

Trending mobile technologies for 2016

Technology has always been a big boom for mankind. Technology is revolutionary and it brings necessary changes to our old strategies and techniques so that we can make our lives easier. We can see significant change of technological trends in 2016. There are many exciting trending mobile technologies that made our life easier.

Popular Mobile Technological Trends Of 2016

  • Wearable Devices: Wearable Devices Technology takes further leap as the launching of smart watches proves the success of smart Wearable Devices. For Example: PTron Tronite One Bluetooth Smart watch Clock Synchronization SIM card.

  • Great UX: Websites that will be visible accurately on desktop PCs, tablets, laptops, low-end phones, smart phones, TVs, and even on wearables!

  • HTML5 enters in mobile: Upcoming devices will support HTML5 and there will be no need of Flash support anymore. There will be much better alternatives that will bring Flash to its end.

  • Tools for Multi-platform or Multi-architecture Application Development: Tools will allow such applications to develop that will support Android, iOS and Windows which are three most popular platforms in the mobile industry.

  • Advanced Mobile User Experience Design: Future designs will be aimed for better and playful user experience.

  • High-Precision Location Sensing: Location sensing will be more efficient with the help of advanced Wi-Fi, ultrasonic beacons, imaging and geo-magnetics.

  • New Wi-Fi Standards: The performance of Wi-Fi network will become much better in future with the necessary policy and standard advancements.

  • Enterprise Mobile Management: Mobile management, security aspects and supporting technologies will be much more synchronized and competent.

  • Mobile-Connected Smart Objects: Some general smart objects such as LED lights, domestic appliances, toys, medical devices, sports equipments and controllable power sockets would be controlled by smart phones.

  • LTE and LTE-A: Long Term Evolution has an improved version of itself. LTE Advanced will take cellular technologies to the higher level.

  • Metrics and Monitoring Tools: Application performance monitoring (APM) will make app testing easier for development of better user experience.

Future Changing Mobile Technologies Trend Of 2016

At International Mobile World Congress (MWC) conference in Barcelona (City in Spain), Computer Weekly explored this topic with Kevin Curran, who is a reputed computer science lecturer at the Ulster University and he is also a senior member from the Institute of Electrical and Electronics Engineers (IEEE) to discover a few of the trends that are forming the eventual fate of this industry.

Being an independent and experienced observer and spectator at MWC, Curran is allowed to talk more frankly than the endless array of exhibitors at the world’s biggest mobility trade fair, free of any kind of unnecessary PR minders and corporate obligation. There is probably some of his perspectives that are different from the mobile party line.

Curran pointed out:

  1. Smartphone manufacturers seem to be in deep trouble since the smart phone technology is facing lack of advancements and momentous announcements.

  2. Wearable technology will present huge opportunities for smart phone suppliers such as Samsung or Apple. However, the fitness is actually a gimmick.

  3. Our standard ideas about 5G could be way off the expectations and it means that the next generation of the mobile network is yet to be defined.

  4. The idea of Autonomous cars is ready to be introduced but driver less seems to be further off the time.

  5. Drones seem to be just a thought that will certainly take off with time.

 

Bio: Surya Kumar working at LatestOne.com as Digital Marketing Analyst. He is Freelance Blogger & Content Writer and likes to write about Smart Watches, Power Banks and all about Latest Tech & Gadgets.
Find latest posts on FB
, Twitter, G+.

What’s New In Xcode 8?

Xcode 8 new features

 

Following initial announcement in June (WWDC 2016) and the release of as many as six betas, Apple launched the final stable version of Xcode 8 – the latest iteration of its integrated development environment (IDE) – in September. Initial opinions about the developer toolset have mostly been positive, with many of the new features of Xcode coming in for particular praise. The IDE can be used to make custom apps on the iOS, watchOS, macOS and the tvOS platforms. In what follows, we will deliberate on some of the coolest features of Xcode 8:

  1. Extensions for source editor

    The new version of the IDE comes with handy extensions attached to its editor. These enable app developers to code in a more personalized manner, while navigation within the coding section also becomes a lot easier. The extensions also automate the tasks that have to be performed to reformat codes. In addition, coders can select and alter (along with code transformation) with the new extensions as well. The editor extensions can be made on the built-in template, while their distribution in the App Store is also a simple procedure.

Note: The stability and functionality of Xcode 8 are not affected in any way (for instance, sudden closures of the IDE) by the source editor extensions. They operate as separate processes, and makes coding for apps that much easier.

  1. Code signing management

    Most developers who have worked with Xcode would agree that the ‘Fix Issue’ tab present in earlier versions for code signing was hardly of any use. Hardly ever did it actually provide a satisfactory patch for a code signing glitch. In fact, using this feature often lead to other, unexpected problems. With Xcode 8, Apple makes managing the code signing task faster and easier for app developers. All that the latter have to do is allow the IDE to handle code signing (the permission is given by clicking the checkbox against every target). Right from application identifiers, to code certificates and provisioning profiles – everything is seamlessly managed by the IDE. Code signing – often a majorly troublesome aspect of app making – is no longer a tricky affair.

Note: The automated option for code signing is activated by default in Xcode 8.

  1. More powerful code debugging

    Three new additions to the Xcode IDE have well and truly taken the runtime view debugging features to the next level. With the new iteration of the View Debugger, developers can quickly track down constraints (if any) in the user interface of an application. The Memory Debugger is another great addition for identifying and fixing memory leak problems, which can otherwise remain undetected. However, the most developer-friendly feature in Xcode 8 as far as code debugging is concerned has to be the all-new Thread Sanitizer. The tool catches all the race conditions present in data modifications, on a real-time basis. Other malware associated with threading are also managed by the Thread Sanitizer.

Note: The Issues Navigator panel (located on the left of the Xcode window) displays all the runtime issues. Code correction is a lot faster, reliable and transparent with this version of the IDE.

  1. Swift 3 migrator

    Projects created in Xcode 8 are built with Swift 3 (also released at this year’s Apple September event). However, unlike the previous versions of Xcode, this iteration of the IDE is not tied up to one particular version of the Swift programming language. The migrator in Xcode 7 posed its fair share of problems – and these have been ironed out in the migrator that Xcode 8 is designed with. To port a project from Swift 2.3 to Swift 3.0, the ‘Use Legacy Swift Language Version’ (found in the build settings of the target code) option has to be toggled to ‘Yes’. Apple app developers also have the provision of working with Swift 2.3 in Xcode 8.

Note: Swift 3 is the first major update after the language went open source last December. With the migrator, the need to actually migrate entire app programs to the latest version of Swift has been done away with.

  1. Pre-compiled tests

    The importance of mobile app testing simply cannot be overemphasized. The pre-built tests present in Xcode 8 (within ‘xcodebuild’) are a big improvement over Xcode 7 – which did not have any such test bundles. For every new section of compiled code, app developers can now run a pre-built set of tests. The segregated tests ensure that all the test bundles are not focused on the same target – and unchanged sections of the code are left as-is. The overall code completion times are also shorter – since the tests enable code snippets to run smoothly, without having to be compiled every time.

Note: Apple had announced that test indexing will be almost 50 times faster in Xcode 8, compared to the indexing speeds of Xcode 7. That will, without any doubt, ease the frustrations of many developers who have to wait through the (often) painfully slow test indexing process.

  1. Revamped interface builder

    For many mobile app development experts across the world, this is the biggest new feature that Xcode 8 brings to the table. The interface builder of the IDE have undergone a complete makeover – with a clear focus on making things as customized as possible for third-party developers. At the time of checking out the app storyboards (through bird’s eye view), the interfaces and layouts can be edited with ease. The appearance of any new application on Apple devices can be previewed live directly from the new version of the IDE – while the ‘Pan & Zoom’ feature has become significantly faster (that too, without any deprecation of vibrancy). Developers and app clients can view the same interface (even when the UI is modified according to size classes and/or devices are changed) – adding a layer of consistency. The new interface builder of Xcode 8 does a good job of accelerating the entire app development cycle.

  1. Image code completion

    Xcode 8 goes a long way towards relieving app developers from the hassles of using third-party plugins. A classic example of this would be the native code completion for images that the latest IDE version boasts of. The plugin can be invoked with the following line of code:

let image = UIImage(named: “xyz”)

Note: Line highlighting is another useful plugin that is integrated within Xcode 8. It makes sure that coders do not have to look for external plugins to highlight code lines.

  1. Crash log captures

    This feature is likely to be really handy in case of crashes during UI testing or unit testing. Apple’s newly released version of Xcode has the capability of capturing crash logs instantaneously, as and when a crash occurs. That, in turn, helps coders find out the the buggy line(s) of code quickly, and complete the requisite code correction. In Xcode 7, app developers had to go the whole hog of re-running the tests and using preset breakpoints to detect the bugs. It was a fairly complicated process – particularly for new developers and testers. Xcode 8 eases that pain considerably.

Note: In general too, the app testing procedures have become increasingly automated over the last few years.

    9. A new font

San Francisco Mono is the name of the new, lively font that has been included in Xcode 8. iPhone app developers as well as general software testers opine that the font matches the default system font of Mac systems very nicely – bringing in a uniform feel in the visual crafting used for coding. The San Francisco Mono font has evolved from San Francisco font (derived by monospacing the latter). Developers can easily make their codes appear more neat, by using this font.

    10. Organized documentation

While there has never been any doubt about the quality and availability of documentation available to Apple developers – browsing through them was a laborious task in Xcode 7 and earlier versions. In order to make the IDE more developer-friendly, the documentation format in Xcode 8 has been reengineered. Coders also confirm that the documentation browser allows for easy search and access of information.

Note: The volume of memory footprint has also reduced, thanks to the platform-specific consolidation of documentation in Xcode 8.

The latest iteration of the Xcode IDE also allows developers to create and run their applications on actual devices without getting a membership of the Apple Developer Program. Coders only have to specify their unique Apple IDs in the Xcode Preferences.

While Xcode 8 has plenty of great new features, it has certain shortcomings as well. For starters, refactoring is almost always problematic (AppCode – another IDE for Apple app development – does this in a much more intuitive manner), while the lesser support for external plugins is also a bone of concern for many developers. In certain cases, storyboards get altered and can no longer be accessed/opened in earlier versions of the IDE. However, the powerful new features of the IDE certainly outweigh these issues.

Xcode 8 makes app development for Apple platforms easier in more ways than one. All of the features mentioned above do their bit to make it more developer-friendly – so that they can build high-quality apps without any problems whatsoever. Xcode is still not a ‘perfect IDE’…but it certainly seems to be slowly getting there.

Top 15 Mobile App Development Trends For 2017

app development trends 2017

 

According to a recent SurveyMonkey report, global revenues from mobile applications are expected to grow by a jaw-dropping 962.5% between 2011 and 2017 ($8 billion vs $77 billion). With existing markets sustaining high app-usage levels and new markets emerging – Indonesia, Brazil for Google Android and China for Apple iOS – it can be reasonably expected that mobile apps will be a $100 billion+ industry by the end of 2020. Taken together, iTunes and Google Play Store have more than 4.3 million applications – and development methodologies and techniques are constantly evolving, to suit the requirements of end-users. In today’s discourse, we will do a roundup of the most important app development trends to keep an eye out for in 2017:

  1. Growth in hybrid technologies

    On average, 1 out of every 2 companies across the world already use enterprise applications. This trend is likely to grow stronger next year – with hybrid development technologies assuming particular importance in this context. Developers will start to use tools like AngularJS, Ionic, Sencha Touch, PhoneGap and Cordova more frequently, for agile hybrid app development projects. The steadily increasing popularity of hybrid technologies can be attributed to the surge in the Bring Your Own Device (BYOD) practice on a global scale. It has been forecasted that demand for mobile enterprise apps will be about 5 times more than the combined supply capacity of developers. How the latter tackle this challenge remains to be seen.

  2. The future is ‘cloudy’

    It has been found that nearly 75% of all smartphone users worldwide prefer using applications with reliable cloud support (server-side backend support). The prime reason for this is the increased need for accessing apps on multiple devices – without any loss of data and/or other usability problems. With extensive use of cloud-based technologies, both integration as well as multi-device synchronization of apps will become more and more seamless. In addition, developers would get more flexibility while coding, testing, as well as launching their applications. Cloud technologies will also help in shortening the overall app development cycle, boosting the average ‘time-to-market’ span for developers.

Note: For smooth and fast web-connectivity, the demand for APIs is going up rapidly. These software tools ensure robust cloud-based support (Backend-as-a-service) as well as improved interoperability/interaction between multiple apps.

  1. Citizen Developer’s trend will gather momentum

    The total number of mobile app developers with advanced coding expertise and high experience levels certainly cannot match up with the overall demand for apps. To address this skill shortage, various do-it-yourself (DIY) mobile app development tools and techniques are being deployed by non-programmers. Since platforms like PowerApps (by Microsoft), Mobile First (by IBM), and those launched by Telerik and Exicon are all based on automated development methods and a basic WYSIWYG design (with custom templates, drag-and-drop functionality, etc.), it will become easier than ever for the average Joe – who knows not much (or nothing at all!) about coding – to churn out mobile apps for different platforms. This aptly-named ‘Citizen Developer’s trend’ (for Low Code/No Code app development) will be something to really watch out for in 2017.

  2. Interest in mobile Internet of Things to mount

    In 2015, around 80 Internet of Things (IoT)-related acquisitions were made across the globe. Cut to 2020 – and the number of separate, connected devices will be inching towards the 28 billion mark. Revenues and profits from the IoT industry are already surging, and it won’t be a surprise if these figure show a two-fold increase over the next 12 months or so. The onus will be on developers to create apps that take advantage of smart device sensors to securely exchange personal information over wi-fi networks.

Note: With Apple Watch gradually becoming more of an autonomous device – and less reliant on paired iPhones – the growth opportunities for IoT (often referred to as Industry 4.0) are only getting wider.

  1. More emphasis on security

    As the mobile app industry has grown, so have (unfortunately) the number of security threats and attacks. Features like two-factor user authentication – generally used for mobile banking – are becoming fairly commonplace. At this year’s Apple World Wide Developers Conference (WWDC), it was announced that it will become mandatory for ALL iOS applications to have the robust App Transport Security, or ATS, feature by the 1st of January. Importance has also been placed by Apple developers on implementing stronger data encryption in new apps. With so much fragmentation and a decentralized OS integration, security on the Android platform will always be slightly more suspect. Even so, Google is attempting to keep things tighter, by using a much more granular app permissions model and automatic security updates (on the new Android versions). The in-built security features in Android phones are also growing stronger. In 2017, expect app security to be right at the centre of attention for app makers.

  2. Apps that use GPS will be more common

    Going by the rage that Pokemon Go became this year, you can add augmented reality (AR) to that as well. Professional mobile app developers report that they are receiving a large number of projects for new apps that use the location-tracking/navigation functionality of handsets. What’s more, such GPS-powered mobile apps are finding acceptance in several industries – right from automation and retail, to, obviously, the IoT. Augmented reality is something 3D game developers are seriously looking at – to enhance the engagement levels of their software. Initially, users were apprehensive of letting their locations ‘known’ to the server through GPS, but that concern is steadily dissipating.

  3. Rising demand for big data applications

    In a recent survey among Hadoop – the popular open-source framework used for distributed processing and storage of large datasets – 76% respondents stated that they will be using the tool more extensively in 2017 (a measly 3% stated the opposite). Coders are likely to become more careful about maintaining just the right balance between user-friendly interfaces and reliable, enhanced functionality in these big data applications. It won’t be long before we witness cutting-edge mobile applications that combine IoT, cloud connectivity, and big data processing features.

Note: Want to know how to make big data applications? Head over to this post.

  1. Rise and rise of enterprise apps

    We touched upon this point very briefly earlier. Let us now find out how big enterprise app development is indeed likely to become in 2017 and beyond. In the United States, more than 50% companies are expected to start using 10+ mobile enterprise applications in 2017. Two factors have, in particular, fueled the recent surge of interest in enterprise applications. For starters, they make it easier than ever before to maintain 24×7 interactions with customers (existing and potential). Also, with custom mobile apps for business, day-to-day management tasks become a lot easier. Most US companies will have workers will use 3-4 smart devices, with wearables also becoming popular in this regard.

  2. Open-source Swift for Apple developers

    By January 2016, Apple’s Swift programming language had leapfrogged Objective-C in terms of popularity and usage, on the TIOBE index. The fact the language had become open source from December 2015 definitely added to its adoption rates. Most iOS app developers also confirm that Swift is an ‘easier’ language to learn and use than Objective-C (which carries all the legacy systems of the C language). Swift 3.0 was released by Apple last month, with a plethora of new, developer-friendly features. In 2017, there is reason to expect that Swift will be extensively used to make apps for iOS, watchOS and even tvOS. Objective-C won’t go into oblivion or anything – but its application is likely to go down.

  3. The iOS vs Android fight will continue

    It has always been the same: Android has a big lead over Apple iOS as far as worldwide market share is concerned, while the latter wins hands-down when it comes to revenue for developers. In 2017, Android might consolidate its position as the market leader further (in terms of device share). In the second quarter of 2016, the platform had a market share of 87.6% – up by nearly 4% on a quarter-on-quarter basis. On the other hand, the growth of the iOS platform has been patchy at best, with the share falling to 11.7% in 2016 Q2 (a 3.7% QoQ decline). In terms of app revenues though, iOS is still way more profitable than Android. At WWDC 2016, it was announced that the Cupertino company had paid out approximately $50 billion to its developer community till now. Comparatively speaking, revenues from iOS apps is 100% more than that from Android apps – and the stats are exactly the reverse when app downloads are concerned.

  4. Android to overtake iOS in gross revenues from games

    iOS, as expected, had traditionally held the upper hand over Android, in the domain of mobile games and their revenues. However, things are set for a overhaul by mid-2017, with revenues from Android games overtaking that from iOS games for the very first time ever. By 2021, total revenues from mobile game development will touch $72 billion. During this time, Android will establish itself as the most profitable games ecosystem (but not the most profitable app marketplace). With support from the Android stores in the emerging markets (read: China), Android is expected to gradually outpace iOS in gross game revenues.

Note: It is an interesting point that although the mobile app market has entered ‘early maturity’ and the cumulative game download figures have gone down slightly, the average revenue-per-download figure has kept rising. It was $0.35 in 2015, and is expected to climb to $0.51 by the end of the decade.

   12. The importance of diffused backgrounds

Designing a diffused background is, obviously, not possible for all types of applications – but this is a trend that is certainly catching on among app developers at present. Many coders and designers are opting to build diffused backgrounds for their apps, with highlighted call-to-action tabs and buttons, and easily clickable areas. The logic behind this is to allow users focus on the main features of apps, with the backgrounds providing minimal distraction. That’s a characteristic any good mobile app should have!

  13. Mobile messaging apps to remain very, very popular

With so many IM applications available at both Apple App Store and Google Play Store, you might expect that the interest of smartphone-users in these will have waned a bit. The stats, however, show that the case is quite the opposite. Facebook Messenger is still one of the three most popular applications in the United States, the global user-count of WeChat has gone beyond 500 million, and other leading messaging apps are also showing strong adoption and growth figures. In 2017, expect many more instant messaging/chat apps to be launched at the stores – each with its unique set of functionalities. This is one app category that will stay strong in the foreseeable future.

  14. Greater focus on mobile app designing

User-experience is, and will remain, the single biggest parameter for measuring the success (or otherwise) of a mobile application. Mobile app companies have started to invest more for recruiting teams of expert graphic artists, illustrators and animators – to make applications more visually appealing, user-friendly, and with smoother in-app navigations. In 2017, newer trends will emerge in things like parallax graphics, grid-based interface designing, split-screens, splash screens and visuals, and microinteractions. To put things in perspective, it should be noted that UX designing has steadily evolved over the last few years. What started out as simple flat designs for Android apps, have now become the much-talked-about Material Design of Google.

Note: The need for mobile apps to have great UX is fairly easy to understand. People should be able to start using an app easily, and not feel motivated in any way to quit/abandon/uninstall it. The keyword here is ‘user-retention’.

  15. Apps to facilitate mobile payments

And in a big way too. Tools like Apple Pay, Google Wallet, and (to a lesser extent) Square Cash have given a big boost to NFC-powered contactless payments by users. By the end of 2017, there will be many more custom software at the app stores that will enable retailers facilitate m-payments, in a prompt and secure manner. Mobile transactions will make up nearly 50% of all web-based transactions. In essence, the conventional e-commerce resources are gradually changing into m-commerce tools.

Over the next few years, mobile apps will find increased usage in a large number of new industries – right from agriculture and manufacturing, to automobile, transportation and healthcare. Developers will find new ways to incorporate beacon technology (via the iBeacon network) in new apps, to boost their utility levels. The importance of HTML5 hybrid app development is all set to increase, and overall mobile ad revenues will show an upward trend. Making apps for wearables (with Apple Watch at the forefront) is yet another vital mobile app development trend for the next year. 2017 is going to be a big year for mobile developers – with the need of the hour being the ability to adapt, analyze and innovate. It will be interesting indeed to note how app-making technologies evolve over the next few quarters.

 

 

External APIs vs Internal APIs: Know The Differences

Comparison of internal apis and external apis

 

The volume of mobile applications with backend-as-a-service (mBaaS) resources for cloud connectivity is increasing every quarter. A few weeks back, a survey found that APIs are used in nearly 3 out of every 4 apps, to implement core features and functionality (web-based). In the last couple of years or so, the total volume of public APIs have almost doubled too, on a year-on-year basis. APIs can broadly be classified under two heads – Internal APIs and External APIs. We will here highlight the differences between the two, based on certain key parameters:

  1. Nature of APIs

    In the context of enterprise APIs, the concept of ‘Line of Business’ (LoB) has to be understood first. An internal interface is one that is built to connect existing legacy systems with in-house applications, as well as to ensure smooth connectivity and interoperability of two or more internal applications. In essence, they are created, used and maintained by internal developers of an organization. On the other hand, an external or open API is created for third-party web/mobile app developers, partner entities, and other stakeholders. These are created by API providers as final products – and are often a significant source of revenue. Internal APIs work within the LoB of companies, while external APIs can be deployed both within as well as across the LoB.

Note: The clunky SOAP (Simple Object Access Protocol) methodology was initially used to create internal APIs. Since mid-2012 though, it has mostly given way to the much lighter and developer-friendly (HTTP-based) REST APIs.

  1. Need

    The main purpose of internal APIs is seamless integration of the current IT system and setup within organizations, in order to boost productivity levels. They are, hence, created according to the business logic and objectives of the parent company. In addition to compressing the overall development cycles, these internal APIs help in adding value to a firm’s outputs (i.e., the APIs are a means to improve outputs, and are not final outputs themselves). The principle behind external API development is radically different. They are meant to be used by external coders to make apps – and hence, the precise requirements of these developers and API partners have to be carefully considered, while building external software interfaces. API companies design the interfaces as per the directives of the third-party developers. The latter are the API customers/end users.

  2. User base

    External APIs (at least the ones that are successful) have a much larger user-volume than internal APIs. The former CAN be used by internal developers, but providers are typically more interested in pushing them out to external mobile app developers – with increased adoption figures translating to success. That, in turn, brings the importance of API marketing to the fore. API-makers have to identify and reach out to target user groups. In contrast, Internal APIs have a much more niche collection of users. They can be accessed and deployed only by the in-house developers of parent companies, to add functionality and value to existing setups. Anyone not related to the publisher of an internal API is not authorised to use them.

  3. Ease of management

    There is a misplaced belief that internal APIs do not need to be managed by providers. While it is true that there is an additional layer of perimeter security for these APIs (since they are never used by any third-party element), even in-house developers often access them on unsecure mobile networks and public internet service providers. Unless the an internal API has a robust, updated security support, it can get exposed to threats and attacks. However, external APIs do need a higher degree of continuous API management, monitoring and governance – simply because they are used by a large contingent of external developers (whose behaviour can be unpredictable). In particular, making alterations in the interfaces can lead to application breakdowns, and resultant loss of clients. API management is important for both, with it being more critical for external APIs.

  4. Discoverability

    API providers typically use customized, customer-facing portals to enhance the exposure and bolster the discoverability of external APIs. Web and mobile app development experts can browse through the interfaces on this platform, sample their features, and then select the ones they need. A new internal application program interface, however, has to be created on the SAME platform on which all the other existing apps (that need to access the API) of the organization exist. Otherwise, compatibility and usability issues are likely to arise.


Note: Large legacy systems might not be accessible on the mobile platform. Integrating internal APIs with such systems can be tough – particularly due to disparities in standards and protocols.

  1. Motive of API providers

    We have already noted the separate groups of users for external and internal APIs. Let us now take a closer look at the purposes that an API provider wishes to serve with these two types of interfaces. Internal API tools are all about adding an extra edge to the regular business operations, and improving the in-house app development procedures. To be successful, an internal API must leverage the present IT setup in an organization in the best possible manner, for increasing productivity (through seamless integration of applications). External APIs, conversely, are built to suit third-party customers…to aid them in making custom cloud-connected apps and establish all-new business models. Certain external interfaces are directly integrable on consumer platforms as well. Over time, a open API can help in strengthening partner networks and consequent business opportunities too.

  2. Type of API governance required

    Although both internal APIs and external APIs need strong management mechanisms, the type of governance necessary for the two differ (albeit slightly). While handling access limits and implementing rate limits (to avoid ‘overloading’ due to excessive network requests) are required for both internal and external interfaces, the latter also need deep-level service level agreements (SLAs) – depending on the degree and type of API-usage by external developers. The subscription plans opted for by API customers also have to be considered while creating the SLAs. On the other hand, internal APIs have to be metered and checked for reliability – as far as accessibility within the LoB (as required by internal developers) is concerned. The policing requirements for an internal interface are a lot lighter.

  3. Attention of hackers

    Open APIs are available for use by software and mobile app developers worldwide. Developers, understandably, try their best to increase awareness about these APIs – and there is no way of excluding hackers and other shady users from these information. As a result, the risks of security breaches and hacks of external APIs are that much more – particularly if there are loopholes in their security. Internal APIs are, in comparison, much ‘safer’. Since there is a layer of confidentiality about their usage within organizations, hackers might simply be not aware of these software assets.

  4. Publishing the APIs

    For an external application program interface to be of any use, it has to be readily accessible for third-party developers and authorised partners. To ensure this, providers typically publish these APIs on secure External API Portals (existing or built from scratch). At the other end of the spectrum, we have an Internal API, that has to be available to the other applications already being used in the IT setup of an organization. Hence, they are published on on custom Enterprise Developer Networks, that can be accessed by internal developers quickly, securely, and with ease.

Note: API sharing is yet another matter that has to be handled carefully for the two types of interfaces. External APIs must be easily shareable with third-party agents (customers), while internal APIs should be accessible to in-house stakeholders.

    10. Volume of network requests

With a much larger user-base, external APIs apparently should have a considerably bigger volume of invocations. However, that is not always the case – particularly in the early stages of the API lifecycle. The number of network requests faced by an external API is likely to be limited by its reach, and the precise purposes it would be deployed for by app developers. Open APIs that are used within the LoB of enterprises typically have a small user volume. Internal APIs, on the other hand, are likely to face a high frequency of invocations from the outset – since they are created for the very purpose of consumption by, and integration with, the already existing in-house applications.

     11. Need for subscription

An absolute must for external APIs, not so much for internal APIs. Mobile app developers need to check out the available subscription plans and SLAs (along with payment options) on APIs – to be able to make a choice that would best suit their requirements. Presence of multiple subscription offers makes these open interfaces flexible – a much-needed feature. Internal APIs, though, can do without subscription options. They are utilized by internal developers – and preferably, they should have a standard, uniform software resource to work with.

     12. Need for security tokens for access

Different internal APIs expose different elements of a company’s confidential backend information to developers working within the organization. Unless the data contained in a particular API is very sensitive, it might not be necessary to create a special security token to access it. Access control of external APIs (which are more vulnerable to security attacks) has to managed on a much more granular level. Professional API developers recommend the use of high-end security tokens and API keys – to maintain data integrity and minimize chances of unauthorized access.

Some externals make a distinction between strictly ‘internal APIs’ and ‘private APIs’. The former refers to interfaces that are created, owned and managed by in-house developers and are not distributed on the web. On the other hand, private APIs are those that are made accessible to close partner groups (on an ‘invitation-only’ basis).

In this external APIs vs internal APIs comparative study, we have focused on the main differences between the two types of software interfaces. Understanding these points is vital for effective, efficient and overall smarter API creation, management, maintenance and usage.

 

12 API Testing Mistakes You Need To Avoid

 

API testing mistakes

 

As 2016 draws towards its close, APIs (application program interfaces) have emerged as serious revenue-generating tools. In a study comprising of 300 IT companies, it was found that more than 80% of the firms generated annual revenues of $5 million or more, only from APIs. In general too, revenue-generation is viewed as one of the most important value-propositions of these interfaces. That, in turn, had prompted nearly 73% of the respondents (from the survey) to frame and implement detailed API strategies. However, all the hard work and available resources behind API development can go to waste, if the software is not tested properly. As is the case for any web or mobile application, careful testing is critical for APIs. Over here, we have listed out a few common API testing mistakes you should steer well clear of:

  1. API testing as a standalone activity

    An API is supposed to work with, and add value to, the existing IT setup of businesses. Hence, testing it in a vacuum – without considering how the interface would work in the ecosystem – would be fairly useless. API providers have to keep in mind that all API errors are not generated by the same causes, and the environment in which it is implemented has a role to play. Ideally, it has to be ensured that all the stakeholders (the teams that are related to the concerned API) receive notifications regarding the results of the test. That will give a clear idea about how well, or otherwise, the new API sits in the overall workflow of the organization. Testing an API all on your own is likely to give a myopic, misleading picture.

  2. Conducting only GUI testing

    GUI (Graphical User Interface) testing is an essential part of API testing – but it is far from being all that you have to check. Typically, the GUI testing tools do not show whether the API can be smoothly integrated within a mobile app or any other target software. According to professional API developers, GUI testing makes up only around 10% of the overall API testing stage. An interface or an application that is tested only from the GUI perspective might have serious functionality and/or integration issues. When you test APIs, do it thoroughly.

  3. Considering app performance as proof of API quality

    Let us now look into matters from the opposite angle. It might well be that an API can be easily integrated in the backend server of a mobile app, ensuring that the latter works properly. However, this does not rule out the possibilities of basic bugs being present in the underlying API. Do not make the folly of taking the quality factor of an API to be granted, simply because the end-user application powered by it is working fine. Errors might emerge at a later stage, causing app crashes, and forcing developers to check every element of the call chain for errors. Make your API bug-free to start with, and minimize probable performance risks in future.

  4. Not checking for scalability

    Over time, the user-base of an API is likely to increase. As the frequency of network requests increase (even if you have implemented ‘rate limits’), the API needs to scale upwards. If scalability checking does not feature in your API testing routine, the chances of ‘user overloading’ remains, along with financial and legal problems. Make sure that your API is properly scalable, and establish an API governance mechanism (not particularly important at the start, but essential as the number of users grow). Leave alone APIs – any web-based process that is not scalable is likely to fail sooner rather than later.

  5. Testing separate methods in isolation 

    Many new API developers make this mistake. They set up tests to check whether an interface works well with different methods (say, checking inventory and adding things to shopping cart, with GET and POST) in isolation. While these tests might give positive results, the API might fail when it is used across multiple methods – as it is likely to be used by the final users. A responsible API provider needs to check and double-check whether a new API retains its desired functionality while working with a combination of methods. Once again, it’s all about checking the entire workflow of the API – and not its elements separately.

  6. API testing is a one-shot activity

    Far from it. Even after a web or mobile application is published, its underlying APIs have to be tested. If testing is discontinued after the final version of the app is released, there might emerge compatibility and/or functional issues – when the app is ported on newer devices and operating systems. What’s more, making changes in the API randomly can have serious adverse effects on the API customers. A significant percentage of app performance issues can be traced back to problems in its APIs (with the app itself not being buggy). Keep testing APIs even after it has been integrated in an app and the latter has been launched. That’s the best way for ensuring the longevity of both the app and the API.

  7. Being liberal with SDKs and DevKits

    On first glance, trying to boost the integrability of APIs with the help of software development kits (SDKs) and libraries – for separate programming languages – seems a perfectly fine strategy. Closer inspection, however, reveals two problems. Firstly, it is practically impossible to cover all the coding languages used to make APIs (PHP, .NET, Node.js, Delphi, Java, etc.) – and there are likely to be mismatches between your SDKs and the coding system a company (the API customer) follows. In addition, the greater the number of SDK libraries, the greater is the accountability of the API provider. In case of any glitches, the developer has to actually delve into third-party company codes – to detect and remove problems. At the time of testing, determine how many SDKs and DevKits it will have. Instead of adding too many of them, make sure that the API itself is top-notch.

  8. Lack of anticipation about threats and attacks

    We have already highlighted how a lack of foresight about scalability can hurt an API. A good API provider needs to be well-versed with common software attack methods like ‘shell scripts’, ‘SQL injection’, social engineering attacks, and ‘XML bombs’. What’s more, rookie mistakes in client-side coding can lead to DDoS (Denial of Service) attacks – a result of unexpectedly high request volumes. Attacks on digital interfaces can also be initiated by passing certain XML/JSON data in the form of attachments. Unless an API architect can anticipate these attacks and add security layers to counter them – the testing procedure will be mostly fruitless.

Note: Fake network requests can also be generated (in large volumes) by agents out to deliberately harm your API. Rate limits should keep that risk at an arm’s length. API spoofing has also emerged as an attack technique that you should be wary of.

  1. Ignoring infrequent glitches

    An API should work properly ALL THE TIME and not MOST OF THE TIME. It is often a ‘convenient’ option for API developers to ignore the problems that occur only intermittently. A commonly used argument justifying this is that, the entire traffic log of the API has to be scanned – to find out the root causes of such glitches. What these developers do not realize is that, these ‘small issues’ might grow into full-blown problems for the end-users. No usability-related problem, however infrequent it might be, should be glossed over. These problems can become more frequent later on, and debugging the interface then will be a lot more difficult.

  2. Not doing regression testing

    This mistake generally stems from the misplaced belief that unless an API is changed, it will continue to function in the same manner in an app. With use cases of applications growing more and more varied, and agile development methods being increasingly adopted – the logic and core functions of apps often need to expand. APIs, on their part, have to be revalidated, to keep supporting the platforms/apps as before. Unless the API integrity is constantly tested through regression testing suites, they might not remain compatible with the fast-evolving applications they had been built for.

  3. Failure to check API dependencies

    Application program interfaces are created to provide seamless backend web connectivity for apps (server-side). However, the API you create often has to depend on certain partner codes/software, to deliver the desired functionality. Ignoring such dependencies during API testing can be a serious mistake. You need to find out whether your code works a) consistently and b) reliably, with all the other software/services/resources it is dependent on. Think beyond testing only your APIs – you need to check the entire ecosystem where it will be implemented.

Note: Problems in partner services can cause your API to malfunction, precisely due to this dependency factor. Before launching your API, plug in some dependencies in it – and find out whether it still functions properly or not.

      12. Over-reliance on manual testing

This makes things slower, more stressful – and most importantly, can lead to several bugs and errors remaining undetected. There are several reliable automated tools currently available for API testing, and developers need to use them extensively. Once the coding is done, it can be imported into Swagger, and API tests can be directly created from the files and other definitions in your code (a tool like Runscope makes this easy). Right from creation and modification of detailed API tests, to test scheduling – all the important tasks can be performed by tools. Manual testing is still important, but relying on it exclusively is a bad idea.

API developers also need to specify a service contract for their interfaces – a standardized descriptor that would enable consistent deployment and usage. Ignoring inordinately long delays in API request responses (10-12 seconds or more) is also a mistake, and including response time assertions is a smart way of tackling this issue. Instead of treating APIs as single interaction platforms (Request/Response), consider them as complete applications. Test your APIs well – and make sure that you do not make any of the above mistakes!

 

The 4 Stages Of API Lifecycle – All That You Need To Know

API lifecycle diagram

 

Just like any software-as-a-service (SaaS) resource, APIs too have their very own lifecycles. This lifecycle basically summarizes the entire lifespan of an application program interface, right from initial conception, to deprecation and final retirement. The precise nature of individual API lifecycle varies with its core functionality and the nature of software/business it is meant to be a part of. The recent emphasis on agile software and app development methods (e.g., Scrum) has made it all the more important for developers to understand and follow the lifecycle of interfaces. Let us here analyse in detail the four stages that make up the API lifecycle:

 

 1. API Planning, Design, Analysis 

This stage can also be referred to as the ‘API Requirement Definition’ stage. At this point, providers need to determine a definite reason for creating a new API, the objectives that it will achieve, and the overall business strategy it will be implemented within. It has to be critically analysed whether creating an API would indeed solve the existing requirement(s) – and once that is established, whether the purposes of the API are in sync with the overall organizational objectives. All of this contribute towards laying down the API strategy blueprint. In particular, these points have to be carefully deliberated on during this stage:

           a) API growth model,

           b) Projections/Predictions of usage,

           c) Mission statement(s),

           d) Expected returns from the API, and

           e) API marketing and promotional methods to be adopted.

           Once these have been decided, developers need to turn their attentions on API designing. Referring to well-illustrated use cases and contextual deployment instances comes in handy in this regard. In addition, the data format for the API – JSON or XML – has to be chosen, and a stand has to be taken on whether a REST or a SOAP API should be built. To expose the assets in a secure, systematic and effective way, adopting the dynamic API-first approach is important. Swagger 2.0 and API Blueprint are two commonly used tools for designing APIs.

(Note: To know more about RESTful API development, click here)

Yet another basic, and extremely important element of the API Planning stage is finalizing the type of API to create. Broadly, API providers need to take their pick from the following three options:

            i) Public APIs, which facilitate public access of services and create entirely new ecosystems.

            ii) Private APIs, the main purpose of which is making internal IT operations more systematic and cost-effective.

            iii) Partner APIs, which enhance the reach of services by collaborating with select partner businesses.

The API Planning and Analysis stage is more of a ‘preparation’ stage for the actual development to begin. Once the groundwork is complete, it’s time to move on to the next stage.

  1. API Development and Integration

    This is the stage where actual coding is involved, to create a new API and, if required, integrate it within existing systems. Provided that the planning has been done properly and a proper API strategy is in place, the stage should not take up too much of time – particularly since there are plenty of resources already available for the creation and management of RESTful APIs. Some popular tools for building new interfaces are Postman, Runscope and APItools.

An API can either give direction to the content distribution system of a firm, or expose the internal data structure, or both. Hence, API providers must simply grasp the exact technical requirements and capabilities of the program interface. In addition to the API hosting tools and management methodology, an understanding of the protocols to be used is important. Developers need to be aware of all the operations as well, the security features and access control options, and obviously, the quality of end user-experience the API will provide. The scalability and the size of APIs are also key factors to be considered.

There are quite a large number of API development frameworks, depending on the programming language used by developers. Here are some of these frameworks:

        a) Sinatra and Grape (for Ruby),

        b) REST.li and JAX-RS (for Java),

        c) Slim (for PHP),

        d) Restify and Express.js (for Node.js),

        e) Django and Flask Web (for Python).

Note: AppNow is also an often-used tool for API prototyping, data model specification and deployment, and demonstrations. Deployment with AppNow (with CRUD RESTful API and AngularJS) can be tested with the Swagger tool.

Versioning is one of the most important starting points of API development. This should ideally be implemented during this stage (versioning is important to keep things systematic, as and when future versions of the API are released). Ideally, the second phase in the API lifecycle should place importance on each of the following:

i) API designing (ensuring both human-usability as well as machine-readability),

       ii) API construction,

       iii) API security (through access control tools), and

         iv) API testing.

Including rate limits is a common security strategy for APIs. These put an upper limit on the total number of network requests within a time-period (thereby reducing the risks of ‘flooding’). A robust real-time analytics and monitoring system also needs to be included in the API.

Since the API lifecycle is iterative (and not ‘top-down’), it is easy to go back to the Analysis stage at any time and make changes, as and when required.

 

  1. API Operations and Management

    Arguably the most involved of all the API lifecycle stages. By the end of Stage 2, a two-way connection between the API backend (backend-as-a-service, or BaaS) and the corresponding website or mobile app has been established. In this stage, an intermediate layer – API management – is created and inserted between the two, to boost API intelligence and performance levels, as well as for optimizing the API strategy. Systematic API management helps in:

a)Making the use-behaviour more predictable,

         b) Monitoring key API analytics to gauge performance,

        c) Establishing API monetization scheme,

        d) Securing the API endpoints.

 One of the biggest inclusions in the third stage of the lifecycle is API testing and bug-fixing. With quality being the biggest bone of concern among API developers worldwide, it is only natural that many small changes and switches are done at this stage – to make the interfaces smoother and glitch-free. Initial user-opinions and feedback also need to be collected and analyzed (via suitable inbound methods).

Note: API documentation, initiated in the previous stage, has to be regularly updated and maintained during the Operations stage. All the changes made in the structure of the API should be recorded in the documentation/changelog/release notes.

With the establishment of the API Management layer, developers have to work with 2 separate URLs:

 

      i) the first URL exists between the application/website (final product) and the management tab. It is published and is viewable to everyone who has authorized access to the interface, and

      ii) the second URL exists between the management tab and the API This one remains private and is not accessible to any third-party entity.

 There are certain features and solutions that any standard API management platform should offer. These include the API contracts, the security and access controls, the documentation, developer portal access, analytics and usage, and of course, all billing-related information. Sandboxing can be done for test integration, before the actual thing.

For Public APIs, this is the stage where most of the marketing and promotional activities take place. The focus of API providers is to generate as much awareness as possible, through hackathons, online campaigns, detailed documentation (shareable) and other methods to enhance API discoverability.

The value of the iterative nature of API development once again becomes prominent at this stage. Developers can move backwards to Stage 1 (Analysis) to expand the scope of interfaces, to Stage 2 (Development) to tweak the technical features of APIs or change the API versioning, or move directly to Stage 4 – in case it is confirmed that deprecation has indeed set in for a particular API.

  1. API Engagement, Adoption and Retirement

    Provided that developers have reason to believe that the value proposition(s) of an API has not been exhausted – the marketing endeavours (started in the previous stage) have to be taken up a notch. The prime focus is always on creating a favourable buzz among mobile app developers (i.e., final users of APIs), through constant enhancements in both quality and quantity. There are 2 major components in any campaign to drive up the engagement/adoption rates of an API:

  1. Boosting its discoverability and the usability. Users should be able to find the API easily, and not run into any problem(s) while working with the software.
  2. Creating interesting use-cases to highlight the utility of the API to app/web developers. Delivering top-notch developer-experience (DX) is always of essence.

Many experts from the field of API development advise the creation of a Developer Program to streamline the API marketing efforts. A well-thought-out API developer program typically has the following:

i) Developer portal (the main point of entrance within the API),

     ii) API Evangelists (for online and offline promotion of APIs),

     iii) Pilot partners (for collecting feedback and suggestions),

     iv) Outreach acceleration with partners (for increasing the reach of API-related messages, with the help of partner organizations),

      v) Community development (for selecting the right web and social media channels to promote APIs).

  Note: Creating a scheme to monitor the effectiveness of marketing campaigns should also be a part of an exhaustive API Developer Program. All partners should be leveraged properly, to maximize the outreach of the API in existing markets.

None of these promotional activities would be of any value though, in case an API has reached the end of its journey – a stage when it no longer delivers value, and its purpose is no more in tune with the overall business objectives. In such cases, the concerned API is ‘retired’.

Retiring an API is pretty much like discontinuing any piece of software. It happens when the usage metrics start to go down steadily, there is little or no innovation on the part of app developers, and/or a mismatch of revenue-related objectives. Decrease in community support and paucity of compatible plugins are also common reasons for API retirement. Fresh security threats is yet another factor leading up to APIs being withdrawn.

Thorough knowledge of the entire API lifecycle goes a long way in helping developers maintain high-end agility standards. Managing APIs is key for optimizing the initial plans and strategies, and getting the most out of the interfaces. What’s more, chances of compliance breaches and security attacks also take a backseat, when APIs are closely monitored and managed. With proper coordination of the API lifecycle (API governance), businesses can evolve with changing requirements and possibilities. And as we all know, a systematic approach always works!     

 

Top 20 Technologies To Watch Out For In 2017

New technologies for 2017

 

The tech sector is easily the fastest evolving business domain at present. In a US survey conducted earlier this year (by PwC), nearly 46% of all CEOs of tech companies stated that they had ventured into at least one new industry in the last three years. What’s more, 78% of the respondents expressed their concern at the sheer pace of technological development and innovation in their respective sectors. 2016 has indeed been a big year in terms of technological advancements, with many ‘new’ solutions being implemented by businesses. We will here look forward to some technologies that are likely to dominate in 2017:

  1. AI-powered ‘Intelligent Agents’

    Artificial Intelligence (AI) should arrive in a big way by next year. It has been projected that, within the next five years, ‘intelligent agents’ powered by AI will replace almost 6% manual jobs in the United States alone. The cognitive technology solutions will have the capability to interact with users, interpret requests and commands, and have decision-making abilities. Many processes, which are manually done till now, will be automated with these software agents working on the basis of intuitive artificial intelligence.

  2. Move towards ‘Open Development’

    Software and mobile app developers will gradually move towards open and agile development practices in the next few quarters. An ecosystem will be established where all important data, information and metrics will be easily searchable and accessible. In addition, open development will also make it easier than ever for developers to exchange feedback and opinions, leading to a qualitative improvement in the final versions of new software.

Note: Open development will probably not have a strong presence in the domain of enterprise applications. Less than 3% of such apps have horizontal scaling properties at present, and it will take some more time before open development becomes practically viable for them.

        3. ‘Internet of Things’ at the fore 

Connectivity will be the name of the game in 2017 and beyond, and Internet of Things (IoT) should witness big spurts in growth. According to a Statista report, the number of connected devices reached a whopping 22.9 million this year, and the figure is all set to touch 50 million by the turn of the decade. From mobile phones and tablets, to smart home appliances, automobiles and business IT systems, IoT will offer a seamless connectivity option across the board, paving the way for enhanced efficiency. Industry 4.0 is here to stay!

        4. Growth of the ‘mobile internet’

4 out of every 10 person in the world has ready access to the World Wide Web at present – a far cry from 1995, when only 1% of the entire world population had internet connection. Of the 3.7 billion-plus individuals having internet access, well over 2 billion users use mobile devices to browse the web. The global penetration of mobile internet will increase further next year, with smartphone shipments projected to sustain its high levels. The year-on-year growth rate of mobile internet users should hover around the 2% mark, till 2021.

        5. Increased focus on ‘Webscale IT’

No matter how big or organized an enterprise IT setup is, it cannot quite match up with the services provided by the biggest cloud service suppliers (read: Google, Amazon). 2017 should witness significant adoption of ‘webscale IT’ in business systems – a breakthrough architectural approach that will enable managers to avail high-end cloud services within their enterprise setting. The increased emphasis on open philosophies for development will complement the implementation of the ‘webscale’ approach.

        6. Short-range networks to dominate in IoT

Wide-area networks have their own advantages, but they won’t be the first choice in the Internet of Things architecture. Forget 2017, the short-range networks (which are, obviously, of lower power) will be way more popular for wireless connectivity in IoT, right till 2025. Existing cellular networks – which are not always suited for optimal battery, bandwidth and cost-effective performance – will gradually be revamped. Both short-range as well as wide-area networks will focus on delivering high connection density levels.

       7. ‘Blockchain technologies’ to find greater usage

The blockchain distributed database architecture is far from being a ‘new’ thing. The setup, which underlies the system of ‘bitcoins’ and follows the ‘Merkle Tree structure’, was applied for the first time in 2009. However, implementation of ‘Blockchain technologies’ has been relatively limited to date – and 2017 might well be the year when it finally starts to register high user-adoption rates. Copyright management and royalty collection are two activities for which blockchain database models are already being tested by leading companies and authorities.

       8. Virtual Reality and Augmented Reality

For all the hype over virtual reality in 2016, this was largely a year of ‘learning’ – what exactly virtual reality is, and the nature and functionalities of VR hardware and software. The widespread acceptance of tools like Google Cardboard and Oculus (acquired by Facebook in 2014) has fueled interest in virtual reality – and together with augmented reality, it is set to become a $150 billion industry by 2020. Close to 800 VR companies will be present across the world – a remarkable 15-times increase over the number present in 2005. In 2016, the VR industry registered a 200%+ year-on-year growth.

Note: At this point, it is important to understand the difference between virtual reality and augmented reality. The former offers an immersive experience to users, by recreating environments with the help of computer simulations. AR, on the other hand, builds on the existing reality with cyber-generated layers – to enhance interactivity with the surroundings.

  1. More investment on ‘IoT security’

    With every new significant technological innovation comes security-related risks, and Internet of Things is no exception. As interest in, and implementation of, IoT grows, there is likely to be a surge in the number of online ransomware attacks and probable cybercrimes. That, in turn, puts the focus squarely on IoT security professionals. There is a dearth of skilled manpower in this context, and as cross-device connectivity becomes more and more important, companies will be forced to invest more on security maintenance and threat-avoidance.

  2. Rise of the APIs

    To be fair, application program interfaces (APIs) have been growing at a fairly rapid clip for some time now. Around 40 new APIs are added every week by developers, and the total count of APIs has jumped to 15000+ on Programmable Web. The ‘Business-to-Developer’ business platform is expected to get further momentum in 2017 (with backend-as-a-service (BaaS) and software-as-a-service (SaaS) growing more and more popular). Most mobile applications will need to have a secure, robust backend – and that will be implemented through APIs.

Note: REST (representational state transfer) APIs have already moved ahead of the more chunky SOAP (simple object access protocol) APIs, in terms of popularity. The gap is likely to grow wider in 2017.

       11. Familiarity with ‘Hybrid Wireless technology’ to increase

Think that IoT, or Industry 4.0, is the ultimate advancement as far as smart connectivity solutions are concerned? If yes, well…think again! Work is already underway to create hybrid wireless interfaces – that will allow multiple devices to access and leverage resources from shared protocols and wireless service providers. IoT will gradually become closely inter-linked with customer engagement platforms over the next 4-6 quarters. From wifi networks to radio frequencies, and from cellular data to light – everything will be sharable via hybrid wireless technology.

      12. ‘Wearable tech’ will be bigger

It all kickstarted with the arrival of Apple Watch (with all due respect to all the smartwatches that have existed since earlier) in 2015. At present, there are close to 450 wearables in the market – and that number should show significant increases by the end of 2017 Q3. Interestingly, it has been predicted that (by Gartner), that 3 out of every 10 wearables will not be visible to the naked eye. Apart from fitness tracking, wearable tech will make its presence felt in the fields of healthcare, 3D bioprinting, virtual reality, and of course, fashion. Demand for smart pet trackers (e.g., collars with GPS tracking) will also spike.

      13. Evolution of ‘Spatial Analytics’

The domain of spatial analytics has not yet been fully tapped into by business-owners. In most instances, use of this technology is limited to simply displaying the physical location of vital assets on maps. Things should evolve more in the next couple of years, with spatial analytics solutions being used to power smart sensors, facilitate machine-learning for better customer-interaction, and access key in-store analytics data. The focus will be on generating a seamless store workflow, by combining existing information with properly analyzed geospatial data. Businesses that manage to implement, and get the best out of spatial analytics, should report higher revenue and profit figures.

      14. ‘Globe of Mobile Apps’ will grow

The worldwide mobile app market is nowhere near to approaching saturation, as we have already highlighted in an earlier post. Both Google Play Store as well as Apple App Store has well over 2 million applications, and the combined number of app downloads will reach 268.7 million by the end of 2017 (an increase of almost 10663% over the 2009 figure). In the United Kingdom alone, there has been an increase of 0.9 million app users in 2016 Q2, on a quarter-on-quarter basis. By 2020, the global app industry should generate in excess of $100 billion in revenue – nearly double of the 2016 revenue figure (~$51 billion).

Note: Close to 83% of the total revenue from apps will be generated by mobile games. Not surprisingly, 2D/3D game development is something that most leading mobile app companies are being involved in.

     15. ‘Software Defined Everything’ to gain traction

The concept of ‘Software Defined Everything’ is expected to be implemented on a large-scale in 2017 and beyond. In a SDE setup, the control center/data center will shift from static hardware components to automated, smart, software agents. Both software-defined networking as well as software-defined servers are expected to be used by business – while software-defined storage will also grow (probably at a slower rate). A smart SDE setup will enhance business agility, and be a cost-cutting option as well.

    16. Growth in ‘Distributed Stream Computing Platforms’

The escalation in the demand for DSCPs will be a direct result of extensive adoption of Internet of Things. Certain applications powered by IoT will require real-time analysis of very high volumes of data. That, in turn, will increase the importance of ‘Distributed Stream Computing Platforms’. These are, in essence, event processing platforms that can create events at the rate of millions/second. Security of these platforms, will, once again, be an issue of paramount importance.

    17. Rise in ‘Edge Computing’ practices

The current trend of moving data and web-enabled services from centrally-located nodes to the logical end-points of networks (the essence of ‘Edge Computing’) will grow stronger in 2017. Forrester Research Inc. has forecasted that mobile edge computing will increase in a big way, while the concept of ‘fog computing’ (with a decentralized architecture) will become increasingly familiar among people. Industrial internet services and applications will improve. Cloudlets – the pint-sized data centers in the cloud – will witness a rise in usage as well.

    18. Communication via ‘Business Value Dashboards’

Business data volumes will keep on increasing as we step into 2017. The need of the hour is to use tools and solutions that keep the datasets secure, systematic and streamlined, at all times. With an eye on that, many data managers and IT infrastructure experts have started using ‘Business Value Dashboards’ (BVD), while interacting with the external world. These dashboards are typically flexible and customizable, and they can combine business analytics metrics in a smarter way than ever before.

    19. The next level of ‘Security Management’

On a year-on-year basis, the number of IT security breaches and hack attacks are increasing. Of particular concern is the steady rise in the volume of zero-day vulnerabilities. In 2017, we are likely to witness cutting-edge security orchestration and automation technologies in practices, to counter serious threats. Smart workflow management tools will be adopted, and there will be a decided focus on enhancing ‘threat intelligence’ levels. Performing in-depth link analysis and monitoring security analytics are other activities that will grow in importance.

   20. More informed choices of ‘IoT Processors’

With Internet of Things catching on at a fast clip, the need for powerful IoT processors will emerge in a big way sooner than later. For ensuring seamless, interruption-free connectivity across devices, the hunt will be for processors that have customizable firmware, compatibility with different operating systems, and offer robust security and encryption support. Skilled IT personnel will be required to monitor and manage the processors.

Project Ara, Google’s first modular smartphone, was expected to be one of the biggest tech announcements of 2017 – until the company announced in September that the project has been scrapped. However, there will be advancements in cloud native application platforms, real-time interaction management (between customers and businesses) and container management tools. The tech domain will continue to evolve, and 2017 might be the year when many of these new technologies finally become popular.