Delphi 10.1 Berlin

Delphi is the most powerful Object Pascal IDE and component library for cross-platform Native App Development with flexible Cloud services and broad IoT connectivity. It provides powerful VCL controls for Windows 10 and enables FMX development for Windows, Mac and Mobile. Delphi is choice for ultrafast Enterprise Strong Development. For increased memory for large projects, extended multi-monitor support, improved Object Inspector and much more. Delphi is 5x faster for development and deployment across multiple desktop, mobile, cloud and database platforms including 32-bit and 64-bit Windows 10.


Embarcadero Technologies, a leading provider of software solutions for application development, released the 10.1 versions of RAD Studio™, C++Builder® and Delphi®. The updated products, dubbed “10.1 Berlin,” feature an array of new and enhanced capabilities, including significant Internet of Things (IoT) connectivity improvements and new, multi-device preview options to greatly increase developer productivity.

10.1 Berlin expands developers’ ability to use a single codebase to rapidly develop applications for any device, while FireUI enhancements allow multiple device previews in real time. This version provides core technology enhancements such as the GetIt Package Manager that make it easier to create components and extensions for Embarcadero’s large partner ecosystem. This is especially important to develop and support a broad range of IoT-connected applications.


New features and benefits

New FireUI Capabilities – FireUI multi-device preview allows developers to visually build mobile and desktop applications and customize them at design time for different form factors and operating systems. FireUI app preview lets developers see their FireMonkey application on iOS, Android, OSX and Windows targets as they are designing it, with changes made in the FMX designer shown in real time.

Broad IoT Connectivity – Core technology enhancements to Embarcadero ThingWare™, ThingConnect™ and ThingPoints™ empower developers to easily add IoT connectivity to their apps, including more Bluetooth, BLE, Wi-Fi and Android wear support and features. GetIt libraries provide access to turn off-the-shelf and custom IoT smart devices, sensors and wearables into easy-to-use API components.

New Installer – Makes installation and trial a more seamless, modern, smooth, faster experience trouble-free experience, reducing start-up time from hours to just minutes. Customers can install as much or as little as they want, with additional features that can be added later or whenever needed.


Native Platform Enhancements – Improvements in native toolchain and platform components include compiler, libraries, FireMonkey, VCL, Windows 10 and mobile. Compilers comprise seven Object Pascal and seven C++ compilers, including CLANG 3.3 and complete C++ 11 language support.

Enterprise Strong – Optimized enterprise database access and enterprise service architecture accelerate the development and deployment of cross-platform applications across multiple desktop, mobile, cloud and database platforms.

New IOT features in 10.1 Berlin

Core technologies enhancements, ThingWare, ThingConnect, ThingPoints

  • Extensions to current foundations
  • More Bluetooth LE standards and features
  • Improved Android Wear support
  • New IoT architecture
  • Metadata- driven components generation
  • Downloaded via GetIt
  • ThingPoints : RAD Servers (EMS) distributed extensions.

New Bluetooth features in 10.1 Berlin

  • Bluetooth LE support in Windows 10 / WinRT
  • Support for Bluetooth advertisement
  • Beacons
  • Support for EddyStone Beacons (new Google format) for both iOS and Android
  • Support EddyStone UID, URL, Telemetry
  • BeconFence improvements

10.1 Berlin Productivity Enhancements (I)

  • The new installer and the enhanced GetIt Package Manager
  • The FireUI App Preview on Device
  • New minimalistic welcome page
  • Separate form designer for VCL and FMX
  • Optional, great for multi-monitor
  • HighDPI support improvements
  • Visual Live Bindings improvements

10.1 Berlin Productivity Enhancements (II)

  • New Structure View parser for C++
  • Based on the C++ 11 language specification
  • IDE shows header dependencies for CLANG-based 32bit C++ compiler
  • Bookmarks stack
  • Selection “syntactic” expansion (Ctrl+W)
  • File associations in the Options dialog
  • Delphi Methods Toxicity metrics 

Quality Performance Stability (QPS)
Quality, performance, stability throughout the entire product

  • Significant focus on Quality
  • 25% of planned developers tasks
  • Covering all areas of the product
  • High number of fixes and smaller enhancements
  • Mobile debugging enhancements
  • CPU View support, Unicode strings evaluation

Delphi 10.1 Berlin Professional

  • Expanded coding tools including Code Insight, live code templates, refactoring, command line tools, code formatter, Class Explorer, Subversion integration, unit testing, and translation tools.
  • Advanced debugging views and debugging of multi-threaded applications .
  • Web application development with VCL for the Web Personal with limited concurrent connections.
  • Cloud computing integration with Amazon EC2 and Windows Azure.
  • Expanded VCL component set and VCL source code.
  • UML code visualization, providing a visual representation of source code for easier understanding.

New VCL Styles and Style Enhancements in RAD Studio 10 Seattle

Windows 10 Styles
Choose from three built-in Windows 10 styles: Modern Light, Modern Dark and Modern Blue. These styles work great with the new VCL Windows 10 UI controls as well as the existing VCL UI controls.



Common Dialog Styling
VCL styling now extends to dialogs such as TPrinterSetupDialog, TOpenDialog, TSearchDialog and more.untitledVCL Web Browser Styling
The VCL Web Browser control now fully supports custom styling.


New Style Templates for Windows 10
New Windows 10 Style Templates allow you to create custom Windows 10 styles using your own color schemes. The Bitmap Style Designer can be found in the bin directory or accessed from the IDE via Tools > Bitmap Style Designer.


1)  enhancements-in-rad-studio-10-seattle


In the Oracle Database 12c the “c” stands for “cloud”. In addition to many new features, this new version of the Oracle Database implements a multitenant architecture, which enables the creation of pluggable databases (PDBs) in a multitenant container database (CDB).

Features like Oracle Real Application Clusters and Oracle Automatic Storage Management now continues with Oracle Multitenant, which enables IT to tap fully into the benefits of the cloud, including resource sharing, management flexibility, and cost savings.


Transforming Data Management with Oracle Database 12c Release 2

Oracle Database 12c Release 2(12.2), the latest generation of the world’s most popular database, is now available in the Oracle Cloud. It provides businesses of all sizes with access to the world’s fastest, most scalable and reliable database technology in a cost effective and flexible Cloud environment. 12.2 can seamlessly scale from entry level to the largest database workloads, enabling customers to take advantage of proven enterprise class capabilities to run database development, small to mid sized business applications, and departmental and large mission critical applications in the Cloud.

The Information Technology (IT) industry continues to introduce innovations that promise faster access to enterprise information, deliver more insightful analysis, and take advantage of the agility and flexibility of the Cloud. Data is the lifeblood of every business, and to help customers transform the access and value of enterprise data, 12.2 introduces new and enhanced functionality, particularly in these three areas:

1. From Disk: Based to In-Memory Databases for high performance real-time   analytics.
2. From Data Warehouse to Big Data for insightful analysis of transactional and other data sources.
3. From On-Premises to Database Optimized Cloud for greater agility, elasticity and lower IT cost.

Some of the new features include:

  • Enterprise Manager DB Control was replaced with EM DB Express
  • Container databases (CDB) with embedded Pluggable Databases (PDB)
  • Automatic Data Optimization (ADO) with heat maps to automate ILM
  • In-Database archiving and Temporal Validity
  • Unified auditing
  • Database privilege analysis to see who uses what privileges
  • Data redaction
  • Adaptive Query Optimization
  • Database Migration Assistant for Unicode (DMU) replaces “csscan” and “csalter”
  • Row Limiting Queries
  • Increased Size Limit for VARCHAR2, NVARCHAR2, and RAW Data Types
  • Online move of data files and partitions. 

Oracle Database 12c – All about Multitenant Architecture

What is Multitenant Architecture?
It is quite simple, Multiple tenants share same resources on a mutual benefit for different purposes at a very broad level. The same applies to Oracle Database where Multiple Databases share a single instance of resources aiming for different purposes on the same Server. This Oracle Database which is built on Multitenant foundation is called Container Database(CDB), and each container (tenant) residing inside is called Pluggable Database(PDB, Container).

Why is Multitenant Architecture?
Technology has vastly improved as customers can afford servers with hundreds of CPUs and huge chunk of Physical Memory where the Hardware resources can be distributed and managed dynamically. If applications get hold of this, that would be a huge benefit for Enterprises. That is what exactly Oracle has brought to the table, and this is only a beginning.


The multitenant architecture enables an Oracle database to function as a multitenant container database (CDB).

A CDB includes zero, one, or many customer-created pluggable databases (PDBs). A PDB is a portable collection of schemas, schema objects, and nonschema objects that appears to an Oracle Net client as a non-CDB. All Oracle databases before Oracle Database 12c were non-CDBs.
A container is either a PDB or the root. The root container is a collection of schemas, schema objects, and nonschema objects to which all PDBs belong. Every CDB has the following containers:

  • Exactly one root- The root stores Oracle-supplied metadata and common users. An example of metadata is the source code for Oracle-supplied PL/SQL packages. A common user is a database user known in every container. The root container is named CDB$ROOT.
  • Exactly one seed PDB- The seed PDB is a system-supplied template that the CDB can use to create new PDBs. The seed PDB is named PDB$SEED. You cannot add or modify objects in PDB$SEED.
  • Zero or more user-created PDBs- A PDB is a user-created entity that contains the data and code required for a specific set of features. For example, a PDB can support a specific application, such as a human resources or sales application. No PDBs exist at creation of the CDB. You add PDBs based on your business requirements.

Benefits :One of the main reasons for Multitenant Architecture to be in place is “Database Consolidation”. Until so far, we have databases deployed across multiple Small Physical machines on various platforms. It could be waste of resources having a database on each machine dedicatedly rather keeping them all on a single powerful machine. By consolidating all Databases onto a Single powerful chip and a Single Oracle Instance, we achieve following benefits:

  • Cost Reduction in terms of Product licensing and Hardware procurement as we require less number of processors and less memory compare to a Non-CDB environment.
  • Easier Database maintenance, Pluggable Databases can easily be moved or copied locally or remotely across Physical machines in the network, Upgrading Operating System, Upgrading or Patching Database itself is a lot easier and “often” a one shot process, that greatly improves the availability.
  • Performance tuning becomes a lot easier as all PDBs in a CDB environment share same Hardware/Platform/Network resources like CPUs/Memory/OS/Bandwidth etc.. For example, It is quite easy to tune one single piece of SGA/PGA on one single instance rather tuning each SGA on each physical machine.


CDB with Two PDBs

CDB with four containers: the root, seed, and two PDBs. Each PDB has its own dedicated application. A different PDB administrator manages each PDB.

Plug into the Cloud with Oracle Multitenant
Database consolidation is a key step in the journey to the cloud. Oracle Database 12c makes the process far faster and simpler, enabling the high density of schema-based consolidation—without requiring changes to existing applications.

Technology innovations in cloud, big data, and in-memory undoubtedly offer opportunities to improve efficiencies and drive businesses forward. The challenge for every IT organization lies in transforming data management as seamlessly as possible, without incurring major disruption to ongoing business operations. As the database market leader, Oracle has a well-proven track record of helping customers evolve their databases through the mainframe and mini, client/server and internet generations. That same well-proven strategy of delivering state-of-the art database innovations while preserving customer’s investments applies today.

Pluggable Databases:
In Oracle 12c, in a pluggable database environment, we can create a single database container, and plug multiple databases into this container. All these databases then share the exact same oracle server/background processes and memory, unlike the previous versions where each database has its own background processes and shared memory. This helps in database consolidation and reduces the overhead of managing multiple desperate databases.

Container Database (CDB): Are the core data dictionary objects that come after an Oracle database installation.
Pluggable Database (PDB): Data dictionary objects and data related to the application. We can have many PDB plugged into a single CDB.

A new admin role “CDB Administrator” has been introduced in Oracle 12.1.0 release databases.
Multiple LGWR processes for each PDB’s and multiple databases can then share a master LGWR process, but have their own dedicated LGWR process within the container.

All Oracle database options/features are available on the PDB level.
RMAN backup at CDB level.
We can unplug a PDB from a CDB to another CDB.
PDB’s can be cloned inside the CDB.
Management of PDB (clone/creation/plug/unplug/drop) are implemented as SQLs.
Extremely fast PDB-provisioning (clone inside the CDB), because each CDB comes with a “PDB Seed”.
Database patch/upgrade management very quick as CDB is a single point of installation.
Each PDB has its own data dictionary.
Data Guard configuration on CDB as whole.
RMAN point-in-time recovery at PDB level (while other PDB’s remains open).
Resource Manager is extended for creating, unplugging, plugging in, and cloning, dropping or even setting up for the open mode of the PDB.
Flashback of a PDB should be available for Oracle 12c Release 2.
Entire containers can be backed up in single run, regardless of how many databases they contain. Upgrade one container database and all pluggable databases are upgraded.

Designed for the Cloud, Oracle Database

12c Release 2 on Oracle Cloud offers customers the opportunity to take full advantage of In-Memory for real-time analytics, Big Data sources for greater insight and Multitenant to lower costs and increase agility, without having to make changes to existing applications. Customers can take all their in-house developed Oracle applications, all their Oracle ISV applications, and just run them on Oracle Cloud without incurring any application changes. This is particularly important, as customers can utilize all their existing applications, developer skills, and administrator skills, and get the same support for their Oracle Databases both on -premises and on Oracle Cloud.
Finally, it’s important to appreciate that all Clouds are not equal. Only Oracle Cloud offers infrastructure optimized for Oracle Database 12c, only Oracle Cloud offers critical database features like Real Application Clusters and Active Data Guard as an integral part of database services, and only Oracle Cloud offers 100% hybrid compatibility with customer’s Oracle Database workloads running on-premises.

OEM (Oracle Enterprise Manager):

  • Oracle Enterprise Manager Database Express (DB Express), also referred to as EM Express, is a web-based tool for managing Oracle Database 12c, to support basic administrative tasks such as storage and user management, and provides comprehensive solutions for performance diagnostics and tuning.
  • EM Express is similar to DB Control (Oracle Enterprise Manager DB Console) in 10g & 11g, but not (full) replacement because EM Express has very less features.
  • To use EM Express, a database user needs to have EM_EXPRESS_BASIC or EM_EXPRESS_ALL role. DBA role includes both the EM_EXPRESS_BASIC and the EM_EXPRESS_ALL roles.
    SQL> grant EM_EXPRESS_BASIC to user;
    SQL> grant EM_EXPRESS_ALL to user;

Oracle Database 12c Data Guard:

  • Oracle Database 12c introduces a new redo transportation method which omits the acknowledgement (to primary) of the transaction on the standby. This feature is called “Fast Sync” redo transport.
  • Creating a new type of redo destination called “Far Sync Standby”. A “Far Sync Standby” is composed only of the standby control files, the standby redo logs and some disk space for archive logs which shall be sent to the Standby database. Failover & Switchover operations are totally transparent as the “Far Sync Standby” cannot be used as the target.
  • Data Guard Broker commands have been extended. The “validate database” command to checks whether the database is ready for role transition or not.
  • In 12c it is possible to cascade a Standby Database in Real Time, that is, the first Standby Database can send Redo from the Standby RedoLogs to the cascaded Standby Database.
  • Data Guard Broker now supports cascaded standby.
  • In 12c Data Guard, if you want to start MRP in RTA (real-time apply), use
  • In 12c Data Guard, if you want to start MRP in non RTA (real-time apply), use ALTER DATABASE RECOVER MANAGED STANDBY DATABASE USING ARCHIVED LOGFILE DISCONNECT;
  • Global data services, transparent to failover / switchover no client reconfiguration required.
  • Data Guard supports Physical Standby Database for a Multitenant Database.
  • Global Temporary Tables can now be used on an standby databases/Active Data Guard (ADG) standby databases.



By now, more than 60% of world is already automated. Out of this automation,  many softwares and utilities are built using Delphi. We have seen Delphi evolving over the time. The latest Delphi IDE support IOT, iOS and Android App development. So many sophisticated application are built using Delphi.

At certain point, We see the need of migration/ Upgrdation due to various reasons:

  1. Due to slowness in the exe compiled in old version of Delphi
  2. 32 bit exe compatibility with 64 bit systems
  3. To give the application rich and new ‘look and feel’.
  4. File-based database, Sybase or Paradox makes it slow.Delphi_Migration

So the solutions offered are:

  1. Upgrade existing legacy application to Higher Version of Delphi

We see various challenges when we have to migrate for older version to new one. If at all, it’s a application compiled in Delphi 2010 or older, than the challenge is that its not Unicode supported. So we can migrate, atleast to XE2 so that we are good to go.

If the requirement is to support for mobile versions, then we need to work with XE8 and above.

Support for older components for newer versions is also a big challenge. In worst case we need to find components close to the existing one or build a new one.

2. Migrate it from Delphi to either .Net, PHP, or Python language.

The biggest challenge is that we never have anything easy in this case. There is no automatic conversion tool to convert from Delphi to some other language. For that we have to build the application from scratch.

Incase we have to migrate Desktop application .Net would be an ideal choice. If convert desktop application to web based then, PHP or Python comes handy.

In all cases we have to build the UI from scratch and here again components handling is major hurdle which need to cross. One good part is that logic can be used as it is, whether to build a 2 tier or 3 tier architecture design.

UMANG has been working on lots of migration and application re-engineering project lately, wherein our case studies and portfolio says it all. We have worked from Marine Research to Healthcare, From Construction domain to Business Process Management.

iOS is the world’s most advanced mobile operating system created and developed by Apple Inc, distributed exclusively for Apple hardware. It is the operating system that presently powers many of the company’s mobile devices including the iPhone, iPad, and iPod touch. It comes with collection of apps and features that let you do the everyday things and not-so-everyday things, in ways that are intuitive, simple and fun.

The iOS user interface is based on the concept of direct manipulation, using multi-touch gestures. Interface control elements consist of sliders, switches and buttons. Interaction with the OS includes gestures such as swipe, tap, pinch, and reverse pinch, all of which have specific definitions within the context of the iOS operating system and its multi-touch interface. Internal accelerometers are used by some applications to respond to shaking the device (one common result is the undo command) or rotating it in three dimensions (one common result is switching between portrait and landscape mode).

iOS shares with OS X frameworks such as Core Foundation Kit, however its UI toolkit is Cocoa Touch rather than OS X’s Cocoa, so that it provides the UI Kit framework rather than the AppKit framework. Therefore, it is not compatible with OS X for applications. Also, while iOS shares the Darwin foundation with OS X, Unix-like shell access is not available for users and restricted for apps, preventing iOS from being fully Unix-compatible.

In iOS, there are four adstraction layers: the Core OS layer, the Core Services layer, the Media layer and the Cocoa Touch layer. The current version of the operating system (iOS 9), dedicates around 1.3 GB of the device’s flash memory for iOS itself. It runs on the iPhone 4S, iPad 2, iPad Pro, all models of the iPad Mini and the 5th -generation iPod Touch.

iOS In Education: For Students and Teachers

Apple Introduces Shared iPad, Other Features for Students and Teachers.

Apple which released iOS 9.3 beta 1, has also published a new website that previews new education-focused features that will be added. Something intresting happens when Apple products are put in the classroom. Unique opportunities can be created for personal learning at every level. Lesson becomes more immersive through the power of touch, motion, and sound. Assignments can be sketched, scored, charted, coded, and performed. The work students need to do becomes the ‘work they love to do’.


The most powerful tools for learning are the ones students love to use.
iPad, Mac and Apple TV possible inside the classroom and beyond. iPad opens up new opportunities for learning. Mac is an engine for creativity and Apple-TV helps capture students attention like never before.

  • Making Apple devices as easy to deploy as they are to use.
    It’s never been easier to put iPad and Mac in the hands of students and teachers. Its been simplified the setup process to enroll everyone in school quickly, configure devices automatically and seamlessly buy and distribute apps and books.
  • Inspiration for Teachers: Ideas to help before, during and after class. Tips, lesson materials, stories, other resources to help and to get the most out of Apple products, to bring fresh ideas to your classroom.

Apple and ConnectED giving products, support and opportunities to schools that need them most. Apple has joined President Obama’s ConnectED initiative and pledged $100 million of teaching and learning solutions to 114 underserved schools across the country.
The power is given for everyone to learn, write and teach code. Believing that learning to code is an essential skill, helping everyone bring ideas to life with it. The dedicated website to iOS in Education promises that the best classroom experience is about to get even better with the release of iOS 9.3.

With the iOS 9.3 beta, new features that will make it even easier for schools to put devices where they’ll have the greatest impact – in the hands of students.The new features highlighted in the iOS in Education website are shared iPad for students, the new Classroom app, the Apple School Manager and managed Apple IDs for school purposes.

The Classroom App
The Classroom app will serve as a digital teaching assistant, allowing teachers to launch, using a Remote Control, any app, page, or website simultaneously in all the iPads in class and guide the students on what they should be looking at.
Through the app’s Screen View feature, teachers will be able to see what their students are looking at on their iPads. While for classrooms that have television sets equipped with the Apple TV, teachers can project the work of any student onto the screen with AirPlay.
The Classroom app will also let the teacher to reset student passwords in case anybody forgets the log-in credentials to their iPad.

Transforming Education with Apple iOS 9.3 -The Digital Classroom


Shared iPad
The Shared iPad feature will be very beneficial for classrooms where a one-to-one student-to-iPad ratio is not possible, claiming that it will allow learning experiences to be personal despite the devices being shared.
Once students log in with their credentials on an iPad, they will gain access to their books, apps and documents. With intelligent caching, students that use the same iPad for a class everyday will be able to pick up where they left off.
Intelligent caching allows teachers to use the Photo ID feature for assigning shared devices easily and quickly. The students will find their device easily, as their pictures would appear on the iPad assigned to them. For younger students, there is also the option of having them access their iPad with a simpler log-in requirement of a four-digit PIN.

Managed Apple Ids
One important note for the Apple School Manager is the creation of Managed Apple IDs. These Apple IDs function like normal ones, allowing users to store files on iCloud, participate in courses in iTunes U, and many more. However, Managed Apple IDs are designed primarily for schools with admins allowed to easily audit accounts, reset passwords, create IDs in bulk and create custom roles for the members of the school.

Apple School Manager
The Apple School Manager, accessible through the PC or Mac, will serve as a central place for administrators to make Apple IDs, create courses, and access everything needed for the deployment of iPads as learning tools in school.

The Apple School Manager includes a setup assistant that will provide instructions on how to create Managed Apple IDs, enroll IT admins, acquire content, manage devices and more.The software also allows for the secure creation of accounts for admins, teachers and students by connecting the school’s student information system.The admins can also handle the MDM enrollment for all the school’s devices.Volume purchases and distribution of apps and books are made easy through the Apple School Manager, with education discounts applied automatically.Courses can also be built and delivered with the software in conjunction with iTunes U.

Apple is making its own health push
Apparently Apple has decided that it’s time to jump in with iOS 8 and HealthKit. At the very least, that decision is likely based off of strong data. Apple sells devices like the Jawbone Up24, Fitbit Flex and Nike Fuelband in its own retail stores.
9to5Mac first broke word that Apple was preparing its own push into fitness tracking. Soon after, the site published “recreated” screenshots revealing “Healthbook,” perhaps an early name for HealthKit.

Apple Releases iOS : For Health Apps And More
Health is an application for iOS 8 and iOS 9 announced by Apple Inc. at their Worldwide Developers Conference (WWDC)


The application is intended to be a personal and central data collection point, for connected third-party electronic accessories and wearable technology, that can directly monitor and analyse an individual’s biochemistry and physiology for medical and general fitness purposes.

It displays a dashboard of all the fitness and health data of the user, including the heart rate, calories burned, blood pressure, blood sugar, cholesterol and other similar functions. Users can also use the Health app to create a Medical ID, an emergency card with important medical details and emergency details. The Medical ID is accessible from within the Health app or from the lock screen. Apple enhanced this software with various improvements that include a facility to discover other compatible applications on Apples app store. For example, for blood pressure this includes Health Mate, Qardio Heart health, Web MD, and Pacer. To discover and access these applications place the main function from Apples health app on the dashboard, tap it, and page up. Although the application is available in iOS 8 and iOS 9, it is currently only available on iPhone and iPod Touch.

HealthKit is the accompanying developer application programming interface (API) included in the iOS SDK (Software Development Kit) for the Mac. It is used by software developers to design applications that have extensibility and that can interact with the Health application on iOS.


The API allows other applications with the user’s permission, to access health data. For example, a blood pressure application would share information with a doctor, or a nutrition application could inform a fitness application how many calories a user consumes each day.

Upon announcement, a number of industry companies quickly announced their support for HealthKit, some of these included EPIC, Mayo Clinic, Medopad, Jawbone UP and RunKeeper.
Apple just unveiled HealthKit, a new app bundled with iOS 8 that’s designed to help users keep better track on their personal health and fitness data. HealthKit appears simply as “Health” on the iPhone home screen, and provides an easy-to-access dashboard where you can monitor important health metrics on a daily basis, while also stepping back to examine fitness trends over a longer period of time. SVP Craig Federighi said this is a marked improvement over the current situation, which has health information strewn across various apps or “silos”.
To centralize everything, HealthKit allows health and fitness apps to share data; Nike is among the first companies signed on to support that feature. “For example, the Nike+ apps using NikeFuel will be able to pull in other key HealthKit metrics such as sleep and nutrition to build a custom user profile and improve athletic performance,” Apple says. Apple will also partner with the Mayo Clinic and other health institutions, allowing healthcare providers to receive and transmit data from checkups. The company says it has deep privacy protections in place to secure those sensitive records.

Health apps have proven tremendously popular with consumers and this represents Apple’s attempt to make a grand entrance at least among iOS users. It’s also been speculated that HealthKit will work in tandem with the fabled iWatch. Until now, Apple has shied away from making its own fitness software. Instead, the company has for years provided a mobile platform — iOS — that allowed companies like Fitbit, Jawbone, Nike, RunKeeper, and MapMyFitness to showcase their apps. It’s also made strides to improve the iPhone as a fitness tool by adding specialized hardware like last year’s M7 coprocessor.


Android is a revolutionary name which is an open-source software assemble of an mobile Operating system developed by Google, based on the Linux kernel and designed primarily for touchscreen mobile devices such as smartphones and tablets. Android user interface is mainly based on direct manipulation, using touch gestures that loosely correspond to real-world actions, such as swiping, tapping and pinching, to manipulate on-screen objects, along with a virtual keyboard for text input.

Android has a large community of developers writing application programs (“apps“) that enlarge the functionality of the devices. There are currently over 150,000 apps available for Android. Android Market is the online app store run by Google, through apps can be downloaded from third-party sites. The Android Operating System can be used as an operating system for cell phones, notebooks and tablets, including the Dell Streak, Samsung Galaxy Tab and TV.


The open and customizable nature of Android allows it to be used on other electronics aside from smartphones and tablets, including laptops and netbooks, smartbooks, smart TVs (Android TV, Google TV) and cameras (E.g. Galaxy Camera). In addition, the Android operating system applications on smart glasses (Google Glass), smartwatches, headphones, car CD and DVD players, portable media players, and Voice over IP phones. Ouya, a video game console running Android, became one of the most successful Kickstarter campaigns and was later followed by other Android-based consoles, such as Nvidia’s Shield Portable, an Android device in a video game contoller. The software is also open-source, can tinker with the code and use it in any gadget they want. The NASA engineers fine-tuned the operating system to require less power, letting their tiny satellites run for days on a handful of batteries. An Android-based agricultural irrigation system wherein a network of tiny, waterproof computers in the field regulates water valves.With Android, you get something that is power-efficient, it’s easy for developers to do the user interface and touch controls, and it’s easy to get data in and out. Also for an Android infotainment system for its cars.

Google acquired Android Inc. in 2005. The search giant took the software a version of Linux, itself an open-source operating system popular with data centers, geeks and streamlined it. That improved power consumption; all things being equal, the fewer things a computer chip has to do to accomplish a task, the less electricity it uses. Google also gave the software a more accessible interface and added touch functions. Critics scoffed at the notion of Android getting much traction in the handset market. Android is becoming the standard operating system for the “Internet of things”.


Top Upcoming Features of Android N

1. Split-Screen or Multi-Window Mode and New Recent Menu
Android has the best multi-tasking experience to offer with the release of Android N, all Android devices are to get this awesome feature. The process to enable split-screen mode is quite simple, you have to go to the ‘Recents’ menu, drag one app tile into one part of your device screen. Just after, the multi-window experience deliveres.
For example, the map to one location while video-calling someone via Hangouts or watching your favourite YouTube videos even when you’re skimming an article. Nevertheless, it needs to be noted that it is up to a developer to enable split-screen mode. For common and advanced users, this is a worth-expecting feature.
A feature to be read along with Picture-in-Picture of Android N, it is available for Android TV as of now, and there’s no mention about the Android Smartphone or tablet PC scenario. Using picture-in-picture, you can launch a small window on top of the main phone interface in use. The Recents Menu is the main feature that allows multitasking in Android OS. This feature has received some cool optimizations in Android N release, thus making multi-tasking an easy thing to accomplish. For instance, if you want to switch between the app you currently use and the app you used last, you can double-tap on the square. Like before, single-tap on the square will take you to the Recents menu, but this double-tap feature is quite useful.

2. Android N Features – Android Doze on Steroids
Android Doze Mode is receiving some extra optimizations in Android N release, making it one of the stunning Android N features. One of the problems of Android M’s Doze Mode is that it won’t work if your device is moving (for instance, if it’s in your pocket). However, in the Android N release, Doze Mode gets a two-tier system.
The first layer of Doze Mode kicks in if the device screen has been switched off for a while; it does not matter if that device is moving or not. So the benefits of Doze Mode even when the device is in your pocket, and is moving a bit. The second tier of Doze is quite powerful. If there is no movement for a longer period, the device is kicked into a deeper state of idleness, thus saving a lot of battery backup.
Doze has been one of the most effective features we’ve found in Android Marshmallow, especially with the possible tweaks. So, it has lots of hope on the two-tier system Doze is going to attain.

3. An All-New Settings Menu
Google has introduced a brand-new settings menu in Android N release and it’s one of the most expected features.
You might not see bigger changes when you open the settings menu, but the changes are subtly useful. For instance, you can find basic information along with the menu shortcut itself. If you want to know the name of the Wi-Fi network you’re connected to, it will be shown along with the Wireless & Networks Tab.
The settings menu also has a hamburger menu in it and can be changed from the left side of screen to get a slide showing major areas of settings. The option to get one of those sections without actually hitting the back-arrow button. Other changes in Settings menu of Android N release are the splitting of Sound and Notifications into two different setting areas and suggestions shown on top of settings menu. Altogether, navigating through the Settings part has become more easier.

4. Quick Reply, Bundled Notifications and Power Notification Control
Apart from the looks of Android N notification shades, there are some other cool features too. You might be familiar with the quick-reply feature seen in some Google apps that is, the option to reply to a message without having to open the specific application. Starting with Android N release, this feature can be implemented in all Android devices if the developer wants to. This quick reply feature is going to be a time-saver for many.
In addition, Android N introduces Bundled Notifications! For instance, if you have twenty notifications from the same app, they will be shown together. However, given that you need specific care, you can separate these notifications. It is also going to be a worthwhile feature to be seen in Android N release, given the practical uses.
In Android Developer, there’s a new feature called Power Notification Control, which can be found in the System UI Tuner section of Settings. If enabled, this feature allows you to set different level priorities to each app. It ranging from Level 0 to Level 5. If Level 5 importance is given to notifications of one app, all the notifications will be shown on the top and the app will be given full-screen interruption. On the contrary, if you give Level 0 importance, no notifications will be shown from the particular application. This way, you can control which all notifications are given the priorities. It also has an Auto-Priority mode. To change the priority of each notification, you can press and hold on the notification. In the upcoming sub-menu, you can select the desired priority level.
In short, with these three features, Android N Release will totally revamp the way you deal with your notifications. It can also be said that Android notifications have become quite a lot smarter.

5. A Better Quick Settings Panel & Notification Shade
The notification shade and the Quick Settings panel of Android N have received some cool changes, When you pull the notification bar once, you will be seen the notifications along with a shorter set of quick settings button. You can see buttons for Wifi, Bluetooth, Battery, Flashlight etc. These icons can be changed according to your requirements.
In the right side, you can see an arrow, pressing which will bring the complete Quick Settings panel. In addition to it, you have better customization of Quick Settings. Without opening a menu page, you can re-organize or remove the tiles in Quick Settings page. Well, these features are quite convenient from the productivity point of view.

6. Data Saver and Call Blocking
These two features are definitely intended for the practical Android user. While the Data Saver helps you to save the bandwidth while browsing web, Call Blocking will help you to get rid of unwanted callers. The Data Saver works just as the Battery Saver Mode. When you are about to reach the predetermined FUP limit of cellular data, Data Saver will be turned on, thus saving your bandwidth. Talking of the Call Blocking feature, it is effective in the whole device. If one number has been blocked from calling you, there are little chances that it will have access to other apps such as Hangouts.

7. Better Support for Physical Keyboard
Better support for Physical keyboards. That is, when you have connected a Bluetooth-based keyboard, you can have easy access to keyboard shortcuts. You have to press Alt+/ to get the list of keyboard shortcuts. These shortcuts are very useful when you are using your Smartphone for big needs, such as writing.

8. An All-New Google Keyboard
Quite recently, Google had released a fully-revamped version of the official Google Keyboard. This new keyboard has been set as the default keyboard in Android N Release. It consists of a handful of features, the lack of which had created a bad impression among many users. First of all, the Google Keyboard has a one-handed mode, which gives you a better typing experience, especially with a bigger phone screen. Secondly, it’s having a set of options for customization. You can enable key-boarders, adjust the height of keyboard depending on the length of your finger and have a specialized keyboard for typing numbers. It also has a collection of 14 colour themes in it. Can pick one, depending on your taste and feel. It’s all about the keyboard, and you’re going to have a superb keyboard experience with the Android N stock keyboard.

9. The Miscellaneous Features
We have actually mentioned the most significant and obvious Android N features. Apart from these, there are some other features — seemingly simple, but worthwhile.

  • Emergency information on lock screen. Without really unlocking the device, you can access this information. The possibly useful information includes your name, blood group, address etc.
  • Android Beta Program has become quite simple and anyone can sign up for the program. Developer previews latest to the device, Over the Air.
    Clear All button in Recents Menu (We’ve been seeing this feature in custom Android ROMS)
  • Quick replies from the Lock Screen itself, given you set the privacy-oriented stuff in right way.
  • Google has replaced the wallpaper collection with another cool set.
    Starting from Developer, Android Pay is supported and available in the country and can be used for the payments.
  • In addition, along with Android N Developer, Android Public Beta has also been launched on the new version comparatively safer.


“What’s a Universal Windows Platform (UWP) app?”

If you are new to the Windows platform or coming from the worlds of .NET, Windows Forms or Silverlight, you might be wondering with ‘what UWP app actually is’. As a famous book once said, “Don’t panic!” Everything will soon become clear.
A Universal Windows Platform (UWP) app is a Windows experience that is built upon the Universal Windows Platform (UWP), which was first introduced in Windows 8 as the Windows Runtime. At the core of UWP apps is the idea that users want their experiences to be mobile across ALL their devices, and they want to use whatever device is most convenient or productive for the task at hand.

Windows 10 makes it easier to develop apps for the UWP with just one API set, one app package, and one store to reach all Windows 10 devices – PC, tablet, phone, Xbox, HoloLens, Surface Hub and more. It’s easier to support a number of screen sizes, and also a variety of interaction models, whether it be touch, mouse and keyboard, a game controller, or a pen. The bottom line: You can spend your time working with familiar programming languages and APIs, all in single project, and have the very same code run on the huge range of Windows hardware that exists today.

So, what exactly is a UWP app?
What makes a UWP app special?
Here are some of the characteristics that make UWP apps on Windows 10 different. You target device families, not an OS. A device family identifies the APIs, system characteristics, and behaviors that you can expect across devices within the device family. It also determines the set of devices on which your app can be installed from the store. Apps are packaged and distributed using the .AppX packaging format. All UWP apps are distributed as an AppX package. This provides a trustworthy installation mechanism and ensures that your apps can be deployed and updated seamlessly.

There’s one store for all devices.
After you register as an app developer, you can submit your app to the store and make it available on all device families, or only those you choose. You submit and manage all your apps for Windows devices in one place.
There’s a common API surface across device families.
The Universal Windows Platform (UWP) core APIs are the same for all Windows device families. If your app uses only the core APIs, it will run on any Windows 10 device.
Extension SDKs make your app light up on specialized devices.
Extension SDKs add specialized APIs for each device family. If your app is intended for a particular device family, you can make it light up by using these APIs. You can still have one app package that runs on all devices by checking what device family your app is running on before calling an extension API.

Adaptive Controls and input
UI elements use effective pixels (see Responsive design 101 for UWP apps), so they automatically adapt themselves based on the number of screen pixels available on the device. And they work well with multiple types of input such as keyboard, mouse, touch, pen, and Xbox One controllers. If you need to further tailor your UI to a specific screen size or device, new layout panels and tooling help you adapt your UI to the devices your app may run on.


Use a language you already know
You can create UWP apps using the programming languages you’re most familiar with, like C# or Visual Basic with XAML, JavaScript with HTML, or C++ with DirectX and/or Extensible Application Markup Language (XAML). You can even write components in one language and use them in an app that’s written in another language. UWP apps use the Windows Runtime, a native API built into the operating system. This API is implemented in C++ and supported in C#, Visual Basic, C++, and JavaScript in a way that feels natural for each language.
Microsoft Visual Studio 2015 provides a UWP app template for each language that lets you create a single project for all devices. When your work is finished, you can produce an app package and submit it to the Windows Store from within Visual Studio to get your app out to customers on any Windows 10 device.

UWP apps come to life on Windows
On Windows, your app can deliver relevant, real-time info to your users and keep them coming back for more. In the modern app economy, your app has to be engaging to stay at the front of your users’ lives. Windows provides you with lots of resources to help keep your users returning to your app:
Live tiles and the lock screen show contextually relevant and timely info at a glance.
Push notifications bring real-time, breaking alerts to your user’s attention when they’re needed. The Action Center is a place where you can organize and display notifications and content that users need to take action on. Background execution and triggers bring your app to life just when the user needs it. Your app can use voice and Bluetooth LE devices to help users interact with the world around them. Finally, you can use roaming data and the Windows Credential Locker to enable a consistent roaming experience across all of the Windows screens where users run your app. Roaming data gives you an easy way to store a user’s preferences and settings in the cloud, without having to build your own sync infrastructure. And you can store user credentials in the Credential Locker, where security and reliability are the top priority.

Monetize your app your way
On Windows, you can choose how you’ll monetize your app—across phones, tablets, PCs, and other devices. We give you a number of ways to make money with your app and the services it delivers. All you need to do is choose the one that works best for you:
A paid download is the simplest option. Just name your price.
Trials give you a great way to let users try your app before buying it, providing easier discoverability and conversion than the more traditional “freemium” options.
In-app purchase offers you the most flexibility for monetizing your app.
For a more detailed look at the UWP, read the Guide to Universal Windows Platform apps.
Guide to Universal Windows Platform (UWP) apps (For Windows 8.x articles, see the archive)
In this guide, you’ll learn about:
What a device family is, and how to decide which one to target. New UI controls and panels that allow you to adapt your UI to different device form factors.How to understand and control the API surface that is available to your app.
Windows 8 introduced the Windows Runtime (WinRT), which was an evolution of the Windows app model. It was intended to be a common application architecture.
When Windows Phone 8.1 became available, the Windows Runtime was aligned between Windows Phone 8.1 and Windows. This enabled developers to create Universal Windows 8 apps that target both Windows and Windows Phone using a shared codebase.
Windows 10 introduces the Universal Windows Platform (UWP), which further evolves the Windows Runtime model and brings it into the Windows 10 unified core. As part of the core, the UWP now provides a common app platform available on every device that runs Windows 10. With this evolution, apps that target the UWP can call not only the WinRT APIs that are common to all devices, but also APIs (including Win32 and .NET APIs) that are specific to the device family the app is running on. The UWP provides a guaranteed core API layer across devices. This means you can create a single app package that can be installed onto a wide range of devices. And, with that single app package, the Windows Store provides a unified distribution channel to reach all the device types your app can run on.
Because your UWP app runs on a wide variety of devices with different form factors and input modalities, you want it to be tailored to each device and be able to unlock the unique capabilities of each device. Devices add their own unique APIs to the guaranteed API layer. You can write code to access those unique APIs conditionally so that your app lights up features specific to one type of device while presenting a different experience on other devices. Adaptive UI controls and new layout panels help you to tailor your UI across a broad range of screen resolutions.

Device families

Windows 8.1 and Windows Phone 8.1 apps target an operating system (OS): either Windows, or Windows Phone. With Windows 10 you no longer target an operating system but you instead target your app to one or more device families. A device family identifies the APIs, system characteristics, and behaviors that you can expect across devices within the device family. It also determines the set of devices on which your app can be installed from the Store. Here is the device family hierarchy.


A device family is a set of APIs collected together and given a name and a version number. A device family is the foundation of an OS. PCs run the desktop OS, which is based on the desktop device family. Phones and tablets, etc., run the mobile OS, which is based on the mobile device family and so on.
The universal device family is special. It is not, directly, the foundation of any OS. Instead, the set of APIs in the universal device family is inherited by child device families. The universal device family APIs are thus guaranteed to be present in every OS and on every device.
Each child device family adds its own APIs to the ones it inherits. The resulting union of APIs in a child device family is guaranteed to be present in the OS based on that device family, and on every device running that OS. One benefit of device families is that your app can run on any, or even all, of a variety of devices from phones, tablets, desktop computers, Surface Hubs, Xbox consoles and HoloLens. Your app can also use adaptive code to dynamically detect and use features of a device that are outside of the universal device family. The decision about which device family (or families) your app will target is yours to make. And that decision impacts your app in these important ways. It determines:
The set of APIs that your app can assume to be present when it runs (and can therefore call freely).The set of API calls that are safe only inside conditional statements.
The set of devices on which your app can be installed from the Store (and consequently the form factors that you need to consider).

There are two main consequences of making a device family choice: the API surface that can be called unconditionally by the app, and the number of devices the app can reach. These two factors involve tradeoffs and are inversely related. For example, a UWP app is an app that specifically targets the universal device family, and consequently is available to all devices. An app that targets the universal device family can assume the presence of only the APIs in the universal device family (because that’s what it targets). Other APIs must be called conditionally. Also, such an app must have a highly adaptive UI and comprehensive input capabilities because it can run on a wide variety of devices. A Windows mobile app is an app that specifically targets the mobile device family, and is available to devices whose OS is based on the mobile device family (which includes phones, tablets, and similar devices). A mobile device family app can assume the presence of all APIs in the mobile device family, and its UI has to be moderately adaptive. An app that targets the IoT device family can be installed only on IoT devices and can assume the presence of all APIs in the IoT device family. That app can be very specialized in its UI and input capabilities because you know that it will run only on a specific type of device.

UI and universal input
A UWP app can run on many different kinds of devices that have different forms of input, screen resolutions, DPI density, and other unique characteristics. Windows 10 provides new universal controls, layout panels, and tooling to help you adapt your UI to the devices your app may run on. For example, you can tailor the UI to take advantage of the difference in screen resolution when your app is running on a desktop computer versus on a mobile device. Some aspects of your app’s UI will automatically adapt across devices. Controls such as buttons and sliders automatically adapt across device families and input modes. Your app’s user-experience design, however, may need to adapt depending on the device the app is running on. For example, a photos app should adapt the UI when running on a small, hand-held device to ensure that usage is ideal for single-hand use. When the photos app is running on a desktop computer, the UI should adapt to take advantage of the additional screen space.
Windows helps you target your UI to multiple devices with the following features:
Universal controls and layout panels help you to optimize your UI for the screen resolution of the device. Common input handling alToolinglows you to receive input through touch, a pen, a mouse, or a keyboard, or a controller such as a Microsoft Xbox controller
Tooling helps you to design UI that can adapt to different screen resolutions
Adaptive scaling adjusts to resolution and DPI differences across devices.

Universal controls and layout panels
Windows 10 includes new controls such as the calendar and split view. The pivot control, which was previously available only for Windows Phone, is also now available for the universal device family.
Controls have been updated to work well on larger screens, adapt themselves based on the number of screen pixels available on the device, and work well with multiple types of input such as keyboard, mouse, touch, pen and controllers such as the Xbox controller.
You may find that you need to adapt your overall UI layout based on the screen resolution of the device your app will be running on. For example, a communication app running on the desktop may include a picture-in-picture of the caller and controls well suited to mouse input:


However, when the app runs on a phone, because there is less screen real-estate to work with, your app may eliminate the picture-in-picture view and make the call button larger to facilitate one-handed operation:


To help you adapt your overall UI layout based on the amount of available screen space, Windows 10 introduces adaptive panels and design states.

Design adaptive UI with adaptive panels
Layout panels give sizes and positions to their children, depending on available space. For example, StackPanel orders its children sequentially (horizontally or vertically). Grid is like a CSS grid that places its children into cells.
The new RelativePanel implements a style of layout that is defined by the relationships between its child elements. It’s intended for use in creating app layouts that can adapt to changes in screen resolution. The RelativePanel eases the process of rearranging elements by defining relationships between elements, which allows you to build more dynamic UI without using nested layouts.
In the following example, blueButton will appear to the right of textBox1 regardless of changes in orientation or layout, and orangeButton will appear immediately below, and aligned with, blueButton—even as the width oftextBox1 changes as text is typed into it. It would previously have required rows and columns in a Grid to achieve this effect, but now it can be done using far less markup.

<RelativePanel> <TextBox x:Name=”textBox1″ Text=”textbox” Margin=”5″/> <Button x:Name=”blueButton” Margin=”5″ Background=”LightBlue” Content=”ButtonRight” RelativePanel.RightOf=”textBox1″/> <Button x:Name=”orangeButton” Margin=”5″ Background=”Orange” Content=”ButtonBelow” RelativePanel.RightOf=”textBox1″ RelativePanel.Below=”blueButton”/></RelativePanel>

Use visual state triggers to build UI that can adapt to available screen space
Your UI may need to adapt to changes in window size. Adaptive visual states allows you to change the visual state in response to changes in the size of the window.
StateTriggers define a threshold at which a visual state is activated, which then sets layout properties as appropriate for the window size that triggered the state change.

In the following example, when the window size is 720 pixels or more in width, the visual state named wideView is triggered, which then arranges the Best-rated games panel to appear to the right of, and aligned with the top of, the Top free games panel.

When the window is less than 720 pixels, the narrowView visual state is triggered because the wideView trigger is no longer satisfied and so no longer in effect. The narrowView visual state positions the Best-rated games panel below, and aligned with the left of, the Top paid games panel:


Here is the XAML for the visual state triggers described above. The definition of the panels, alluded to by “…” below, has been removed for brevity.
<Grid Background=”{ThemeResource ApplicationPageBackgroundThemeBrush}”>
<VisualState x:Name=”wideView”>
<AdaptiveTrigger MinWindowWidth=”720″ />
<Setter Target=”best.(RelativePanel.RightOf)” Value=”free”/>
<Setter Target=”best.(RelativePanel.AlignTopWidth)” Value=”free”/>
<VisualState x:Name=”narrowView”>
<Setter Target=”best.(RelativePanel.Below)” Value=”paid”/>
<Setter Target=”best.(RelativePanel.AlignLeftWithPanel)” Value=”true”/>
<AdaptiveTrigger MinWindowWidth=”0″ />


By default, you’ll probably want to target the broadest possible device family. When you’re ready to see how your app looks and lays out on a particular device, use the device preview toolbar in Visual Studio to preview your UI on a small or medium mobile device, on a PC, or on a large TV screen. That way you can tailor and test your adaptive visual states:

You don’t have to make a decision up front about every device type that you’ll support. You can add an additional device size to your project later.

Adaptive scaling
Windows 10 introduces an evolution of the existing scaling model. In addition to scaling vector content, there is a unified set of scale factors that provides a consistent size for UI elements across a variety of screen sizes and display resolutions. The scale factors are also compatible with the scale factors of other operating systems such as iOS and Android. This makes it easier to share assets between these platforms.
The Store picks the assets to download based in part of the DPI of the device. Only the assets that best match the device are downloaded.

Common input handling
You can build a Universal Windows app using universal controls that handle various inputs such as mouse, keyboard, touch, pen, and controller (such as the Xbox controller). Traditionally, inking has been associated only with pen input, but with Windows 10, you can ink with touch on some devices, and with any pointer input. Inking is supported on many devices (including mobile devices) and can easily be incorporated with a just few lines of code.
The following APIs provide access to input:
CoreIndependentInputSource is a new API that allows you to consume raw input on the main thread or a background thread.
PointerPoint unifies raw touch, mouse, and pen data into a single, consistent set of interfaces and events that can be consumed on the main thread or background thread by using CoreInput.
PointerDevice is a device API that supports querying device capabilities so that you can determine what input modalities are available on the device.
The new InkCanvas XAML control and InkPresenter Windows Runtime APIs allow you to access ink stroke data.

Writing Code
Your programming language options for your Windows 10 project in Visual Studio include Visual C++, C#, Visual Basic, and JavaScript. For Visual C++, C#, and Visual Basic, you can use XAML for a full-fidelity, native UI experience. For Visual C++ you can choose to draw with DirectX either instead of or as well as using XAML. For JavaScript, your presentation layer will be HTML, and HTML is of course a cross-platform web standard. Much of your code and UI will be universal and it will run the same way everywhere. But for code tailored to particular device families, and for UI tailored to particular form factors, you’ll have the option to use adaptive code and adaptive UI. Let’s look at these different cases.

Calling an API that’s implemented by your target device family
Whenever you want to call an API, you’ll need to know whether the API is implemented by the device family that your app is targeting. If in doubt, you can look it up in the API reference documentation. If you open the relevant topic and look at the Requirements section, you’ll see what the implementing device family is. Let’s say that your app is targeting version 10.0.x.0 of the universal device family and you want to call members of the Windows.UI.Core.SystemNavigationManager class. In this example, the device family is “Universal”. It’s a good idea to further confirm that the class members that you want to call are also within your target, and in this case they are. So in this example, you now know that the APIs are guaranteed to be present on every device that your app can be installed on, and you can call the APIs in your code just like you normally would.
Windows.UI.Core.SystemNavigationManager.GetForCurrentView().BackRequested += TestView_BackRequested;
As another example, imagine that your app is targeting version 10.0.x.0 of the Xbox device family, and the reference topic for an API that you want to call says that the API was introduced in version 10.0.x.0 of the Xbox device family. In that case, again, the API is guaranteed to be present on every device that your app can be installed on. So you would be able to call that API in your code in the normal way.

Note that Visual Studio’s IntelliSense will not recognize APIs unless they are implemented by your app’s target device family or any extension SDKs that you have referenced. Consequently, if you haven’t referenced any extension SDKs, you can be sure that any APIs that appear in IntelliSense must therefore be in your target device family and you can call them freely.
Calling an API that’s NOT implemented by your target device family. There will be cases when you want to call an API, but your target device family is not listed in the documentation. In that case you can opt to write adaptive code in order to call that API. Writing adaptive code with the ApiInformation class
There are two steps to write adaptive code. The first step is to make the APIs that you want to access available to your project. To do that, add a reference to the extension SDK that represents the device family that owns the APIs that you want to conditionally call. See Extension SDKs.
The second step is to use the Windows.Foundation.Metadata.ApiInformation class in a condition in your code to test for the presence of the API you want to call. This condition is evaluated wherever your app runs, but it evaluates to true only on devices where the API is present and therefore available to call.
If you want to call just a small number of APIs, you could use the ApiInformation.IsTypePresent method like this.

// Note: Cache the value instead of querying it more than once.
bool isHardwareButtonsAPIPresent = Windows.Foundation.Metadata.ApiInformation.IsTypePresent
if (isHardwareButtonsAPIPresent)
Windows.Phone.UI.Input.HardwareButtons.CameraPressed += HardwareButtons_CameraPressed;
In this case we can be confident that the presence of the HardwareButtons class implies the presence of the CameraPressed event, because the class and the member have the same requirements info. But in time, new members will be added to already-introduced classes, and those members will have later “introduced in” version numbers. In such cases, instead of using IsTypePresent, you can test for the presence of individual members by using IsEventPresent, IsMethodPresent, IsPropertyPresent, and similar methods. Here’s an example.
bool isHardwareButtons_CameraPressedAPIPresent = Windows.Foundation.Metadata.ApiInformation.IsEventPresent (“Windows.Phone.UI.Input.HardwareButtons”, “CameraPressed”);
The set of APIs within a device family is further broken down into subdivisions known as API contracts. You can use the ApiInformation.IsApiContractPresent method to test for the presence of an API contract. This is useful if you want to test for the presence of a large number of APIs that all exist in the same version of an API contract.
bool isWindows_Devices_Scanners_ScannerDeviceContract_1_0Present = Windows.Foundation.Metadata.ApiInformation.IsApiContractPresent (“Windows.Devices.Scanners.ScannerDeviceContract”, 1, 0);
Win32 APIs in the UWP
A UWP app or Windows Runtime Component written in C++/CX has access to the Win32 APIs that are part of the UWP. These Win32 APIs are implemented by all Windows 10 device families. Link your app with Windowsapp.lib. Windowsapp.lib is an “umbrella” lib that provides the exports for the UWP APIs. Linking to Windowsapp.lib will add to your app dependencies on dlls that are present on all Windows 10 device families. For the full list of Win32 APIs available to UWP apps, see API Sets for UWP apps and Dlls for UWP apps.

User experience
A Universal Windows app allows you to take advantage of the unique capabilities of the device on which it is running. Your app can make use of all of the power of a desktop device, the natural interaction of direct manipulation on a tablet (including touch and pen input), the portability and convenience of mobile devices, the collaborative power of Surface Hub, and other devices that support UWP apps.
Good design is the process of deciding how users will interact with your app, as well as how it will look and function. User experience plays a huge part in determining how happy people will be with your app, so don’t skimp on this step. Design basics introduce you to designing a Universal Windows app. See the Introduction to Universal Windows Platform (UWP) apps for designers for information on designing UWP apps that delight your users. Before you start coding, see the device primer to help you think through the interaction experience of using your app on all the different form factors you want to target.


In addition to interaction on different devices, plan your app to embrace the benefits of working across multiple devices. For example:
Use cloud services to sync across devices. Learn how to connect to web services in support of your app experience.
Consider how you can support users moving from one device to another, picking up where they left off. Include notifications and in-app purchases in your planning. These features should work across devices.
Design your workflow using Navigation design basics for UWP apps to accommodate mobile, small-screen, and large-screen devices. Lay out your user interface to respond to different screen sizes and resolutions.
Consider whether there are features of your app that don’t make sense on a small mobile screen. There may also be areas that don’t make sense on a stationary desktop machine and require a mobile device to light up. For example, most scenarios around location imply a mobile device.
Consider how you’ll accommodate multiple input modalities. See the Guidelines for interactions to learn how users can interact with your app by using Cortana, Speech, Touch interactions, the Touch keyboard and more.
See the Guidelines for text and text input for more tradition interaction experiences.

Submit a Universal Windows app through your Dashboard
The new unified Windows Dev Center dashboard lets you manage and submit all of your apps for Windows devices in one place. New features simplify processes while giving you more control. You’ll also find detailed analytic reportscombined payout details, ways to promote your app and engage with your customers, and much more.
See Using the unified Windows Dev Center dashboard to learn how to submit your apps for publication in the Windows Store.

To Get Samples in UWP application development

Tools for developing Universal applications: Get set up
It’s easier than you think to get going. Follow these instructions and start creating Universal Windows Platform (UWP) apps for Windows 10.

Are you a Mac user? Or maybe you don’t want to install anything on your PC just yet? Try the web-based virtual machines set up for Build2016’s coding challenges

1. Get Windows 10
To develop UWP apps, you need the latest version of Windows.
Get Windows 10 online
Are you an MSDN subscriber? You can get ISO downloads here:
Get Windows 10 from MSDN Subscriber Downloads

2. Download or update Visual Studio
Microsoft Visual Studio 2015 helps you design, code, test, and debug your apps.
If you don’t already have Visual Studio 2015, click this link to install the free Microsoft Visual Studio Community 2015. This download includes device and phone simulators for testing your apps:
Download Windows 10 developer tools
When you install Visual Studio, use the custom option and make sure all Universal Windows App Development Tools options are selected, as shown here.

3. Enable your device for development
It’s important to test your UWP apps on a real PCs and phones. Before you can deploy apps to your PC or Windows Phone, you have to enable it for development.
For detailed instructions, see Enable your device for development.

4. Register as an app developer
You can start developing apps now, but before you can submit them to the store, you need a developer account.
To get a developer account, go to the Sign up page.

What’s next?
After you’ve installed the tools and gotten a developer license or a developer account, use our tutorials to create your first app:
Create your first app tutorials
Want more tools and downloads?
For the complete list of tools and downloads, see Downloads.


For a complete list of video Tutorials on how to develop Windows Universal applications.

For Sample Applications You can Visit


What is Magento?


Magento is most widely used open source eCommerce software and platform written in PHP atop the Zend framework. It’s also an object-oriented PHP Framework that can be used to develop modern, dynamic web applications that tap into Magento’s powerful eCommerce features.The software was originally developed by Varien Inc which is now known as Magento Inc.

Why Choose Magento as eCommerce Development Platform?
What do Ford, Warby Parker, Olympus, Samsung and Nike have in common?

All their websites are built on the Magento platform. These big companies were definitely not looking for the cheapest or simplest solutions for their ecommerce systems. When a platform is favoured by such big names, it is a guarantee for a secure commercial system, which is capable of selling your products effectively online.

“Everyone uses it”


Yes, we know that this argument may lead to false conclusions. It well may be that something is agreed on by the majority while it is not necessarily the best option. But now we are talking about ecommerce and business results.
It is a fact that at the moment Magento has a market share of 32% among the 30 most popular ecommerce platforms, so there is hardly any significant competitor in that respect.

More reasons why this platform is the ideal choice.

  •  Magento is secure:
    Safety is not an option, it is a must in an environment where hackers try to crack databases every minute.
    Luckily, Magento is always tested by a vast number of developers. The whole system is constantly watched by experts (e.g. ethical hackers) searching for defects and eliminating vulnerability by uploading patches.
  • Professional technological support and huge knowledge base:
    The flexibility and openness of the system is basically the result of this philosophy. A couple of years ago Magento was acquired by eBay. Just recently it got independent of eBay, but it has extremely strong and loyal developer community, which had evolved well before its acquisition by eBay,is still passionately working on its development.
  • The Leatherman of ecommerce:
    The system has a remarkably rich administrative area, which gives you the possibility to modify everything according to your needs – such as product features and categories or content targeted at different customer groups.
  • Impressive, responsive design:
    There are many solutions on the market that have “forgotten” to adapt to the most recent market needs.
    Since 2014, more and more people use the internet on their tablets and smartphones, and an increasing proportion of purchases are done on mobile devices. An online store can compete in such an environment successfully if it has a responsive layout, which means that it offers an interface to its shoppers, which is easy to handle on all platforms from tablets and smartphones to PCs and netbooks.
  • Supports SEO:
    It probably has the most advanced SEO toolkit among ecommerce platforms.

Why not to use magento?

  • High hiring charges
    Magento developers are rare and difficult to find. You really need to put an effort to unearth good team of Magento developers and designers. Particularly, it is difficult to find a good set of skills for web design field professionals i.e. designers, server side programmers and client side programmers. Plus, it has got a mixture of many tools and technologies that makes it complicated for a person to understand its working.
    Magento certified developer program has certainly helped in narrowing down skills search when it comes to hiring Magento developers however this would normally cost high.
  • Time consuming customized development.
    It is a complex system and not one that is easy to work with. Built on Zend framework and using MVC approach, customizing is not that easy as with other shopping carts.
    Any of your requests to do customization will take a good developer more time to bring changes.
  • Slowness
    Magento is relatively slow than other ecommerce solutions.
    One possible reason can be that Magento is not effectively written on Zend framework which makes it slow while running. On PHP, it does not work on standard 8mb but requires at least 20mb to work properly. An effective, well dedicated server might be one of the solutions.
    While Magento does offer some advantages and fulfill promises, for e.g. friendly SEO links and great third party integration, but on the other hand, it lacks fundamental things like complicacy which can turn life into a nightmare. Comparing from other ecommerce shopping cart solutions though, Magento is one of the best shopping cart solutions, but with new matured versions and firm productivity in the long run, it can be near perfect platform in future.

Magento Is Open Source. Open Source = Free!
True, Magento has 3 versions in total:
Magento Community Edition (free), Magento Enterprise Edition (paid)
Magento Go (paid & hosted on Magento’s servers)
Magento 2

Reference links:

Official website:




Resources and extentions marketplace:

Community and forum:


Tag Cloud

%d bloggers like this: