Tag Archives: microsoft

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 is the HP Envy:

image

or take a look at this PC Pro preview of the Toshiba Satellite U920T:

Ratchets stretch up and down the panel’s rear, with a central puck keeping the action light and smooth, and the screen flips up and back with a fluid action.

Sony has a Surf Slider, Dell XPS Duo slots into a keyboard dock.

I do understand the reason for all these gimmicks. Sometimes you want a tablet, sometimes you want a laptop, and the idea is to combine them into a hybrid device, just as Windows 8 itself lets you flip between Modern UI (formerly known as Metro) and Desktop.

At the same time though, there is a risk that these vendors are not learning from the past. Two things in particular:

  • The failure of Microsoft’s first Tablet PC. Most models had twist screens and keyboards and styluses. The styluses were prone to getting lost, the twist screens and keyboards were expensive, and tablets became premium-priced devices that were inconvenient to use. Faced with the choice between Tablet PCs and cheaper, simpler laptops, most customers chose laptops.
  • The success of Apple’s iPad. A keyboard is an optional extra, but most manage without it. The screen has a single button, there are a couple of switches and a volume control on the side, it has a dock connector, and that is it. Nor is it premium-priced, at least, not in the context of Apple’s range.

Looking at the effort Microsoft has put into the touch-friendly Modern UI it is obvious that Microsoft has made provision for tablet-only users. Start screen, big icons, easy install and removal of apps, most of the frequently used settings available without going to the Desktop. It is also obvious that Microsoft intends Windows to go further in this direction. Office 2013 just has OneNote MX in the Modern UI, but more is coming.

Where then are the devices that focus on the simplicity of a single slate, with a wireless keyboard on offer if needed, priced to compete sensibly with Apple and Android tablets?

Maybe there will be some of these; but the messaging coming out of IFA is all wrong and I predict that once again many customers will opt for “just a laptop” once again and for the same reasons as before.

This of course will do nothing to disrupt the tablet/iPad market.

One other thing. The IFA unveilings make Microsoft’s forthcoming Surface look better than ever. This does have an optional keyboard, but it is built into a touch cover, and from what I can tell Microsoft has successfully avoided rachets and gears.

If Surface succeeds and flipping hybrids fail, you can be sure there will be a ton of Surface-a-likes at the 2013 IFA.

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?

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.

Windows 8 RTM: it’s better than you may have heard

Poor old Microsoft. Windows 8, the reimagining of Windows, is getting a mixed reception. There is a kind of alliance, with those who you would expect to oppose Microsoft (open source advocates, Apple enthusiasts and so on) lining up with Windows diehards who dislike too much change. Like Windows stalwart Woody Leonhard (remember those endless Office tips?) who says, under the headline Windows 8 review: Yes it’s that bad:

From the user’s standpoint, Windows 8 is a failure — an awkward mishmash that pulls the user in two directions at once. Users attracted to the new touch-friendly Metro GUI will dislike the old touch-hostile desktop underneath. By the same token, users who rely on the traditional Windows desktop will dislike having to navigate Metro to find settings and apps they intuitively locate in Windows 7.

He adds:

I can confirm after months in the trenches and talking with many hundreds of testers that anyone who defines "real work" as typing and mousing won’t like Windows 8 one little bit.

I disagree. In fact, I had the opposite experience. I installed Windows 8 Release Preview for a non-technical friend, on an old laptop with no touch capability, and was so sure that she would dislike it that I kept the backup image of her Windows 7 install ready to zap it back on.

It did not happen. She was flummoxed at first of course, but after pinning a few applications to the taskbar and learning how to navigate Start, she was fine. All her old desktop apps still work and she cannot see what the fuss is about. Now and again she pops into Modern UI land and plays a game or uses the Facebook/Twitter integration in the People app and it is not a problem.

This has made more impression on me that my own experience, which I tend to discount being used to the bleeding edge. I should mention though that I have no desire to go back to Windows 7, even on my desktop. I like the speed of Windows 8; I like having Hyper-V; I like having the taskbar on both my displays, and it works fine.

I also have Windows 8 on the Samsung Slate which I bought last year, and words cannot describe how much better it is than Windows 7 on the same device. That said, I cannot really recommend the Samsung; its battery life is too short, its design falls short in several places, and it is too expensive to be a mainstream hit. However, it has given me a feel for how well the Windows 8 UI works on a tablet.

My view is this. Windows 8 has plenty of failings, but they are the failings of transition to a better place, not the failings of something that will never work properly. Most of the problems which rile people so much can be fixed with a small amount of effort and perhaps a read of a survival guide. I did one, and there are others just as good or better.

It seems to me to be simply dishonest to portray Windows 8 as this horrible thing that is a nightmare to use. I do not have any evidence for that, beyond the initial painful moments that I have seen at first hand. I do realise that someone might be so much put off by those initial moments that they never want to touch it again, and will declare the same to anyone who will listen, but regard it as my job, as a technical communicator, to help users get past that towards a fairer judgment.

image

Windows 8 is ready, but many of its users are not.

Why I want a Windows RT (ARM) tablet

Microsoft has now announced that the first Windows RT tablets will come from Asus, Dell, Lenovo, Samsung, and from Microsoft itself with Surface.

image

Windows 8 on ARM is a different thing to Windows 8 on Intel. On Intel, most Windows applications will run. On Windows RT, the ARM version, only Windows Runtime apps (also known at Metro-style, Modern and Windows Store) will run. There is still a desktop mode, but it is reserved for a special version of Office along with a few utilities like Explorer.

On the face of it, the Intel version is a better deal, because “you get it all.” However, there are times when less is more; in fact, that phrase practically defines the success of Apple’s iOS, which does not run applications coded for Mac OS X.

The problem is this. On a tablet, the Windows desktop is a horrid experience, unless you get out not only your tablet, but also your keyboard and your mouse or stylus. Even the stylus can be a problem, and having lived with Windows 8 on a Samsung Slate tablet for some months, I find a mouse works best.

We have seen this before, with the old Windows tablets starting with Windows XP. OEMs came up with clever designs with twist screens and styluses which clip into the side. These machines certainly have their uses, but they were not mainstream and they were not cheap. Intel Windows 8 tablets will have all the same problems. The poor experience offered by the Windows desktop user interface with touch was a key reason why Microsoft came up with the radical WinRT alternative.

Windows RT on the other hand promises a better tablet experience. with the additional bonus of longer battery life and a lighter, more efficient device. You cannot install desktop apps, but if the Windows 8 ecosystem fails to come up with WinRT apps to cover the essential computing activities, then the Windows 8 project will have failed in its goals.

There is also Microsoft Office of course, which makes some effort to support touch control though it could be better. Still, I would rather have Office which at least has been designed with the knowledge that some users will be controlling it with touch, than all those other desktop applications which presume keyboard and mouse.

The importance of having Office there is that it makes the difference between having to have a laptop with you as well while on the road, and being able to get all your work done on the tablet alone.

This issue does not seem to be well understood either by Microsoft’s OEM partners nor by the general public. I do not blame the latter. On the high street or at the airport, there will be rows of Windows 8 tablets with similar Start screens, and the difference between Windows RT and Windows Intel will be hard to convey. I can imagine salespeople saying, “You should get this one, it is the full Windows,” and steering customers towards the awkward, confusing experience that is Windows 8 on an Intel tablet.

One disappointing remark buried in the announcement:

Over 90% of the RTM applications in the Windows Store support Windows RT

That means 10% of WinRT apps currently do not support ARM, presumably because there is some native x86 code in there.

Microsoft really, really wants developers to build Windows Runtime apps

Or should that be Metro-style apps? or Modern UI apps? or Windows Store apps?

I am not sure; but one thing jumps out at me as I look at the Windows 8 development platform. Microsoft is doing all it can to push developers towards Windows Runtime (WinRT) rather than desktop development.

Here is a small piece of evidence. The contentious new Start screen uses tiles for application shortcuts. These can be static images and text, or live tiles that update with current information. There is only one Start screen though, so desktop apps also have tiles which you click or tap to launch the app in question.

However, there is no documented way for desktop apps to have good-looking tiles. Here is the tile for Excel 2013, for example:

image

It is mostly wasted space. A WinRT app on the other hand can fill that space:

image

or display a picture

image

or take up a double space

image

The question: how difficult would it have been for Microsoft to allow desktop apps to have pretty tiles? I can understand why desktop apps cannot have live tiles, but there is no technical reason I can think of why desktop apps could not have a resource used for a decent tile.

Here is the official answer though, from Microsoft’s Rob Caplan:

Desktop apps cannot customize their tiles and will always use the icon and name from their shortcut.

I guess Microsoft can argue that it wants users to know whether they are about to launch a desktop app or a WinRT app. This could easily be done with a little overlay signifying the desktop. There was no need to ensure that all tiles for desktop apps look ugly.

Except that Microsoft wants these tiles to look ugly. Because it wants you to develop WinRT apps, not desktop apps, and is even willing to have its own Office tiles look bad for the sake of the cause.

Update

This post was picked up by Reddit and of course there are some interesting comments. First, the desktop tiles are improved in the RTM build of Windows 8 (my screenshot above is from the Release Preview):

image

Second, here is a comment apparently from a Microsoft employee:

Wow, what a flimsy argument. The funniest thing about it, though, is that the desktop tiles look MUCH better in the RTM build (though customization is still left to Modern apps). Can’t seem to find a screenshot though.

But on the other hand, of course we want people to develop Modern apps. That’s why we built the platform. But the desktop tiles aren’t a part of that at all.

If I were the author, I’d bring up Contracts as a much better example. Desktop apps can’t support the Share Contract, or Search, or whatever; only Modern apps can. Of course, there’s no telling if this is simply a v1 limitation or a longer strategy; even I have no idea (I’ve only been at the company a little over a year). If we waited to release Windows until we had implemented everything we wanted to do, it wouldn’t come out for years. We have to draw the line somewhere.

Disclaimer: these are my thoughts, not the company’s.

In defence, I presented this only as a “small piece of evidence”.

Note the use of the term “Modern apps”.

Microsoft toughens logo requirements for Windows 8, forbids startup apps

Today I came across the certification requirements for Windows 8 desktop apps. This is the successor to the Windows 7 Logo program, and represents a set of best practices required for software to display the official Windows logo.

In practice, I am not sure how many buyers check that software is certified before buying, though it might make sense for businesses to do this as a matter of policy if they want keep Windows desktops running smoothly and safely.

The requirements are also interesting as a guide to what Microsoft considers to be well-behaved applications.

The new requirements are tougher than before. Some guidelines that were in the “Beyond Windows 7” section in the previous logo program have now moved to become full requirements. Others seem to be completely new.

Here are some highlights:

  • Your app must not depend on any Windows compatibility feature, nor the VB6 runtime.
  • Apps may not start automatically on startup. You may not set the “run” registry keys nor install a shortcut into a startup folder.
  • Apps must use “strong and appropriate ACLs” to secure executables, directories and registry keys.
  • Apps must be compiled with /SafeSEH (safe exception handling), /NXCOMPAT (no data execution) and /DYNAMICBASE (random address space layout).
  • All executables must be signed with an Authenticode certificate – this was the same in Windows 7 but worth repeating.

The automatic startup prohibition is particularly intriguing. It could not be clearer:

10.2 Your app must avoid starting automatically on startup

I hate unnecessary startup applications too; but I do not object to all of them. My password manager runs on startup and sits in the notification area. Some of Microsoft’s own applications do this, for example Lync, Skype and SkyDrive. I would have thought auto-startup is acceptable if it is under the user’s control.

One factor may be that Windows 8 desktop apps do not auto-start on log-in even if you set them to do so. Instead, they start when the user clicks or taps into the Desktop. Therefore, in a sense none of the normal auto-start techniques are reliable.

There is a way round this, which is to install an autorun service.

In general, tough certification requirements are a good idea, though if they are too demanding the risk is that vendors will simply ignore them.

Using Windows Runtime (WinRT) APIs from desktop applications

After trying out Windows 8 notifications from a Windows Forms application, I did a bit of research into using the Windows Runtime (WinRT) API from desktop applications.

It turns out that this is something Microsoft planned for:

Desktop apps should for the most part be able to use WinRT. This is an area where we should have more information moving forward.

says Microsoft’s David Lamb, in Developer Support. He was answering a question about the Proximity APIs.

How do you do it? In C/C++, according to Steve Harne:

For this to build, you’ll need to set the following compiler switches in the the C++ Win32 Console wizard generated project:

C/C++ / General Settings
    Enable Windows Runtime Extensions (/ZX)
    Additional #Using Directories (/AI) -> set this to "C:\Program Files (x86)\Windows Kits\8.0\Windows Metadata" (modify as per your installation)

C/C++ / Code Generation
    Disable Minimal Rebuild (/Gm-)  -> this is not compatible with /ZX

In .NET applications you can set a reference to Windows.winmd. This is a WinRT metadata file, which you can browse in the Visual Studio object browser.

image

You even get a short summary describing each class and class member.

Note that as Microsoft’s Larry Osterman explains here:

there is absolutely no (zero) il in the windows.winmd file – it’s a metadata-only assembly. This is important because winmd files only describe structure, they don’t contain code (note that the C# compiler can produce hybrid winmd files that also contain some code, this was to support certain C# scenarios)

While a lot of stuff works, there will be WinRT API calls that make no sense other than for real WinRT apps. It is also worth noting that all of this is specific to Windows 8 (and higher, I presume). Since most desktop apps will need to be compatible at least with Windows 7, this requires some care. Lamb also says:

WinRT APIs may be tied to Metro style apps, Desktop apps or potentially available to both. The documentation will list which environments (Desktop, Metro style or both) a given API works in.

and in fact you can see this in the documentation. For example, the docs for the ToastNotification class states:

Applies to: Metro style apps | desktop apps

image

whereas if you look at the ContactPickerUI class, it says:

Applies to: Metro style apps only

For those APIs where desktop use is supported, you can go right ahead.

Fixing Visual Basic for Applications code for 64-bit Microsoft Office

The first macro programming language in Microsoft Office was Basic, and it is still there in the forthcoming Office 2013. In fact, Visual Basic for Applications (VBA) has been slightly updated, and reports itself as version 7.1 in the preview. The version is Office 2010 is 7.0.

image

Although it is embedded in Office, VBA is a powerful tool and there is not much that you cannot do. It is based on the same runtime that powers Visual Basic 6.0, the last version before the .NET revolution.

Visual Basic makes it easy to call the Windows API though the Declare statement. One implication though is that code written for 32-bit VBA may need revising to work in 64-bit Office, and I ran into this recently with some VBA code of my own.

Some existing Declare statements will work fine on both platforms, but Microsoft chose to force developers to review all of them by introducing a new PtrSafe attribute. The name of this attribute is dubious in that it does nothing to ensure pointer safety. In fact it does nothing at all other than to say to the compiler that the Declare works in 64-bit Office, whether or not it really does. Still, it means you have to add PtrSafe to all your Declares, the idea being that you check that they work. Without PtrSafe, the Declares will not execute in 64-bit Office.

The details of what to change are here. What that article does not mention though is that Microsoft has provided declarations for the most commonly used API declarations that work in both 32-bit and 64-bit VBA. The file is called Win32API_PtrSafe.txt and you can download it here. The file is too large to load into a single VBA module but you can use it to find the declarations that you need.

It can still be difficult to work out how to call some APIs. Note that if you get it wrong VBA and Office may crash. You are giving up the safety of VBA once you use these functions.

I have not yet seen Office running on ARM in Windows RT, but the rumour is that VBA is not supported. That is not surprising, since with VBA you can code pretty much any desktop application, if you don’t mind it running within Office, undermining Microsoft’s intention that only Windows Runtime (formerly known as Metro) apps can be installed on Windows RT.

Windows 8 is done, available August 15th with final Visual Studio 2012

Microsoft’s Windows chief Steven Sinofsky has announced the release to manufacturing of Windows 8:

The Windows 8 team is proud to share with you that a short while ago we started releasing Windows 8 to PC OEM and manufacturing partners.

image

The separate post by Brandon LeBlanc has more details. Microsoft’s developer (MSDN) and IT admin (Technet) subscribers will be first to get the new Windows, leaks aside, on August 15th. LeBlanc adds:

On August 15th, developers will be able to visit the Windows Dev Center to get access to all the tools and resources they need including the final build of Visual Studio 2012 to design, build, and sell apps in the Windows Store.

from which we learn that Visual Studio 2012 is also done, or will be by the 15th.

Windows Server 2012, which uses the same core code, has also been released to manufacturing, says Microsoft’s Jeffrey Snover:

the final code is complete and we are delivering it to our hardware and software vendor partners this week

The Windows Store is also open for business, kind-of. Antoine Leblond says that you can submit a Metro-style app from today, though you will need an RTM build to do so, so for most of us that will actually mean from August 15th. Apps can include free, paid-for, trials, and those with in-app purchases. Only Metro-style apps can be submitted for installation through the store, though desktop apps can be offered through a link to the vendor’s web site.

Windows 8 is a bold release. Despite pressure from existing Windows users, Microsoft has held firmly to its decision to abandon the old-style Start menu and to make the Metro side prominent for all users. There are several big unknowns:

  • How will users react to the changes? The early moments with Windows 8 tend to be difficult, and some may be put off completely.
  • How popular will Metro-style apps be, relative to traditional desktop apps?
  • How well will Windows 8 and Office 2013 really work on a tablet without keyboard or mouse?
  • What proportion of users will want the ARM version, Windows RT, as opposed to the familiar, messy world of x86 Windows?

I have used Windows 8 intensively for some months now, both on desktop and tablet. It works fine, and seems a little faster than Windows 7 on the same hardware. On a tablet, the Metro-style apps are delightful but few, but desktop apps are a bit of a struggle, which is one reason I am looking forward to Windows RT devices on which those troublesome desktop apps cannot be installed.

Should Microsoft have made such radical changes in Windows? That is open to debate; but check out this report on how tablets, mainly Apple iPads, are eating away at the PC market to understand why the company felt that “reinventing Windows” was its only option.