Jul 082012
 

A double feature – two related posts in the same day!

The Essential Question

Following on from my earlier article on setting up a development environment for Windows Phone 7 development, the next obvious question to answer is: “what to build?”.

Never has there been a more appropriate time to ask this pivotal question, given the recent announcement of the Windows Phone 8, scheduled to be released around the time that Windows 8 (the Operating System) is due to launch.

Some Background

There’s a well documented gripe amongst the community at the perception that Microsoft has abandoned Silverlight; this seems to somewhat hold true. 

Conventional directions appear to send people away from Silverlight if they wish to adopt the Metro style interface. [ http://msdn.microsoft.com/en-us/library/windows/apps/hh465136.aspx ]

Yet, from the forums [ http://forums.create.msdn.com/forums/t/106054.aspx ] comes this quote from Mark Chamberlain [Microsoft]

All Windows Phone 7.x applications will run on Windows Phone 8, and the new Windows Phone 8 developer tools will support building applications for Windows Phone 7.x. This includes both Silverlight and XNA applications. Thus, application developers who wish to target both 7.x and 8.0 phones can build for 7.x.

I’ve attempted to find some concrete answers on what way to best design and build a Windows Phone application which will embrace the new phone and benefits which come with it.  Wisdom states that Silverlight is probably not the horse to back at this stage. 

What To Target?

Here’s some details about what to expect in Windows Phone 8:

Windows Phone 8 programming technologies include:

  • Windows 8 Metro UX (WinRT API) technology (if you are familiar with WP7 Silverlight app development, it is an easy transition to learn this).
  • DirectX/C++ native code development, for apps or games. You can port across pre-existing DirectX applications.
  • Standards-based HTML5 programming which can be surfaced in the app via the Web Browser control or as a web page using IE10

The key statement on the forum is this one:

An app built for 8.0 will not run in Windows Phone 7.x, but an app built for 7.x will run in Windows Phone 7 or 8.

Which means that you will be forced to decide whether you want to take advantage of the new functionality in Windows Phone 8 (thus abandoning Windows Phone 7) or to develop two different code bases (targeting WP7 and WP8 respectively).

Developers building applications using XAML/.NET will be able to reuse substantial amounts of their business logic code across Windows and Windows Phone

If you were to build for both WP7 and WP8, then it might be time to look at the Visual Studio 2012 Release Candidate.

Should you decide to target Windows Phone 8, it might be a good idea to wait for the Windows Phone 8 SDK which is rumoured to be released in late July 2012 (i.e. not too far away).  It seems inevitable than if you wish to build a Windows Phone application, you’ll want to upgrade to the latest development tools.

Visual Studio 2012 Release Candidate

image

Based on the above, I’m going to start looking at options to target Windows Phone 8 (in isolation) as well as options for a Windows Phone 7 and 8 dual target build.  The latter is probably going to be the most feasible in the short term, while we wait to hear about the next Windows Phone SDK.

A Look at the Release Candidate

Without the Windows Phone 8 SDK, it’s a little hard to know what to do right now, but the logical place to start is to have a look at the Visual Studio 2012 Release Candidate.  It’s a sure bet you’ll need it to any traction with the Windows Phone 8 SDK when it is launched.

I’ve previously done a quick review of the Release Candidate here.  Despite my better judgement, I’ve decided to install the RC on my primary laptop.  I’ve been previously burned by issues in upgrading to RTM editions from pre-release, so this is a calculated gamble.

July RC Update

While we’re at it – don’t forget the July patch which has been recently released.  [ http://www.microsoft.com/en-au/download/details.aspx?id=30178 ]

Product Comparison

Windows Phone development appears to be supported in all versions of Visual Studio 2012:
[ http://www.microsoft.com/visualstudio/11/en-us/products/compare ]

However, as of this writing, there’s no native support for Windows Phone applications in the current crop of Visual Studio 2012 RC editions. It’s likely we’ll have to wait a month for the SDK to come out. Check back in late July for more details.

Obligatory Rant

Here’s the kicker – yet again, Windows Phone development is the poor cousin in the developer tool community.  It is, again, a separate installation (via the SDK). 

It’s actually very poor form from Microsoft to continually ostracise the Phone developer community by not including Windows Phone as a component of the Visual Studio 2012 product proper. 

As if Windows Phone developers haven’t felt enough pain in recent years, with the continual dropping of support for legacy projects (yes, I’m talking about Windows Mobile editions that were dropped from Visual Studio 2010).

Conclusion

So the short answer is.. stay tuned.

References

Migrate/port a Windows Phone 7 app to a Metro style app
[ http://msdn.microsoft.com/en-us/library/windows/apps/hh465136.aspx ]

Recapping Windows Phone 8 developer news
[ http://windowsteamblog.com/windows_phone/b/wpdev/archive/2012/06/29/recapping-windows-phone-8-developer-news.aspx ]

Status update: Windows Phone 8 Developer Tools (2012.06.21)
[ http://forums.create.msdn.com/forums/t/106054.aspx ]

Visual Studio 2012 Release Candidate
[ http://www.microsoft.com/visualstudio/11/en-us ]

Visual Studio 2012 Release Candidate July 2012 Patch
[ http://www.microsoft.com/en-au/download/details.aspx?id=30178 ]

Visual Studio 2012 Product Comparisons
[ http://www.microsoft.com/en-au/download/details.aspx?id=30178 ]

Mar 012012
 

Recently Microsoft released a ‘Consumer Preview’ of their upcoming Windows 8 operating system. 
Today I downloaded a copy of the release and installed it into a virtual machine.

What follows are screenshots of the installation process, and some notes about the OS once it has finished installation.

Installation

The setup process is very similar to the previous operating system (Windows 7). 
Since I was installing to a virtual machine, I simply mounted the .iso (DVD image file) and started the VM, which kicked off the install process.

image

Initial bootloader setup

To begin, I selected defaults (US settings) and continued on to the setup.  I installed to a VM with a hard drive size of 80 GB memory and 4 GB of RAM.
The file expansion/copy process was very quick, faster even than the Windows 7 install.

Configuring

image

Loading..

There was a certain amount of time as the operating system detected and configured attached devices, etc. 
Since I have very few defined for the virtual machine, this did not take as long as I’ve heard other reports of.

Reboots

There were a few reboots before the main OS was loaded.  The initial state is a personalization assistant. 
I was quite amused by the colour ‘personalization’, which you can see I used in the below screenshots.

imageimage

Setting the Machine name and colour personalization

The first few settings deal with the identity of the new machine. 
Subsequent settings can be set with the ‘express’ option, or you may manually choose your settings.

imageimage

Details of Express Setup vs. Manual / Select Express or Custom

I’m always a fan of verbose settings, so I chose the manual configuration.

imageimage

Settings for Patching and Security / Information which gets sent to Microsoft

Many of the settings deal with setting up Windows Update along with other preferences. 
There are some privacy settings which you might want to take note of.

image

Even further communication/privacy settings

Given the focus on a more “app store” driven environment, there are some new settings which determine what kind of information is shared with applications.

image

Windows Live has been rebranded to Microsoft Online Services, and the former Live ID is now referred to as a “Microsoft account”. 
You can enable integration with your (former Live ID) account so that you can use the Microsoft “Windows Store” presumably to download or purchase apps for Metro (the new non-desktop mode) and other Desktop applications.

Note that you have the option not to use a registered account (the last option at the bottom of the screen).

Associating your ‘Microsoft Account’

 imageimage

imageimage

Signing In

image

Now that you’ve created an account, Windows will log you in for the first time.  This doesn’t take very long and you are presented with the (default?) Windows Metro interface.
For those of you familiar with the Windows Phone 7, this will be a slightly familiar interface, but slightly expanded.

image

Metro

We’ll come back to Metro in a bit.  Curious minds (like mine) might want to know what has happened to our more familiar desktop environment. 
No, it’s not been banished (yet); click on the “Desktop” icon at the bottom left hand side.

Desktop Mode

image 

Looks familiar enough.. except.. where’s the Start menu?

image

That’s a fairly significant change.  I plodded around the desktop looking for some sign of how to engage a menu.

Mystery Solved?

Naturally, I played with Task Bar settings (some changes there) before I (almost accidentally) dragged the mouse the the right hand side edge of the screen (over the date/time) in the system notification area. 
Here I located a new interface for (Start menu-like) functionality: mystery solved.

image

So I launched Internet Explorer, to see what’s happening.  Windows 8 is shipping with a preview edition of Internet Explorer 10.

image

It will be interesting to benchmark the new browser and find out what changes have been made (in a later post).

image

The Task Manager has been totally redesigned (as above). 
I wasn’t a big fan until I clicked on “More details”:

imageimage

I’ll be writing another post soon breaking down the completely redesigned Task Manager.

How do I return to Metro?

Now, to go back to Metro, you use the hidden side menu and click on the “Start” option.  From here you can launch any of the Metro apps, which presents you with a very Xbox or Windows Media Center User Interface.

image

The Photo app

This is a very early review, check back soon for more details as I start digging into the new operating system!

Resources

Download the Windows 8 Consumer Preview .iso (disc images) – there’s more than just English!
http://windows.microsoft.com/en-AU/windows-8/iso

The Last Word

image