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.

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

b.

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).

MainScreen

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.

appbar

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

apps

Navigation

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.

Snap

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

snap

Notifications

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.

Charms

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

 

Charm

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.

Search

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

search

Share

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

share

Devices

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

devices

Settings

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.

settings

Summary

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.

b.

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.

b.

StyleCop 4.7 now with VS 11 support

The great guys on the StyleCop project have now released StyleCop 4.7.4.0 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

b.

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.

b.

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

b.

Zune HD (still going)

On the long road to Windows Phone 7, Zune and Zune HD laid a solid foundation, now in many peoples eyes these really excellent devices have been side-lined. I must admit being somewhat fond of my(now my daughters) Zune HD.

But this week a new set of free games and tools have been launched for the Zune HD adding just a bit more life to the platform.

Go to your Zune Desktop, plug your Zune in and look for the new apps and games

they include

  • Finger Paint
  • Calendar
  • Trash Throw
  • Slider Puzzle
  • ColorSpill
  • Splatter Bug
  • Vine Climb
  • Decoder Ring
  • Tug-O-War

Zune HD was only sold in the US, so if by any chance you are using a non US pc, just change your location to US before starting Zune Desktop and reset after (no system restart needed)

I know it is a forlorn hope but I do wish Microsoft keep the Zune Brand

b

Enterprise Library now with added Silverlight goodness

A series of updates are available for Enterprise Library and Unity and a few other bits of general interest

There is an update for the Enterprise Library 5.0 which is only required if you are using the Silverlight Integration Pack and need WCF RIA Services Integration or configuration tool support. get it here

However the most interesting development is a version of the Enterprise Library for Silverlight developers get it here it contains Caching Application Block, Exception Handling Application Block, Logging Application Block, Policy Injection Application Block, Validation Application Block, and Unity Application Block allowing you to develop best practice effectively.

Just in case you don't have the Enterprise library you can get it here

Microsoft Unity 2.1 is a dependency injection container. this is a minor update on Unity get it here , I also recommend you visit the Patterns and Practices page for Unity here

There is also a port of Unity 2.1 for Silverlight here

if you need to learn how to use these great libraries there is of course a Hands On Labs (HOL) for Enterprise Library 5.0 here

b