Category Archives: intel

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.

Intel AppUp is Up, but underwhelming.

Intel has launched AppUp, its application store for Windows and Moblin/MeeGo Linux.

image

Isn’t Moblin obsolete, and now merged into MeeGo? That is the plan, but AppUp still talks about Moblin:

image

Apparently:

The Intel AppUp developer program will support MeeGo. The current Moblin SDK for the Intel AppUpSM developer program is MeeGo ready and is upward compatible for Moblin and MeeGo.

The web site is pretty confusing, even though it is supposedly out of beta. Click Frequently Asked Questions, and you get a document dated December 2009, though “Last Modified” in August. It does seem to be out of date though, referring throughout to the Beta and stating that only Windows is supported by the AppUp client.

image

I downloaded the client and had a look. The client is a simple affair, with apps in various categories, though the current selection of apps is uninspiring. Prices currently range from free to £28.19 for Easy Flyer Creator (Desktop Publishing), the most expensive I could find. All the “Featured apps” are games, though the other categories are populated to some extent.

image

If you want to develop for AppUp you need the SDK, which provides the tools and libraries to link your app to the AppUp client. The SDK is native code, and the natural developer platform for AppUp is the cross-platform Qt, but the main requirement is that you can link to the SDK; there is also an approval process.

Adobe has done the work to support AIR applications, which use the Flash runtime, in AppUp. Adobe has also come up with an interesting project to address the coming proliferation of app stores. The Melrose project, now in beta, targets multiple app stores:

Melrose provides a repository that distributes applications to multiple application stores so that publishers can reach millions of users.

Intel AppUp Center and the Adobe AIR Marketplace are the first two storefronts available in Melrose. Melrose also provides analytics that let publishers measure success of their applications.

It is a shame that Melrose does not yet include Android Market.

Who knows, AppUp may have a bright future, but Intel could have done better with the launch. There is a poor selection of apps, confusing Moblin/MeeGo branding, and out of date information on the site. Of these, the biggest problem is the lack of apps themselves. The main target is netbooks, and Intel will need a greatly improved selection before AppUp comes close to enhancing netbooks in the way that Apple’s App Store enhances iPhone, iPad and iTouch, which is the obvious model.

How many app stores will there be? Alongside Apple, there is AppUp, Nokia’s Ovi, Android Market, as well as older app stores like handango. Microsoft is rumoured to have big plans for an App Store for Windows 8, and of course Windows Phone 7 will have its own store – and these are just the ones which come to mind immediately.

Not all these app stores will succeed, and Intel should have made more effort with this launch.

What is happening with Silverlight on Intel Moblin/Meego?

Last September, Microsoft and Intel announced a port of Silverlight to Moblin Linux. I posted on the subject here, including a quote from Microsoft’s Brian Goldfarb:

Microsoft and Intel announced today that the two companies have agreed to work together to bring support for Silverlight 3 to Intel’s Atom-based Mobile Internet Devices (MID). These Atom-based devices run on Windows and Moblin, an open source, Linux-based operating system targeted at Atom-based devices. In order to help bring Silverlight content to these devices, Microsoft has provided Intel with Silverlight source code and test suites, and Intel will provide Microsoft with an optimized version of Silverlight for Moblin devices that Microsoft can then redistribute to OEMs.

Since then, Moblin has merged with Novell’s Maemo to form MeeGo (though this is still work in progress), and we’ve heard very, very little about Silverlight on either platform. The only snippet of news I have is that it was mentioned at the Intel Developer Forum in Beijing and reported by Char Zvolanek, who said that it came up in the Meego Q&A after regular sessions ended, and Silverlight will be supported in Meego  version 1.1 in October:

In May, the 1.0 version will be released, and with 1.1 coming out in October, there will be support for Silverlight, Java, and Air. Developers can write native or runtime apps that can be Java-based, Web-based, Silverlight-based, or Air-based.

Today, another clue, but not a good one for Silverlight. Intel is holding an application lab on May 26th in San Jose, for developing for the Intel AppUp store, either on Windows or Moblin. On the agenda: C/C++ and Adobe AIR, and the upcoming Adobe AIR SDK for Moblin. No Silverlight.

If anyone is going along, and can discover any news about Silverlight on Moblin, I’d be interested to know.

Silverlight (and AIR) for MeeGo Linux coming in October?

Back in September 2009, Intel and Microsoft announced an official port of Silverlight for Linux, or at least for what was then Intel’s Moblin project, a Linux distribution tailored for netbooks. It was surprising to learn that this would be an official port using Microsoft’s code, as opposed to something based on Moonlight, the open source and also somewhat officially blessed version of Silverlight for Linux.

Since then I have been watching for more news about this Silverlight port, but heard nothing. Then in February Moblin merged with Nokia’s Maemo to become MeeGo. What next for the Silverlight port?

Earlier this week I met Intel’s Uli Dumschat at the company’s software conference in Barcelona. He spoke on Intel’s software development products for Atom-powered devices such as those running MeeGo. I asked him about Silverlight for MeeGo and he knew nothing about it.

It seems I was at the wrong conference. Today I spotted this post from Charlene Zvolanek at Intel’s Developer Forum in Beijing:

In May, the 1.0 version will be released, and with 1.1 coming out in October, there will be support for Silverlight, Java, and Air. Developers can write native or runtime apps that can be Java-based, Web-based, Silverlight-based, or Air-based. Even though it’s open source, Intel has been working closely with Microsoft to make sure that MeeGo and Windows are friends.

I also watched the keynote from Intel’s Renee James, who said that MeeGo devices are expected in the “second half of this year”, though I imagine they will be 1.0 devices – who knows, maybe 1.1 will be an upgrade option later.

So Silverlight on MeeGo now has a date. Is this Silverlight 4.0? Will it run out of browser? Access to local resources? Does this date apply to MeeGo Smartphones as well as netbooks? All good questions, about which I know nothing. Watch this space.

Intel’s compiler is best for AMD too says software director

I attended Intel’s software conference in Barcelona earlier this week, and took the opportunity to talk to Director of Software Products James Reinders. I asked him about the complaint from the FTC, which I reported on here, that Intel deliberately underperforms on non-Intel CPUs, specifically those made by AMD. Was it a valid complaint?

He was surprisingly (to me) forthright.

It’s not valid. It’s misguided. Intel’s compilers are very high performance. If you use our compiler, you’ll get better performance on Intel or AMD processors than if you used anyone else’s compiler. That’s always been our goal. We believe – I’ll use the words “in general” and that’s a legal disclaimer – in general we’re better. Why don’t I say always? Always is an absolute. Nobody is “always” anything. We are as close to always as we can figure out to be. We have many customers that use our compiler, ship code, because they believe it gets the best performance on Intel and AMD. We will back that. If you find that our compiler is getting less performance on AMD than someone else’s compiler, we consider it a bug. That includes AMD processors.

We settled the suit with AMD, we agreed that we wouldn’t do things we were accused of in future – well, we didn’t do them before. There’s a lot of proof points. AMD used our compiler for benchmarking for a long time. They didn’t do that because we were lower performance.

There are a lot of technical nuances, details of what we do in our compiler that are confusing. One of the challenges is how do we produce a binary that runs best on Nehalem, and on an older Intel processor, or on a processor that supports SSE 2.0 but not 3.0? We have technology in our compiler to try to adapt to that. We mix into that blend AMD, because AMD processors have different capabilities, in the same way that our processors have different capabilities from each other. Yes, people will say, “hey, your compiler’s checking for an AMD processor”. Yes, absolutely, we also check to see if we’re on a Intel processor that only supports SSE 2.0. We have to. AMD processors don’t support the same instructions we do. Our processors have a lot of variety too.

The short answer is that we didn’t do what we’re accused of, we’re very serious about being an excellent compiler for AMD as well as Intel, and this extends to our libraries too.

So that’s telling them. Is he correct and it was a misguided complaint? Well, as I mentioned previously, there are issues of disclosure as well as performance if you are publishing benchmarks; and it is hard to believe that Intel devotes equal effort to optimisation on AMD processors as for its own. Nevertheless I respect Reinders and don’t dismiss his statement. Perhaps Intel’s compiler is OK for AMD after all.

Nokia Maemo, Intel Moblin gives way to MeeGo

Nokia’s Maemo operating system, a Linux distribution for mobile devices, is being merged with the Intel-sponsored Moblin distribution to form MeeGo, under the direction of the Linux Foundation:

MeeGo combines Intel’s Moblin and Nokia’s Maemo projects at the Linux Foundation to create one open source uber-platform for the next generation of computing devices: tablets, pocketable computers, netbooks, automotive IVI and more.

says the Foundation’s Jim Zemlin.

Watching the joint Intel and Nokia interview it seemed to me that this is more Maemo than Moblin, especially since Nokia’s Qt framework and Qt Creator IDE is mentioned as the primary application development platform for MeeGo.

The most significant factor is that Intel and Nokia will now be backing the same mobile OS. You would expect this to have an impact, though I guess the move is an attempt to win back mindshare that has gone to Android, the up and coming mobile OS from Google.

Although both Android and MeeGo are based on Linux, the Android OS has a completely different development model based on Java rather than C/C++.

How Intel’s compiler underperforms on other CPUs: artificial impairment versus failure to optimise

Last month the US Federal Trade Commission sued Intel for anti-competitive practices; and in my post on the subject I tried to make sense of part of the FTC’s complaint, that:

Intel secretly redesigned key software, known as a compiler, in a way that deliberately stunted the performance of competitors’ CPU chips.

A few days ago Agner Fog wrote an article that sheds some light on the subject:

The reason is that the compiler or library can make multiple versions of a piece of code, each optimized for a certain processor and instruction set, for example SSE2, SSE3, etc. The system includes a function that detects which type of CPU it is running on and chooses the optimal code path for that CPU. This is called a CPU dispatcher. However, the Intel CPU dispatcher does not only check which instruction set is supported by the CPU, it also checks the vendor ID string. If the vendor string says “GenuineIntel” then it uses the optimal code path. If the CPU is not from Intel then, in most cases, it will run the slowest possible version of the code, even if the CPU is fully compatible with a better version.

Fog also notes a clause in Intel’s November 2009 settlement with AMD [PDF] in which the company undertakes not to:

include any Artificial Performance Impairment in any Intel product, or require any Third Party to include an Artificial Performance Impairment … “Artificial Performance Impairment” means an affirmative engineering or design action by Intel (but not a failure to act) that (i) degrades the performance or operation of a Specified AMD product (ii) is not a consequence of an Intel Product Benefit and (iii) is made intentionally to degrade the performance or operation of a Specified AMD product.

It is a fine distinction. At what point does failure to optimise constitute “affirmative engineering”? What riles developers is that even when an non-Intel CPU reports support for an optimisation such as SSE, the Intel-compiled code will not use it unless it is an Intel CPU. You could argue that this is an inaction (failure to optimise) rather than an action (deliberately running slower); but the end result is the same, worse performance on non-Intel processors.

The obvious practical solution is to use other compilers, but for certain types of work Intel’s compiler is considered the best.

Has Intel now agreed to do a better job? You tell me; I don’t think the clause quoted above tells us one way or another. I do think it is legitimate for the government to press Intel at least to take advantage of obvious optimisations on third-party processors, since this benefits everyone. Even so, Intel will always optimise best for its own CPUs and that is to be expected.

Performance tests are another issue. It is deceptive to produce test results showing performance differences without also revealing that in one case the code is optimised, and in another it is not. That said, if Intel has a smart optimisation that is specific to its own CPUs, there is no reason why it should not trumpet the fact. This is a matter of disclosure.

Finally, developers take note: if you are compiling for a general market that might or might not be using Intel CPUs, maybe the Intel compiler is not the best choice.

Technorati Tags: ,,

US Federal Trade Commission sues Intel

Just as the EU declared victory over Microsoft having secured the dubious benefit of a browser “choice screen” – I’m wondering if users will suspect malware when this thing appears – the FTC has stepped in with an anti-trust case of its own.

the FTC alleges that Intel has waged a systematic campaign to shut out rivals’ competing microchips by cutting off their access to the marketplace. In the process, Intel deprived consumers of choice and innovation in the microchips that comprise the computers’ central processing unit, or CPU.

The FTC’s main complaint is that Intel allegedly used:

threats and rewards aimed at the world’s largest computer manufacturers, including Dell, Hewlett-Packard, and IBM, to coerce them not to buy rival computer CPU chips. Intel also used this practice, known as exclusive or restrictive dealing, to prevent computer makers from marketing any machines with non-Intel computer chips.

There is also a complaint about GPUs, though it’s not yet clear to me whether this is because the FTC considers that bundling a GPU with the motherboard or CPU sale is anti-competitive in itself, or some other issue.

The FTC also makes what to me is an intriguing complaint about Intel’s compiler:

In addition, allegedly, Intel secretly redesigned key software, known as a compiler, in a way that deliberately stunted the performance of competitors’ CPU chips. Intel told its customers and the public that software performed better on Intel CPUs than on competitors’ CPUs, but the company deceived them by failing to disclose that these differences were due largely or entirely to Intel’s compiler design.

I am struggling a bit with this one. Is the FTC saying that Intel’s compiler has code in it that says in effect:

if (!IntelCompiler) { GoSlowly(); }

Or is the FTC merely saying that the Intel compiler optimises for Intel hardware – which is not a a secret; I’ve been told this by Intel on many occasions.

Clearly if customers were deceived by this in demonstrations the FTC has a point; but the kind of customer who is interested in CPU performance tests is likely to be familiar with the idea that compilers can optimise for specific hardware. It’s a good thing too; if I have Intel hardware I want a compiler that will optimise for features specific to that hardware.

Intel has issued the following statement:

“Intel has competed fairly and lawfully. Its actions have benefited consumers. The highly competitive microprocessor industry, of which Intel is a key part, has kept innovation robust and prices declining at a faster rate than any other industry. The FTC’s case is misguided. It is based largely on claims that the FTC added at the last minute and has not investigated. In addition, it is explicitly not based on existing law but is instead intended to make new rules for regulating business conduct. These new rules would harm consumers by reducing innovation and raising prices.”

Intel senior vice president and general counsel Doug Melamed added, “This case could have, and should have, been settled. Settlement talks had progressed very far but stalled when the FTC insisted on unprecedented remedies – including the restrictions on lawful price competition and enforcement of intellectual property rights set forth in the complaint — that would make it impossible for Intel to conduct business.”

“The FTC’s rush to file this case will cost taxpayers tens of millions of dollars to litigate issues that the FTC has not fully investigated. It is the normal practice of antitrust enforcement agencies to investigate the facts before filing suit. The Commission did not do that in this case,” said Melamed

Technorati Tags: ,

Hands on with Intel Moblin

When I saw that trying out Intel’s Moblin Linux 2.1 was as easy as downloading an image and writing it to a USB pen drive, I could not resist giving it a try.

Moblin (it rhymes with Goblin) is aimed at netbooks running Intel’s Atom processor, though it also runs on other Intel processors – mine is a Core 2 Duo. The supplied intro says it is a “completely new user experience” and “the next evolution in operating systems”. Well, one thing greatly impressed me. Moblin booted perfectly when plugged into my Toshiba M400 Portege laptop, playing sound and video, and picking up the wi-fi card without any messing around.

Next, I spent a few minutes exploring the user interface. There are some fun, bouncy mouse-over effects, though the cutesy default imagery, featuring an unlikely friendship between what I think is a cat and some birds, did nothing for me. I discovered a browser based on Mozilla, but hiding many of its features, a media player, an application gallery with easy install of a selection of further apps (the usual Linux things), and an effort to bring social networking to the fore by integrating with Twitter and last.fm, with others presumably to follow.

I am not sure about it though; I suspect the first thing I would do with a Moblin netbook is to work out how to install Ubuntu or some other Linux that is less sugar-coated and exposes all the features I am used to; and I suspect most users (given the choice) would rather have Windows 7.

My instant and probably unfair reaction is that Microsoft has nothing to fear from Moblin, even though I can see that a lot of work has gone into making it easy to use.

It is an interesting contrast to Google Chrome OS, which I have also been trying. Although Moblin has more features right now, Chrome OS is more compelling; Chrome OS feels stripped-down rather than simplified, and embraces a new model of computing that I think can be made to work.

Incidentally, Google acknowledges Moblin as one of the open-source projects which it uses in Chrome OS.

Technorati Tags: ,,,

Intel gets into the App Store game – but where does Silverlight fit in?

Intel has announced its Atom Developer Program including a new app store. The idea is to encourage a flow of applications that are well suited to netbooks, rather than general desktop applications that tend to get pressed into service because they are there, but may not be well suited to the smaller screen and more limited resources typical of netbooks versus full laptops. No doubt Intel has its eye on Apple’s successful iPhone App Store, which enhances sales of the hardware as well as providing a ready-made sales channel for independent software vendors, and wants to do the same for netbooks.

In order to participate as a developer, you have to sign up for the program, which will cost $99 annually though currently it is free. An interesting twist is that the developer program is a component market as well as an application market. Write a cool component, and you can get paid whenever any application that uses your component is sold. Intel handles all the business details, for a cut of course.

Intel is supporting two operating systems, Windows and Moblin, Intel’s Linux distribution. Your applications must be one of the following:

  • Native Windows (I am not sure whether .NET is allowed)
  • Native Moblin
  • Java
  • Adobe AIR

A puzzle is that Intel’s press release makes several references to Silverlight as a cross-platform runtime; yet although there is a Linux version of Silverlight, called Moonlight, there isn’t any exact equivalent to AIR for desktop Silverlight and I am not clear how Silverlight fits in any of the categories above. I may be reading too much into this; but perhaps all will be explained when Silverlight 4 is unveiled at PDC in November? Here’s what the press release says:

“Using Silverlight’s cross-device, cross-browser, cross-platform technology, developers will be able to write applications once and have them run on Windows and Moblin devices – expanding the reach of Silverlight applications to more consumers, regardless of whether the device they’re using is a PC, TV or phone,” said Ian Ellison Taylor, general manager, Microsoft Client Platforms and Tools.

Note that despite the above quote, Moonlight 2.0 is still in beta, and no current phones include the Silverlight runtime.

Apps must be delivered in one of the following forms:

  • .msi (for Windows*)
  • .jar (for Java*)
  • .air (for Adobe® AIR*)
  • .deb (for Debian Mobilin/Linux)
  • .rpm (for RedHat* Linux)

All applications in the store are subject to Intel’s approval (called validation):

The validation process checks your code for suitability for the Developer Program, licensing and legal issues, and some basic functionality.

Here’s the checklist. Note this requirement:

Runtimes and technologies the application can support can only be any of the following: Moblin* Native, Windows* Native, Adobe AIR*, Java FX *, and Microsoft* Silverlight*.

Hmm, Silverlight again.

Intel gets 30% of your revenue. You can also market components and if your application uses a paid-for component a share of the revenue will be paid to the component vendor. Free applications and components are also permitted.

I really like the checklist – I wish all desktop applications conformed to some of the requirements. Like this one:

The application will completely uninstall when desired, and leave no garbage files behind.

are great to read.

You can sign up here, though the SDK is not yet available.

One curious facet of the program is that although it is specifically for the Atom, in most cases your application will likely run fine on other processors. I am not sure if Intel will do anything to ensure that only Atom-powered computers use the store.

In May I posted that we should get ready for more app stores. This is really coming to pass now, with Adobe’s offering which I mentioned yesterday, Nokia’s Ovi, as well as others for Android, Palm Pre and so on.