Category Archives: windows

If Microsoft is serious about Silverlight, it needs to do Linux

Today was a significant event for the UK broadcasting industry: the announcement of YouView, formerly called Project Canvas, which is backed by partners including the BBC, ITV, Channel 4, Channel 5, and BT. It will provide broadcasts over IP, received by a set top box, include a catch-up service, and be capable of interactive features that hook into internet services.

Interesting stuff, though it may end up battling with Google TV. But what are the implications for media streaming services and media players? One is that they will have to run on Linux, which is the official operating system for Project Canvas. Google TV, for that matter, will run Android.

If you look at the YouView specifications, you’ll find that although the operating system is specified, the application player area is more open:

Application Player executables and libraries will be provided by 3rd party software vendors.

What is an application player?

Runtime environment for the execution of applications. Examples are Flash player, MHEG engine, W3C browser

I’d suggest that Adobe will do well out of YouView. Microsoft, on the other hand, will not be able to play in this space unless it delivers Silverlight for Linux, Android, and other open platforms.

Microsoft has a curious history of cross-platform Silverlight announcements. Early on it announced that Moonlight was the official Linux player, though in practice support for Moonlight has been half-hearted. Then when Intel announced the Atom Developer Program  (now AppUp) in September 2009, Microsoft stated that it would provide its own build of Silverlight for Linux, or rather, than Intel would build it with Microsoft’s code. Microsoft’s Brian Goldfarb told me that Microsoft and Intel would work together on bringing Silverlight to devices, while Moonlight would be the choice for desktop Linux.

Since then, the silence has been deafening. I’ve enquired about progress with both Intel and Microsoft, but vague rumours aside, no news. Silverlight is still listed as a future runtime for AppUp:

Microsoft® Silverlight™(future)

Silverlight is a cross-browser, cross-platform and cross-device browser plug-in that helps companies design, develop and deliver applications and experiences on the Web.

In the meantime, Adobe has gone ahead with its AIR runtime, and even if Silverlight eventually appears, has established an early presence on Intel’s netbook platform.

There have been recent rumours about internal battles between the Windows and Developer divisions at Microsoft, and I cannot help wondering if this is another symptom, with the Windows folk fighting against cross-platform Silverlight on the grounds that it could damage the Windows lock-in, while the Developer team tries to make Silverlight the ubiquitous runtime that it needs to be in order to succeed.

From my perspective, the answer is simple. Suppressing Silverlight will do nothing to safeguard Windows, whereas making it truly cross-platform could drive adoption of Microsoft’s server and cloud platform. When Silverlight was launched, just doing Windows and Mac was almost enough, but today the world looks different. If Microsoft is serious about WPF Everywhere, Linux and Android (which is Linux based) support is a necessity.

Silverlight versus HTML, Flash – Microsoft defends its role

Microsoft’s Brad Becker, Director of Product Management for Developer Platforms, has defended the role of Silverlight in the HTML 5 era. Arguing that it is natural for HTML to acquire some of the features previously provided by plug-ins – “because some of these features are so pervasive on the web that they are seen by users as fundamentally expected capabilities” – he goes on to identify three areas where Silverlight remains necessary. These are “premium” multimedia which merges video with application elements such as conferencing, picture in picture, DRM, analytics; consumers apps and games; and finally business/enterprise apps.

It is the last of these which interests me most. Becker’s statements come soon after the preview of Visual Studio LightSwitch, which is solely designed for data-driven business applications. Taking the two together, and bearing in mind that apps may run on the desktop as well as in browser, Silverlight is now encroaching on the territory which used to belong to Windows applications. With LightSwitch in particular, Microsoft is encouraging developers who might previously have built an app in Access or Visual Basic to consider Silverlight instead.

Why? Isn’t Microsoft better off if developers stick to Windows-only applications?

In one sense it is, as it gets the Windows lock-in – and yes, this is effective. I’m aware of businesses who are tied to Windows because of apps that they use, who might otherwise consider Macs for all or some of their business desktops. On the other hand, even Microsoft can see the direction in which we are travelling – cloud, mobile, diverse clients – and that Silverlight fits better with this model than Windows-only desktop clients.

Another consideration is that setup and deployment issues remain a pain-point for Windows apps. One issue is when it goes wrong, and Windows requires skilled surgery to get some app installed and working. Another issue is the constant energy drain of getting new computers and having to provision them with the apps you need. Microsoft has improved this no end for larger organisations, with standard system images and centralised application deployment, but Silverlight is still a welcome simplification; provided that the runtime is installed, it is pretty much the web model – just navigate to the URL and the app is there, right-click if you want to run on the desktop.

If Microsoft can also establish Windows Phone 7, which uses Silverlight as the runtime for custom apps, the platform then extends to mobile as well as desktop and browser.

The downside is that Silverlight apps have fewer capabilities than native Windows apps. Printing is tricky, for example, though Becker refers to “Virtualized printing” and I am not sure what exactly he means. He also highlights COM automation and group policy management, features that only work on Windows and which undermine Silverlight’s cross-platform promise. That said, via COM automation Silverlight has full access to the local machine giving developers a way of overcoming any limitations if they are willing to abandon cross-platform and browser-hosted deployment.

A winning strategy? Well, at least it is one that makes sense in the cloud era. On the other hand, Microsoft faces substantial difficulties in establishing Silverlight as a mainstream development platform. One is that Adobe was there first with Flash, which has a more widely deployed runtime, works on Android and soon other mobile devices, and is supported by the advanced design tools in Creative Suite. Another is the Apple factor, the popular iPhone and iPad devices which are a spear through the heart of cross-platform runtimes like Silverlight and Flash.

Finally, even within the Microsoft development community Silverlight is a hard sell for many developers. Some us recall how hard the company had to work to persuade Visual Basic 6 developers to move to .NET. The reason was not just stubborn individuals who dislike change – though there was certainly some of that – but also existing investment in code that could not easily be migrated. Both factors also apply to Silverlight. Further, it is a constrained platform, which means developers have to live with certain limitations. It is also managed code only, whereas some of the best developers for both desktop and mobile apps work in C/C++.

I suspect there is division even within Microsoft with regard to Silverlight. Clearly it has wide support and is considered a strategic area of development. At the same time, it is not helpful to the Windows team who will want to see apps that take advantage of new features in Windows 7 and beyond.

Yesterday Windows Phone 7 was released to manufacturing, which means the software is done. Another piece of the Silverlight platform is in place; and I guess over the next year or two we will see the extent to which Microsoft can make it a success.

Open season for patent litigation makes case for reform

It seems to be open season for software patent litigation. Oracle is suing Google over its use of Java in Android. Paul Allen’s Interval Licensing is suing AOL, Apple, eBay, Facebook, Google, Netflix, Yahoo and others – the Wall Street Journal has an illustrated discussion of the patents involved here. Let’s not forget that Apple is suing HTC and that Nokia is suing Apple (and being counter-sued).

What’s next? I was reminded of this post by former Sun CEO Jonathan Schwartz. He confirms the supposition that large tech companies refrain from litigation – or at least, litigate less than they might, refrain is too strong a word right now – because they recognize that while they may have valid claims against others, they also most likely infringe on patents held by others.

The gist of Schwartz’s post is that Microsoft approached Sun with the claim that OpenOffice, owned by Sun, infringes on patents held by Microsoft thanks to its work on MIcrosoft Office:

Bill skipped the small talk, and went straight to the point, “Microsoft owns the office productivity market, and our patents read all over OpenOffice.”

Sun’s retort was in relation to Java and .NET:

“We’ve looked at .NET, and you’re trampling all over a huge number of Java patents. So what will you pay us for every copy of Windows?”

following which everything went quiet. The value of .NET to Microsoft is greater than the value of OpenOffice to Sun or Oracle.

Oracle, however, seems more willing to litigate than Sun; and I doubt it cares much about OpenOffice. Might we see this issue reappear?

That said, Microsoft also has a large bank of patents; and who knows, some of them might be brought to bear against Java in the event of legislative war.

The risk though is that if everyone litigates, the industry descends into a kind of nuclear winter which paralyses everyone. Companies like Interval Licensing, which seemingly exist solely to profit from patents, have no incentive to hold back.

Can any good come of this? Well, increasing software patent chaos might bring some benefit, if it forces countries like the USA to legislate in order to fix the broken patent system.

Protecting intellectual property is good; but against that you have to weigh the potential damage to competition and innovation from these energy-sapping lawsuits.

We need patent reform now.

Font does not support style regular – a fix for this annoying error

This is one of those strange Windows things. You’ll be working away, try to perform some action that would normally open a dialog or window, when you see a message like this:

image

In this case it is Font ‘Lucida Sans’ does not support style ‘Regular’; but the font varies and other common ones are Courier New, Arial, Times New Roman.

So what does this mean? In my experience, it means the font is present on your system but incorrectly registered. The fix is simple: remove the font and then reinstall it. I can’t promise that this will always work, but it has always worked for me, and I’ve encountered the problem a few times.

For example, this is what I did in this particular case. In Explorer, I navigated to c:\windows\fonts. I noticed that Lucida Sans was installed, but the only styles showing were Demibold Italic, Italic, and Demibold Roman. Not Regular.

Next, I opened an administrative command prompt. I navigated to c:\windows\fonts. I copied the file LSANS.TTF to a temporary location – anywhere that is NOT in the fonts folder – I used my Documents folder. Then I deleted the copy in the fonts folder.

Finally, I went back to Windows Explorer, found my copy of LSANS.TTF, selected it and chose Copy. Then I navigated to c:\windows\fonts and chose Edit – Paste. Presto! Lucida Sans Regular appeared in the font list and the error message in the application disappeared.

One thing that might not be obvious is what file name represents the font you need. You can normally figure it out though; if in doubt, try all the likely candidates until you find it.

Measuring start-up time for .NET, Java, C++

A comment here points me to this comparison by Decebal Mihailescu of start-up times for processes on Windows using different runtimes: .NET in several versions, Java 1.6, Mono 2.6.4, and Visual C++ 2010 (native code).

image

It is notable that native code is much faster than the runtimes, and that .NET is ahead of Java – to be expected, perhaps, since Windows is its native environment.

The test application is tiny and when we are talking about a time of less than a tenth of a second, users are unlikely to care much. I would like to see tests based on a larger application; on the other hand it becomes increasingly difficult to make a fair comparison.

It’s a shame Embarcadero Delphi was not included, though I’d expect similar figures to those for Visual C++.

Start-up time is critical to perceived performance. One reason I use an ancient version of Paint Shop Pro for simple image manipulation is that I can double-click an image and be editing it instantly, whereas alternatives like Adobe PhotoShop or the free paint.net make me wait. Unless I need the extra features these provide, I stick with fast and simple.

What users want in Windows 8

A number of blogs are running a coordinated poll on what users would most like to see in the next version of Windows. The results so far are unsurprising but still worth repeating, since there is a good chance that they differ from Microsoft’s priorities.

image

Note that users are less concerned about new features, more concerned about an OS that works better and faster.

Less bloat, currently number five in the list, will be hard to achieve while PC vendors still insist in bundling poor quality add-ons with their systems.

If you want to vote you can do so at any of various blogs including 4sysops – which has some notes expanding on what each category might mean – markwilson.it and Within Windows.

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.”

Changing the motherboard under Windows 7

Today I needed to swap motherboards between a machine running Hyper-V Server 2008 R2 and another running 32-bit Windows 7. No need to go into the reason in detail; it’s to do with some testing I’m doing of Hyper-V backup and restore. The boards were similar, both Intel, though one had a Pentium D processor installed and the other a Core Duo. Anyway, I did the deed and was intrigued to see whether Windows would start in its new hardware.

Hyper-V Server – which is really 64-bit Server Core 2008 R2 – started fine, installed some new drivers, requested a restart, and all was well.

Windows 7 on the other hand did not start. It rebooted itself and offered startup repair, which I accepted. It suggested I try a system restore, which I refused, on the grounds that the problem was not some new corruption, but that I had just changed the motherboard. Next, startup repair went into a lengthy checking procedure, at the end of which it reported failure with an unknown problem possibly related to a configuration change.

That was annoying. Then I remembered the problems Windows has with changing to and from AHCI, a BIOS configuration for Serial ATA. I posted on the subject in the context of Vista. I checked the BIOS, which was set to AHCI, changed it to IDE mode, and Windows started fine. Then I made the registry change for AHCI, shutdown, changed back to AHCI in the BIOS. Again, Windows started fine.

What puzzles me is why the long-running Windows 7 startup repair sequence does not check for this problem. If the alternative is a complete reinstall of Windows, it could save a lot of time and aggravation.

It is also worth noting that Windows 7 declared itself non-genuine after this operation, though actually it re-activated OK. I guess if you had two machines with OEM versions of Windows 7, for example, and swapped the motherboards, then strictly you would need two new licenses.

Ten years of Microsoft .NET – but what about the next ten?

Technology products have many birthdays – do you count from first announcement, or release to manufacturing, or general availability? Still, this week is a significant one for Microsoft .NET and the C# language, which was first unveiled to the world in detail at Tech-Ed Europe on July 7th, 2000. The timing was odd; July 7th was the last day of Tech-Ed, whereas news at such events is normally reserved to the first day or two – but the reason was to preview the announcement at the Professional Developers Conference in Orlando the following week. It was one of the few occasions when Europe got the exclusive, though as I recall most of the journalists had already gone home.

It is interesting to look back, and I wrote a piece for The Register on .NET hits and misses. However you spin it, it’s fair to say that the .NET platform has proved to be one of Microsoft’s better initiatives, and has delivered on at least some of its goals.

It is even more interesting to look forward. Will we still be using .NET in 2020?

There is no sign of Microsoft announcing a replacement for .NET; and little sign of .NET catching on in a big way outside the Microsoft platform, so in part the question is about how the company will fare over the coming decade. Still, it is worth noting that the role of the .NET framework  in that platform still seems to be increasing.

Most predictions are wrong; but the general trend right now is towards the cloud+device computing model. The proposition is that both applications and data belong in the cloud, whether public, private or hybrid. Further, it seems plausible that we will fall out of love with personal computers, with all their complexity and vulnerability to malware, and embrace devices that just work, where the operating system is locked down, data is just a synchronised local cache, and applications are lightweight clients for internet services. Smartphones are already like this, but by the end of this year when Apple’s iPad has been joined by other slates and small computers running Google Android, Google ChromeOS, Intel/Nokia MeeGo and HP WebOS, it may be obvious that traditional laptop and desktop computers will decline.

It turns out that the .NET Framework is well suited to this model, so much so that Microsoft has made it the development platform for Windows Phone 7. Why stop at Windows Phone 7 – what about larger devices that run only .NET applications, sandboxed from the underlying operating system and updated automatically over the Internet? Microsoft cannot do that for Windows as we know it, because we demand compatibility with existing applications, but it could extend the Windows Phone 7 OS and application model to a wider range of devices that take over some of the tasks for which we currently use a laptop.

In theory then, with Azure in the cloud and Silverlight on devices, the next ten years could be good ones for the .NET Framework.

That said, it is also easy to build the case against. Microsoft has it all to do with Windows Phone 7; the market is happily focused on Apple and Google Android devices at the high end. Microsoft’s hardware partners are showing signs of disloyalty, after years of disappointment with Windows Mobile, and HP has acquired Palm. If Windows Phone 7 fails to capture much of the market, as it may well do, then mobile .NET will likely fail with it. Put this together with a decline in traditional Windows machines, and the attraction of .NET as a cloud-to-client framework will diminish.

Although developer platform VP Scott Guthrie, C# architect Anders Hejlsberg and others are doing an excellent job of evolving the .NET framework, it is the success or failure of the wider Microsoft platform that will determine its future.

Windows 8: detailed plans leaked, show Microsoft cycle of invent, fail, copy

No doubt crisis meetings in Redmond as plans for Windows 8, shared apparently with OEM partners, leak to the web. Of course it may all be an elaborate hoax, and even if not, the slides all state:

Disclaimer – Windows 8 discussion, this is not a plan of record

Still, it looks plausible. So what’s new?

In some ways, Windows 7 was low-hanging fruit. Simply fix what was broken in Windows Vista, make Windows faster, more reliable and more pleasant to use. Windows 8 needs to take a step forward, and according to these slides this is what is planned:

1. Elevation of the Slate as a key form factor. The slides refer to three basic form factors: Slate for web and media consumption, laptop for productivity and all-in-one touch control desktop for both.

2. 3D content display along with “HTML 5 video” and DRM, focus on DLNA.

3. Instant On, always connected. Hang on, wasn’t this promised for 7? And Vista? The docs do refer to a “New Off state” called Logoff + Hibernate, with optimised hibernate plus a “Boot/Shutdown look and feel”. The idea is that this becomes the norm for a switch off.

4. Log on with face recognition. One of the few pieces of real innovation on offer here.

5. Proximity based sleep and wake.

6. Another go at the Windows App Store. This time Microsoft is serious. Approval process. Dashboard for developers with telemetry. Auto update. Software license roams with the user, as do settings – a great idea. Partner co-branding, ho hum.

7. Reinstall or “reset” Windows while keeping apps, docs and settings. A bit like the old repair install, though the difference here seems to be that this is a genuine wipe and reinstall, with apps reinstalled from the App Store. 

8. Windows accounts “could be connected to the cloud”. I would think they must be, if the app store stuff with roaming software licenses is to work. Hooking your Windows login to a Passport ID is not new though; I’m guessing it will just be more prominent and important.

Needless to say, this is not the whole Windows 8 story, even if genuine. What do we learn though? Mainly that Microsoft is taking its lead from Apple and accepts that the App Store concept is central to our future computing experience; the Slate also seems influenced by iPad.

We are also seeing the return of Passport. Most of what was in the controversial .NET My Services from 2001 is now accepted as normal, after Google and Facebook have softened us up for the concepts.

There’s a pattern here. Microsoft gets bright idea – Tablet, Windows Marketplace, Passport. Does half-baked implementation which flops. Apple or Google works out how to do it right. Microsoft copies them.

When do we get Windows 8? You can try and puzzle out the slide on “Windows 8 product cycle” if you like; but I’d bet that it will be around three years from the release of Windows 7: mid to late 2012.