Microsoft unveiled new Windows 8 operating system and new development improvements on September 13, 2011, day one of the BUILD developer conference. Microsoft released a developer preview of Windows 8 for the developer community to download and start working with. This developer preview includes tools for building "metro style apps", such as Microsoft Windows SDK, Microsoft Visual Studio 11 Express Developer Preview and Microsoft Expression Blend 5 developer preview. Microsoft has shown a development roadmap at the BUILD conference over the course of 3 days.
Downloading & Installing Windows 8
Note: The size of the Windows 8 ISO file is 4.8 GB which requires a large DVD format. You cannot use the normal DVD format as it is around 4.3 to 4.4 GB size only. The best option is to use the USB flash drive which is of size 5 GB or higher. Information to install Windows 8 using USB drive can be found at http://liliputing.com/2011/09/how-to-install-windows-8-using-a-usb-flash-drive.html.
Fig 1 showing my old Dell laptop re-imaged with Windows 8 developer preview operating system and my Windows 7 laptop side by side.
Fig 2 showing my new Windows 8 start screen connected to my Twitter, Facebook, weather updates, blog updates and much more.
Windows 8 is the codename for the next version of the Microsoft Windows computer operating system following Windows 7. It adds support for ARM microprocessors in addition to the previously supported x86 microprocessors from Intel and AMD. A new Metro-style interface has been added that was designed for touchscreen input in addition to mouse, keyboard, and pen input. Its server version is codenamed Windows Server 8.
The cool feature is a new authentication method that allows users to sketch in three different places over the picture to login, instead of typing a password. Currently, I am using this feature to login to my machine.
Windows 8 contains a new user interface based on Microsoft’s design language named Metro. With the new change, the Start Menu was replaced in favor of the new Start Screen, where there are tiles that contain shortcuts to applications grouped by type, Metro style applications, and updating tiles as shown in the above Fig 1. Windows Explorer now uses a ribbon interface, similar to those used in Microsoft Office applications.
Observations of a Developer
The languages that are directly supported by Microsoft for writing applications for Windows 8 are JavaScript and HTML, Visual Basic, C++, and C#, but there are many third party compilers which allow application development for the platform, for example, Free Pascal allows writing Object Pascal applications.
Fig 3 showing the screenshot of the Windows 8 Platform and tools snatched from the build conference.
We all know about desktop apps. Coming to the new Metro style App model, Metro is a code name for a typography-based design language created by Microsoft. Microsoft’s "re-imagining" of Windows 8 is focused very heavily on a new, Metro-style touch-based interface. You can switch between the simple Metro interface and the traditional Windows desktop to fit whatever your needs are at that given moment.
Metro Style Application
Windows 8 represents Microsoft’s first official entry into the tablet space, and the Metro UI is how developers deliver unique multi-touch experiences to this new platform. WinRT is the OOP replacement for Win32. A Metro Style Application is a full screen application integrated according to user’s choice.
There are many features it integrates such as given below:
- Immersive and Fluid: Your Metro style apps fill the entire screen for an engaging experience and saving you from any distraction. Apps can adapt to a variety of form factors and screen resolutions, and can work on x86, x64, and ARM platforms.
- Engaging: Metro style apps engage users with the information they are interested in and the people they care about. Live tiles present activity updates to users at a glance and the Start screen shows off what apps are great at.
- Everywhere: Your apps are ready for you on any Windows 8 PC you use. When you sign in with your connected Microsoft account to a PC running Windows 8, your Metro style apps and settings go with you. You’ll also be signed in to all of the websites you were signed in to.
- Work Together: Metro style apps can communicate with each other in Windows 8, making it easier to search, share, and send content between them. So, if you want to send pictures in email, and they’re in different places like Facebook or on your hard drive, you can easily pick and send the ones you want.
- Always On: Metro style apps run and stay up to date even when the PC is on standby. When Windows comes out of standby, your apps don’t need time to catch up.
- Multitasking: While apps immerse your users in a full screen environment, Windows also makes it possible for them to multitask. The Snapped view allows users to do more than one thing at once while the Filled view allows users to snap one app and keep another app in the fill space.
Windows 8 Platform and tools
I think the below picture is a way more accurate picture of the Windows 8 platform architecture.
Information for Windows 8 Software Development
- Metro applications are now officially the first class applications that can fully leverage the touch features of Windows.
- Expression Blend 5 now supports editing HTML5, much like you use it for editing XAML.
- Support for Wide Variety of Hardware.
- The hardware support for Windows 8 seems really awesome. The demo features Windows 8 running on a variety of hardware devices
- New and improved features include:
- Multi monitor support with start button on all screens
- Hyper V Support for client
- USB 3 Support
- Hardware acceleration for all applications
- Malware detection in boot strap.
- A boot mode called “Cold Boot“ which is super fast
- Windows Live integration
- The whole suite of Windows Live services are neatly integrated with Windows 8.
- All the Windows Live applications (Mail, Calendar, Photos) are now developed in JavaScript/HTML5 and is native.
- You can connect multiple devices via Windows Live
- New APIs and Extension Points
- Charms: Apps can share charms, to inter-operate. For example, an “Insert Picture” dialog box can show you results from other applications that can handle the image/picture data type.
- Direct Compute API: Enables you to leverage the power of GPU in your applications
- Sensor Fusion API: A Single API for all your sensors like Accelerometer, magnetometer and gyroscope.
- To a great extent, your XAML assets can be reused across multiple devices – desktops, slates and phone
- Windows 8 Store
- Transparent approval process
- Developers can publish applications right from Visual Studio
- If you want to build a new Metro style app, you have four options to choose from:
- XAML and .NET (C# or VB). You don’t have to giving up too much in the .NET Framework (remember, you only give up what is forbidden by the Application Container), and you get access to WinRT APIs for sensor input and other system resources.
- XAML and C++. You can use your skills in XAML and C++ in order to leverage (or even extend) WinRT. Of course, you don’t get the benefit of the .NET Framework, but hey….some people like managing their own garbage collection.
- HTML and JavaScript. You can leverage the skills you have in UI layout, and make calls from JavaScript to WinRT for access to system resources, and sensor input. Which means you can now develop native Windows applications using JavaScript and HTML by accessing native WinRT APIs straight from JavaScript. This is particularly interesting because JavaScript development model suits a lot of cloud based applications, and now JS developers can develop first class Windows 8 applications.
- DirectX and C++. If you’re building an immersive game, you can use DirectX and access the device sensors and system resources through C++ and WinRT.
More on WinRT APIs, Metro, developer insights and sample code in the upcoming blogs.
This and the following Windows 8 articles and its contents are based on the first public developer preview of Windows 8, Visual Studio 2011 developer preview and Expression Blend 5 developer preview.
The best teacher is the one who suggests rather than dogmatizes, and inspires his listener with the wish to teach himself.
- Edward Bulwer-Lytton
Filed under: CodeProject, Part 1: My Experiments With Windows 8 – Getting started, Windows 8