Category Archives: windows

Visual Studio 2013 is released. What’s new?

Microsoft released Visual Studio 2013 yesterday:

VS 2013 can be installed side by side with previous versions of Visual Studio or, if you have a VS 2013 pre-release, it can be installed straight over  top of the pre-release.

I installed over the top of the pre-release and I’m happy to say that this worked without incident. This is how it should be.

image

Oddly, the launch of Visual Studio 2013 is not until November 13th, proving that in Microsoft’s world products can “launch” before, at or after general release.

So what’s new in Visual Studio 2013? Tracking Visual Studio is difficult, because many important features show up as updates and add-ons. After all, at heart Visual Studio is just a shell or platform in which development sit. The Visual Studio LightSwitch HTML client, for example, which made LightSwitch into a strong tool for rapid application development of mobile web apps, appeared as part of Visual Studio 2012 Update 2. Now in Visual Studio 2013 we have LightSwitch support for Cloud Business Apps, though the new project type is shown under Office/SharePoint rather than under LightSwitch:

image

A Cloud Business App is an add-on for SharePoint typically running on Office 365. In the new model SharePoint apps do not really run on SharePoint, but are web apps that integrate with SharePoint. This is great in an Office 365 context, since you can write a web app that is accessible through the Office 365 site and which is aware of the logged-on user; in other words, it uses Azure Active Directory automatically. There’s more on the subject here.

What else is new? Here are some highlights:

  • Better ISO C/C++ compliance in Visual C++
  • Upgraded F# with language tweaks and improved performance
  • .NET Framework 4.5.1 with minor enhancements
  • Support for new Windows 8.1 controls and APIs in Windows Store apps – these are extensive.
  • “Just my code” debugging for C++ and JavaScript, and Edit and Continue for 64-bit .NET apps
  • Graphics diagnostics for apps running remotely
  • Sign into Visual Studio with a Microsoft account. Microsoft pulls developers further into its cloud platform.
  • Windows Azure Mobile Services – build a back end for an app running on Windows, Windows Phone, iOS, Android or web

Does that amount to much? Compared to the changes between Visual Studio 2010 and 2012, no. That is a good thing, since what we have is a refinement of what was already a capable tool, rather than something which gives developers a headache learning new ways to work.

Microsoft should have made a separate Windows for tablets say critics – but it did

David Pogue at the New York Times expresses a common view in his take on Windows 8.1:

The more you work with Windows 8, the more screamingly obvious the solution becomes: Split it up. Offer regular Windows on regular computers, offer TileWorld on tablets. That way, everyone has to learn only one operating system, and each operating system is suited to its task.

Simple, eh? One of several flaws in this argument though is that Microsoft did exactly that.

image

What is Windows RT? It is a Windows tablet OS where only Windows Store apps can be installed. Admittedly the presence of the desktop in Windows RT, in order to run Office and to access settings that would otherwise be unavailable, is a sign that Windows RT is not quite done; but you can ignore it if you want. If you are looking for Windows 8 for tablets only, here it is.

Did the market love Windows RT? No, on the contrary, Microsoft had to write down $900 million on excess Surface RT inventory and OEM partners have pretty much abandoned it, leaving Surface 2, which also runs RT, alone in the market.

What was wrong with Windows RT? While you can identify missteps in naming and marketing, the fundamental reason is the weak app ecosystem, which limits what you can do.

There is no reason to think that some other variant of Windows RT – for example, one without a desktop at all, or renamed “Surface OS” – would have fared any better. It would probably have been a bigger disaster, lacking even the benefit of Microsoft Office.

Personally I like Windows RT and I think it is strategically important, though rumours suggest that it will be absorbed into a future Windows Phone OS:

Right now, Microsoft has two ARM-based Windows operating systems: The Windows Phone OS and the Windows RT OS. The thinking is these will be one by Spring 2015. Because it tends to be easier to take a “smaller” OS and add to it than to take a larger one and remove features from it, it’s likely that the Windows Phone OS is the one on top of which the new operating systems group will build.

The reasoning, incidentally, does not altogether make sense, though I do not doubt Mary Jo Foley’s reporting. Windows Phone itself is based on a cut-down version of a larger operating system, with the Windows 7 range built on Windows CE and the Windows 8 range built on the full Windows NT kernel. What we will get, I suspect, is unification of the app platform in Windows Phone and Windows 8, and the question will be what happens to the desktop and ability to run full Office in this ARM Windows vNext.

Aside: of all the gadgets I carry around, it is Surface RT that draws the most approving comment from non-technical friends, thanks to its small size, excellent screen, long battery life, and ability to run Word and Excel as well as tablet apps. Of course it is too expensive and too slow, in its first release, and while Surface 2 may fix performance, it will not fix the premium price.

7 types of Windows 8 users and non-users

When I was in Seattle earlier this month I visited the Microsoft Store in Bellevue. I nearly bought a Nokia Lumia 1020, but also observed an enthusiastic salesperson showing off Surface 2 (a pre-launch demo unit) to an older customer. She watched patiently while he showed how it handled pictures, SkyDrive, Office, Email, Facebook and more. At the end she said. “I don’t need any of that. Show me your cheapest laptop.”

image

Yes, it’s tough for Microsoft. The incident got me thinking about computer users today and whether or not they are in the market for Windows 8 (or the forthcoming Windows 8.1).

Here is a light-hearted at some categories of users. And yes, I think I have met all of them. For those that are saying no, what would change their minds?

1. The Apple fan.

Switched to Mac from Windows XP around 2007. Has Mac, iPhone, iPad. So much easier, no anti-virus nags, boots quicker, less annoying, always works smoothly. Occasionally runs a Windows app on Parallels but nothing non-nuclear would persuade them to switch back.

Buying Windows 8? No.

2. The Enterprise admin.

In latter stages of migration from Windows XP to Windows 7. Still a few XP machines running awkward apps or run by awkward people. Last holdouts should be gone by year end. Job done, won’t even think about another migration for 3-5 years. Next focus is on BYOD (Bring your own device); will be mostly iPhones and iPads with the occasional Android or Windows 8 tablet.

Buying Windows 8? Mostly no.

3. The older Windows user

Son thinks a Mac would be better, but Windows works fine, is well understood, and does all that is needed. No desire to upgrade but when PC conks out will look for the most familiar looking machine at a good price. Would prefer Windows 7 but may be forced into Windows 8 if those are the only machines on offer.

Buying Windows 8? Maybe reluctantly.

4. The PC guy

This is the guy who understands PCs back to front. Never saw the point of Macs, overpriced, fewer apps, and little different in functionality. First thing to do with a new PC is either spend 3 hours removing all the crapware, or reinstall Windows from scratch. The Windows 8 user interface took some adjustment at first but fine with it now, likes the slightly better performance, and even uses a few Metro apps on the Surface Pro tablet.

Buying Windows 8? Yes, best Windows yet.

5. The tablet family

Used to update the family PC every few years, but mum got an iPad, son got an Android tablet, then dad went Android too, and now they spend so much time doing email, games, web browsing, YouTube, Facebook and BBC iPlayer on the tablets that the PC gets little use. It’s still handy for household accounts but it won’t be replaced unless it breaks.

Buying Windows 8? Not soon, and maybe not ever.

6. The tried it once never again person

It was embarrassing. Used Windows for years, then a friend brought over a Windows 8 laptop. Clicked on desktop, but with no Start button how do you run anything? Clicked around, right-clicked, pressed ESC, pressed Ctrl-Alt-Del, but nothing doing. Friend was laughing. Now the sight of Windows 8 evokes a chill shudder. Never, just never.

Buying Windows 8? No way.

7. The “Make it like 7” person

Windows 8? No problem, it’s just like 7 really. Installed Start8, got the Start menu back, set it to boot to desktop, set file associations for PDF and images to desktop apps, and never sees the Metro environment.

Buying Windows 8? Kind-of, but will never run a Metro app.

Usability: Microsoft’s big weakness

The iPhone, or maybe the iPod, was the beginning of the era of usability. Make something nice to use, reasoned Apple, and users will come flocking.

After the iPhone came the iPad; and then Android which while lacking the polish of iOS, mostly has the same characteristics of appliance rather than computer in its user interface.

What about Microsoft? It has learned to some extent. Windows Phone is a user-friendly operating system. The touch interface in Windows 8, although a shock to existing Windows users, shows obvious effort towards usability and sometimes succeeds. Navigating the weather app, for example, is a pleasure.

There are times though when Microsoft seems to have learned nothing. Take the new SkyDrive integration in Windows 8.1 for example. It is foundational in Microsoft’s effort to wrest Windows into being a cloud-centric operating system, where you could lose your device, buy a new one, log in, and find all your stuff. I’ve posted about its progress here.

But then you are on a train, say, with a poor internet connection, and you double-click a file in SkyDrive that has not been downloaded to your PC. This is the dialog you see (at least, it is the one I just saw):

image

There is so much wrong with this dialog that I don’t know where to start. But I will have a go.

First, I doubt the error is really unexpected. If my internet connection is poor, problems downloading stuff from SkyDrive are expected, not unexpected. You would think that the client could figure out, “It looks like I have a poor connection to SkyDrive” and inform the user accordingly.

Second, the error number. The dialog invites me to search for help using this number; however to do so I would have to copy it manually as it is unselectable. The number of course is in hexadecimal, so there is a high chance of copying an O instead of a zero as the difference is not obvious other than to programmers. Nor is it clear where I should search. Should I bang the number into Bing and hope for the best? Such searches can be fruitful, but they can also go badly wrong when you hit sites that tell you to download their utility to clean your registry, or some such nonsense.

Third, there is space for a human-understandable description of the error, but it is says “No error description available”. Lazy programming somewhere. Maybe in a code base the size of Windows it is too much to expect helpful messages for every error but this is not something users should normally see.

Fourth, there are three choices: Try Again, Skip and Cancel. Bearing in mind that I double-clicked only one document, what is the difference between Skip and Cancel?

Fifth, there is a More details button but it is disabled. Why, if no more details are available, does this More details button appear at all? Though I’d suggest that Error 0x80040A41 is a great candidate for “More details” rather than being something non-technical users are expected to make sense of.

What should happen? First, SkyDrive and/or its client should work better. This is a critical feature; but users are complaining (yes, I found this by searching for the error code) and it seems that problems persist in Windows 8.1 RTM. Microsoft has been working on file sync for decades, yet upstarts like Dropbox work more smoothly.

Second, when bad things happen, I am all in favour of plain English. I don’t see any reason ever to confront users with error numbers in hex. Put it in a technical details option by all means. In this particular case, why not something like, “Windows is having problems downloading from SkyDrive. You may have a poor internet connection; please try again later, and if the problem persists, contact support.”

Getting this right is not easy; but for as long as ordinary users see this kind of dialog in day to day use of Windows, the flight to iPad and Android will continue.

Update: the error fixed itself when I found a better connection

Sunspider JavaScript Benchmark on 4 models of Microsoft Surface

Today I got my first sight of Microsoft’s new models of Surface, its Windows tablet, on display at the Microsoft Store in Bellevue.

image 

I ran the Sunspider JavaScript benchmark on the new models, and then on the old ones for comparison.

  • Surface RT 1.0: 922ms
  • Surface 2.0 (RT): 397ms
  • Surface Pro: 127ms
  • Surface Pro 2.: 114ms

No surprises; but what this confirms is that Surface 2.0 RT, which has an NVIDIA Tegra 4 chipset, is substantially faster than the earlier Tegra 3 model; whereas Surface Pro which has an updated Intel Core i5 processor is only a little faster on this particular test.

Microsoft is attempting to continue selling Surface RT alongside Surface 2.0 RT, at $349 vs $449 for the 32GB model. However the new one is a better buy and I imagine the price of the earlier model will fall further, given that Microsoft appears still to have substantial stocks.

Windows 8.1 and cloud-centric computing

If your iPad breaks or gets stolen, it’s bad but not that bad. The chances are that there is no data on the iPad that is not copied elsewhere, especially if you let Apple’s iCloud do its default thing and copy everything you create. Get a new iPad, sign in, and you can carry on where you left off; the apps are there, the data is there too, even if you do not actually have a backup of the device itself.

Google’s Chromebook goes even further in this direction. When you sign into the device you sign into Google and all your data is there.

This kind of freedom from worry about losing apps or data stored on the device seems to be Microsoft’s goal with Windows as well, though it is more difficult because historically applications have complex local installs, sometimes protected by activation tied to the PC itself, and data is stored locally in your user folders – Documents, Pictures, Music and so on – or in some cases elsewhere, depending on how well behaved the application is. In order to defend against data loss if the PC is lost or damaged, you have to keep regular backups, or make a conscious effort not to store data locally.

Windows 8.1 includes a significant change. It is optional, but the default is that documents save to SkyDrive (note that the name will change soon) by default.

image

This is in addition to synchronisation of settings, passwords and application data. Again, SkyDrive is where this data gets stored. You can see and control what is synchronised in Charms – PC Settings – SkyDrive -  Sync Settings:

image

The list is extensive and includes web browser favourites (provided you use Internet Explorer) and “settings and purchases” within apps. Note that apps in this context means new-style Windows Store apps, not desktop applications. Separately, there is a Camera Roll setting that syncs images and optionally videos from the Camera Roll folder in your  Pictures folder.

How close then is Window 8.1 to a cloud-centric experience, where you could thrown your machine in the bin, buy another one, sign in and carry on where you left off?

It is getting there, but in practice there are plenty of snags and oddities. The big one is desktop apps, of course, which do not participate in this synchronisation other than via SkyDrive if you save documents there. You will have to reinstall the applications as well as reconfigure them. That said, certain desktop applications now have a subscription model. Two big examples are Microsoft Office, if you buy via an Office 365 subscription, and Adobe’s Creative Cloud which includes Photoshop, Dreamweaver, Audition and so on. Using cloud-aware applications such as these helps, but it is not seamless. For example, in Office 2013 I have to reconfigure the Quick Access Toolbar and copy my custom templates manually to a new machine.

New-style apps do roam to a new machine and you can now use them on up to 81 different machines, which should be enough for anyone. Note though that your apps, which are listed when you sign into a new machine with a Microsoft account , are not actually installed until you run them for the first time. Not a problem is you are on the internet, but worth knowing before you catch that flight. In the following example, only two of the apps are actually installed:

image

Microsoft takes a similar approach with SkyDrive documents. The feature called SkyDrive “smart files”, described here, means that documents are by default only available online. I can see this catching people out, especially with pictures, for which a thumbnail shows even when the actual picture has not yet been downloaded. Here are some pictures I took at Microsoft Build in June; they are on SkyDrive but although they look as if they are on my PC a message in the status bar says “Available online only.”

image

A nice feature in terms of seamlessly connecting to cloud storage without filling your local hard drive (or often, small SSD drive), provided you understand it. Of course, you can mark a file or folder to be available offline if you choose, in which case it is downloaded.

Some things are confusing. If you have a domain-joined machine then passwords do not sync, which makes sense for security, but also raises the question of what all this consumer SkyDrive stuff is doing on a domain-joined machine anyway? Of course there are other ways of doing something similar in domain environments:

  • Settings determined by Group Policy
  • Default document location set to corporate shared folder
  • Roaming profiles

The odd thing though is that you can link a Microsoft account (SkyDrive, App Store account) to a domain account and you then end up with a mixture of consumer and corporate features which work in different ways. It would be tempting simply to block the use of Microsoft accounts completely – which you can do with group policy – especially if you are concerned about sensitive corporate documents arriving on consumer cloud services and mobile devices through the magic of sync.

It is also confusing that Office 365 users cannot use SharePoint in Office 365 to sync settings.

I also feel that the user interface in Windows 8.1 needs some work in this area. Here are some things I find odd:

Applications like Paint and Notepad use a principle of “default to where you last saved.” This means that even if you set SkyDrive as the default document location, if you save once to the documents or pictures folder on the PC, it will default to that local destination next time you use it.

Since both SkyDrive and the local PC have a folder called Documents, it would be easy not to notice.

Office 2013 is even more confusing. I have Office 365, so when I hit save in Word I get offered Office 365 SharePoint, SkyDrive, “Other web locations” which includes an on-premise SharePoint, and Computer. Oddly, if I hit Computer, the default location is SkyDrive:

image 

Much of this confusion is a legacy problem as Microsoft attempts to transition Windows to become a cloud-centric OS, but it could be better done. I would suggest clear naming to help users know whether a save location is local or cloud. Most of all, I would like to see consistency between consumer and corporate deployments so that a domain-joined PC can have the same options that work in the same way, except that data is stored to a corporate location.

How to change a network from public to private in Windows 8.1

So I arrive at a hotel and turn on wi-fi and connect. That little dialog comes up, Do you want to find PCs devices and content on this network? The correct answer in a hotel is No, but in my jet-lagged stupor I click Yes. Oops.

image

No problem, just change it, right? Hmm. Go to the Network and Sharing center and it is not obvious how to change the profile of a network. It tells me that the network is Private, but the setting seems to be read-only:

image

Not much of a Network and Sharing Center if you cannot change this setting; but never mind. How about just “forgetting” the network so that the dialog reappears?

I took a look here. Press and hold a network in the list to forget it. Unfortunately this does not work in Windows 8.1, and apparently that is by design.

OK, so try the command line:

netsh wlan delete profile name="ProfileName"

The profile name in this context is the wi-fi SSID. Seems to work; but when I reconnect the profile dialog does not appear. Apparently the network is not fully “forgotten”.

There is a way. Regedit, and go to:

HKLM\Software\Microsoft\Windows NT\CurrentVersion\NetworkList\Profiles

and find the GUID that matches your network, in my case Network 11.

image

Delete this profile. Do the command line thing as well to delete the profile. Now the network really is forgotten. Reconnect, the profile dialog comes up again, and now you can choose Public.

There must be an easier way though. Anyone know the user-friendly way to fix things when you accidentally select the wrong profile for a connection?

Update

It seems that this is meant to be set in Charms – PC Settings – Network. In fact, you can do it for wired connections. Here is what I get if I tap a wired connection, which I presume changes the profile:

image

However, if I tap a wireless connection I get this:

image

This looks like a bug to me, either with my 8.1 install or more generally.

ComponentOne’s TouchToolkit for Windows Forms: another approach to the Windows tablet problem

Software component vendor ComponentOne has released Studio Enterprise 2013 v2.5, the latest in its suite of components, with support for Windows 8.1 and Visual Studio 2013.

The piece that caught my eye is the TouchToolkit for Windows Forms.

image

Here’s the problem. The Windows desktop is poor with touch control, which is why Microsoft created Windows 8 with its alternate, touch-friendly Windows Runtime platform. However users are resistant to the changed user interface, and it does not help with existing desktop apps.

Developers are also faced with a question of simple mathematics. Develop a Windows 8 Store app, get a market of x. Develop a Windows desktop app, get a market of many times x, since Windows 8 can run desktop apps, but Windows 7 cannot run Store apps.

Embarcadero approached this problem with a framework called Metropolis, for Delphi and RAD Studio. It builds apps that mimic the Windows Runtime look and feel, but which are actually desktop apps. Of course they do not run on Windows RT, the ARM version. It is a confusing solution in my opinion, leading users into what Martin Fowler calls the Uncanny Valley, where stuff works almost but not quite how you expect.

I prefer the thinking behind the TouchToolkit. Take your existing Windows Forms apps, or write a new one, using these controls to make them more touch-friendly. They will never be as well suited to touch control as a Store app, but they might be good enough, and of course will run on Windows 7 and earlier versions.

The controls include a magnifier, support for zoom gestures, and a touch event provider that adds gesture support to any control.

Windows Forms, we all know, is not as good as WPF if you want an application that scales nicely and supports modern design. On the other hand, Windows Forms is pragmatic and easy to use framework that remains popular for line of business apps.

Fixing a slow Lenovo laptop

Here is a problem I’ve not seen before. A Lenovo Thinkpad E530 laptop running Windows 7, which after working fine for months developed a critical problem. On start up the user would see the network icon in the notification area (bottom right) show a busy icon or a red cross. No network connectivity, and the machine almost unusable.

After around 20 to 25 minutes the network sprang into life and everything was fine, until the next reboot when the problem repeated.

I fixed several errors in the event log to no avail. The problem persisted.

Went into msconfig and did the usual trick of disabling all non-Microsoft services and startup items. Everything worked fine. Laptop booted quickly and connected to the network.

What was the culprit? Trial, error and instinct eventually narrowed it down to an Intel service: Bluetooth Device Monitor. If enabled, 25 minute boot. If disabled, two minute boot.

I updated the Intel Bluetooth driver, a substantial 300MB download. This fixed it. I noticed that the updated Bluetooth Device Monitor now says it is from Motorola:

image

I understand it was always provided by Motorola but previously signed by Intel.

Posted here in case others run into this issue.

Update: this seems to be a common problem. It seems that a recent Microsoft update is incompatible with some versions of the Bluetooth driver. See here for discussion on the HP support forums, where it has occurred with the HP Probook 4540s and others.

As noted in the comments, I used Lenovo’s system update utility to grab the more recent “Motorola” driver. It shows there as an optional update.

Fix screen dimming unexpectedly in Windows 8

Symptom: you are working away on your laptop or tablet, and suddenly the screen dims. Moments later, it brightens. Annoying and distracting.

The reason is the ambient light sensor. Someone thought it would be smart if the brightness of the screen varied according to the level of ambient light. If the room is more dimly lit, your screen does not need to be so bright. Microsoft’s Surface Pro, for example, has this enabled by default.

The idea is reasonable, but the implementation is lacking. Instead of the brightness gradually varying so you do not notice it, it dims and brightens like a mad thing.

You can fix this in Windows 8 through the power options – no it is not in display options so don’t bother looking there.

If you have a battery/mains icon in the notification area in the task bar, you can right-click and choose Power Options. Otherwise, open Control Panel (desktop version), and search for Power options.

Now click Change plan settings for the currently selected power plan.

Then click Change advanced plan settings.

Now scroll down to Display and expand the tree.

image

The setting you want is Enable adaptive brightness. You can set this separately for mains and battery power. It does slightly extend battery life, so you might want to leave it On for battery and Off for when plugged in.

Then click Apply and close the dialog.