Category Archives: microsoft

Upgrading to Hyper-V Server 2012

After discovering that in-place upgrade of Windows Hyper-V Server 2008 R2 to the 2012 version is not possible, I set about the tedious task of exporting all the VMs from a Hyper-V Server box, installing Hyper-V Server 2012, and re-importing.

There are many reasons to upgrade, not least the irritation of being unable to manage the VMs from Windows 8. Hyper-V Manager in Windows 8 only works with Windows 8/Server 2012 VMs. It does seem to work the other way round: Hyper-V Manager in Windows 7 recognises the Server 2012 VMs successfully, though of course new features are not exposed.

The export and import has worked smoothly. A couple of observations:

1. Before exporting, it pays to set the MAC address of virtual network cards to static:

image

The advantage is that the operating system will recognise it as the same NIC after the import.

2. Remove any snapshots before the export. In one case I had a machine with a snapshot and the import required me to delete the saved state.

3. After installing Hyper-V 2012, don’t forget to check the date, time and time zone and adjust if necessary. You can do this from the sconfig menu.

4. The import dialog has a new option, called Restore:

image

What is the difference between Register and Restore? Do not bother pressing F1, it will not tell you. Instead, check Ben Armstrong’s post here. If you choose Register, the VM will be activated where it is; not what you want if you mistakenly ran Import against a VM exported to a portable drive, for example. Restore on the other hand presents options in a further step for you to move the files to another location.

5. For some reason I got a remote procedure call failed message in Hyper-V Manager after importing a Linux VM, but then when I refreshed the console found that the import had succeeded.

6. Don’t forget to upgrade the integration services. Connect to the server using the Hyper-V Manager, then choose Insert Integration Services Setup Disk from the Action menu.

image

Cosmetically the new Hyper-V Server looks almost identical to the old: you log in and see two command prompts, one empty and one running the SConfig administration menu.

Check the Hyper-V settings though and you see all the new settings, such as Enable Replication, Virtual SAN Manager, single-root IO virtualization (SR-IOV), extension support in a virtual switch, Live Migrations and Storage Migrations, and more.

No in-place upgrade for Hyper-V Server 2012

Microsoft’s free Hyper-V Server is a great bargain though I am beginning to think the company is pulling back on the idea. It is there for download; but the home page makes no mention of the fact that it is free, and the download page calls it trial software:

image

Further, support information for this specific edition is hard to come by. Here is one thing I discovered though: there is no in-place upgrade from Hyper-V Server 2008 R2, though the setup teases. This is what you get. First, an offer to upgrade in-place:

image

with the text, “This option is only available when a supported version of Hyper-V Server is already running on this computer”.

and then the bad news:

image

which in case you cannot read it says,  “Hyper-V Server (Server Core) cannot be upgraded to Hyper-V Server 2012”.

This document, which covers in-place upgrade options for Server 2012, does not even mention Hyper-V Server. It does say this about Server Core, on which Hyper-V Server is based:

Upgrades that switch from a Server Core installation to the Server with a GUI mode of Windows Server 2012 in one step (and vice versa) are not supported. However, after upgrade is complete, Windows Server 2012 allows you to switch freely between Server Core and Server with a GUI modes.

Note that it says “in one step”, suggesting that an upgrade from Server Core to Sever Core should work; then you can add the GUI later if you want. In the case of Hyper-V Server, there is no GUI option anyway; so you would have thought it should be OK. Given the lack of attention to this edition generally though, I wonder if it is a victim of “it’s the free version, let’s not bother".

Incidentally, in-place upgrade from Hyper-V Server 2008 to Hyper-V Server 2008 R2 worked fine.

Nokia and Windows Phone 8: more questions than answers

Nokia’s CEO Stephen Elop announced the Lumia 820 and 920 yesterday in New York; new versions of its high-end Windows smartphones and the first to run the forthcoming Windows Phone 8 operating system. Windows Phone 8 runs the same kernel as Windows 8 on PCs and is a significant step towards unification of Microsoft’s development platform.

image

Among the key features announced yesterday:

Wireless charging with the Qi standard and a couple of deals to place charging points in public places. The London Heathrow Virgin Atlantic lounge and the Coffee Bean & Tea Leaf chain will have charging points; not much, but a start. Wireless charging accessories include the JBL PowerUP which combines wireless charging and an audio dock.

PureView imaging technology. This is Nokia’s brand name for a bunch of photo features. Most significant is “floating lens technology” on the larger 920 which, Nokia claims, overcomes camera shake to enable the camera to take in “five times more light”; think of it as a virtual tripod that allows longer exposure without motion blur. If it works it is a huge feature for photo enthusiasts.

City Lens augmented reality which overlays the view through the phone’s camera with data about what to do and where to go; apparently there is data for indoor as well as outdoor locations.

image

Synaptics ClearPad touch which enables gloved finger support. Since Synaptics is a third-party I guess this feature is unlikely to be exclusive to Nokia for long.

Windows Phone 8 operating system shown off by Microsoft’s Joe Belfiore, including more customizable Live Tiles and a “Blink” feature from Microsoft Research which takes multiple shots in quick succession to enable interesting features like avoiding closed eyes and allowing after-the-event editing using alternate shots.

Screenshots are now a built-in feature. Who cares? Journalists of course; non-availability of this trivial feature meant fewer screenshots of Windows Phone 7 on the web.

Lumia 920 has a 4.5 inch screen, 1.5Ghz dual core Snapdragon S4, front and rear cameras, 1GB RAM, 32GB storage.

Lumia 820 has a 4.3 inch screen,  1.5 Ghz dual core Snapdragon S4, front and rear cameras, 1GB RAM, 8GB storage, microSD slot.

The big disappointment yesterday: no announcement concerning price or availability. Here is what the press release says:

Both phones will be available in pentaband LTE and HSPA+ variants and are expected to start shipping in select markets later in the year. Nokia will announce pricing and specific roll-out dates country by country when sales are due to begin.

Worries about a delay were not relieved by Microsoft’s announcement that the Windows Phone SDK preview will be available to select developers from September 12. “Next Wednesday I’ll share detailed instructions on how current Windows Phone developers with published apps can apply. But I do want to set your expectations that program access will be limited,” says Microsoft’s Todd Bix. He adds that, “The full Windows Phone 8 SDK will be made publically available later this year when we unveil Windows Phone 8.”

That suggests a considerable wait before availability. Even if the Lumias go on sale the same day that the SDK is final, it sounds like November at best; and that gives developers no time at all to work with the new SDK before launch. Key developers have early access of course.

image

Overall the event was less than it should have been, at a time when Android looks vulnerable thanks to Apple’s patent win over Samsung last month.

In some ways though, Nokia’s announcements have little to do with the key questions over Nokia’s Lumia range and Windows Phone 8. Quality is one issue; the launch of the Lumia 800 was damaged by the device’s poor battery life and tendency to sulk and become unchargeable; the rumour is that return rates were unusually high. The knock-on effect is to make it hard for retailers to recommend it to their customers, though firmware updates eventually improved matters. How is battery life on the 820 and 920? What has been done to address quality issues?

Another question, and to me the biggest one, is how Windows 8 for PCs will fare in the market and the impact it will have on Windows Phone. The more time I spend with Windows 8 the more I like it, especially on a tablet, but also on the desktop. There is a barrier to adoption though as the new user interface is a demanding transition for some users. If Windows 8 tablets succeed, there will be instant recognition for the phone user interface and users will have a reason to demand it over iPhone or Android, something that has been lacking up to now.

On the other hand, if appreciation for the nice features of Windows 8 is drowned out by a chorus of “give us back the Start menu”, while vendors focus on expensive fiddly hybrids rather than simple, lightweight tablets, then I doubt Windows Phone 8 will take off either.

Currently I use a Lumia as my main smartphone and (battery life aside) get on well with it. Nokia’s experience with the operating system should mean that this new generation is better, and the phones look good. As Elop himself said though, this is all about ecosystems, and the viability of his third ecosystem is still in the balance.

Colligo Briefcase: offline SharePoint for iPad and iPhone

I took a quick look at Colligo Briefcase, an offline SharePoint 2007 and 2010 client for the Apple iPad and iPhone. There is a free Lite version, limited to 50Mb and with cut-down features; Briefcase Pro which costs a modest $2.99; and Enterprise which adds centralized management.

SharePoint is a powerful collaboration platform, but Microsoft’s client support if you would rather not use a web browser is surprisingly poor. You are really meant to use Office, which of course does not exist on iOS, and even then the offline support is poor.

I used Briefcase Pro, which connected first time to my on-premise SharePoint server. I selected which lists and libraries to sync, and a few minutes later everything was available. Impressive. Better, in fact, than Microsoft’s own SharePoint Workspace on a PC; but that is not saying much.

image

Briefcase lets you easily preview Office documents. I am sure there are certain formatting or content types that do not work, but I found this effective for Word and Excel. OneNote is not supported for preview; a shame. I could not even get OneNote documents to open in OneNote on the iPad.

image

I confirmed that Briefcase works fine offline. In Airplane mode, I could still browse and preview documents.

I tried but was unable to connect to Microsoft’s SkyDrive. There may be a way. This would be useful, since Microsoft’s own SkyDrive app does not work offline.

My biggest concern with Briefcase is security. What if confidential documents are in SharePoint and the iPad or iPhone is stolen? Briefcase Enterprise has a remote wipe capability, but it is still a concern. You can set an additional PIN on the app:

image

More worrying though is how data can leak out of Briefcase into other locations. Imagine a user has an iPad and has agreed to Apple’s default settings for iCloud and Pages, the iPad word processor. In this mode, documents in Pages are automatically synched with iCloud.

Now the user wants to edit a Word document that is in Briefcase. She hits Open in … and selects Pages. Pages does not just open the document, it imports it. The user views or edits it in Pages. Now that document is sent to iCloud, and in due course will turn up on other iOS or Mac computers belonging to that user.

Another issue with Pages is that there is no easy way to get it back into SharePoint. Pages can use WebDAV, which should work, but must be configured separately. This may be why Colligo suggests Documents to Go. Supported apps have an Open in Briefcase option that enables upload.

The Enterprise edition of Briefcase lets administrators disable the Open in command to improve security. This is unfortunately necessary if you require any sort of security for SharePoint data accessed through Briefcase.

It is a shame there is no quick way to open a Briefcase document in the web browser. There is a Copy Link option, which you can paste into Safari, but you have to re-authenticate and it is not seamless.

A few niggles then; but given that most users will do more viewing than editing while on the go, Briefcase is an excellent and, for the Pro edition, low-cost way to use SharePoint offline.

Windows Server 2012: a great upgrade

Remember how everyone hated Windows Vista but admins loved Server 2008? The awkward truth: they were built on the same core code. History may be about to repeat with Windows 8 and Server 2012, which also share code.

That said, I actually like Windows 8; but it is controversial because of its dual personality and the demands it places on existing Windows users to learn new ways to navigate the user interface. Server 8 has the Start screen too, but it boots to the desktop and most tools are available through the new Server Manager in any case, so I doubt it will cause much concern.

image

That is, if you install the GUI at all. Microsoft is a convert to the “No GUI on a server” idea and you are meant to install Server Core, which has no GUI, where possible, and run Server Manager on a Windows 8 client. There is also an intriguing intermediate option called the Minimal Server Interface, which has the GUI infrastructure but no Explorer shell or Internet Explorer. It sounds odd, but I quite like it; it is a bit like one of those stripped down Linux desktops where nothing gets in the way of the apps.

The Windows Server Evaluation Guide [pdf] does a good job of covering what’s new but runs to 177 pages, posing a challenge for those of us asked to review the new operating system in the usual 1500 words or fewer. I have had a go at this elsewhere. I will say though that from my first encounter with Server 2012, then called Server 8, at a press workshop in September 2011, I was impressed with the extent and significance of the new features. It does seem to me a breakthrough on several levels.

Virtualisation is one of course, with features like Hyper-V Replica doing what Microsoft should be doing: bringing features you would expect in large-scale enterprise setups within reach of small organisations. If you are not ready for public cloud, a couple of substantial servers running Hyper-V VMs with failover via Hyper-V Replica is an excellent setup.

Another is the effort Microsoft has put into modularisation and automation.

For modularity, Server 2012 is not quite at the level of the Debian server which hosts this web site, where I can add and remove packages with a simple apt-get command, but it is getting closer. You can now move between Server Core and full GUI simply by adding and removing features; it sounds easy, but represents an enormous untangling effort from the Windows team.

On the automation side, PowerShell has matured into a comprehensive scriptable, remoteable platform for managing Windows Server. I love the PowerShell History feature in the Active Directory Administration Center, which shows you the script generated by your actions in the GUI.

Storage is a big feature too. The new Storage Spaces are not aimed at Enterprises, but at the rest of us. We are beginning to see an end to the “help, we are running out of space on the C drive” problem which can cause considerable problems. You can even mount virtual disks as folders rather than drive letters, another sign that Windows is finally escaping its DOS (or CP/M?) heritage.

Annoyances? Lack of tool compatibility is one, specifically that you the new Hyper-V manager will not manage 2008 R2 VMs, and the new RSAT (Remote Server Administration Tools) require Windows 8.

More seriously, there are times when the beautiful new Server Manager UI gives mysterious errors, and as you drill down, you are back in the world of DCOM activation or some such nightmare from the past; which makes you realise that under the surface there is a ton of legacy still there and that Windows admins are not yet free from the burden of trawling the web for someone else with the same troubling error in Event Viewer. Maybe this is common to all operating systems; but Windows seems to have more than its share.

Never mind; this is a great upgrade and shows that Microsoft, for all its frustrations, is still capable of turning out strong products.

Gadget Writing: some posts you may have missed

There are two sites at ITWriting.com and if you follow the RSS feed for this one you may have missed the posts at the other. This site covers software development and IT admin topics, while Gadget Writing covers mobile devices, audio, general software tips and reviews, and in general has a more consumer flavour.

Among the popular posts is the Desktop Windows 8 survival guide which is a guide to those awkward issues you will encounter when using Windows 8 on a traditional keyboard and mouse PC rather than a tablet. This has been considerably updated and expanded from its first version.

Gadget Writing has its own RSS feed which is here.

Here are some other recent posts:

This may be why your computer is crashing

I was asked to look at a PC which was misbehaving. Sometimes it worked, but increasingly it was freezing or crashing. Sometimes the hard drive would corrupt and needed Windows repair before it would boot. I took a look. I … Continue reading →

Review: Audyssey Lower East Side Audio Dock Air for Apple AirPlay

Based in Los Angeles, Audyssey specialises in audio processing software. This is used in home theatre equipment such as multi-channel receivers, and also finds its way into TVs, mobile devices and cars. In 2010 Audyssey started making its own audio … Continue reading →

Farewell to the Squeezebox

It looks as if Logitech has discontinued the Squeezebox, a range of devices for playing music streamed from the free Logitech Media Server. Logitech also runs a streaming service on the internet, Mysqueezebox.com, which supports internet radio, Spotify integration and … Continue reading →

The one thing missing from Windows 8 tablets announced so far: simplicity

This week at IFA in Berlin PC manufacturers have been showing off their shiny new Windows 8 tablets. Vendors are competing for who has the cleverest way of combining touch-screen, tablet, trackpad and keyboard into a single portable device. Here … Continue reading →

Free competition: Win a Kingston DataTraveler Locker+ secure USB Flash Drive

Ever worry about exposing confidential data by losing a USB Flash drive? Easy to do; but worry no more. A DataTraveler Locker+ secure drive is password protected, and after 10 failed attempts the data is wiped. Read our full review … Continue reading →

Understanding Windows 8 Storage Spaces: confusing but powerful

Early users have been running into trouble with Windows 8 Storage Spaces. The same technology is used in Server 2012. I posted about the issues here. Storage Spaces is a way of virtualising disk drives. You manage physical drives in … Continue reading →

Review: Kingston DataTraveler Locker+G2 secure USB Flash drive

Ever lost a USB Flash drive? Do you even know? There are so many around now that it would be easy to drop one and not to notice. Most of the time that does not matter; but what if there … Continue reading →

Review: Dragon NaturallySpeaking 12. Stunning accuracy, a few annoyances

I am writing this review, or should I say dictating, in Nuance’s Dragon NaturallySpeaking 12, the latest version of what is in my experience the most accurate speech recognition system out there. Accuracy has got to the point where the … Continue reading →

Guest post with a view from the enterprise: Microsoft is getting it right with Windows 8

The following is a guest post from a contact who holds a senior IT role in the finance industry.

image

I think Microsoft is getting it right. I don’t recall saying this about anything they have done before, which makes this a matter of some significance to me. My view on W8 is that it is a purely transitional state to a brave new world and that a number of strategic concerns are driving W8’s capabilities. Here’s what I think is going on:

1. MS thinks the the PC is over.

Well, that may be a bit extreme, perhaps it would be better to say that given MS’s dominant position, the PC will be over before anyone can take it away from them, so now is the time to maximise the cash being extracted from this cow by minimizing the investment.

The implication is that computing is heading in 2 directions – ‘down’ to phones and tablets and ‘up’ to the cloud. MS is trying in the cloud space, if not perhaps succeeding brilliantly. In the phone/tablet space

W8 is (at least potentially) a serious contender to iOS.

2. MS loves enterprises (and people who sometimes look like them, e.g. educational organizations)

Office is where MS’s money is coming from. Office is the (only?) reason the W8 has a legacy desktop. This enables corporates (many of whom won’t take W8, but there had to be a story for them) and educational users to upgrade while staying with Office.

Also, notably, Apple is conspicuous for sticking to the mass retail market. This is making a number of tricky issues for enterprises such as mine when it comes to developing corporate mobile applications on iOS.

3. MS is taking good UI chances

This is a big one. Apple has always had good old WIMP GUI right. In the new world they have opened in iOS, the UI, while easy to use, is fundamentally application-centric. In fact the iOS home view of app icons is scarily reminiscent of the Windows 3.x Program Manager.

The W8 ‘modern’ UI with its active tile concept provides something that opens up the possibility of a task-oriented UI. This could be a huge benefit to enterprises and is, at least, a good marketing angle for MS.

4. Corporate users could be excellent gateway users

What if every corporate BlackBerry user wanted to get rid of Blackberry Enterprise Server? oh – they do :-). What’s the alternative? Nothing from Apple (and no sign of anything coming). a huge slice of those corporates already use Exchange (must be 99+%). What if MS was able to offer secure mobile device management with a modern UI platform? Looks like a good way of capturing a lot of that market. Think of all those corporate mobile users with a W8 phone – MS gets to bypass head-to-head competition with Apple for this slice of the market. How many people bought Windows PCs because they had to learn Windows at the office? ok, maybe not a huge number, but it’s not a bad (affluent) group to use as the basis of chipping away at Apple mind-share.

5. What if those corporates were looking to replace PCs both real and virtualized) with tablets?

It’s already the case that an iPad can do anything that the vast majority of enterprise users do with their PC (once you include VPN desktop access). Put office on the device (with cloud storage) and an enterprise can be shown a way to make massive reduction in desktop PC costs. The only compelling reasons for another type of device are software development and large UI footprint (multi-monitor). The MS Surface offers the possibility of a device that:

  • looks like your new corporate mobile device
  • can do everything (including Office) that your PC can do
  • is at a much lower price point

so that’s my view in the crystal ball. If MS were thinking that the PC was dead and wanted to avoid a (probably losing) head-on fight with Apple, their entrenched position in the enterprise looks like their best starting point. Offering enterprises a possible post-PC future with unified mobile and desktop UX based on Windows phones and tablets with Azure or private cloud back-end looks like it might be a strategy. the coming (already started) implosion of RIM looks like an opportunity for Windows phone to kick-start the adoption process.

What would W8 look like if this was what MS was thinking?

  • it would have a modern UI, distinctly different from Apple’s, not being WIMP-like
  • it would be NOW, to help point to a future enterprise based on W phones and tablets to help capture the RIM refugees.
  • it must contain Office, at all costs to sustain the enterprise story

oh look, that’s what W8 is like. So, for all the noise around how nasty W8 is, I think it’s indistinguishable from what it would be like if MS really had a plan that might work. The inelegant dual-UI can be thought of as a consequence of the need for a migration path for existing apps, a recognition that all those office users are starting out on PCs and (possibly) that they couldn’t engineer a real modern UI office in time.

The final irony is that Vista may turn out to be the biggest boost for this strategy. Major enterprises that I have seen have generally moved their desktop fleet onto every second (or more) big Windows release.

Nobody moved to Vista, those who were due to move held off because it was so awful. Everybody went (and most are still in the process of going to) Windows 7. As a result, none of the enterprise customers have to actually implement W8 for their desktop fleet – they just have to drink MS’s Kool-Aid for the future and be able to use W8 phones and tablets, where most of the ugliness disappears.

The Windows Runtime App Certification Kit: not too good detecting crashes and hangs

Now that I have a lovely ITWriting.com App I thought I should check out whether it is ready to fly.

I therefore ran the App Certification Kit that installs with Visual Studio 2012.

image

The tool asks you to select an installed app and then exercises it. I saw my app open, though I did not see it get beyond the first screen.

image

Eventually – bad news:

image

However, there is only one thing wrong with it:

image

Yes, the version installed is the debug build. I can fix this simply by rebuilding in release configuration.

What does the Kit test? Here is the list:

  • Crashes and hangs test
  • App manifest compliance test
  • Windows security features test
  • Supported API test
  • Performance test
  • App manifest resources test
  • Debug configuration test
  • File encoding
  • Direct3D feature level support
  • App Capabilities test
  • Windows Runtime metadata validation

That sounds most impressive and makes a great list for you to show to your customer.

I am sceptical though. If the app was not exercised beyond the opening screen, might it not be a bit buggy after all?

I inserted the following line of code into the the Click event handler for reading a blog:

int iCrash = 1 / string.Empty.Length;

I then rebuilt the app in release mode and ran the App Certification Test. Great news!

image

and specifically:

image

Thanks though to my umm, bug-unfix, the app crashes whenever I click to read a blog.

I mention this not to poke fun at the App Certification Kit, but to observe that it does not do a good job of automatically detecting crashes and hangs.

The implication is that the human testers are the ones who will do this before an app is admitted to the store. I think they would find my obvious bug; but how much time will they have to test every feature of an app?

Developing a Windows Runtime app: some observations

What would it take to create a Windows 8 Modern UI content reader for this site? Just for fun, I built a simple one; or rather, I slightly adapted Microsoft’s Metro style blog reader tutorial.

The app only has four screens (or pages) but despite its simplicity I found the tutorial somewhat fiddly. Getting the data from the WordPress RSS feed is simple, thanks to the Windows.Web.Syndication namespace which is part of .NET Framework 4.5. Most of the work is in the user interface, which means switching between XAML and C#. Of course as a developer I would rather work in C#.

Further, the Visual Studio editor for C# is better than the editor for XAML. In C# I can easily navigate the code using Go to Definition, Find all References, and so on.  In XAML it takes longer to find things like referenced styles and resources. Plus XAML is XML, which I find harder to read than an elegant language like C#. Even commenting out a line is more hassle in XML.

I did not like the colours used by the tutorial for the list of posts in SplitePage.xaml. It took me a while to work out what to change. Was the colour defined in a resource, or in a template, or in a style, or directly coded as an attribute of the relevant TextBlock object?

Of course you can open the XAML in Blend if you prefer, the designer-oriented tool that comes with Visual Studio 2012. Blend is more complex than the Visual Studio XAML editor, but may be better once you have figured out how it works.

The amount of work involved in making your app well-behaved is proportionately larger if your app is essentially very simple. You have to deal with different layouts for different screen sizes and orientation, as well as the small Snapped layout. You also have to consider what happens if your app is suspended and resumed.

The above means that despite the apparent simplicity of a Modern UI interface, with its chunky buttons, there is more to consider than with, say, a Windows Forms application whose window is never rotated and over which you have full control.

Still, I was pleased with my app which has reasonable functionality based on a small amount of work.

Visual Studio 2012 is impressive, though I did experience some screen corruption after switching back and forth between the Metro and Visual Studio environments for debugging. Restarting Visual Studio fixes it. Using the simulator seems more robust in this respect.

image

The App Bar

One thing though. If you squint at the above screenshot, you will see that I have put a Read button to the right of the post title. Clicking or tapping this opens the post in a embedded web browser view that is nearly full-screen. However, this Read button is not included in the tutorial, which says:

On the split page, we must provide a way for the user to go to the detail view of the blog post. We could put a button somewhere on the page, but that would distract from the core app experience, which is reading. Instead, we put the button in an app bar that’s hidden until the user needs it.

This may in fact be an excuse to include an App Bar in the tutorial; but I disagree with it. With the App Bar, the user has to right-click or swipe down to display the App Bar, and then click or tap the View Web Page button.

image

That is two actions rather than one. Is it really better than having a small button in the UI?

It seems to me that tucking things into the App Bar is fine in cases where there is real merit in an immersive experience, such as in the web browser, but less compelling when you already have a screen with a back button and a scrollable list. I was also concerned that users might not realise they needed to display the App Bar in order to use the app properly.

Let the design debate continue.

Design-centric

Microsoft’s Modern UI continues a trend which began with Windows Presentation Foundation (the first incarnation of XAML), which is to make a platform richer for UI designers and more challenging for developers who lack design skills. Nothing wrong with that; but if you remember how easy it was to snap together an app in Visual Basic 3.0, you may feel that something has been lost.

I guess that recognition of that fact was one of the motivations behind Visual Studio LightSwitch, in which you define the data and business rules, but the screens are generated for you. LightSwitch has complexities of its own though.

Third-party compilers locked out of Windows Runtime development

Embarcadero’s chief scientist Allen Bauer has posted about the problems facing tool vendors who want want to support Microsoft’s Windows Runtime (WinRT) platform with their own compilers, which he calls “Windows 8’s ‘dirty little secret.’”

The issue is that in order to enforce security and isolation in WinRT apps, Microsoft prohibits certain API calls. Even if you find a way to use them, applications that use these calls will not be accepted into the Windows Store, which in effect means no public distribution.

We are very keen on supporting WinRT with native Delphi & C++ code. Right now, the issues surrounding the WinRT space center around the fact that many OS-supplied APIs which are required by anyone implementing their own language RTL are actually off-limits unless you’re the VC++ RTL DLL. You know, little things like RtlUnwind for exception processing and VirtualAlloc (et. al.) for memory management… Any calls to those APIs from your application will automatically disqualify your application from being an "official" WinRT application capable of delivering through the MS app store.

Right now the VC++ RTL DLL is given special dispensation since that is the library that makes the calls to those forbidden APIs and not directly from the user’s app. We’re currently rattling some cages at MS to find out how or if they’re going to allow third-party tools to target WinRT. Until we can get past that, targeting WinRT isn’t actually possible from a deliverable product sense. We are able to build WinRT applications with Delphi that work with a developer certificate, however they all fail the application qualification checks because of the aforementioned (an other) APIs.

Bauer adds that there are other restrictions that make it hard to create an alternative toolchain:

For instance, you cannot merely open any file, access the registry, and even use the loopback (127.0.0.1) adaptor. LoadLibrary cannot be used to load any arbitrary DLL; you must call LoadPackageLibrary and only on a DLL that is present in the digitally signed appx package. WinRT is a seriously locked down sandbox or "walled-garden" with some extremely high walls.

Embarcadero’s answer has been to create a framework that makes desktop apps look and behave somewhat like WinRT apps. I posted about these fake metro apps here. Even Live Tiles are supported. However, these apps cannot be distributed via the Store either, but only through a desktop setup. In addition, they lack the security of true WinRT, and access to the Contracts system for safe exchange of data.

The company does have a .NET tool in the works, called Prism, that will build WinRT apps.

Who is the villain here? Embarcadero’s concern is understandable, since it is locked out of creating a native code compiler for WinRT. On the other hand, to what extent can Microsoft relax the restrictions without blowing a hole in the WinRT security story. There are parallels with the complaints from Google and Mozilla that they cannot compete equally with IE10 in the Modern UI environment.

Thanks to .NET support, Microsoft does have a measure support for alternative languages; it is the Common Language Runtime after all. What would be better though would be to support LLVM, as Apple does on iOS, though this is not likely to be on Microsoft’s roadmap.

Thanks to Eric Grange for pointing me to this post.