Metro-style apps

From Wikipedia, the free encyclopedia
  (Redirected from Metro-style app)
Jump to: navigation, search
Khan Academy, an example of a Metro-style app
Left: Traditional desktop app; elaborate and crowded even without contents
Right: Metro-style app; chiefly composed of contents only

Metro-style apps, officially known as Windows Store apps, is a class of mobile apps distributed via Windows Store for Microsoft Windows. These apps are unlike traditional Windows desktop software in terms of design, development, distribution and contents.

Look and feel[edit]

Anatomy of a traditional Windows program: These elements, collectively known as "chrome" were initially absent from Metro-style apps. When the reappeared later, they were highly curtailed.

Found in Windows, Mac OS and Linux, traditional desktop software could run inside windows with distinct borders. Their border could bear a title bar which displayed application title, a system menu, and optionally a set of maximize, minimize, close and help buttons. Their window could be resized horizontally and vertically. They are controlled by visible elements of user interface, including menus, toolbars, ribbons, scroll bars and window borders, which have become so elaborate in Windows Vista and Windows 7 that require specialized apps (such as Window Clippings) for taking screenshots.

In Windows 8, Metro-style apps do not run in windows. Either they occupy the entire screen or are snapped to one side, in which case they occupy the entire breath of screen but only part of its width. True to Microsoft's "Contents are the hero" slogan, Metro-style apps have no user interface chrome, i.e. no title bar, system menu, window borders or window control buttons. Even mandatory command interfaces like scroll bars are usually hidden at first. Metro-style apps do not have menus on their own windows; rather, elaborate menu are located on Settings charm.

Following criticism from customers, Microsoft gradually relaxed the no-chrome rule. In Windows 8.1, a title bar is present but hidden, unless users moves the mouse cursor to the top of the screen. Windows 10 introduced "Continuum" or "Tablet Mode". This mode is by default disabled on desktop computers and enabled on tablet computers, but desktop users can switch it on or off manually. When the Tablet Mode is off, Metro-style apps running on desktop computers may have sizable Windows and visible title bars. When the Tablet Mode is enabled, Metro-style apps revert to their Windows 8.1 nature and all desktop apps are maximized. Like Metro-style apps, they are forced to either occupy the whole screen or be snapped to one side.[1][2][3]

In addition to Continuum, Windows 10 removed the Settings charm in favor of a variation of the system menu called the "hamburger menu". Menu bars, window controls and the always-visible scroll bars, however, did not return and the window borders are but barely visible.

Distribution and licensing[edit]

Traditionally, Windows was an open operating system. Software could come from anywhere, including optical discs manufactured by their publishers and downloaded packages from the Internet. One could potentially run such app without the knowledge of any other soul in the world. Only components created by publisher are in charge of licensing, updating, maintaining or uninstalling them. Publishers have a free hand in choosing the licensing terms.

For most users, the only point of entry of Metro-style apps is Windows Store, which requires users to have an Internet connection and a Microsoft account. Thus, Microsoft always knows which apps any given user runs. Outside the 120 countries in which Windows Store works, users can neither develop nor have such apps. The publisher is always Microsoft, and Windows Store Service is the component in charge of installing, updating or uninstalling these apps. Metro-style apps may disappear from the user's computer if Microsoft so wishes. Also, Microsoft specifies the licensing terms. More specifically, developers must allow users to run their purchased applications on multiple devices.

There are only minor exceptions to this rule. Enterprises operating a Windows domain infrastructure may enter a contract with Microsoft that allows them to sideload their line-of-business Metro-style apps, circumventing Windows Store. Also, major web browser vendors such as Google and Mozilla Foundation are selectively exempted from this rule; they are allowed to circumvent Microsoft guidelines and Windows Store and run a Metro-style version of themselves if the user chooses to make their product the default web browser.[4][5]

Metro-style apps are the only third-party apps that run on Windows RT. Traditional third-party apps do not run on this operating system.

Multitasking[edit]

Before Windows 8, computer programs were identified by their static computer icons. Windows taskbar was responsible for representing every app that had a window when they run. Metro-style apps, however, are identified by their "tile"s that can not only show their icon, but also other dynamic contents. They do not show up on Windows taskbar when they run. Instead, they appear on a dedicated app switcher on the left side of the screen.[6]

Lifecycle[edit]

Before Metro-style apps, application software on personal computers were started and ended with user command. Metro-style apps, however, never truly start or end on user's command. Since they have dynamic tiles, they are running even before the user has requested. In addition, issuing a close command does not end their process or free the memory they have occupied: A Windows app manager automatically stops and terminates hung, inactive and closed apps independent of user's wish.

Development[edit]

Windows Runtime[edit]

Traditionally, software were developed using Windows API (also known as win32). Software had access to the API with no arbitrary restrictions. Developers were free to choose their own programming language and development tools. Metro-style apps, however, are developed using Windows Runtime (WinRT). Calling forbidden API disqualifies the app from appearing on Windows Store.

Not every app using WinRT is a Metro-style app; a limited subset of WinRT is available for desktop apps.[7]

Metro-style apps can only be developed using Microsoft's own development tools. Despite claims of interoperability between multiple languages, a practical attempt to implement independent binding to Windows Runtime is doomed to fail. According to Allen Bauer, Chief Scientist of Embarcadero Technologies, there are APIs that every computer program must call but Microsoft has forbidden them, except when the call come from Microsoft's own Visual C++ runtime.[8][9][10]

Universal apps[edit]

Apps developed to work intrinsically on smartphones, desktop computers, video game consoles and HoloLens are called universal apps'. This is accomplished by using the universal app API, first introduced in Windows 8.1 and Windows Phone 8.1. Visual Studio 2013 with Update 2 could be used to develop these apps.[11][12] Windows 10 introduced Universal Windows Platform 10 for developing universal apps. Apps that take advantage of this platform are developed with Visual Studio 2015. Older Metro-style apps for Windows 8.1, Windows Phone 8.1 or for both (universal 8.1) need modifications to migrate to this platform.[13][14]

UWP is not distinct from WinRT; rather, it is an extension of it. Universal apps no longer indicate having been written for specific OS in their manifest; instead, they target one or more device family, e.g. desktop, mobile, Xbox or Internet of Things (IoT). They react to the capabilities that become available to the device. A universal app may run on both a small mobile phone and a tablet and provide suitable experience. The universal app running on the mobile phone may start behaving the way it would on a tablet when the phone is connected to a monitor or a suitable docking station.[15]

APPX[edit]

APPX is the file format used to distribute and install Metro-style apps on both desktop and phone editions of Windows.[16] It also replaces the XAP file format on Windows Phone 8.1, in an attempt to unify the distribution of applications for Windows Phone and Windows 8.[17] APPX File is only compatible with Windows Phone 8.1 and later versions[18]

The Windows Phone Marketplace allows users to download APPX files to an SD Card and install them manually. In contrast, sideloading is prohibited on Windows 8, unless the user has a developers license or in a business domain.[19]

Security[edit]

Windows software have power to use and change their ecosystem however they want. Windows user account rights, User Account Control and antivirus software attempt to keep this ability in check and notify the user when the app tries to use it for malicious purposes. Metro-style apps, however, are sandboxed and cannot permanently change a Windows ecosystem. They need permission to access hardware devices such as web cam and microphone and their file system access is restricted to user folders, such as My Documents. Microsoft further moderates these apps and may remove them if they are discovered to have security or privacy issues.[20][21]

References[edit]

  1. ^ Seifert, Dan (29 July 2015). "The nine most important updates in Windows 10". The Verge. Vox Media. 
  2. ^ Warren, Tom (28 July 2015). "Windows 10 review". The Verge. Vox Media. 
  3. ^ Bott, Ed (28 July 2015). "Windows 10: A new beginning". ZDNet. CBS Interactive. 
  4. ^ Bott, Ed (15 January 2014). "Google’s latest Chrome release tries to replace the Windows 8 desktop". ZDNet. CBS Interactive. Under Microsoft’s rules, Metro-style browsers are able to sidestep requirements that apply to all other apps, including the mandate to be distributed through the Windows Store 
  5. ^ Branscombe, Mary (27 March 2012). "Windows 8 browsers: the only Metro apps to get desktop power". TechRadar. Future Publishing. Retrieved 17 January 2014. 
  6. ^ "Switch between open apps". Microsoft Surface manual. Microsoft. Retrieved 31 December 2013. 
  7. ^ "Windows Runtime APIs for desktop apps". MSDN. Microsoft. Retrieved 31 July 2015. 
  8. ^ Grange, Eric (23 August 2012). "Why no native WinRT support in Delphi XE3?". DelphiTools. Retrieved 13 January 2014. 
  9. ^ Anderson, Tim (23 August 2012). "Third-party compilers locked out of Windows Runtime development". Tim Anderson's ITWriting. Retrieved 13 January 2014. 
  10. ^ Bauer, Allen (22 August 2012). "HTML5 Builder". Embarcadero Developer Network. Embarcadero Technologies. Retrieved 13 January 2014. 
  11. ^ Waheed, Ahmed (2 March 2015). "A first look at the Windows 10 universal app platform". Microsoft Gulf Technical Community blog. Microsoft. 
  12. ^ Appel, Rachel (September 2014). "Modern Apps : Build Universal Apps for the Windows Platform". MSDN Magazine (Microsoft) 29 (9). 
  13. ^ "Migrate apps to the Universal Windows Platform (UWP)". MSDN. Microsoft. Retrieved 31 July 2015. 
  14. ^ "Move from Windows Runtime 8.x to UWP". Windows Developer Center. Microsoft. Retrieved 31 July 2015. 
  15. ^ "Guide to Universal Windows Platform (UWP) apps". Windows Developers Center. Microsoft. Retrieved 31 July 2015. 
  16. ^ App packages and deployment (Windows Store apps) (Windows)
  17. ^ Windows Phone 8.1 includes universal apps and lots of feature updates - The Verge
  18. ^ How to Install Appx File on Windows Phone 8.1
  19. ^ How To Sideload Modern Apps on Windows 8 - HowToGeek
  20. ^ Ziegler, Chris (17 May 2012). "Microsoft talks Windows Store features, Metro app sandboxing for Windows 8 developers". The Verge. Vox Media. Retrieved 12 January 2013. 
  21. ^ Rosoff, Matt (9 February 2012). "Here's Everything You Wanted To Know About Microsoft's Upcoming iPad Killers". Business Insider. Retrieved 12 January 2013.