Category Archives: professional

image

Where is phpinfo() for .NET?

I’m moving an ASP.NET project to a different ISP, and rather than grill the ISP about the setup I cast around for a .NET equivalent to phpinfo(), which generates a web page giving comprehensive information about the server configuration.

The closest I’ve found so far is this Codeplex project by Aarron K Jackson. I downloaded the source, compiled (I had to delete the private key included by the author) and ran it on the new server. It did in fact answer most of my questions. Information includes the Windows and .NET version, number of CPU cores, memory available and used, environmental variables, path to the web site, IIS version, trust level, and all the server variables; there is even a test email form.

image

According to Codeplex the project has fewer than 100 downloads so I thought it deserved a plug. One caveat: I suggest you password-protect it or delete after use, since the information could be valuable to hackers.

Internet Explorer 9 Preview gets to 95% on Acid 3

Microsoft has released the fourth platform preview for Internet Explorer 9, which you can download here. This is the last preview before the beta release, expected in September.

When IE9 was first previewed, back in March, it scored only 55% on the Acid3 standards test – well ahead of IE8 which scores around 20%, but far short of rivals like Google Chrome and Apple Safari which achieve full marks. Mozilla Firefox is at 94%.

Acid 3

The new preview is at 95%. IE9 is now up there with them – but why not 100%?

According to UK Web Product Manager Mark Quirk, it is down to three features, two of which are related to SVG (Scalable Vector Graphics). Two points are lost because of SMIL (Synchronized Multimedia Integration Language) presentations, which Microsoft does not intend to support because a similar feature will be part of CSS in future. Two points are lost because of SVG fonts, which again Microsoft does not intend to support because it sees WOFF (Web Open Font Format) as the future standard here. One point is lost because of the inability to draw SVG fonts on a path, though there are other ways to draw fonts on a path.

The bottom line: IE9 will most likely stay at 95% right through to its final release.

Incidentally, IE9 JavaScript performance is wildly faster than IE8, thanks to the new “Chakra” engine. IE9 is on the left, Firefox 4 on the right :

image

So when will we get IE9? Although it is not long to September, there is a major difference between the preview and the coming beta, which is that the preview does not have a full user interface. It is mainly to show off the rendering and JavaScript engine. Therefore we can expect new features in the beta versus the preview. Despite that, Quirk says that Microsoft intends the beta to be “good quality for any user”, not just for brave developers and testers.

But how long before the final release? Microsoft is not saying, though when I suggested the first half of 2011 as a reasonable guess, Quirk reminded me that the beta will be high quality and that the release should therefore follow “not too long” after.

Since we will get much of HTML 5 in IE alongside the other popular browsers, do we still need Silverlight?

“As the number of the things you can implement with HTML clearly goes up, the need for Silverlight and Flash goes down,” said Quirk, though he added hastily, “The value that those players add needs to go higher.”

I’d add that even if IE9 is all that we hope, it will take years before older versions fall out of use. Recently the UK government said it will stick with IE6, and whatever you think of that decision, it shows how hard it is to get browsers upgraded everywhere. By contrast, plug-ins like Flash and Silverlight get updated rather fast. I noticed on Riastats today that over 50% of browsers now have the latest Silverlight, and 39% already have Flash 10.1 – over 90% have Flash 10 or higher.

image

If you combine that issue with things like video playback that are problematic even in HTML 5, it suggests that plug-ins will be with us for the foreseeable future, though it is quite possible that their use may decline.

Another factor is tool support, mature for Flash and Silverlight, but not for the newest features of HTML. After IE9 appears, will Microsoft come up with tools that properly support it, in Expression Web and Visual Studio? “We have to, it’s as simple as that,” says Quirk, though he adds, “we haven’t said when.”

SOA, REST and Flash/Flex – why Flash does not PUT

Adobe’s Duane Nickull has an illuminating post on how the Flash player handles REST. Nickull is responding to a post by Malcolm Box in which he complains how hard it is to use Flash with a REST web service. Box observes that Flash cannot send POST, PUT and DELETE requests when running in the browser, and does not send cookies.

Nickull defends the Flash behaviour:

Flash’s HTTP libraries currently support GET and POST. My architectural view of this is that the HTTP libraries only should really support these and not worry about the others.

He also notes that cookies are a poor way to manage state:

Cookies are for the browser and belong in the browser. Having Flash Player able to access cookies would be a mistake in my own opinion. Any logic that is facilitated by a browser should probably be dealt with at the browser layer before Flash Player is used.

Now, I think the comments on REST are important to read if you are engaged in designing a web service, as many of us in these days of cloud+device. There is a kind-of “word on the street” approach to web services which says that REST is good, SOA/SOAP is bad; but in reality it is not so simple, and these distinctions are muddled. REST is arguably a form of SOA, you can do SOAP with REST, and so on.

One factor is that reading data in a web client is far more common than writing data. It is easy to be an advocate of the simplicity of REST if all you are doing is GET.

The question Nickull asks is whether the transport protocol has any business dictating how the data it transports should be processed, for example whether it is an operation to retrieve or to write data:

In an SOA world, the transport functionality (usually implemented using SOAP) should focus on just delivering the message and it’s associated payload(s) to the destination(s), optionally enforcing rules of reliability and security rather than declaring to the application layer processing instructions to the service endpoint.

Read the post for more of the rationale behind this. Maybe, even if you are doing REST, restricting your web service to GET and POST is not such a bad idea after all.

That said, whatever you think about the architectural principles, you may find yourself having to write a browser-hosted Flash client for a service that requires an HTTP verb other than GET or POST. There are ways round it: see this discussion of Amazon S3 (which uses PUT) and Flash for an example.

Day Software: another strategic acquisition for Adobe

Adobe has acquired Day Software, a company which specialises in web content management. Its products include the CRX Java Content Repository and the CQ5 Web Content Management Platform. One of its distinctive features is an emphasis on interaction and collaboration. Day’s chief scientist is Roy Fielding, co-founder of the Apache Software Foundation and well-known for his work on REST (Representational State Transfer).

The acquisition gives Adobe a stronger presence in the open source community, and it will be interesting to see if it influences controversial issues like the fact that the Flash Player is closed source, or that some of Adobe’s open source projects are not as collaborative as they could be.

I suspect though that Adobe is mainly aiming to broaden its technology to encompass web content management and to tie it together with its rich client platform, Flash and AIR. It is a good fit, since it is Java based and should work nicely with the existing LiveCycle pieces. We might also expect integration with Omniture web analytics as well as with the content authoring tools in Creative Suite.

Looks like a sane acquisition to me.

Windows Phone 7 briefing report: no enterprise app deployment at launch

I attended a Microsoft briefing on Windows Phone 7 (WP7) yesterday. Here’s a quick summary of what interested me.

It does appear to be a decent phone. Unfortunately I’ve not yet received a preview device, but there’s no doubt that the user experience is well ahead of that on previous Windows Mobile devices.

The user interface is distinctive as you have no doubt seen. Microsoft is building strong links with both Facebook and Windows Live, surfaced at various places, and hopes this will be the best phone for social networking. It also hooks into Xbox Live, though it does not enable real-time multiplayer games, only turn-by-turn.

It has Bing maps with GPS support, though I suspect it will not be the equal of Google Maps on iPhone or Android. However, at least Microsoft is not in Apple’s position where it relies on a competitor for this key application.

One significant aspect for both users and developers is Tile Notifications. Each installed app has a tile which the user can install on the Start (home) page. These tiles can display text and image notifications that can be customized for the user. For example, a travel app could show a red alert and a message if a plane was cancelled or delayed. A sports app could show the latest score for your favourite team. However, there is no multi-tasking, so most of the time the app is not even running. How does this work?

The answer is that Microsoft hosts a notification server through which app vendors can push notifications. The app vendor needs to store on its own server any user-specific data, such as which flight she has booked. The app vendor can then push notifications to the user via Microsoft’s service. A more detailed explanation is here.

I like this form of notification since it is non-intrusive for the user. If you do not want to see them at all, you can just remove the tile from the Start page.

Microsoft confirmed that in-browser Silverlight will not work on launch. This strikes me as surprising, since Silverlight is built into the OS. I guess it will come later.

I asked a few questions.

When will we get Windows Phone 7? Microsoft is only saying “for Christmas 2010”.

Will it support tethering? No comment at the moment.

Will there be any way to copy a file from your PC to the device? I thought this would get a straightforward answer, but it did not. I was told that the PC side of WP7 has not been announced yet. However, it will bear some relation to what has been done before for Zune – though the UK still might or might not get the Zune Pass subscription service. Prompted by this discussion, I downloaded the Zune software. It is nicer to use than Windows Media Player, for sure. Why does Microsoft have two free media players, a good one that is reserved for a small niche of US users, and a mediocre one that comes with every version of Windows? You tell me.

image

Will there be any way to deploy applications without going through the Marketplace? The answer is mostly “No”, though Microsoft knows this is necessary for corporate apps and says there will be an announcement on the subject later this year. That said, there is a developer portal, intended for testing your apps, where you can specify up to 5 or 10 users who can download and install an app. This is in effect a limited private deployment, though it is not intended for that purpose.

Deploying apps to Windows Phone 7 will be slightly more expensive than it is for Apple’s iPhone. The policies are explained here. You pay $99 to register, which gets you five free submissions, after which it is $19.99 per app. Each registration is limited to five free apps, but there is no limit on paid apps. There is a 70/30 revenue split. The idea is to limit the number of low quality apps. Not a bad thing considering the amount of junk in Apple’s App Store.

Enterprise app development on Apple iPhone and iPad

Apple’s iPhone is still perceived as primarily marketed to individuals rather than corporates. However, I was interested to see how much Apple is doing to attract corporate developers. First, Apple now supports some basic enterprise-friendly features, such as Microsoft Exchange (with a few caveats), VPN, remote wipe, and the ability to lock down iTunes to some extent. Without these capabilities, the devices would not be acceptable in many environments, making it pointless to consider them for custom applications.

Unfortunately iTunes is still needed for activation, deploying software updates, and installing applications. It is silly that Apple requires business users to install a music library to use its phone, I guess reflecting the device’s history as a music player. It is also a somewhat intrusive application especially on Windows.

If you then want to develop internal applications, you sign up for the iPhone Developer Enterprise Program. At $299 per year this is more expensive than the more general equivalent, but no big deal. Then you have to get a digital certificate from Apple. Next, create one or more “provisioning profiles” that install onto the device and authorize it to run your applications. Applications you create must be signed with your digital certificate. Finally, you can add the signed applications to an iTunes library, and users can then drag them to their iPhone or iPad. It will only run on devices that have the matching provisioning profile installed. Organisations can also revoke applications by revoking the identity used to sign the provisioning profile.

As Adobe pointed out to me, since these apps do not go through Apple’s approval process, there is nothing to stop corporate developers using the Flash Packager for iPhone that is available in Creative Suite 5.

There is more detail on Apple’s iPhone in Business page.

HP will not do Android or Windows Phone 7 smartphones – but what chance for webOS?

HP’s Todd Bradley, Executive Vice President of Personal Systems and formerly CEO of Palm, was interviewed by Jon Fortt at CNBC. Fortt asks some great questions which mostly get woolly answers, but did get this statement from Bradley:

We will not do a Linux, Android phone. We won’t do a Microsoft Phone … we’ll deliver webOS phones.

I will be interested to see if HP sticks to this commitment. HP is Microsoft’s biggest customer and huge in business systems, but that does not necessarily mean it can make a success of a mobile platform on its own.

Mobile platforms stand (or fall) on several pillars: hardware, software, mobile operator partners, and apps. Apple is powering ahead with all of these. Google Android is as well, and has become the obvious choice for vendors (other than HP) who want to ride the wave of a successful platform. Windows Phone 7 faces obvious challenges, but at least in theory Microsoft can make it work though integration with Windows and by offering developers a familiar set of tools, as I’ve noted here.

RIM Blackberry is well entrenched in the Enterprise and succeeds by focusing on messaging and doing it well. Nokia and Intel will jostle for position with MeeGo.

It is obvious that not all these platforms can succeed. If we accept that Apple and Android will occupy the top two rungs of the ladder when it comes to attracting app developers, that means HP webOS cannot do better than third; and I’d speculate that it will be some way lower down than that.

You have to feel for HP, which has supported Microsoft’s failing mobile platform for many years – with the occasional lapse, remember when it became an OEM vendor for Apple’s iPods? – and now has decided it cannot rely on the company in this area. That is understandable. However, HP is heavily invested in Windows. It may be choosing just the wrong moment to abandon ship; or it may find that doing its own thing with webOS is no better. Google Android would have been a safer though less interesting choice.

Developing for Windows Phone 7

I spent some time today watching parts one and two of Windows Phone 7 Jump Start presented by Rob Miles and Andy Wigley. After a slow start there were clear demos of basic coding for Microsoft’s new phone; and I’d guess that most Microsoft platform developers would be reassured that if they can code for Silverlight, or do games in XNA, they will not have any problem coding for Windows Phone 7. The further implication is that it will be relatively easy, with the proviso that complex applications with good performance and excellent design are never easy. There is also the challenge of learning Expression Blend, if needed.

All participants were asked to state what other mobile platforms they had developed for; and while we were not shown the results of these polls there was a comment to the effect that “Windows mobile and None are neck and neck”, which I found interesting. It suggests that iPhone and Android developers are in no hurry to learn about Microsoft’s phone. If Microsoft gets enough customers they may then take an interest. Competing with Apple was always a given; but it is the rise of Google Android which must be most troubling to Microsoft, since it has given the non-Apple phone vendors what they need.

Still, the combination of Visual Studio plus Windows Phone 7 does make sense for .NET developers.

An early slide presented the Windows 7 hardware, which is worth reviewing as it is a reasonable specification. Supposedly Microsoft is taking a hard line with OEMs to keep the spec at or better than this minimum:

Display

480×800 QVGA
320×480 HVGA

Capacitive touch

4 or more contact points

Sensors

A-GPS, Accelerometer, Compass, Light

Camera

5 mega pixels or more

Hardware buttons

Start, Search, Back

Memory

256 MB RAM or more

8GB Flash storage or more

GPU

DirectX 9 acceleration

OpenStack takes on Amazon with open source cloud computing

Today’s big open source announcement is OpenStack, an open source cloud platform that aims to be an non-proprietary alternative to Amazon’s Elastic Computer Cloud (EC2) and Simple Storage Service (S3).

There are nearly 30 companies currently signed up to support OpenStack, including NASA, Citrix, Dell, Intel, AMD and Right Scale, but the big mover here is Rackspace, which says:

On July 19, 2010, we announced that we are opening the code on our cloud infrastructure. That’s big news for us and for the hosting industry in general. The result? Cloud technology will never look back.

The full press release is here. The initial offering is a distributed object store and a virtual machine provisioning engine.

OpenStack is not itself a cloud provider. Rather, it is offering software that lets you build a cloud, either for public or private use. Therefore, it is of immediate use only to large organisations, though for smaller users it might make sense to purchase services from an OpenStack provider since you are protected against lock-in.

The OpenStack cloud is IAAS – infrastructure as a service – offering storage and virtual machine instances. Therefore it is going up against Amazon rather than, say, Salesforce.com or Google App Engine. It is also an open source alternative to Microsoft Azure, which is also available (or will be) for both public and private clouds.

Looking at Right Scale’s comment, it seems that concern about Amazon taking over this market is a key driver behind the initiative:

From the RightScale perspective we will of course continue to support a variety of public and private clouds. We already have basic support for RackSpace’s API, which OpenStack will start out with, and we have a number of implementations under way with Eucalyptus and Cloud.com which we’re looking forward to multiply. At the same time, having many fragmented cloud efforts doesn’t really help build a compelling alternative to Amazon which keep adding incredible new features at a blazing pace. And the industry needs an alternative to Amazon, not because of some problem with AWS, but because in the long run cloud computing cannot fulfill its promise to revolutionizing the way computing is consumed if there aren’t a multitude of vendors with offerings targeting different use-cases, different needs, different budgets, different customer segments, etc. OpenStack promises to build enough momentum to create an exciting cloud offering that is as feature rich as AWS, that is implemented by a number of service providers, like RackSpace, and that enterprises can also run internally, like NASA.

For more information see the OpenStack site.

Dysfunctional Microsoft?

Microsoft watchers have been scrutinising the fascinating Mini-Microsoft post on the Kin smartphone debacle and what it says about the company. If it is even slightly accurate, it is pretty bad; and it must be somewhat accurate since we know that the hopeless Kin launch happened and that the product was killed shortly afterwards. Of course it would have been better to kill the project before rather than after the launch; the negative PR impact has affected the strategically important Windows Phone 7 launch.

Handsome profits from Windows and Office have enabled Microsoft to survive and even prosper despite mistakes like Kin, or the Xbox 360 “red ring of death”, or the Vista reset and related problems – mistakes on a scale that would sink many companies.

I see frequent complaints about excessively bureaucratic management with too many layers, and a tendency towards perplexing, ineffective but expensive advertising campaigns.

There are also questions about CEO Steve Ballmer’s suitability for the task. He nearly indulged in a disastrously over-priced takeover of Yahoo, saved only by the obstinacy of the target company’s leadership. He habitually dismisses the competition, such as Apple’s iPhone, and is proved wrong by the market. He failed to see the importance of cloud computing, and even now that the company is at least partially converted he does not set the right tone on the subject. I watched his keynote at the Worldwide Partner Conference (WPC) where he sounded as if he were trying unsuccessfully to imitate Salesforce CEO Marc Benioff from ten years’ ago. Microsoft needs to present a nuanced message about its cloud initiative, not someone shouting “oh cloud oh cloud oh cloud”.

Microsoft is also copying its competition as never before. Bing has a few innovations, but is essentially a recognition that Google got it right and an attempt to muscle in with a copy of its business model – search, advertising and data mining. Windows Phone 7 occupies a similar position with respect to Apple’s iPhone and App Store. Windows 8 also seems to borrow ideas from Apple.

Nevertheless, Microsoft is not yet a dying company, and it would be a mistake to base too much analysis of the company on something like comments to Mini-Microsoft’s blog – good though it is – since it is a magnet for disaffected employees.

While Ballmer’s effort at the WPC was poor, he was followed by Bob Muglia, president of server and tools, who was excellent. Windows Azure has come on remarkably since its half-hearted preview at PDC 2008; and Muglia comes over as someone who knows what he is trying to achieve and how he intends to get there. The Azure “Appliance” idea, shipping a pre-baked cloud infrastructure to Enterprise customers, is a clever way to exploit the demand for a cloud application model but on hardware owned by the customer.

The eBay announcement at WPC was also quite a coup. eBay will “incorporate the Windows Azure platform appliance into two of its datacenters” later this year; and while it is not clear exactly how much of eBay will run on Azure, these appliance kits represent significant hardware.

We’ve seen other strong releases from Microsoft – server 2008 R2, Exchange 2010, SQL Server 2008 R2, SharePoint 2010 which whatever you think of SharePoint is a solid advance on its predecessor, and of course Windows 7 which has done a lot to rescue Microsoft’s performance and reputation after the Vista disappointment.

I also continue to be impressed by Visual Studio 2010, which is a huge release and works pretty well in my experience.

What about Windows Phone 7? With the market focused on iPhone vs Android, clearly it is in a tough market. If there is something slightly wrong with it on launch, instability or some serious hardware or software flaw, it might never recover. Nevertheless, I do not write it off. I think the design effort is intelligent and focused, and that the Silverlight/XNA/.NET development platform along with Visual Studio is an attractive one, especially for Microsoft Platform developers. VP Scott Guthrie describes the latest SDK here. People still switch phones frequently – something I dislike from an environmental point of view, but which works in favour of new entrants to the market. If Windows Phone 7 is a decent device, it can succeed; I’d rate its long-term chances ahead of HP WebOS, for example, and will be keen to try it when it becomes available.

phonedev

Is there a lot wrong with Microsoft? Yes. Does it need a fresh approach at the very top? Probably. Nevertheless, parts of the company still seem to deliver; and even the Windows Phone 7 team could be among them.