Category Archives: windows

Would you consider running PHP on Azure? Microsoft faces uphill battle to convince customers.

Yesterday Microsoft announced Windows Azure SDK for PHP version 3.0, an update to its open source SDK for PHP on Windows Azure. The SDK wraps Azure storage, diagnostics and management services with a PHP API.

Microsoft has been working for years on making IIS a good platform for PHP. FastCGI for IIS was introduced partly, I guess, with PHP in mind; and Microsoft runs a dedicated site for PHP on IIS. The Web Platform Installer installs a number of PHP applications including WordPress, Joomla and Drupal.

It is good to see Microsoft making an effort to support this important open source platform, and I am sure it has been welcomed by Microsoft-platform organisations who want to run WordPress, say, on their existing infrastructure.

Attracting PHP developers to Azure may be harder though. I asked Nick Hines, CTO for Innovation at Thoughtworks, a global IT consultancy and developer, what he thought of the idea.

I’d struggle to see any reason. Even if you had it in your datacentre, I certainly wouldn’t advise a client, unless there was some corporate mandate to the contrary, and especially if they wanted scale, to be running a Java or a PHP application on Windows.

Microsoft’s scaling and availability story around windows hasn’t had the penetration of the datacentre that Java and Linux has. If you look at some of the heavy users of all kinds of technology that we come across , such as some of the investment banks, what they’re tending to do is to build front and middle tier applications using C# and taking advantage of things like Silverlight to get the fancy front ends that they want, but the back end services and heavy lifting and number crunching predominantly is Java or some sort of Java variant running on Linux.

Hine also said that he had not realised running PHP on Azure was something Microsoft was promoting, and voiced his suspicion that PHP would be at a disadvantage to C# and .NET when it came to calling Azure APIs.

His remarks do not surprise me, and Microsoft will have to work hard to persuade a broad range of customers that Azure is as good a platform for PHP as Linux and Apache – even leaving aside the question of whether that is the case.

The new PHP SDK is on Codeplex and developed partly by a third-party, ReadDolmen, sponsored by Microsoft. While I understand why Microsoft is using a third-party, this kind of approach troubles me in that you have to ask, what will happen to the project if Microsoft stops sponsoring it? It is not an organic open source project driven by its users, and there are examples of similar exercises that have turned out to be more to do with PR than with real commitment.

I was trying to think of important open source projects from Microsoft and the best I could come up with is ASP.NET MVC. This is also made available on CodePlex, and is clearly a critical and popular project.

However the two are not really comparable. The SDK for PHP is licensed under the New BSD License; whereas ASP.NET MVC has the restrictive Microsoft Source License for ASP.NET Pre-Release Components (even though it is now RTM – Released to manufacturing). ASP.NET MVC 1.0 was licensed under the Microsoft Public License, but I do not know if this will eventually also be the case for ASP.NET MVC 3.0.

Further, ASP.NET MVC is developed by Microsoft itself, and has its own web site as part of the official ASP.NET site. Many users may not realise that the source is published.

My reasoning, then, is that if Microsoft really want to make PHP a first-class citizen on Azure, it should hire a crack PHP team and develop its own supporting libraries; as well as coming up with some solid evidence for its merits versus, say, Linux on Amazon EC2, that might persuade someone like Nick Hine that it is worth a look.

Windows Phone “Mango” shown, looks good but still no Adobe Flash

I attended the London press briefing for Windows Phone “Mango”, also known as Windows Phone 7.1. This will be on new phones in the Autumn, and will be a free update for all existing Windows Phone 7 devices.

image

Microsoft showed a bunch of new features, including Internet Explorer 9 – which, we were told, is built from the same code as the PC version – improved social media integration now including Twitter and LinkedIn as well as Facebook, Hotmail, Exchange, Messenger and Gmail; and multi-tasking support.

Hold down the back key for a moment, and all running apps appear in a tiled view. Just tap the one you want.

We also saw text-to-voice and voice-to-text demos. The presented spoke the reply to a text message, though admittedly he chose to do a one-word reply, and sent it successfully.

Microsoft also announced three new OEM partners, Acer Inc., Fujitsu Ltd. and ZTE Corp.

It looks good; but I did have a sense that Microsoft is ducking the hard questions. One of those concerns Adobe Flash support. At a separate developer briefing, I asked developer relations guy Brandon Watson about Adobe Flash support, observing that when Windows Phone was shown in detail pre-launch at the Mix 2009 conference in Las Vegas, it was clearly stated that Flash would be on the phone, and that Adobe was being allowed to build the Flash runtime in native code, but that it would not be included at launch.

“It does not run on the phone”, said Watson. Then he added, “It does not run on the phone.” Finally, he said, “It does not run on the phone.”

Silverlight does not run in the mobile browser either, so perhaps the problem is with mobile IE – clearly not all the code is included. Or maybe Adobe is hanging back; I asked Adobe about this at Mobile World Congress earlier this year and got an answer that was warmer but no more informative. Or maybe Microsoft is thinking, Apple does not need it, so we do not need it either.

It is a shame though, because there is a perception that Flash is one of the advantages of not going the Apple route.

On the developer side, the beta tools for Mango were released today. You can target either Windows Phone 7.0 or 7.1 with the tools, so if the beta tag does not put you off you can get going straight away. There is a ton of good stuff for developers, including the SQL Server CE local database, and the ability to mix XNA and Silverlight in a single app. We saw an app from British Airways that makes use of this to show a 3D view of an aircraft cabin when choosing a seat; I am not sure how much real value this adds but it demos nicely.

The new emulator includes accelerometer support, so you can simulate movement to test your app’s response.

There is also a profiler which shows your app’s performance in various views. Code that you wrote is highlighted in blue in the graphical view, so you can tell what you can optimise, as opposed to slow system calls that are outside your control.

The developer tools are great though, and having played with a number of mobile developer toolkits I would say that Microsoft’s is among the best and above average, though I would like to see an option for native code development. “We hear that a lot,” Watson told me.

The problem though: developers want a big market, and so far Windows Phone has not delivered it. It is almost invisible on the high street, and all the current operators and manufacturers have other phones that they are more concerned about. That will change when Nokia devices appear, but in an intensively competitive market (not forgetting HP WebOS and RIM Blackberry/QNX/PlayBook) it will not be easy for Microsoft to gain ground.

After the event I discussed this with some of the Microsoft folk. Maybe the company can better exploit the Xbox link, and sell the phone to that community. Maybe Nokia will save the day. Maybe when Microsoft comes out with a fully professional iteration of Windows Phone, tightly linked to Active Directory and group policy, and with additional developer features aimed at line of business apps, maybe then it will take off.

One positive thing I heard today was an anecdotal report that returns on Windows Phone 7 are among the lowest because users like the device so much.

The social features in Windows Phone are already good and will be better in Mango – though bear in mind that by the time Mango phones appear in the Autumn, Microsoft will likely have iPhone 5 and many tempting new Android devices to contend with.

Years ago it used to be said that Microsoft had average products (or worse) but excellent marketing. With Windows Phone, the product is good but either the marketing is lacking or the task is too great. Of course there is still time, and this industry is full of surprises, but it will take more than Mango to make Windows Phone fly.

Cracks appear in Microsoft’s bundled installers for Visual Studio 2010 as I try ADFS

I am trying out Microsoft Active Directory Federation Services (ADFS), chasing the dream of single sign-on between on-premise Active Directory and the cloud.

Oddly, although ADFS has been around for a while, it feels more bleeding edge than it should. ADFS is critical to Microsoft’s cloud platform play, and it needs to build this stuff right into Windows Server and .NET rather than making it a downloadable add-on.

The big problem with installers, whether on Windows or elsewhere, is dependencies and versions. You get some variant of DLL Hell, when A requires the latest version of B, and C requires an old version of B, and you need both A and C installed. The issue on Windows has reduced over the years, partly because of more side-by-side installations where multiple versions co-exist, and partly because Microsoft has invested huge effort into its installers.

There are still issues though, and I ran into a few of them when trying ADFS. I have Visual Studio 2010 installed on Windows 7 64-bit, and it is up-to-date with Service Pack 1, released in April. However, after installing the Windows Identity Foundation (WIF) runtime and SDK, I got this error when attempting to start Visual Studio:

image

Only some of the Microsoft Visual Studio 2010 products on this computer have been upgraded to Service Pack 1. None will work correctly until all have been upgraded.

I’m guessing that the WIF components have not been updated to take account of SP1 and broke something. Never mind, I found my Visual Studio SP1 .ISO (I avoid the web installs where possible), ran setup, and choose to reapply the service pack. It trundled along until it decided that it needed to run or query the Silverlight 4 SDK setup:

image

A dialog asked for silverlight_sdk.msi. I wasted some time over this. Why is the installer looking for silverlight_sdk.msi in a location that does not exist? I’d guess because the Silverlight SDK installer is wrapped as an executable that unpacked the MSI there, ran it and then deleted it. Indeed, I discovered that both the Silverlight 4 SDK and the Silverlight 4 Tools for Visual Studio are .EXE files that wrap zip archives. You can rename them with a .zip or .7z extension and extract them with the open source 7 Zip, but not for some reason with the ZIP extractor built into Windows. Then you can get hold of silverlight_sdk.msi.

I did this, but then discovered that silverlight_sdk.msi is also on the Visual Studio SP1 ISO. All I needed to do was to point the installer there, though it is odd that it cannot find the file of its own accord.

It also seems to me that this scenario should not occur. If the MSI for installation A might be needed later by installation B, it should not be put into a temporary location and then deleted.

The SPI repair continued, and I got a reprise of the same issue but with the Visual C++ runtimes. The following dialog appeared twice for x86, and twice for x64:

image

These files are also on the SP1 .ISO, so I pointed the installer there once again and setup continued.

Unfortunately something else was wrong. After a lengthy install, the SP1 installer started rollback without so much as a warning dialog, and then exited declaring that a fatal error had occurred. I looked at the logs

I rebooted, tried again, same result.

I was about to trawl the forums, but thought I should try running Visual Studio 2010 again, just in case. Everything was fine.

image

Logic tells me that the SP1 “rollback” was not quite a rollback, since it fixed the problem. Then again, bear in mind that it was rolling back the reapplication of the service pack which is different from the usual rollback scenario.

Visual Studio, .NET, myriad SDKs that each get updated at different times, developers who download and install these in an unpredictable order … it is not surprising that it goes wrong sometimes; in fact it is surprising that it does not go wrong more often. So I guess I should not beat up Microsoft too much about this. Even so this was an unwelcome reminder of a problem I have not seen much in the last few years, other then with beta installs which play by different rules.

Infragistics: upbeat on Windows Phone but also building for Apple iOS, Google Android

I spoke to Dean Guida, CEO and co-founder of Infragistics, at TechEd in Atlanta earlier this week. Infragistics makes components, mainly for Windows but now beginning to support non-Windows clients. There is a set of jQuery controls in preparation, and “Our roadmaps are also going to deliver native on Android and iPhone,” Guida told me. “We have a lot of software companies that use our tools in their commercial apps, and a lot of enterprises, and we feel that we need to do it,” though he adds, “we feel that the best and the smartest business solution is to go mobile web.”

image

Infragistics has a focus on data visualization, and Guida showed me some great-looking components that show animated charts, with a huge range of customisation options, and including geo-spatial and timeline controls.

I was intrigued to find Guida more upbeat about Windows Phone than most commentators, though I make allowance for the fact that his company has a component suite for the platform. “More than half of our customers told us that they’re either building or they will build for Windows Phone in the next 12 months,” he told me.

His view, which I share, is that they key advantage of Windows Phone is to Microsoft-platform enterprises rather than to consumers. “It’s so easy to extend their knowledge of Silverlight and extend apps, that they’ll be able to extend the data and the access to information this way. I think that’s going to be a beachhead for Microsoft.”

Of course Microsoft has marketed Windows Phone to consumers so far, and has told businesses they should continue to use Windows Mobile 6.5, clearly a dead-end. It may be easier when the company is able to move on from this mixed messaging and get behind Windows Phone as a business mobile platform.

Continuing a contrarian theme, Guida is also positive about Windows Presentation Foundation (WPF). “It’s huge, especially in the financial markets. They’ve made big bets on it. They’ve built a lot of their trading apps and a lot of their internal apps on it. We’ve been telling Microsoft this for years,” he says.

The problem I guess is that while WPF/Silverlight makes sense for data visualisation for internal apps where you control the platform, for broad reach apps that are visible to the rest of us, Adobe Flash or some other approach is a better fit.

It is understandable that companies like Infragistics are keen to talk up the Microsoft platform. Their business depends on it. It is true that Infragistics is now experimenting with other platforms like Apple iOS and Google Android, but historically developers on non-Microsoft platforms have not formed a strong component market.

“They don’t get it as much as Microsoft developers,” says Guida. “We used to have a ton of Java components. I was at the second JavaOne conference. We built some of the first AWT components, JavaBeans, Swing components. There’s a lot more pain developing for these platforms than on the Microsoft platform, Microsoft has done a great job with the tooling. Why have that pain? I think there is a distinction between the Microsoft and the non-Microsoft developer, that they have a higher tolerance for, pain’s probably not the right word, but a higher tolerance for taking longer to get stuff done. I can only believe that over time maturity will happen. It’s really about satisfying a business need or a consumer need. These platforms are different, but if we go in and give them the tools, why not? We’re really just this year starting to get there.”

It is a brave hope; but looking at the Infragistics site, there are currently no Java controls on offer, and even the 2008 NetAdvantage for JavaServer Faces (JSF) seems to have disappeared. If the Microsoft client platform does decline, the future will be challenging.

Three questions about Microsoft’s cloud play at TechEd 2011

This year’s Microsoft TechEd is subtitled Cloud Power: Delivered, and sky blue is the theme colour. Microsoft seems to be serious about its cloud play, based on Windows Azure.

Then again, Microsoft is busy redefining its on-premise solutions in terms of cloud as well. A bunch of Windows Servers on virtual machines managed by System Center Virtual Machine Manager (SCVMM) is now called a private cloud – note that the forthcoming SCVMM 2012 can manage VMWare and Citrix XenServer as well as Microsoft’s own Hyper-V. If everything is cloud then nothing is cloud, and the sceptical might wonder whether this is rebranding rather than true cloud computing.

I think there is a measure of that, but also that Microsoft really is pushing Azure heavily, as well as hosted applications like Office 365, and does intend to be a cloud computing company. Here are three side-questions which I have been mulling over; I would be interested in comments.

image

Microsoft gets Azure – but does its community?

At lunch today I sat next to a delegate and asked what she thought of all the Azure push at TechEd. She said it was interesting, but irrelevant to her as her organisation looks after its own IT. She then added, unprompted, that they have a 7,000-strong IT department.

How much of Microsoft’s community will actually buy into Azure?

Is Microsoft over-complicating the cloud?

One of the big announcements here at TechEd is about new features in AppFabric, the middleware part of Windows Azure. When I read about new features in the Azure service bus I think how this shows maturity in Azure; but with the niggling question of whether Microsoft is now replicating all the complexity of on-premise software in a new cloud environment, rather than bringing radical new simplicity to enterprise computing. Is Microsoft over-complicating the cloud, or it is more that the same necessity for complex solutions exist wherever you deploy your applications?

What are the implications of cloud for Microsoft partners?

TechEd 2011 has a huge exhibition and of course every stand has contrived to find some aspect of cloud that it supports or enables. However, Windows Azure is meant to shift the burden of maintenance from customers to Microsoft. If Azure succeeds, will there be room for so many third-party vendors? What about the whole IT support industry, internal and external, are their jobs at risk? It seems to me that if moving to a multi-tenanted platform really does reduce cost, there must be implications for IT jobs as well.

The stock answer for internal staff is that reducing infrastructure cost is an opportunity for new uses of IT that are beneficial to the business. Staff currently engaged in keeping the wheels turning can now deliver more and better applications. That seems to me a rose-tinted view, but there may be something in it.

Microsoft’s Azure toolkit for Apple iOS and Android is a start, but nothing like enough

Microsoft ‘s Jamin Spitzer has announced toolkits for Apple iOS, Google Android and Windows Phone, to support its Azure cloud computing platform.

I downloaded the toolkit for iOS and took a look. It is a start, but it is really only a toolkit for Azure storage, excluding SQL Azure.

image

What would I hope for from an iOS toolkit for Azure? Access to SQL Server in Azure would be useful, as would a client for WCF (Windows Communication Foundation). In fact, I would suggest that the WCF RIA Services which Microsoft has built for Silverlight and other .NET clients has a more useful scope than the Azure toolkit; I realise it is not exactly comparing like with like, but most applications built on Azure will be .NET applications and iOS lacks the handy .NET libraries.

A few other observations. The rich documentation for WFC RIA Services is quite a contrast to the Doxyfile docs for the iOS toolkit and its few samples, though Wade Wegner has a walkthrough. One comment asks reasonably enough why the toolkit does not use a two or three letter prefix for its classes, as Apple recommends for third-party developers, in order to avoid naming conflicts caused by Obective C’s lack of namespace support.

The development tool for Azure is Visual Studio, which does not run on a Mac. Microsoft offers a workaround: a Cloud Ready Package which is a pre-baked Azure application; you just have to amend the configuration in a text editor to point to your own storage account, so developers without Visual Studio can get started. That is all very well; but I cannot imagine that many developers will deploy Azure services on this basis.

I never know quite what to make of these little open source projects that Microsoft comes up with from time to time. It looks like a great start, but what is its long-term future? Will it be frozen if its advocate within Microsoft happens to move on?

In other words, this looks like a project, not a strategy.

The Windows Azure Tools for Eclipse, developed by Soyatec and funded by Microsoft, is another example. I love the FAQ:

image

This sort of presentation says to developers: Microsoft is not serious about this, avoid.

That is a shame, because a strategy for making Azure useful across a broad range of Windows and non-Windows clients and devices is exactly what Microsoft should be working on, in order to compete effectively with other cloud platforms out there. A strategy means proper resources, a roadmap, and integration into the official Microsoft site rather than quasi-independent sites strewn over the web.

Apple iPad, Pages and Microsoft SharePoint – it works

I’ve been trying out an Apple iPad 2 recently, and one of the topics that interests me is the extent to which it can replace a laptop.

That is a nebulous question of course – it depends what you use a laptop for – but one essential from my perspective is the ability to create and edit documents. Therefore I installed Apple’s iWork apps in their iPad guise: Pages, Numbers and Keynote.

Now, one iPad annoyance is that accessing its storage is more awkward than with a laptop. You cannot simply copy files to and fro over a network. You can copy files to the iPad using a network browser app like Stratospherix FileBrowser, but that works by opening recognised file types.

As for Pages, how it stores documents is opaque to the user. They save as you type, and you can manage them in a My Documents view within Pages, but if you want to move them elsewhere you have to use one of five options: email, iWork.com which is cloud storage for iWork apps, send to iTunes for synchronization, copy to iDisk which is cloud storage for MobileMe, or copy to WebDAV.

image

The options for opening a document are similar, but without the email or for some reason iWork.com options.

None of these options appealed greatly, except possibly the last one. I use SharePoint, which supports WebDAV, might this enable me to open and save documents from Pages direct to SharePoint? This is convenient for me, since I have SharePoint as a mapped drive in Windows Explorer, and it works both on the internal network and over the internet.

I typed a document in Pages, then went to My Documents and chose Copy to WebDAV. I chose Word format. Then I entered the URL, username and password for my SharePoint server.

Rather to my surprise, it connected immediately, and performance was good. I then went to my mapped SharePoint drive in Windows Explorer and there it was.

image

It works the other way too. I typed a document in Word 2010 and saved it to SharePoint in the default .docx format. Pages can import .docx, and the document opened smoothly.

image

I appreciate that I am in a small minority of individuals running SharePoint – I do it for test and review – but for business users this is a handy feature. Individuals might want to check out DropDAV, though I’ve not tried the service.

Update: I have tried this successfully with both SharePoint 2010 and SharePoint 2007. If SharePoint is using a port other than 443 for secure access, then you enter the full URL in Pages, for example https://sharepoint.yourdomain.com:444

However I have not yet been able to get this to work with SharePoint in Office 365.

Decent Microsoft results, but where is the cloud? where is mobile?

Microsoft has released its results for the quarter ending March 31 2011. The figures are pretty good; but despite much talk about the cloud there is little sign that Microsoft is reinventing its business – unless you count Xbox, which has had another excellent quarter and is delivering meaningful operating income for the company.

Quarter ending March 31 2011 vs quarter ending March 31 2010, $millions

Segment Revenue Change Profit Change
Client (Windows + Live) 4445 -205 2764 -399
Server and Tools 4104 398 1419 149
Online 648 82 -726 -17
Business (Office) 5252 911 3165 623
Entertainment and devices 1935 725 225 75

Windows is a little down in the quarter, which Microsoft says in the press release is “in line with PC trends”; a small statement which disguises what must be real concern about the market drift towards iPads and SmartPhones that are made by other companies.

Server and tools put in a decent but unspectacular performance. Office on the other hand was a powerhouse this quarter. Again, the press release statement is telling:

the integrated innovation with SharePoint, Exchange, Lync and Dynamics CRM is driving significant growth for the division

If you substitute “lock-in” for “integrated” you will not be far wrong. As an aside, I spoke to a major UK retailer last week about its move towards desktop virtualization. The exec I spoke to mentioned in passing that as they rolled out SharePoint 2010, they also realised that they would have to upgrade to Office 2010 at the same time, otherwise too much stuff just would not work properly. From Microsoft’s point of view, that is “integration” working as designed.

Online on the other hand, which I understand is mainly Bing and advertising revenue, had yet another miserable quarter. Microsoft says it is pleased that revenue increased; but the loss is bigger too, and the loss is comfortably bigger than the revenue which means it spent more than twice what it earned in this segment. Perhaps it is worth it, if Google is rattled even slightly by Bing’s growing search share, up to a claimed 13.9% in the US, but this is the longest of hauls.

So where’s the cloud? Azure is not mentioned in the release, and I am not even sure in which segment it lives; my guess is Server and Tools. Office 365, which is not yet launched, does get a mention. I think Office 365 will be big business for Microsoft, though it is going to cannibalise the server business a little.

Mobile? Somewhere lost in Entertainment and devices, where clearly the major element is Xbox. Something curious happened when Kinect launched; as a hands-free controller the device is imperfect but its genuine innovation seems to have boosted the profile and sales of the Xbox generally. A couple of years ago when we were all talking about the red ring of death I would not have expected such excellent figures.

This company remains a powerhouse, but the fact that its fortunes remain closely tied to those of the PC, and its lack of progress in mobile devices, are a concern.

Windows Phone at Mix 2011: what Microsoft said and did not say

Yesterday Microsoft’s Joe Belfiore (phone VP) and Scott Guthrie (developer VP) took the stage at the Mix 2011 conference in Las Vegas to tell us what is new with Windows Phone.

The opening part of the keynote was significant. Belfiore spent some time talking about the “update situation”.

image

This is all to do with who controls what ends up on your phone. If you buy a Windows PC or laptop, you can get updates from Microsoft using Windows update or by downloading service packs; the process is between you and Microsoft.

Not so with Windows Phone. The operators have a say as well; and operators are not noted for delivering speedy OS updates to users. Operators seem to have difficulty with the notion that by delivering strong updates to existing devices that have already been purchased, they build user loyalty and satisfaction. They are more geared to the idea of delivering new features with new hardware. Updating existing phones can cause support calls and other hassles, or even at worst bricked devices. They would rather leave well alone.

When Microsoft launched Windows Phone it announced that there would be regular updates under Microsoft’s control; but this has not been the case with the first update, codenamed “NoDo”. The update process has been delayed and inconsistent between operators, just like the bad old days of Windows Mobile.

Belfiore went on about testing and phones being different from PCs and improvements to the process; but in the end it seems to me that Microsoft has given in:

Mobile operators have a very real and reasonable interest in testing updates and making sure they’re going to work well on their phones and on their network. Especially if you think about large operators with huge networks, they are the retailer who sells the phone, so they have to deal with returns, they take the support calls and they have to worry about whether their network will stay up and perform well for everyone … From our point of view, that’s quite reasonable, and our belief and understanding is that it’s standard practice in the industry that phones from all different vendors undergo operator testing before updates are made available.

That “testing” label can cover any amount of prevarication. It appears that Microsoft is unable to achieve what Apple has achieved: the ability to update its phone OS when it wants to. That is a disadvantage for Microsoft and there is no sign of improvement.

More positively, Microsoft announced a number of significant new features in the first major update to the OS, codenamed Mango. This is for existing devices as well as new ones, though new devices will have enhanced hardware. He focused on what matters for developers, and hinted that there will be other end user features. A few bullet points:

  • Internet Explorer 9 is on Mango – “The same exact code that has just shipped and is now getting installed on tons and tons of PCs is the code base that will be on the phone” said Belfiore. No, it is not built in Silverlight.
  • Limited multitasking for third-party apps. This is in the form of “Live agents” which run in the background. Full apps cannot multitask as I understand, though they can be suspended in memory for fast switching. Currently apps appear to do this but it is faked; now it will be for real, with the proviso that a suspended app may get shut down if its memory is needed by the OS.
  • Multiple live tiles for a single app.
  • Fixed marketplace search so that music does not appear when you search for an app.
  • Apps can register with search so that Bing searches can integrate with an app.
  • There will be a built in SQL Server CE database with programmatic access using Linq (Language Integrated Query).
  • Full TCP/IP socket support
  • Access to raw camera data for interesting imaging applications or barcode  processing
  • 1,500 new APIs in Mango
  • Performance improvements including a better garbage collector that apparently gives a significant boost
  • Improved tools with the ability to simulate GPS on the emulator, capture performance trace log from phone

It adds up to a decent update, though more Window Phone 7.5 than Windows Phone 8 (I do not know what the official name will be). Belfiore also mentioned new apps coming to Windows Phone 7, including Spotify, Skype and Angry Birds.

But what was not said? Here are a few things I would like to have heard:

  • When will get Adobe Flash on Windows Phone? Not mentioned.
  • What about Silverlight in the browser? You would think this would be easy to implement; but I have not seen it confirmed (let me know if you have news).
  • When will Nokia ship Windows Phone devices? Nokia’s Marco Argenti appeared on stage but said nothing of substance.
  • The Mango update is coming “in the fall” but when will current users get updates?
  • Will Windows Phone 8 move away from Windows CE to full Windows, so the same OS will work across phone, tablets and desktop PCs?

Above all, I would like convincing news about how Microsoft intends to get Windows Phone better exposure and fuller support from operators. I still hardly see it in retailers, and it seems a long way down the list when you talk to a salesperson about what new phone you should buy. I do not have a Windows Phone at the moment, but when I tried it for a  couple of weeks I mostly liked the user interface – I found the soft buttons on the Mozart annoying because they are easy to press accidentally – and I also like the developer tools, though I would like to see a native code development option. In the end though, it is no use developing for Windows Phone if your customers are asking for Apple iOS and Google Android.

Microsoft shared the following figures:

  • 12,000+ apps
  • 35,000 registered developers
  • 1.5 million tool downloads

It is a start, but these are not really big numbers, and the proportion of tool downloaders that end up delivering apps seems small so far.

A lot rests on the Nokia partnership and how that plays out.

It now appears that we will need to wait until September and the newly announced PDC (Professional Developers Conference) in Anaheim 13th-16th September before we learn more about the long-term mobile strategy.

Update: Microsoft’s Phil Winstanley tells me that the Windows Phone OS is just called “Windows Phone” regardless of version; but that the Mango update is referred to as “Windows Phone OS 7.5” when it is necessary to differentiate. If that sounds confusing, do not blame me!

Trying out Remote Desktop to a Microsoft Azure virtual machine

I have been trying out Visual Studio LightSwitch, which has an option to deploy apps to Windows Azure.

Of course I wanted to try this,  and after a certain amount of hassle generating certificates and switching between Visual Studio LightSwitch and the Azure management portal I succeeded.

image

I doubt I would have made it without this step by step guide by Andy Kung. The article begins:

One of the many features introduced in Visual Studio LightSwitch Beta 2 is the ability to publish your app directly to Windows Azure with storage in SQL Azure. We have condensed many steps one would typically have to go through to deploy an application to the cloud manually.

Somewhere between 30 and 40 screens later he writes:

The last step shows you a summary of what you’re about to publish. FINALLY! Click Publish.

We just have to imagine how many screens there would have been if Microsoft had not condensed the “many steps”. The result is also not quite right, because it uses self-signed certificates that will present security warnings when you use the app. For a product supposedly aimed at non-developers it is all hopelessly difficult; but I guess techies are used to this kind of thing.

I was not content though. First, I wanted to use an Extra Small instance, and LightSwitch defaults to a Small instance with no obvious way to change it. I cracked that one. You switch the view in Solution Explorer to the File view, then find the file ServiceDefinition.csdef and edit the vmsize attribute:

image

It worked and I had an Extra Small instance.

I was still not satisfied though. I wanted to use Remote Desktop so I could check out the VM Azure had created for me. I could not see any easy way to do this in the LightSwitch project, so I created another Azure project and configured it for Remote Desktop access using the guide on MSDN. More certificate fun, more passwords. I then started to publish the project, but bailed out when it warned me that I was overwriting a previous deployment.

Then I copied the likely looking parts of ServiceDefinition.csdef and ServiceConfiguration.cscfg from the standard Azure project to the LightSwitch project. In ServiceDefinition.csdef that was the Imports section and the Certificates section. In ServiceConfiguration.cscfg it was all the settings starting Microsoft.WindowsAzure.Plugins.Remote…; and again the Certificates section. I think that was it.

It worked. I published the LightSwitch app, went to the Azure management portal, selected the instance, and clicked Connect.

image

What I found was a virtual Quad-Core Opteron with 767MB RAM and running Windows Server 2008 Enterprise SP2. It seems Azure does not use Server 2008 R2 yet – at least, not for Extra Small instances.

image

750MB RAM is less than I would normally consider for Server 2008 – this is Extra Small, remember – but I tried using my simple LightSwitch app and it seemed to cope OK, though memory is definitely tight.

image

This VM is actually not that small in relation to many Linux VMs out there, happily running Apache, PHP, MySQL and numerous web applications. Note that my Azure VM is not running SQL Server; SQL Azure runs on separate servers. I am not 100% sure why Azure does not use Server Core for VMs like this. It may be because server core is usually used in conjunction with GUI tools running remotely, and setting up all the permissions for this to work is a hassle.

I took a look at the Event Viewer. I have never seen a Windows event log without at least a few errors, and I was interested to see if a Microsoft-managed VM would be the first. It was not, though there are a mere 16 “Administrative events” which is pretty good, though the VM has only been running for an hour or so. There were a bunch of boot-start drivers which failed to load:

image

and this, which I would describe as a typical obscure and probably-unimportant-but-who-knows Windows error:

image

The Azure VM is not domain-joined, but is in a workgroup. It is also not activated; I presume it will become activated if I leave it running for more than 14 days.

Internet Explorer is installed but I was unable to browse the web, and attempting to ping out gave me “Request timed out”. Possibly strict firewall rules prevent this. It must be carefully balanced, since applications will need to connect out.

The DNS suffix is reddog.microsoft.com – a remnant of the Red Dog code name which was originally used for Azure.

As I understand it, the main purpose of remote desktop access is for troubleshooting, not so that you can install all sorts of extra stuff on your VM. But what if you did install all sorts of extra stuff? It would not be a good idea, since – again as I understand it – the VM could be zapped by Azure at any time, and replaced with a new one that had reverted to the original configuration. You are not meant to keep any data that matters on the VM itself; that is what the Azure storage services are for.