Do programmers dream in Byte Code?

This is Boss's blog , by day I am the Managing Director of Black Marble , by night I am an MVP for BizTalk and spend my life evangalising development to all.

Driving Windows 8 for Developers with the Keyboard

For most developers the ability to drive applications with just the keyboard is as much instinctive as it is productive and Windows 8 allows it. Following on from my previous post this post covers how to navigate and use the touch interface of Windows 8 with the Keyboard Smile

The key to effective Windows 8 keyboard mastery is the the Windows key, the Windows key will bring you back to the start screen and act as a short cut to most Windows 8 key (groan) features. The short version is navigate with the arrow keys, Windows Key +Z or the List Key will display the app bar and return complete the action.

Start Screen Navigation

On the start screen UP,DOWN,LEFT,RIGHT allows navigation as you would expect and return opens a tile. Importantly Spacebar or the List Key (looks like a drop down list) selects an item and you can move about selecting items until you want to act, Tab then moves the selection to the Action Bar to set the tile size,unpin from start, , uninstall, open new window and All Items.

If the application is a Desktop application you also get the options to Run As Administrator, Open file location and pin/unpin from task bar.

Start an Application

The quickest way is just to type the name of the application, this actually starts search charm in the application context, but what you get is a very fast way to start applications.

Application and Screen Control

The biggest issue using the Keyboard is screen control, but the simple application of Win+. allows left and right snap view and using Win + Tab to cycle through the current Metro applications (the desktop counts as one application) or Alt+Tab to step through all of the applications

Shutting Down

On the start screen tab will select the user icon which allows logout, or use Win+I for settings and select power from there. I pin a shutdown button to my Desktop Tab. I will follow up on this in a later post

Key Summary

I have split the key Summary into Essential the essential keys are key combinations you NEED to know and Nice to know

Essential Keys (new)


Win Toggles between the start and the current application
Win + C Charms Menu
Win + I Settings ( Current Application, Volume,Wi-Fi and Power )
Win + X Start Menu
Win + D Show the Windows Desktop
Win + Z or List Key Shows the App Bar
Win + . (full stop) Snaps the current application to the right side of the screen. (+shift for left) Keep pressing . to cycle left right then center

Essential Keys (Windows 8 and Windows 7)


Win + L Locks Windows
Win + Tab Displays the current Running Applications, repeated tabs cycle through the Applications
Win + R Opens the Run Dialog (Run application)
Win + P Selects the Second Screen (projector) mode
Win + Left/Right/Up/Down Dock the current Desktop windows left/right or maximise/minimize
Win + <number> Runs the position <number> application on the Task Bar

Useful Keys (new)


Win + O Locks device orientation
Win + D Switches to the Traditional Desktop
Win + H Share Charm Panel
Win + K Devices Charm Panel
Win + F File Search
Win + J Swaps focus between snapped applications

Useful keys (Windows 8 and Windows 7)


Win + P Projector view switch between single/dual monitor
Win + E Launch explorer
Windows key and + or - Zoom in/out

In summary you can fully drive Windows 8 from the desktop, try it!


Windows 8 Essential Developer Tools

Obviously the most important tool is Visual Studio 2012 which is available as Express and the various wonderful SKU’s but along side these there are some great toolkits which will help your Windows 8 escapades no end.

this list will be updated regularly


The Calisto Toolkit developed by Tim Heuer adds helper functions and XAML controls, must useful are the controls to help deliver the settings fly out.

Or you can download and install Callisto from Visual Studio Gallery

WinRT XAML toolkit

Provides a set of XAML extensions to help delivery of Windows 8 Store applications,

Nuget Package Name  winrtxamltoolkit

Code Snippets

A set of code snippets for C#,VB,JavaScript and C++, the snippets allow a variety of standard WinRT actions to be done simply such as send SMS, write to

provide a base set of canned code for Windows 8 Store applications


Windows 8 Application submission error 4.1

I am just pushing applications through into the Windows 8 Marketplace. On checking the progress of an application it had the word “Failed”, being unfamiliar with this word I looked it up and it turns out to be some form of non success. Rushing to find out why this was the case I was presented with

Your app doesn't meet requirement 4.1. Learn more

hummm, the basis of this error is apparently my failure to provide notification and opt in of sharing personal information, hold on a minute my app is a game which hold NO user information whatsoever.

After some digging it turns out that the project had “Use Internet” turned on, which it turns out Microsoft has deemed to mean that connecting to the internet is the same as sharing personal information…..

so in summary, if you need internet access you need to provide a public privacy policy, if not turn it off. Microsoft needs to provide better terminology and notes on errors.


Boost your Windows 8 C++ application

As an out of band Windows 8 post for many of us C++ is somewhat a hidden shame, but not really a shame just hidden out of sight while we dream of closer to the metal coding.

With the joys of Windows 8, C++ is once again back to the fore, I thought a couple of notes on how to get things moving might help

Boostis regarded as one of the best written and comprehensive libraries for C++

covering areas such as Math and Numeric, String processing (what library would be complete without), Generics, Algorithms and more

The only downside is it is a collection of very useful code but like all good libraries you will need to learn it.

Boost is fully useable in Windows 8


Developer Quick Guide (101) to Using Windows 8

In many of my presentations on Windows 8 over the last year, there has been a raft of standard questions on how to use Windows 8 effectively, so here is the first of a set of using Windows 8 posts. This aim for this post is to clarify terms and show the main Windows 8 features to allow future posts a frame of reference.

First of all Windows 8 is simple to use, but there are a few gotchas for developers as there is a need to use both desktop and “Modern UI (MI)”. Needless to say that having multiple screens makes the work easier, but knowing how to drive Windows 8 using keyboard and mouse will make development/test/release much faster.

My main observation is that it takes a little while to get to used to both the old and the new at the same time, but quite quickly you will find it works very very well, in fact in my opinion better than previous versions of Windows.

In this post I will concentrate on the touch interface and in follow up posts I will cover driving Windows by Mouse and Keyboard,the concepts are the same but for clarity I have separated them out. Touch,Keyboard and mouse are all first class citizens in the Windows 8 world. In a later post I will cover general tips for organising tiles and finding windows features you thought you might have lost.

The User Experience

The User Experience currently called the Modern UI is quick and fluid, previously it was commonly referred to as Metro however that was a misnomer as the name referred to the design principles on which the Windows 8 user experience was based not the User Experience itself.

The key thing to remember as a developer is that the User is in Control, if the user does not like your app it is gone, no more forcing your application to the front, sticky dialogs of “are you sure you want to close my application” and ignoring the users response. The age of the User is here and developers beware only well behaved applications need apply.

Lock Screen

The lock screen is of more interest than people will give it credit for, it contains user selected mini information nuggets such as appointments, mentions in tweets etc., these bite site pieces of information are relatively easy to offer from your own application and offer the user a single glance update of information when they first visit their device.

Start Screen

The Start Screen is where Windows 8 Starts! Very much like Windows Phone 7 the idea is to show the key applications that you use day in day out, while allowing the applications to keep you the user informed by displaying real time data that the applications deem to be important to you using Tiles which have the appearance of being live by constantly updating (with pre-canned information).


The tiles shown on the Start Screen can be updated both by the application running e.g. the picture viewer allows pictures to be the Tile image.

Selecting a tile is done by touching it with a drag down motion (Drag to select) this displays a context based application bar allowing you to change the size of the tile, uninstall, unpin and turn live tile updates off/on

All Apps

While the start screen shows live tiles of the applications that the user has chosen, swiping up from the bottom displays the Application Bar on the right hand side is the All Apps Icon, selecting the All Apps, displays all of the applications installed in groups.


Selecting an application allows it to be re-pinned to the main screen.



The basic premise of navigation is swipe left/right for pages and select (tapping) the item you want . When an application is running the charms bar(see later) will continue to display, but noticeably the application bar becomes application centric with context aware menus being displayed.

At any time there is only one “Master” application running normally full screen, when an application is run all others are suspended

To swap applications a swift swipe from the left side (just off the screen onto the screen) will swap out the current application to the next in the application stack.


The snap view is a compensation to allow two applications to run at once on screen, by definition all applications need to cope with the snap view and most do well. The view is achieved by dragging an application from the right but not more



Notifications in MI are system wide (desktop and MI) in real terms this is a great tool as MI applications can still provide updates on the desktop. The notifications come in two forms Toasts and System messages, however only Windows can deliver System messages.


The Charms bar is accessed by swiping from the right hand edge of the screen



The Charms bar has been built to allow users to do a lot of common actions in a standard way by either using devices such as printers, external screens, connecting to other applications or perform actions such as search and view settings. In essence a developer should view the Charms bar as contracts that the application can use and offer out to the users device.


The search charm is very straight forward, it allows you to search an application for content.



The share charm allows a user to share content with another application such as mail and many well known brand social media applications.



The devices charm allows applications to send data to printers, phones and even streaming video to DLNA devices.



The settings charm is a split personality offering as it offers the settings for the application and basic systems settings at the same time. Of all the Windows 8 features initially I was most unsure but it does work.



Hopefully this post has clarified terms on the Windows 8 User Experience. In a future post I will also cover the basic Windows 8 design metaphors.


Back Online

Due to much travelling and many machine rebuilds, I have not been blogging as much as I ought.

It looks like a hectic and exciting few months in the Merry world that is Microsoft and so I plan to start of with a set of posts on effective Windows 8.

There will be the mandatory Widows 8 101 (boy do I dislike that phrase), but then practical quick guides to help you find what you need quickly and efficiently to develop windows 8 applications.


StyleCop 4.7 now with VS 11 support

The great guys on the StyleCop project have now released StyleCop which now has VS11 preview support.

It also gives support for new templates which unlike the visual studio supplied templates are StyleCop compliant and it also supports the Async CTP.

Get it here


BizTalk state of the Union for 2012

it has in general the past year has been quiet for BizTalk but it looks like 2012 will be quiet different.

The BizTalk Team have announced that during 2012 BizTalk 2010 R2 will be out however its release will be dependant in VS 11 and Windows Server 8 and so no dates just yet

New Platforms and Infrastructure

  • Windows Server 8*
  • SQL Server 2012*

Increased Developer and IT Productivity

  • Visual Studio 11 and Windows 8 to develop solutions
  • In-place migration from BizTalk Server 2010

Extended Platform Integration

  • DB2 client connectivity to SQL Server,
    conversion of commands to T-SQL,
    migration of packages to stored procedures
  • Adapter connectivity to new data sources, including IBM Informix V11 and IBM IMS/DB V11

Agile Alignment to Industry Standards

  • Regular updates to schemas, accelerators certifications and adapters. Highlights include:
  • Healthcare: HIPPA 5010 extensions: 2777CA, 999, HL7 2.5.1
  • Finance: SWIFT SRG 2011 support, SWIFT SRG 2012, SWIFTNet 7.0 (new messaging platform)

Improved Performance and Scalability

  • HL7 MLLP adapter performance improvements
  • Better performance with ordered send ports
  • Enhanced scale out configuration with multiple hosts
  • Expanded adapter options for faster batch processing

Extend on-premises solutions to the cloud

  • Easily extend your on-premises BizTalk Server solution to the cloud in a secure manner
  • Tighter integration of on-premises BizTalk Server applications with Windows Azure Service Bus

Improved Licensing

  • Adjustments to licensing that are geared towards cloud hosting, including:
  • Purchase from a hoster on a monthly basis (SPLA)
  • Register your existing license with a hoster (License Mobility)

Also cumulative update 3 is now available for BizTalk 2010 get it here

Zune Lament

Well it looks like Microsoft has killed off the Zune Hardware, although only available in the US, many of us had Zune’s. I have to say the Zune devices are/were great.

if Microsoft have decided not to make the hardware, it must be said it puzzles me why they don’t license the software to other vendors, a model I think they might already be quite familiar.

so come on Microsoft find it in your hearts to rescue this rather wonderful bit of kit and maybe make some money with some great hardware vendors.


Developers Guide To AppFabric (free)

My great friend Alan Smith has recently released a really great guide to AppFabric, Alan is well known for his BizTalk Bloggers guide and I expect that this volume will enjoy as much if not more success.

The guide is well written and comprehensive, saying that my understanding is that Alan plans to keep updating it over time.

if you are into AppFabric at all get it here