Category Archives: windows

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 a pool of storage, and allocate virtual drives from that pool. The virtual drives can be bigger than the actual space available; this is called “thin provisioning”. When you are running out of physical space, you can add additional drives.

It sounds great and it probably is (I am reserving judgement to some extent depending on long-term reports from the field) but it can be confusing, especially if you use Parity for resilience. This user setup a Parity space with three drives, 1TB, 2TB and 320GB. Storage Spaces told him that 2TB would be available (less than the total capacity because it is resilient against drive failure). However the space was exhausted at less than 1TB. Worse still, at this point the drive vanished from his system.

This is all working as designed, though it seems to me that there is plenty of potential for confusion. Here is how I understand it.

1. A Parity space writes data over three or more drives. Therefore, if you only have three drives available, it will be unable to add more data once the smallest drive is full. One small and two large drives is a bad case for a Parity space. It is better either to have four or more drives, or else drives of equal size.

An alternative is to use a mirrored space. This works by duplicating data on two drives. In the example, that should yield 1TB + 320GB of space by mirroring the data on the 2TB drive – more than was available with Parity. With a larger number of drives though, or equally sized drives, Parity is more efficient.

2. When the storage space is full, Windows takes it offline. This is to protect your data. Once you have fixed the problem by adding more drives, you can bring the space online again.

What if you have no drives handy and you NEED access to your data? You try bringing the space online, but Windows immediately takes it back offline because the error condition still exists (and Windows or its applications can be chatty about writing data).

The solution is to mark the space as read-only which you do with PowerShell. Then you can bring it back online and access your files.

Why so confusing?

Storage spaces comes from the server team and is also available in Windows 8. It is possible that the management interface is less helpful than it could be because of that, on the grounds that IT admins are more willing to plough through documentation.

For example, it would be helpful if the spaces manager would calculate the actual capacity available with the currently attached drives and the selected resilience, and tell you that, rather than giving a nominal figure which means “this is the space which these drives can provide though you might have to add more drives to make use of it all”.

Next, there is the question of alerts. The Windows Action Center should alert you if the space is nearly full. However the value of the notification area in Windows was reduced when the Windows 7 team decided to hide most notifications by default, thanks to abuse of the system by third-party software.

Incidentally I always set the notification area to Always show all icons and notifications. If I don’t like a third-party notification, I remove the application or prevent it from running automatically. Right-click the notification area and choose Customize notification icons to make this change.

image

Returning to storage spaces, I have seen several users say they did not see alerts which suggests they are not tuned quite correctly; or maybe users are just in the habit of ignoring notifications.

Third, why doesn’t Windows mark full spaces as read-only when full, instead of taking them offline? Vanishing drives are unsettling for users. Make them read-only would be easier to understand. My space is full – I cannot add more data.

Further reading

Detailed MSDN article about Storage Spaces

Post by Darren Moss with PowerShell examples for taking a space read-only or offline/online. Darren Moss is a Senior Program Manager at Microsoft.

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.

Uh-oh, here come the OEM improvements to Windows 8

Reports from a Samsung event today indicate that the company is implementing its own version of the Windows 7 Start menu, which it calls the S Launcher.

The all-in-one PCs Samsung unveiled this morning are the first Windows machines to sport the S Launcher, a simple widget that acts just like the old start button: Click, start typing (say “keyboard”) and it instantly shows you the settings and apps that relate to your term. There’s also a separate settings icon for quick access to the most commonly needed controls.

On the face of it that sounds like a good move. The general reaction to the removal of the Start button in Windows 8 has been mixed at best. Why not put something like it back?

It is hard for Microsoft to object to this. The official line is the Microsoft’s partners add value to Windows with customization and software unique to each vendor, enabling them to differentiate. There is also the matter of fees paid by third-parties such as browser or security software vendors, to pre-install their stuff and win lucrative traffic or subscriptions.

This is a big one though. Microsoft must care about its new Start menu, to have resisted all pleas from its customers to reinstate the old-style version as an option.

It is also obvious that this is not just about usability. The Start screen is the gateway to the new Windows: Modern UI, Windows Store, tie-in with Windows Phone, Windows Tablets and Xbox, and more.

Here it gets interesting. Although Microsoft and Samsung are both selling Windows, the objectives of the two companies are not altogether aligned. Samsung is a big Android vendor; and even within the Android world, it is promoting Galaxy as a brand and links to its televisions. Samsung also sells Windows Phone, but you would hardly know it.

You can think of it as two separate ecosystems, one based around Windows and Microsoft, the other based around Samsung, which happen to intersect in the area of desktop operating systems.

Samsung then does not care whether the Modern UI, Windows Store and Windows Phone are hits. In fact, when it comes to Windows Store and Windows Phone, it may prefer that they fail.

It is not even that simple. If the Microsoft and Windows ecosystem continues to decline, who can take on Apple? It is in Samsung’s interests as an OEM Windows vendor for Microsoft to succeed, as the same time as other parts of its business would prefer that it fails. Complex.

If nothing else, the S-launcher show how little Microsoft and its hardware partners are aligned when it comes to Windows marketing strategy.

What about the users though? Will they not benefit from having a more familiar way to launch their applications? Personally I doubt it. The problem I have with utilities like this is that they break the design work Microsoft puts into Windows, introducing inconsistency and often working less well than what is baked into the operating system.

I will add too that the Windows 8 Start screen is actually not the monster it is made out to be. It is richer than the old one, with its Live Tiles and large icons, and once you have learned how to organise it in the way you want, it is an effective launch manager. The fast incremental search in the Start screen works brilliantly.

It would benefit Samsung’s users more if the company focused on helping them learn how to get the best from Windows 8 and its new user interface, rather than encouraging them to avoid some of its key features.

Now you know why Microsoft is doing Surface and the Microsoft Store with its Signature PCs, tweaked (or untweaked) to run as designed.

Developing for the Windows Runtime: a few more notes from the field

I have been poking around in the code for my Windows Runtime ITWriting.com reader, which is based on this MSDN sample. The list of posts looks like this:

image

Not bad, but that block showing the date of each post is based on Windows Team Blog page, which is nothing to do with me. What would it take to modify the design?

The problem with sample code is that when you copy and paste you do not really know how the code works, and sometimes issues are hidden. The MSDN article, while it does a good job explaining most parts of the app, does not explain how the date block is put together. A few observations then from my efforts to modify this.

Most of the code for this date block is in the ResourceDictionary element in App.xaml, which means it can easily be reused on multiple pages. The code is a ControlTemplate element, which means it defines a custom control. This is then referenced within a DataTemplate element on the pages where it appears. The DataTemplate defines how the bound data appears in the list.

Reading a block of XAML and trying to visualise how it will render is not much easier than viewing a photo in a binary editor. However, you cannot view App.xaml in a visual designer, since it is not a visual page. The only solution I could think of was to copy the ControlTemplate out of App.xaml into a page where I could see the design, tweaking it, and then copying it back.

I started a new project in Blend, and copied the Canvas code from the DateBlockTemplate, and replaced the data bound values with hard-coded examples. So far so good: I could now tweak the design.

image

My design skills are rubbish so I ended up with a simpler layout. In my adaption, the month and day appear on one line, as in “Aug 26”.

This led me to another problem. In the sample, the month and day are bound as separate fields, for example:

<TextBlock.Text>
<Binding Path="PubDate" Converter="{StaticResource dateConverter}" ConverterParameter="month"  />
</TextBlock.Text>

How could I concatenate the two bindings to appear in one TextBlock? In Windows Presentation Foundation (WPF) you can do this with the MultiBinding class, but this did not seem to work in WinRT XAML. Rather than go further down that route, I decided to amend the DateConverter class which is also part of the sample, to add a conversion that returns both the month and the day.

DateConverter.cs users the new DateTimeFormatter class.  The documentation explains that this takes a “format template string” but does not offer a reference for constructing formats. I experimented and ended up with:

DateTimeFormatter dateFormatter = new DateTimeFormatter("{month.abbreviated(3)} {day.integer(2)}");

which turns out to work.

Now my list of posts looks like this:

image

Not as stylish as before, but at least it is different.

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.

Can you trust Windows 8 Storage Spaces?

I have been watching a few Storage Spaces threads on Microsoft’s support forums with interest. Storage Spaces is a new way to manage disk storage in Windows 8 and Server 2012. It lets you create a pool from two or more drives, create virtual drives on them with an option for RAID-like resilience, and add or remove physical drives as needed when drives fail or more storage is needed.

image

A great feature, and particularly since it comes from the server team you would expect it to be solid. Nobody can afford to use storage that is unreliable.

Look at this thread though, based on Windows 8 Enterprise Evaluation which should be the RTM code:

I had three empty discs which I used for it: 320 GB, 1 TB, 2 TB. The manager told me that the maximum capacity for this setup would be ~2 TB.

I then proceeded to fill the space up, resulting in a horrible write speed of ~20 MB/sec. Okay, that can be accepted, it is a software solution, after all.

Here’s the kicker, though: Upon reaching ~0.9 TB, the storage space vanished! Yes, vanished.

After invoking the Storage Space Manager, I discovered that the space was deemed “full” and that I was to add another disc. I also took a look at the volumes itself. Hmmh. The 320 GB disc was 100% filled, the 1 TB was at 32% and the 2 TB at 16%. And what are 32% of 1 TB and 16% of 2 TB? Why, 320 GB!

So, instead of creating a Parity storage space, it simply downsized every hard disc to the lowest denominator, i.e. 320 GB.

Which means that there are two massive problems here:

  1. It’s lying about the remaining capacity (which is confusing in itself: The manager talks about the storage space having a 2 TB capacity, but directly above it talks about a 3.01 pool capacity?)
  2. It also gives no warning when the real capacity is reached and the pool is deemed “full”. It simply takes the pool offline (instead of, say, reverting to a “read-only” mode with a warning) and you have to bring it online manually. Not fun.

and later, from another user:

Today while I copied data over to it, it once again reached “full” status and turned itself “offline” – but this time it won’t come back “online” – it changes right back to “offline” as soon as I try to bring it online…  So essentially I cannot access any of the data on the drive anymore.

or this (which likely refers to the RP) – the article to which it comments is worth a read too.

I’ve run into a major problem with storage spaces. My storage space is full. Having a full storage space puts it into an error state, and it goes offline. You can click “Bring online” but it immediately goes offline again.

So, I can’t free space on it, because I can’t get it online to delete stuff. And, more importantly, I can’t get anything off of it because it won’t stay online.

It seems my only option is to add three drives, as I had it set to parity. The only problem? I don’t have three more drives to add.

Even bugs in in the RP worry me. Storage is so fundamental that I would expect a feature like this to be 100% solid early in the release cycle, or pulled.

Update: It now seems to me that Storage Spaces is working as designed (phew!) though it is understandable that users are confused. See the new post here.

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.

Reactions to Windows 8

However this thing turns out, the reactions as Windows 8 rolls out are a great sideshow. The first steps with Windows 8 are demanding for users familiar with older versions as some things are different and some things worse than before. Some things are better, too, but getting over that initial hump can be a problem. I am starting to collect some of the reactions that caught my interest, and will update this post with further links as I find them.

image

This distinctly non-PC blast from Igor Ljubuncic is based on the Consumer Preview but I quote it because it does a good job of presenting the “no way never” perspective:

Would you sacrifice your entire user base in a rich and profitable tier for the sake of a feeble chance that you might hold a small share of a new market segment that has significantly lower profit margins? Sounds like stupidity to me. … Windows 8 Consumer Preview is a technological, ideological and functional failure. It’s hard to see how no one lost their job over this.

Here is Tim Edwards in a piece with a number of inaccuracies – but remember, first impressions are still first impressions, even if some of the assumptions one makes turn out to be wrong:

Windows 8 is the worst computing experience I’ve ever had. As a desktop operating system, it’s annoying, frustrating, irritating, and baffling to use.

First impressions from Krishnan Subramanian

This is a great user interface and the underlying platform changes are pretty good. However, this interface is not suitable for desktop (Laptop) experience. … with all the “steep learning curve” factor and the fact that many enterprises just upgraded to Windows 7 makes me wonder if Windows 8 will be a flop show in the enterprise space even with their $40 pricing strategy

Windows 8 a Cognitive burden says a usability expert

Windows 8 is optimized for content consumption rather than content production and multitasking. Whereas content consumption can easily be done on other media (tablets and phones), production and multitasking are still best suited for PCs. Windows 8 appears to ignore that.

Mary Branscombe who knows Windows 8 as well as anyone outside Microsoft has a thorough review concluding:

Keep an open mind, spend some time getting used to the charm bar and the Start screen. Once you do, we defy you not to be impressed by Windows 8.

Another from the long-time-watcher Windows camp (but not always pro-Microsoft; he was the one who proclaimed Longhorn “a train wreck”) is Paul Thurrott who says:

For all the whining, hand-wringing, and ivory tower opining over Microsoft’s decision to wed an awesome new mobile platform with its superior desktop OS, few of these critics ever paused for a moment to consider an awesome possibility: This time, more really is more.

Balanced read but not convinced by the system: Preston Gralla on Computerworld:

With Windows 8, Microsoft is making a bet that it can please both tablet users and traditional computer users with a single OS. That bet didn’t pay off for me. On a tablet I find it an excellent operating system. On a traditional computer, it doesn’t work nearly so well.

Yes, it’s that bad says Woody Leonhard in a curious piece which exaggerates the difficulty of using Windows 8:

While Windows 8 inherits many of the advantages of Windows 7 — the manageability, the security (plus integrated antivirus), and the broad compatibility with existing hardware and software — it takes an axe to usability. The lagging, limited, often hamstrung Metro apps don’t help.

Nik Rawlinson on CNET UK says Windows 8 is worth the upgrade but …

The OS represents a serious attempt to unify computing across PCs and tablets in a cohesive way. It’s impressively quick, apps are presented in an original manner that avoids the repetitiveness of Android and iOS, and it hooks in well to your life on the Internet.

While the learning curve may be steep, there are more than enough similarities between Windows 7 and 8 to ease the transition. It’s well worth the upgrade, but it’s not yet the ultimate operating system Microsoft wants it to be.

A balanced piece from Avram Pltch at laptopmag.com:

If you’re a Windows 7 user and you don’t have a touch-screen device, you can safely skip this upgrade for now and wait to see how this new ecosystem of apps matures. However, if you’re buying a new laptop or tablet, Windows 8 provides a compelling experience that’s worth the learning curve.

PC Pro has divided its conclusions into Windows 8 for desktops and laptops, and Windows 8 for touchscreens and tablets. As you might expect, it is more favourable towards the latter. On desktops:

Windows 8 has relatively little to offer those who do their computing on a desktop or laptop PC. This isn’t a terrible thing – Windows 7 wasn’t exactly broken to begin with – but it means that upgrading to Windows 8 is far from essential.

but on tablets:

Microsoft has delivered a compelling – and in many ways, much more powerful – alternative to iOS and Android. It’s not perfect, and much depends on the quality of forthcoming apps and hardware, but if the goal of Windows 8 is to rejuvenate its appeal across the whole spectrum of touch-enabled devices, then we believe it’s succeeded.

My comment: the point of Windows 8 is to bring desktop and tablet OS together so is this the right way to appraise it?

Jon Honeyball lost patience with Windows 8 which he says is a car crash (one up from a train wreck?):

Any existing user will be tearing their hair out at this nonsense: the flipping backwards and forwards between Metro and the desktop, the lack of a Start button, the way all that history has been hidden away. Ask a user to find Control Panel and see the laptop being thrown into a nearby bin.

Embarcadero previews Metropolis in RAD Studio XE3: fake Metro apps?

Embarcadero has released a video (embedded at the foot of this post) previewing RAD Studio XE3, the next version of the application development suite which includes Delphi and C++ Builder.

Two big new features are Metropolis applications and an new HTML5 Builder tool which looks like a next-generation PHP Builder.

Metropolis – a neat name until Microsoft back-pedalled on the Metro designation for Windows Runtime apps – appears to be a framework for apps that look like Windows Runtime apps but in reality are not. At least, that is my presumption for “VCL Metropolis applications”. The VCL (Visual Component Library) is a Delphi framework (usable also in C++ Builder) which is tied to Windows and GDI, the old-style Windows graphics API, along with many other Win32 APIs. GDI does not work in the Windows Runtime.

image

No matter, all we need is full-screen apps, touch input, and a don’t-call-it-Metro look and feel, and presto, Windows Runtime apps in all but name. They might even run on Windows 7.

image

A glimpse at the controls.

image

Except that there will be significant differences between Metropolis and Windows Runtime. No support for Contracts, for example, the Windows Runtime mechanism for inter-app communication; no delivery from the Windows Store; no support for Windows RT.

The big issue though is this: why would you want a desktop app to look like a Windows Runtime app? And will not users be mightily confused?

The video then goes on to talk about converting existing apps with a “Convert to Metropolis UI” menu option. It turns out though that you can also create FireMonkey Metropolis apps, and the Convert to Metropolis UI option is shown with a FireMonkey app, not a VCL app. Since the FireMonkey framework is designed for cross-platform and uses custom drawing for all its controls, potentially a FireMonkey app could be a real Windows Runtime app, though I get the impression it probably is not.

image

I do think Embarcadero needs absolute clarity here, which is notably lacking in this preview. There is no point in pretending that a Win32 app is a Windows Runtime app when it is not. I have asked for further information.

HTML5 Builder

There is also a quick look at HTML5 Builder.

image

This tool targets server-side development with PHP, as well as apps for web,iOS,Android, Blackberry and Windows Phone. My guess is that there is PhoneGap/Cordova under the covers. I also saw some jQuery in the demo.

image

Here is a look at the CSS3 colour picker.

image

Update: looks like Embarcadero found a way to fake Live Tiles as well:

Metropolis applications are really traditional "desktop" applications styled to look like the Metro UI.
The TLiveTemplate component spawns a new process in the WinRT space which is is an actual WinRT LiveTile application. The LiveTile communicates with the Metropolis "desktop" backend via HTTP/REST to start/stop the application or update the LiveTile.

The screenshots are drawn from this video, or you can watch it on the Embarcadero site here.

For more info from attendees of the RAD Studio XE3 world tour see also:

http://members.adug.org.au/2012/08/22/highlights-of-the-sydney-xe3-event/

https://forums.embarcadero.com/thread.jspa?threadID=75773