All posts by onlyconnect

Microsoft brings Silverlight – not Mono – to Linux via Intel

Yesterday I speculated about what was meant by the inclusion of Silverlight among supported runtimes for Intel’s Moblin Linux, which is being used on netbooks using the Atom processor. I had assumed it was some new development of Moonlight, Mono’s Silverlight implementation, but apparently this is not the case. Here’s what Microsoft’s Brian Goldfarb, director of the Developer Platform Group at Microsoft, said:

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.

There are a couple of curious aspects to this. One is why Microsoft would not simply feed optimisations into the Moonlight project, which would benefit Silverlight/Moonlight on all Linux systems. Goldfarb did add:

The Silverlight for Moblin announcement is independent from Microsoft’s work with Novell on Moonlight. The Intel/Moblin effort is specifically about building great out-of-box experiences for consumers on Atom-based devices. Microsoft’s efforts with Novell remain critical as they build an open-source, compatible, and broadly available Silverlight solution for Linux.

Another is whether Intel/Microsoft are devising some way for Silverlight to run as a desktop application, rather than just as a browser plug-in. I’m hopping to clarify these points soon.

Intel has a press release here.

Native API coming to Adobe AIR 2.0

Adobe’s Mike Chambers has revealed a new feature in AIR 2.0, the desktop runtime based on Flash.

At the Flash on the Beach conference in Brighton, he showed the NativeProcess API. You can “call and communicate” with external applications.

There are several restrictions, for security reasons. The application must be distributed as a native installer, not as an AIR download, and it cannot execute applications within its own directory.

Another new feature is that you can also open the default application for a specified file. For example, you could have your application generate a spreadsheet and open it in Excel on Windows or Mac (if Excel is the default handler for a spreadsheet). This feature works in any AIR application, though again the file cannot be within the application directory. There is also a blacklist of disallowed file types.

I am sure there will be debate about the security implications; it will be interesting to examine the new capabilities in more detail.

This strikes me as a useful new feature, significantly extending the capabilities of an AIR application.

More info in Mike Chamber’s slide deck; and comments from Marc Hibbins who says:

I’m sure this is would have been the most requested feature by far – that AIR should be able to launch files in their native apps and run other applications or processes securely.

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.

Adobe’s new social platform for ads and apps

Adobe has announced the distribution side of its Flash Platform Services. The press release heading is quite a mouthful:

New Distribution Service Provides Web Application Sharing, Promotion, Measuring and Monetization across Desktops and Mobile Platforms

and it is hard to take in at a glance exactly what the services are offering. Here’s my quick take.

A good place to start is with this article on Gigya’s site, Gigya being Adobe’s partner for this. Here you will see Gigya’s Wildfire Flash widget; it’s a working example so you can try it out on the site – the illustration below is only a bitmap though.

This widget is what Adobe calls a Share Menu in its Distribution service overview. The idea is that you as the publisher display a widget like this alongside or within your new or existing Flash applications – perhaps customized to hide the ugly embed code. Your user comes along, sees the cool application, and wants to embed the application on their own blog, Facebook page, or even on the desktop. They click one of the buttons and the widget automates as far as possible the creation of a new post on the selected service which includes the embed code for your widget or application.

Along with services like Facebook, MySpace and WordPress listed above, Wildfire supports desktop widgets such as the Vista sidebar and bookmarks on services such as FriendFeed, Digg and Twitter. In the case of a mobile app, the button would generate an SMS message that would link to the application install.

I’m not a good candidate for this kind of widget as I try to keep logged out of social services. As an experiment though, I logged into Live Spaces. I clicked the Live Spaces button which prompted me for a post title. Clicking OK then pre-populated a new post to my Spaces blog; one further click would have confirmed the post.

Creating a Share Menu

The piece that confused me at first is that the Share Menu can be either external to the application you are distributing or embedded within it. Embedding it within the app is the most powerful option, since the application can then have a “get this app” button. This allows other users to display the Share Menu and install the app for themselves. The goal, of course, is viral distribution, where apps can become popular quickly via social networks, as happened to great effect in the early days of Facebook.

You can add a share menu to your application in Flash. I installed Adobe’s extension and found a new Share Menu component in Flash CS4.

However you choose to implement it, the Share Menu always includes a partner ID which identifies the application publisher and a Code ID which identifies the application. To get these you have to sign up for Adobe’s Distribution service.

You can also add an external Share Menu using a web page editor such as Dreamweaver. This creates a generic widget customised through script arguments.

Adobe’s advertising network

So far so good, but how do you kick-start the viral distribution of your app? This is where Adobe’s ad network comes in. There are several aspects to this:

– You can pay to have your application promoted through Adobe’s network. One mechanism for this is that when a user installs some other shared application, they are prompted to install yours as well.

– You can monetize your applications by hosting a shared install, the other side of the above.

– You can embed other advertising within your application and get paid for it

These processes are managed using Distribution Manager, an AIR application. You can use this both as an advertiser or as a publisher; indeed, you may well have both roles.

Making an application shareable is free, but if you want to promote it the cost is from $1 per install; if you host ads you can expect around $5.00 per thousand views (CPM).

The Distribution Manager also lets you track application install and usage.

More Flash Platform Services

There’s more to come; as Ryan Stewart explains. The Flash Collaboration Service is already in beta, and provides everything for sharing and communication including voice over IP, webcam, file sharing, chat, data exchange and more. There’s also a social piece which will integrate with social networks like Facebook and MySpace – given the link with Gigya, maybe a variant of the Gigya Socialize API, which “aggregates authentication and social APIs from Facebook Connect, MySpace ID, Twitter, Google, Yahoo, and AOL”?

Finally, a brief comment. I think Adobe is serious about this as one way of expanding its business model beyond tools, which I believe it has to do. It strikes me as an interesting platform, even though personally I am averse to widget proliferation and wary of the privacy implications of highly tracked applications. Serge Jespers remarks about his MAX widget:

The service also allows you to monetize your application and also track just about everything a user does with the app

perhaps not realising what a red light that is to some of us. Note however that all apps in Adobe’s distribution service are subject to approval.

Overall it’s an interesting platform to watch. In a nutshell: applications that install themselves (almost) and with built-in cross-promotion – but not quite (we hope) actual viruses.

.

Office Web Apps: is Microsoft missing its big opportunity?

I have been found the technical preview of Microsoft’s Office Web Apps mostly disappointing. One problem is bugs. These are to be expected in a technical preview, but I have had more problems than I would expect in a widely distributed technical preview. PowerPoint has been particularly problematic. When I try to edit a PowerPoint document I now almost always get “PowerPoint Web App encountered an error. Please try again.” Once I get this error I am stuck with it for the rest of the session. On the Mac I am unable to open documents in Office 2008; I get a message that says “To open this presentation, your computer must be running a version of Microsoft PowerPoint and a browser that supports opening files directly from the Office Web Apps.” On Linux the edit features of the Web Apps seem to be disabled completely. When collaborating in Excel, you cannot see what the other person is editing, which can result in your work being overwritten. Trying to load an Excel sheet that included VBA macros gave the blunt message: “Excel Web App was unable to load the workbook that you requested”.

No doubt these things will be fixed, or at least the messages improved, but it raises doubts about whether the Web Apps will be ready in time.

The performance of the web apps overall is mixed: load times can be slow, but once loaded it is not so bad – scrolling through a Word document in the Silverlight viewer is fine. Performance seems to vary, which may suggest server load issues, and/or the effects of caching as a session continues. Anyway, it was weak enough that when I tried an experiment with a larger spreadsheet I did so with no great expectations.

Here’s what I did. I ran a script that reads every filename and writes it to a file, and ran it against a drive containing many files. I imported this to Excel (which coped without blinking) and saved it both as an .xlsx and a .xls with a little over 30,000 rows. I tried importing it to Google Apps, which says it accepts spreadsheets up to 1MB (my sheet was 883K). Google wasn’t having it, and gave me an error – maybe because an .xlsx is really zipped, and uncompressed the .xls was nearly 3MB. I cut it down to 100,000 rows, whereupon Google accepted it OK. Scrolling from top to bottom took around 15 seconds, or nearer 5 seconds in Chrome: impressive.

Next I tried Office Web Apps. To my surprise, it accepted the large sheet without protest; even the upload was quick. Better still, it was able to scroll from top to bottom in less than 10 seconds, faster once loaded.

I was impressed, though something is not quite right. I put a little calculation towards the bottom of the sheet and for some reason I can’t figure out, it isn’t working.

Still, it seems that Excel Web App is ready for workbooks larger than Google will accept. It’s a significant issue, since there are plenty of large spreadsheets in the world; and I can’t see any inherent reason why web applications should not be able to deal with them. Deep Zoom does a great job of dealing with large bitmaps, so why not spreadsheets as well, on the same principle that you only need to see a small portion at any one time?

The Office Web Apps build on Excel Services along with equivalent services that are being developed for the other Office applications, so Microsoft is in fact building a server-side Office. It is a huge opportunity given the dominance of Microsoft Office in business, with the potential to jump-start Microsoft’s efforts to establish itself alongside the likes of Google and Salesforce.com as a provider of online applications. The big question is to what extent it is willing to surface the features of server-side Office so that users can take full advantage.

The answer currently seems to be, “not much.” The editing features are extremely limited. Here’s what product manager Chris Adams told me when I asked him to describe the limitations:

Our goal is not to replicate the desktop software on the web. The web is a few years away from providing the same kind of rich, powerful experience that we have on the desktop. One of our goals is that cross-browser, cross-platform support. Without wanting to use extra add-ins to add functionality, it does limit us in some ways.

We’ve been trying to look at the key things people might want to do when they access a web app. Smart Art is an example. Smart Art was introduced in Office 2007 on the desktop. With the web app we’ll look to enable people to edit Smart Art, update some elements in it, but we won’t allow you to create new smart art.

We’re trying to replicate the right features and functionality for what we think users will want to do with the web version. This is the first time that a lot of people will get to use it, so the feedback starts now. What people tell us now will inform what we eventually end up with as a feature set.

My feedback here is that the web apps should be as full-featured as possible, so that you can do all your work without having to click that Edit in Office button – which is never going to work anyway in some scenarios, such as on Linux.

Despite denials, I am sure that Microsoft is deliberately limiting the editing options in the web apps so as to ensure that we still need desktop Office. I cannot make sense of what is on offer in Excel Web App, for example, in any other way.

It seems to me that Microsoft is choosing between two paths here.

  • On one path it makes the Web Apps as good as possible, and risks losing sales of Office licences as well as making non-Windows operating systems more viable on the desktop.
  • On the other path, it limits the capabilities of the Web Apps, and risks losing customers in their entirety as they realise that Microsoft is not serious about letting them work through a web-based system.

Not easy, but I’d suggest that the first option above is less dangerous for Microsoft than the second.

Microsoft’s Office Web Apps enter technical preview

I’ve been writing recently about Desktop Applications versus Web Applications, so as you would expect I have a keen interest in Microsoft’s Office Web Applications, which enter technical preview today.

First, a few facts:

  • The Office Web Apps are Excel, Word, PowerPoint and OneNote
  • You will be able to view, create and edit documents in IE, Firefox and Safari, running on Windows, Mac or Linux.
  • The current technical preview is read-only for Word, and OneNote is not yet supported. Excel and PowerPoint support create and edit.
  • There are three ways to use Office Web Apps. Consumers are expected to use the free (ad-supported) Windows Live offering, where documents are stored on SkyDrive. Businesses can choose between Microsoft Online, which is a subscription offering, or on-premise hosting using SharePoint 2010. The free SharePoint services will be sufficient. You need a volume license for Office.
  • The Office Web Apps are essentially HTML apps. Silverlight is not required, but gives enhanced viewing with zoom and pan where available.
  • There is no offline functionality as such, unlike Google Apps. Of course you can save a document locally.
  • Office 2010 will let you load and save directly from SkyDrive, just as you can today with Office and SharePoint.
  • Office Web Apps will let you view old-style Office 2003 formats (.doc, .xls etc), but if you edit and save, they are saved in 2007 format (.docx, .xlsx etc).
  • You will be able to embed PowerPoint documents into other web sites, just like SlideShare, but not Word or Excel.
  • The paid-for variants add features including auditing, document history, backup and restore – in essence, SharePoint features.
  • Office Web Apps will be released at the same time as Office 2010. Full beta before the end of 2009, release before the end of June 2010.

I spoke to product manager Chris Adams. Some cynics, I said, are suspicious that Microsoft might deliberately hobble the web apps in order to preserve the advantage of the desktop apps. His response:

By hobbling them, we wouldn’t be enabling that scenario of that anywhere working, anywhere flexibility, by making it a bad experience. We’re focused on making the right functionality that we believe our customers want available through the web applications. There’s sometimes the view that Microsoft is making web apps available as a competitive response and we’re going to be difficult round about licensing because we need to maintain the Office “cash cow” business. We see web apps not only supporting better productivity experiences for our existing customers, but it also opens up the Office experience and Office brand for millions of new users worldwide.

I also asked about the developer angle and whether there will be an API for Office Web Apps. The answer is that SharePoint is the API, enhanced in SharePoint 2010 with Word Services, Visio Services and Access Services to complement the existing Excel Services. The further implication is that the API for Windows Live Office Web Apps will be weak. There are engineering differences between the Windows Live apps and SharePoint; Windows Live is not just hosted SharePoint. This also explains why the Technical Preview is less far advanced than you might expect; according to Adams, it is more advanced on SharePoint at the moment. Adams added that:

For the first release we’re focused on a great end-user experience, the document fidelity and providing as rich an experience as we possibly can. There is a developer story round about Office running on a server, it’s just not necessarily the web apps, it’s provided for SharePoint services.

The full details will be given at the SharePoint conference in October 2009.

Software development trends in emerging markets

I’ve just attended a webinar given by Evans Data on software development trends in emerging markets such as India, China and Brazil. Not many surprises, but still interesting. Here’s a quick summary:

  • The emerging market developers are much younger – a median age of 29 versus 41 in the rest of the world (ROW).
  • The developer population is growing faster in emerging markets – 25% per annum versus 9%.
  • Educational attainment is similar in emerging markets vs ROW – developers tend to be highly educated.
  • Developing for cloud computing and SOA is somewhat stronger in emerging markets than ROW

There are mixed signals when it comes to use of Microsoft technologies. On the one hand, we were told that Microsoft is strong, and a sign of that is that more emerging market developers are signed up to a paid developer program (presumably MSDN) than in the ROW. On the other hand, there’s more open source adoption in emerging markets: 74% vs 65% ROW.

Programming language trends are hard to nail, because emerging market developers tend to have multi-language skills. 60% of emerging market developers use Java, for example, vs 45% in ROW; but 48% use C#, vs 38% in ROW. The emerging market developers are ahead in every category here, despite (or because of) their younger age.

When it comes to host operating systems, Windows XP predominates in both groups. There’s less Mac in emerging markets: the number 5 OS is Windows 7, whereas it is OS X in ROW. The others are Vista, Linux, and Windows 2003.

What I’m not sure about (but would like to know) is how many of the developers surveyed in emerging markets were working for their own market, and how many for international customers.

My own observation is that aside from the remarkable age difference, the two groups are more similar than I would have guessed.

London Stock Exchange migrating from .NET to Oracle/UNIX platform

The London Stock Exchange has agreed to acquire MillenniumIT, and will be replacing its TradElect and Infolect systems with the MillenniumIT trading system. TradElect is based on Windows Server and .NET,  and was created by Microsoft and Accenture. Microsoft used to use the LSE’s system as a showcase for .NET scalability, but while it proved that .NET can work for large systems, the LSE suffered an outage in September 2008 that was rumoured to be the fault of TradElect.

I don’t know much about MillenniumIT but note that the company is a partner with Sun and Oracle and that the MillenniumIT Exchange brochure [pdf] states:

Operating System: UNIX or Linux

Database: Oracle

As Brian Bryson of IBM/Rational observes, it is short-sighted to lay the blame on the platform. Nevertheless, considering the high profile of this system and Microsoft’s active involvement it is at least an embarrassment.

The mitigation for Microsoft is that .NET has less to prove these days. Even if running a system as large and performance-critical as the London Stock Exchange was a step too far, particularly for Server 2003 and (apparently) SQL Server 2000, that doesn’t rule out Microsoft’s technology for more usual workloads; and there are improvements in Server 2008 and SQL Server 2008.

Still, I’d love to know more about why the LSE is abandoning TradElect and what the lessons are for those designing and implementing systems at this level.

The problems with TradElect are thoroughly debated in the comments here.

Update: Microsoft’s LSE Case Study from 2006 is here.

I have also received the following statement from a Microsoft spokesperson:

Microsoft continues to support some of the most demanding, mission-critical environments in the world and is constantly raising the performance bar with new solutions.  Most recently, Microsoft completed three different proof-of-concept projects for a major international stock exchange that demonstrate Windows Server 2008 and Microsoft .NET can successfully support very low latency trading activities, in the 100 microsecond range using standard 1 Gigabit Ethernet.  With the addition of Microsoft Network Direct, that latency is further reduced by 50%, which is industry leading performance.

Adobe financials: little change in segment breakdown

Adobe has released its Q3 2009 results [pdf], which show a decline in both revenue and profits compared to Q3 2008. I’m not a financial analyst, but the general view seems to be that the figures are reasonable considering the economic downturn, and that Adobe has done well to trim its costs accordingly.

What interests me most is the breakdown [pdf] in Adobe’s revenue between tools and other services. Here’s what it was last time I looked:

Revenue by segment ($millions) FY2008 YTD August 2008 – representing 3 quarters

  • Creative Solutions $1564.3 [58.7%]
  • Business Productivity Solutions $786 [29.5%]
  • Mobile and Device solutions $64.9 [2.4%]
  • Other $249.4 [9.4%]

and now:

Revenue by segment ($millions) FY2008 YTD August 2009 – representing 3 quarters

  • Creative Solutions $1272.8 [58%]
  • Business Productivity Solutions $646.7 [30%]
  • Platform Revenue $134 [6%]
  • Print and Publishing 135.1 [6%]

It’s unfortunate that the last two categories have changed, but the general picture seems to be much as before.

Creative Solutions means mainly Creative Suite.

Business productivity is Acrobat and LiveCycle, including Acrobat.com.

Platform is Flash Player, AIR, Cold Fusion, Flex and the developer tools.

Print and Publishing is the stuff you might have forgotten about: FrameMaker and PageMaker, Director, PostScript, Robohelp, and a few other bits and pieces. It’s interesting that these older products generated more revenue than the trendy new platform, Flex and AIR.

A couple of observations. First, Adobe is making little progress in reducing its dependence on sales of tools – I don’t know if this is even its aim, though it strikes me that it should be, since the tools business is a precarious one and prone to commoditization. As I understand it, Adobe has considerable ambitions for building Acrobat.com as a cloud service but this looks like mostly future hope.

Second, the huge success of Flash media on the web does not seem to be showing up as increased revenue. Maybe Microsoft’s efforts with Silverlight streaming are exerting a downward pressure on prices?

Adobe may say it is well positioned to benefit from economic recovery, which actually seems plausible.

Disclosure: I deliberately avoid investing in companies about which I write.

Technorati Tags: ,,,

Should you swap your laptop hard drive for an SSD?

I’ve just been briefed by Kingston on the merits of its SSD Drives. Sandisk also has a range. Solid-state storage, capacity typically 128GB but larger is possible, lower power consumption (so longer battery life), better reliability (nearly drop-proof), and faster.

Kingston gave a demo showing how an SSD-equipped Toshiba laptop booted more quickly and processed images faster than an allegedly identical model with a conventional hard drive.

The company will be providing bundles that make it easy to switch. You get a USB case into which you insert your new SSD drive. Run the supplied cloning software, unscrew the drive flap on the laptop and swap the drives. Worth doing?

It strikes me as worth considering, but there are a couple of snags. One is cost and capacity – your SSD drive will be more expensive and store less than the old rotating type. That could change – but beware betting against hard drives, they are one of IT’s great survivors.

The other snag is that although SSD drives apparently score better on reliability – what the industry measures as MTBF or Mean Time Before Failure – they have a special bad habit of their own, which is that capacity gradually reduces as they wear.

What happens is that as cells wear out, the clever firmware remaps them to good cells, ensuring that your data is safe, but reducing the capacity.

The one “errm I’ll get back to you on that” moment comes when I ask what might be the normal expectation, in terms of how rapidly capacity reduces with normal usage. It is determined by how many writes you make; clearly it helps to have generous RAM in order to reduce the usage of temporary files.

The man from Kingston also revealed that some SSD drives have hidden reserves. For example, 10% extra capacity might be unavailable for use initially, but swapped in as it is needed. This hides the problem for a while, but does not cure it.

Still, you would think that SSD will win out in the end, as capacity improves and cost comes down. Further, if your main concern is how long the battery lasts on your train journeys and transatlantic flights, SSD is definitely worth a look. Many netbooks come with SSD as standard – the first device I had which uses them was an Asus Eee PC.