Tag Archives: windows 8

Adobe AIR for Metro promised for first half of 2013

Adobe Game Developer Evangelist Lee Brimelow has stated on Twitter that AIR for Metro is coming next year.

we’re working on Air for Metro. It should be available first half of next year.

AIR is a way of compiling Flash applications to run outside the browser.

[Microsoft no longer uses the term Metro. We are meant to say Windows Store Apps; but that is even more confusing.]

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

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.

Investigating Surface RT performance: Counting primes in C# and JavaScript

How is the performance of Surface RT? Tolerable but rather slow would be my quick summary. Surface RT has a quad-core NVIDIA Tegra 3 chipset.

In order to investigate further, I built a simple app to count primes, using essentially the code here. I ran the code both in JavaScript and in C#. This is a single ad-hoc and naive test that only covers one aspect of performance, but I have still found it an interesting indicator. I then ran the app both on my Intel Core i5 Samsung Slate and on Surface RT (yes it was interesting figuring out how to debug on Surface RT in a hotel room).

Here are the results:

On Intel Core i5:

  • Count primes up to 1,000,000: 1.05 secs (in browser)
  • Count primes up to 1,000,000: 0.88 secs (in embedded webview)
  • Count primes up to 1,000,000: 0.32 secs (C#)
  • Count primes up to 10,000,000: 6.31 secs (C#)

On Surface RT:

  • Count primes up to 1,000,000: 3.49 secs (in browser) Slower by 332%
  • Count primes up to 1,000,000: 3.53 secs (in embedded webview) Slower by 401%
  • Count primes up to 1,000,000: 1.81 secs (C#) Slower by 565%
  • Count primes up to 10,000,000: 49.03 secs (C#) Slower by 777%

The Core i5 is running at 1.6 Ghz. Surface RT has an NVidia Tegra 3 1.3 Ghz chipset.

You could count primes more quickly in both cases by using parallel processing; this is a single-threaded test.

What is notable here?

  • First, Surface RT is slower than I would expect and I hope Microsoft improves performance with future updates.
  • Second, C# is substantially faster than JavaScript in this test, around twice as fast, which makes me question the advice I have heard from some spokespersons that HTML and JavaScript is the preferred approach for apps.
  • Third, the factor by which C# is slower is greater than the factor by which JavaScript is slower. This surprised me; I had expected the reverse for some reason.

Of course, other performance tests will yield different results. When I tried the Sunspider JavaScript test Surface RT was about 5 times slower.

One piece of good news: there was little difference between performance in the embedded or non-embedded browser.

Update: I also tried this test in C++. There was barely any difference. The Core i5 counted primes up to 10,000,000 in 6 seconds. The Surface RT performed the same feat in 46 seconds.

Update 2: A Google Nexus 7, which also has a Tegra 3 chipset, can only manage 76 seconds for the JavaScript test (primes up to 10,000,000).

The Surface RT desktop: more here than I had expected

I have been surprised by how much of the Windows 8 desktop is present in Windows RT. I had been expecting something more cut-down, to support Office, Explorer, Control Panel and a few other utilities. In fact, it seems to me pretty much the desktop we are used to, though there are differences such as the inability to join a domain. Here are a few screen grabs.

Control Panel is here, though despite the presence of Office 2013, it claims that no programs are installed.

clip_image002[6]
PowerShell is there – interesting, since you could write your own desktop utilities as scripts, making the desktop less locked down (and possibly less secure) that I had expected. The Windows Scripting Host is here too.

clip_image004[4]

and a command prompt, of course:

image

Incidentally, for screen grabs the Snipping Tool is present. There is no Print Screen key on the touch keyboard cover, but this works fine with a Bluetooth keyboard (I don’t have a Type keyboard).

I’m intrigued by the presence of Windows Easy Transfer. Who might be upgrading their PC to Windows RT?

clip_image006[4]

Not quite everything is here. There is no Windows Media Player; you have to use the new-style apps.

Regedit is here, and prompts for UAC elevation just like on x86.

clip_image008[4]

Remote Desktop Connection is here. So is VPN connection, which works fine for me from the USA to my ISA Sever in the UK, but will depend on your setup (I am trying to clarify this point).

Broadly, everything seems to be here other than a few bits Microsoft chose to pull out. I had thought the reverse would be true.

Note: I attempted to write this post on Surface with Word as the blog authoring tool, but got stuck with the images. Live Writer is far better, which is a concern.

Windows 8 launches: key questions remain, but Surface shines

I am in New York for the launch of Windows 8. This morning was the general launch; the Surface RT launch is to follow this afternoon. Windows chief Steven Sinofsky introduced the event. I was intrigued by how dismissive he was about a key Windows 8 issue: the learning challenge it presents to new users. He gave the impression that a few minutes experimenting will be enough, though he also referred to a guide that may be new; yesterday I picked up a small booklet which I had not seen before, introducing Windows 8.

Next Microsoft’s Julie Larson-Green and Michael Angiulo came on to show off a few details about the Windows 8 user interface, followed by Ballmer who gave what is for him a muted address about how great Windows 8 is going to be. Solid facts were few, but Microsoft did mention that over 1000 devices are certified for Windows 8.

So what is Windows 8 all about? It’s a tablet, it’s a laptop, it’s a PC we were told, in other words, everything. But everything is also nothing, and my sense is that even Microsoft is struggling to articulate its message, or at least, struggling to do so in ways that would not offend key partners.

Personally I like Windows 8, I find it perfectly usable and appreciate the convenience of the tablet format. That said, I look at all these hybrid devices and my heart sinks: these are devices that are neither one thing nor another, and pay for it with complexity and expense. Will they win over users who might otherwise have bought a MacBook? I am doubtful.

Windows RT and Intel Atom devices are more interesting. If Microsoft and its partners can push out Windows 8 devices that inexpensive and work well on tablets without keyboard clutter, that is what has potential to disrupt the market.

That brings me on to Surface. It is all in the body language: the conviction that was missing from the Windows 8 keynote in the morning was present in the Surface keynote in the afternoon. Even the room was better, with stylish Surface fake pavement art in the corridor and smart white seating.

image

General Manager Panos Panay showed off little details, like the way the rear camera angles so that it is level when the Surface is set on its kickstand. He talked about Microsoft’s drop tests, claiming that they had tested 72 different ways to drop a Surface and designed it not to break. He demonstrated this by dropping it onto a carpet, which was not too challenging, but the fact that Sinofsky successfully used it as a skateboard was more impressive.

image

No doubt then: Microsoft has more enthusiasm for Surface, described by Panay as “the perfect expression of Windows”, than it does for the 1000 certified devices from its partners, though the company would never admit that directly.

What is the significance of Surface? It goes beyond the device itself. It will impact Microsoft’s relationship with its hardware partners. It embodies an Apple-like principle that design excellence means hardware designed for software designed for hardware. It shows that the “OK but nothing special” approach of most Windows hardware vendors is no longer good enough. If Surface is popular, it will also introduce demand for more of the same: a 7” Surface, a Surface phone, and more.

Despite its quality, the success of Surface is not assured. The biggest problem with Windows 8 now is with the lack of outstanding apps. That is not surprising given that the platform is new, and you would think that users would make allowance for that. On the other hand, they may lack patience and opt for better supported platforms instead, in which case building app momentum will be a challenge.

ITWriting app hits the Windows 8 store

Hands on where possible is part of my technical journalism philosophy, so I have been trying out Windows 8 development for some time. After playing around with and adapting Microsoft’s blog reader sample I decided to take it further and try submitting it to the Windows 8 Store.

Today it was certified so you can install it now. It is free of course. 

image

There is not much to it. It features quick access to recent posts on itwriting.com and gadgets.itwriting.com, recent tweets, and dedicated links to Windows 8 survival guides for both keyboard/mouse and touch/tablet users.

Despite its simplicity, creating the app was an interesting exercise. Having the app layout change in a moderately sensible way when switched between portrait and landscape, and filled or snapped, taught me a bit about XAML and the VisualStateManager element. I also struggled a bit with the flyouts that you use to implement app settings, the ones that appear when the user displays the Charms menu and taps or clicks Settings when your app has the focus. I used the official sample though I discovered that it will not compile as-is because the standard brush names have changed since the release preview for which the sample was apparently created. I have have some sort of z-order bug there which I have not yet solved.

Creating apps for Windows 8 is not difficult exactly, but it is fiddly. It seems to me harder than, for example, creating a desktop app using Windows Forms. In mitigation, setup and deployment is done for you which is a significant advantage. I was also pleased to discover that the app works fine on a Surface RT.

image

The Windows Store certification process was rather straightforward in my case; the app passed first time. I had noticed from other reports that having a privacy policy in place is important, so made sure that this is linked in this settings.

I do have some ideas for making the app a little more interesting. Share support and offline support would be obvious enhancements. Watch out for future updates!