Skype vulnerability exposes poor security in web application. Who will trust Skype now?

Today there are reports of a breathtakingly bad vulnerability in Skype, that allows anyone to hijack another person’s account simply by knowing the email.

image

Password resets have now been disabled, fixing the problem temporarily, but it remains inexcusable.

image

It is basic security practice that ownership of an email address must be validated with a confirming email to that address and a special link. I see this on web forums that discuss trivia – why not on Skype where you can spend real money, and more seriously, see contacts and conversation history?

There must be a second weakness here, in that somehow the new account ends up getting confused (by Skype) with the existing one. It should not be possible to create an account with an email address that is in use on another account. Actually I count three weaknesses:

1. You can create an account with an email address that is not validated.

2. You can create an account with an email address that is already in use on another account.

3. You can reset the password on another account without having access to their email address, by resetting it on a second account with the same email address.

Microsoft acquired Skype in October 2011 but it is not clear when this vulnerability was introduced.

I tested this myself by setting up a new account with an email address that already has a Skype account. It worked though I did not take it to the next stage. Now I have a Skype account, incidentally, which cannot be deleted as Skype does not allow this. However I have now reset the email.

As it happens, I have suffered in the past from people opening accounts with my email address, I believe because of innocent error, such as forgetting to type the number in an account like someoneNN@yahoo.com or the like. One person set up an Apple iTunes account with my email address, complete with credit card details. I complained to Apple who disabled the account, but as with Skype, it cannot be deleted. So if I ever want to use that email address for an Apple account I will have problems.

That was a few years ago. It is astonishing that a company the size of Skype/Microsoft, handling and storing vast amounts of personal information, would have such weaknesses in its security.

Who will trust Skype now?

Update: It also appears that this flaw, or part of it, was reported to Skype back in August. This is a failure of management as well as security.

Steven Sinofsky leaves Microsoft – but why?

Microsoft has announced that Windows chief Steven Sinofsky is leaving the company:

Microsoft Corp. today announced that Windows and Windows Live President Steven Sinofsky will be leaving the company and that Julie Larson-Green will be promoted to lead all Windows software and hardware engineering. Tami Reller retains her roles as chief financial officer and chief marketing officer and will assume responsibility for the business of Windows. Both executives will report directly to Microsoft CEO Steve Ballmer.

image

Here are some quick thoughts.

One line of thought is that Windows 8 and Surface RT are failing because users do not like the dramatic changes, with the new tiled personality and disappeared Start menu, and therefore its architect is departing.

I do not believe this for several reasons. One is that the promoted Julie Larson-Green is a key creator and proponent of the new design (call it Metro if you like). She worked with Sinofsky on the Office Ribbon way back, a project that has some parallels with Windows 8: take a critically important product and revamp its user interface in ways that customers are not requesting or expecting.

My further guess is that Microsoft was braced for some level of storm on the release of Windows 8. There was plenty of warning that the new tablet-friendly platform would be a hard sell to longstanding Windows users.

The time to judge the success of Windows 8 is not today, but in two or three years time, when we can observe how the platform is faring in the new world of mobile and cloud.

It is my opinion that the remaking of Windows is more brilliant than blunder. Without “reimagining” it was doomed to slow decline. Microsoft now has a tablet operating system, and one that is in the hands of millions thanks to its integration with desktop Windows. The storm will die down and there is at least some chance that the outcome will be an app platform that will keep the company in the tablet game.

That said, it seems to me that Microsoft has had problems in execution. Windows 8 is fairly solid, but there are signs of haste in the building blocks of Metro, as you discover if you write an application, while Surface RT is not the fast, easy to use appliance that it should be. Key apps like Mail and Xbox Music are short of features and too hard to use, while Windows-isms such as update errors have not been expunged as they should. Such issues can be fixed, but the moment to get this right is at launch, not six months or a year later.

You might also ask: why is Microsoft allowing its brand new store to fill with rubbish apps, seemingly with the knowledge and encouragement of employees at the company?

Were these execution problems Sinofsky’s fault then? Again I doubt that. My perception is that Microsoft is a dysfunctional company to some degree, but one in which there are islands of immense talent and teams which deliver. It is huge and bureaucratic though, and getting everyone motivated and energised to deliver top quality is likely impossible without radical reform. Bureaucracy tends to result in employees who work by the letter not from the heart, which results in mediocrity, and there is evidence of that everywhere.

In this context, the fact that Sinofsky delivered twice, once with Office 2007 and again with Windows 7, with judgment on Windows 8 not yet possible, shows his ability.

If failure is not the reason then, why?

Well, another reason for staff to leave suddenly is that there was some sort of internal conflict. Sinofsky achieved by taking a firm line and sticking to it, which made him enemies. I do not have any inside information; but two moves to reflect on would be the move of ASP.NET and Silverlight guy Scott Guthrie to Windows Azure, and deep Windows internals guy Mark Russinovich also to Azure.

Sinofsky was no friend to .NET, which led to some perplexing decisions. A little sign of this I witnessed at Build was why XNA, a .NET wrapper for Direct X hardware acceleration, is not supported in Windows Phone 8. Except it is, as a member of the phone team explained to me, it is just that you have to target Windows Phone 7 in your project, but it will run fine on Phone 8. Why the workaround? Because .NET is now discouraged for games development, for no technical reason.

Still, this war has been going on for a while and Sinofsky has won every battle. Why has he now left?

I have no inside knowledge, but would conjecture that the effort of forcing through Windows 8 and native code versus .NET built up pressure against him, such that there was instability at the top. In this context, even relatively small failures or falling behind projections can be significant, as resources for opponents to use against you.

CEO Steve Ballmer of course is still in place. Did have a change of heart about Sinofsky, or a row with him over what comes next for Windows? That is the kind of thing which is plausible; and the uncertain market reaction to Windows 8, while not unexpected, would make it possible to push him out.

If I were a shareholder though, the departure of this key executive at this moment would worry me. This is the company which has transformed Windows Azure for the better and delivered the fantastic Windows Server 2012; it is also the company which is guilty of the Kin mobile phone debacle, and forgetting its agreement with the EU to offer a browser ballot to Windows 7 users at perhaps substantial financial cost. Evidence, one would judge, that deep change is needed, but not the kind of change that will be achieved by the departure of one of the most capable executives.

Postscript: Mary Jo Foley notes that Sinofsky did not present at the Build keynote right after the Windows 8 launch, raising the possibility that Sinofsky’s departure was already planned, before the Windows 8 launch. That is further evidence that this is not a reaction to poor initial sales (if indeed they are poor).

How to run Server Manager or any application as a different user in Windows 8

If you are running Windows Server 2012 you can install the Remote Administration Tools on Windows 8, which lets you administer your server from the comfort of the Windows 8 GUI, even if your servers are Server Core.

However, it is unlikely that you log onto your Windows 8 client with the same credentials you use to manage your servers.

The solution is to run the tools as a different user. The approach you use depends on which tool you are using. If you run PowerShell, for example, you can use the enter-psssession cmdlet with the Credential argument:

enter-psssession yourservername -credential yourdomain\youradmin

This will pop up a login prompt so you can start an administrative PowerShell session on the server.

But what about Server Manager? If you go to the Start screen (after installing the remote tools) and type Server Manager, you can right-click the shortcut (or flick up) and get these options:

image

Run as administrator will not help you, since this is the local adminstrator. Instead, choose Open file location.

Next, hold down the shift key and right-click the shortcut for Server Manager:

image

From the pop-up menu choose Run as different user and enter your server admin credentials.

Now you have a nice Dashboard from which to manage your remote server.

image

Improving Windows Server: the really hard problem

At Microsoft’s Build conference last week I attended a Server 2012 press event led by Jeffrey Snover, the Lead Architect for the Windows Server Division.

He and others spoke about the key features of Server 2012 and how it justifies Microsoft’s claim that it is the cornerstone of the Cloud OS.

It is a strong release; but after the event I asked Snover what he thought about a problem which is at the micro-management level, far removed from the abstractions of cloud.

The Windows event log, I observed, invariably fills with errors and warnings. Many of these are benign; but conscientious administrators spend significant effort investigating them, chasing down knowledgebase articles, and trying to tweak Windows Server in order to fix them. It is a tough and time-consuming task.

When, I asked, will we see an edition of Windows Server that does a better job of eliminating useless and unnecessarily repetitive log entries and separating those which really matter from those which do not?

[I realise that the Event Viewer makes some effort to do this but in my experience it falls short.]

image

That’s hard he said. It will take a long time.

Which is better than saying that the problem will never be solved; but you wonder.

I also realise that this issue is not unique to Windows. Your Linux or Mac machine also has logs full of errors and warnings. There is an argument that Windows makes them too easy to find, to the extent that scammers exploit it by cold-calling users (generally not server admins) to persuade them that they have a virus infection. On the other hand, ease of access to logs is a good thing.

What is hard is discerning, with respect to any specific report, whether it matters and what action if any is required. One reason, perhaps, why we will always need system administrators.

Catching up with Amazon’s cloud services

I attended Amazon’s AWS (Amazon Web Services) Update in London. This was not a major news event; more a chance to catch up on what is new with Amazon’s cloud services, the dominant force in cloud computing infrastructure.

One thing that caught my interest is the speed which which Amazon is rolling out new features. The pattern seems to be that one or more significant features are rolled out each month. The session in London covered announcements since July 2012, with new stuff including:

  • DKIM signing for the Simple Email Service
  • High I/O EC2 (Elastic Compute Cloud) instances
  • Cross-origin resource sharing for S3 (Simple Storage Service), lets web apps interact directly with S3 content
  • Amazon Glacier service for archival storage
  • Binary data support in DynamoDB
  • SQL Server 2012 in RDS (Relational Database Service)
  • Provisioned IOPS (1,000 to 10,000 IOPS) storage for RDS
  • New instance types and price reductions – there are now seventeen types of VM, see the current range here.
  • General availability of Storage Gateway, which lets you attach cloud storage to your local network via iSCSI, with local caching for performance.
  • Ruby support in Elastic Beanstalk
  • Completely rewritten SDK for PHP using modern coding style
  • Consistent BatchGet for DynamoDB
  • Increased Provisioned IOPS for EBS (Elastic Block Storage) to a maximum of 2000 IOPS

What I want to highlight is not so much the features themselves as the pace of development, which is impressive.

There was considerable discussion of Provisioned IOPS which let you purchase fast data traffic between your application and your storage. This can have a dramatic impact. Netflix used it to reduce the instance count and eliminate Memcached caching from their application. Increasing performance is another route to scalability.

Reserved instances are interesting. If you reserve an instance for a period, rather than paying as you go, you save up to 63% but lose the benefit of down-sizing on demand. However Amazon has also created a marketplace where you can sell unused reserved instances. It is all smoke and mirrors for Amazon; a reserved instance is just a billing mechanism. It collects 12% of any resale though.

Elastic Beanstalk also got some attention. I have always thought of this primarily as an auto-scaling feature. However, the discussion focused more on ease of deployment. The two are related, since Elastic Beanstalk has to know how to automatically deploy your application in order to scale it automatically. It is “AWS for the lazy”, we were told.

Amazon is getting high demand for node.js on Elastic Beanstalk – not available yet but watch this space.

There was a session on CloudSearch which left me unexcited. This is in effect another type of cloud database designed for search with relevance ranking, field weighting and so on. However it is not trivial to implement; you will have to work out how to feed CloudSearch with data in its SDF format, matching what you want to search, and how to keep it up to date.

I would have liked to hear more about the DynamoDB NoSQL database manager which is proving a popular service.

If you want to track AWS as it evolves, I recommend following the official blog.

Rubbish apps in Windows Store – encouraged by Microsoft?

Someone (and you wonder who) has taken it upon themselves to document rubbish apps in the new Windows Store. The stated reason:

Here we call out all the trash in the hopes that someone at Microsoft is listening and can remove them.

He or she has found plenty of examples – like the developer who submitted 20 trivial conversion apps and a tapping game that does not work; another who has got dozens of identical SDK samples listed as apps with different names; or the memory game listed 28 times complete with spelling errors and images suspected to be lifted from Disney.

Initially the puzzle was why apps which breach Windows Store guidelines are getting listed. But then there is more:

I feel like I’ve uncovered a conspiracy and I have no idea what to do with the information!

I emailed both Kusuma Sruthi and Pavan Kumar asking them why they had felt the need to submit their game multiple times to the Windows 8 store. I wasn’t really expecting a response. Yet both replied, pretty quickly, saying that they were told to do it but would remove the duplicates if I told them to. Was my email written with such authority?

Both claim to have been contacted by POOJA PATIL and told “to upload our apps with DIFFERENT NAMES and with SAME SOURCE CODE”. Whilst Pavan Kumar claimed not to have contact details he did say that she was from Microsoft. Kusuma Sruthi was more forthcoming with both a microsoft.com email address and an Indian mobile number. A brief Googling confirms the existence of a Pooja Patil with this phone number working for Microsoft to organise the Windows 8 Guiness World Record attempt in Bangalore.

Why would someone from Microsoft have told these two developers to submit their game multiple times? Were they really so desperate for apps that they encouraged this cloning? Were they really expecting that no one would notice?

Yesterday the blog author says two similar emails appears from these developers now denying that they were instructed by Patil to submit the apps:

at 6:05am I received 2 emails. Yes, at exactly the same moment. From Pavan and Kusuma. Both would now like to retract their previous comments about Pooja and would like it known that she’s great, and very supportive, and didn’t tell them to submit the same app over and over. It was all just a misunderstanding. Apparently.

Is all this made up? Not entirely, since you can verify that the apps mentioned exist, like these 28 apps by Nikhila Grandhi:

image

though it looks to me that some of the apps from Kusuma Sruthi have been removed suggesting that someone at Microsoft has noticed the issue and is trying to clean up.

Microsoft is a large company and although I was assured by Microsoft Store VP Antoine LeBlond that the new Store is not about the numbers, I can believe that some over-enthusiastic employees went too far in obeying some corporate directive to promote Metro-style app development and Store submissions.

That does not explain though why so many guidelines appear to have been ignored.

The company should do the right thing and clean out the rubbish.

Update: see also Drunk Compliance Tester. “The Windows 8 Store will continue to be a horrible experience for everybody if the level of quality doesn’t rise”

How bad is the Surface RT?

I have just read this piece on Slate entitled Why is the Surface so bad? after using the device for most of yesterday, on a train and at a technical event.

image

Oddly, I like the Surface RT increasingly, though I too am puzzled by some of its shortcomings.

Here are some of the issues I am aware of:

  • The apps. This is the biggest issue. Where are the delightful apps? For example, the mail client is barely adequate. The music app is annoying, though there is plenty to stream if you have an Xbox Music Pass. It cannot play FLAC files, which I use for my Squeezebox-based system at home.

    How hard is it for a company the size of Microsoft to write a superb mail app and a superb music app for its critical new product? I would guess that a small fraction of the advertising budget would have been enough. Why was there no one at Microsoft with the guts to throw them back at the team that developed them and say, “Not good enough, we do not have a product.”

  • Performance is so-so. It is not terrible in my experience, but at times makes you wonder if Windows 8 is too much on a Tegra 3; or whether it needs a whole lot more optimisation. Battery life is also OK but could be better. I got 7 hours or so yesterday, with wi-fi on constantly, and some of the time powering a phone being used as a wi-fi hotspot.
  • I got errors updating Microsoft Office. Mostly fixed by exiting the Office Upload Center. There’s no excuse for that. This is the appliance model. Microsoft knows exactly what hardware I have and what software I have, and has locked it down so I can only install sandboxed apps from the Store. Testing various update scenarios is easy.
  • For that matter, why is there an Office Upload Center? It is dreadful error-prone software. Dropbox has no Upload Center. Is it so hard to sync documents with SkyDrive or SharePoint – how long has Microsoft been batting at this problem?
  • I am concerned by reports of early keyboard disintegration, though mine is still OK

Enough griping though. Here is why I like this device.

First, I have no problem with the weight and I like the solid feel of the unit. The Surface is compact. The Surface with its keyboard is about 350g lighter and 4mm slimmer than my Samsung Slate without a keyboard; I am including the cover because I would never travel with a slate without a cover.

Second, unlike the Slate (magazine) reviewer, I do think the keyboard cover is a breakthrough. The Touch keyboard provides a usable full keyboard and trackpad while not adding any significant bulk; it forms a useful cover when closed, and when folded back it does not get in the way while you use Surface as a slate. I find myself using it in Slate mode frequently. Do not believe those who say you need keyboard and mouse to operate a Surface; there is only an argument for this if you never venture out of the desktop.

I can do more than occasional typing on the Touch keyboard; it is fine for longer documents as well.

Third, I can do real work with the Surface. Yesterday I sat with Surface on my lap, typing notes into Word, with Mail docked to the left, and Twitter open in desktop IE alongside Word. For all its faults, I found that the Surface worked well in this context.

Fourth, if you know Windows, there are things you can do that are difficult with other tablets. VPN to my office and remote desktop to a Windows 7 machine there is built in and works well. SharePoint via WebDAV is a shortcut in the Windows File Explorer.

Of course you could do all this with a laptop. So why not have a laptop, which you can buy for less money than a Surface? It is certainly an option; but as I have adapted first to the Samsung Slate running Windows 8, and now to the Surface, I find laptops bulky and inconvenient. I think of a laptop more as I used to perceive a desktop PC, something which is best suited to permanent siting on a desk rather than being carted around.

Further, the Surface really is a tablet. Imagine you want to show some photos to a friend or colleague. On a laptop that is awkward. The keyboard gets in the way. On a tablet like the Surface it is easy; just open the folder in the full-screen photo app and swipe through the images, with the keyboard cover folded back. Pretty much any tablet will do that equally well – or better if you have a Retina iPad – but it shows that Surface is not just a laptop in disguise.

There are reasons why I get better results from the Surface than some. One is that I know Windows 8 well, having used it intensively for many months. Another is that I am familiar with Windows foibles, so when these appear in the Surface I am likely to know what to do. Of course they should not appear at all; see above.

Microsoft seems to have created a device with many flaws, but one that is useful and sometimes delightful even despite those flaws.

Microsoft answers Windows Runtime questions

I watched the Windows Runtime (WinRT) “Ask the Experts” session from Build 2012; I did not get to attend in person as it conflicted with Herb Sutter’s session on C++. The session was chaired by Martyn Lovell.

image

Here is what I thought most significant or interesting.

  • Microsoft knows that certain types of apps cannot be implemented as Windows Store apps. The implication is either that the desktop will never go away, or that some future version of Windows Runtime will have extended capabilities. Kamen Moutafov: “There are certain types of system management, system configuration applications that you cannot write a Windows 8 style app for. The platform is not well suited for this type of application.”
  • The WebView control is a problem. An attendee reported z-order, memory, input, and performance issues. This is not only because it hosts the IE10 engine, but also because the system does not cope well with the runtime layers involved: JavaScript running within XAML in a C# app, for example.
  • Someone asked why WinRT apps cannot span or support multiple monitors. The answer, only half joking, “Jensen Harris said that is how it is supposed to be!” Second answer is that this may change in future, and perhaps was just too hard to do well in version 1.0.
  • There was considerable discussion of usage of asynchronous APIs (typically using Async and Await). Can you use them too much? The answer is that you can, and some apps perform badly as a result. An example of a bad usage would be to iterate through many hundreds of files in a directory and fire off an async call for each of them. Lots of aysnc calls returning together will choke your app. Advice is to try limiting the number you fire off, for example, only processing the first page or two that is visible in the user interface.
  • Someone asked how can WinRT apps communicate with desktop apps? This is meant to be restricted to protocol handlers and file types, so that the user is in control. Microsoft attempted to block all other routes.
  • Someone had an app in the marketplace that worked on x86 Windows 8, but he discovered that it crashes (does not even load) on Surface RT. How did it pass certification? Answer: Microsoft has seen instances where apps do not behave the same. Certification is not an exhaustive test. Even so, disappointing to make available an app that will not even load.
  • Can a WinRT app create UIs on multiple threads? Yes you can create two views on different threads. See CoreApplication.CreateNewView.
  • How can you detect if a file exists without raising an exception? Apparently this can’t be done. It may be addressed in future.
  • If you are creating a component to be used by other apps including JavaScript apps, it is best to create in in C++. JavaScript to C# to WinRT is apparently sub-optimal.

Watch the session yourself here.

Microsoft Build 2012 is done. Now the market gets to judge Windows 8 and Windows Phone 8

I am just back from Microsoft’s Build conference, at the company’s headquarters near Seattle. This is a company in transition and the event had that feel to it. There was not much that we did not know about before, but this is the moment of full release into the market for some key products, and in some cases – Windows 8 and Windows Phone 8 to be specific – you could sense some nervousness about how they might be received.

Attendees were handed Surface RT devices (running Windows on ARM) as well as Nokia 920 Windows Phone 8 phones.

Here are a few quick reflections.

First, Windows 8. I picked up less resistance to the new big bold tiled touch user interface than was the case last year when it was unveiled, though arguments about its merits continue. Personally I am fine with it, though my experiments with developing an app or two have shown me that it is version one and could be made better for developers. I still think there are too many expensive hybrid tablet/laptops being pushed out by Microsoft’s hardware partners, and not enough simple slates.

An encouraging sign for Microsoft was that sessions on line of business apps for the new interface (which still lacks a proper name) were packed and had to be repeated.

What about Windows RT? I am in a minority since I like the concept; most Microsoft-platform folk want their x86. Leaving that aside though, the big issue with Windows RT is performance. Visual C++ expert Herb Sutter said to me that the ARM compiler is version 1.0 and less well optimised than the one for x86, which may account for the disappointing performance of the Surface RT. I cannot help liking the device, which is beautifully made and a lot of fun, but watching an MP4 video on the flight home I had difficulty getting smooth playback. It really should not be hard to play an MP4.

Another puzzle with Surface RT is that Microsoft has not made the best of the simple appliance concept. Windows update errors and crashing apps make you wonder whether Microsoft has learned anything from Apple. There is no excuse when the company has such complete control over hardware and software. Signs of haste I think, and it will get better, but if Surface RT had the potential to show how smooth and easy Windows 8 can be, that opportunity has been missed at the launch.

An uncertain launch for Surface RT then; but Microsoft is on surer ground with Windows Phone 8. I have looked in detail at the SDK and like it better than the Windows Phone 7.x SDK which is Silverlight and XNA only. I have not tried an actual device yet, but my sense is that the platform is all there now, for business as well as consumer. The problem is that the market is contented with iOS and Android and breaking in will not be easy.

Windows Azure had a good Build. In keeping with the client focus, Azure Mobile Services got the most attention, an easy way to create a back-end for mobile clients or Windows Store apps. The new Azure management portal, first seen this summer, gets better and better; and the combination of an admin-friendly portal and a solid infrastructure underneath seems to me a strong one.

Azure specialist Mark Russinovich told us that Azure demand was growing fast, and I can believe it.

What about the organization of Build? Frankly, I am puzzled why Microsoft decided to run the event on its own campus, which is not really suitable for an event of this size. Further, the event sold out quickly which suggests that the company could easily have attracted a bigger attendance. Even as it was though, there were tedious bus journeys between two buildings where the sessions and exhibits were located. It was not helped by the near-constant rain, and as time went on the tents started to leak a little and you had to watch where you sat in case of drips. My suggestion: either go very small, as for PDC 2010, or go back to a proper conference venue as for Build 2011.

Still, there were some excellent sessions about which I have more to write. Some of my favourites:

Scott Guthrie on Windows Azure

image

Mark Russinovich again on Azure – excellent insights into what it takes to keep a cloud running (and why it failed with a leap year bug).

image

Anders Hejlsberg enthused about TypeScript, a new way to write JavaScript applications.

image

Herb Sutter talked about what is coming in C++ and the new Standard C++ Foundation.

image

Jeffrey Snover talked about Windows Server 2012 and the Cloud OS (this was a press-only session)

image

More on these coming soon.

How to test and debug an app on Surface RT in a hotel room

I wanted to test an app on Surface RT this morning, though I am out of the office with just a Samsung Slate (has Visual Studio), the Surface, and hotel wi-fi.

You can do remote debugging on Surface RT as explained here, however you need a private network.

I set up an ad-hoc network from the Samsung Slate as described here:

Open an elevated command prompt

netsh wlan show drivers

netsh wlan set hostednetwork mode=allow ssid="wireless name" key="password"

netsh wlan start hostednetwork

This allowed me to connect the Surface RT to a private network with the Slate.

Next, I needed to download and install the remote debugging tools for ARM from here.

I ran the remote debugger and was able to connect from Visual Studio on the Slate, but ran into a small issue. I needed a developer license for the Surface, but while on the private network it was not on the internet. When the remote debugger prompted to install a developer license, it could not retrieve it.

The solution was to disconnect, connect to the internet, then install the developer license using PowerShell. Run show-windowsdeveloperlicenseregistration from an elevated PowerShell window.

image

Then I returned to the private network and was able to launch my beautifully designed test app:

image

image

Note that for the actual test I did not run the app attached to Visual Studio. Rather, I deployed in release mode and then ran separately, to avoid the slowdown from the debugger. Once deployed, the test app remains in the Start screen for launching.