Tag Archives: windows

Cross-platform concerns as Adobe abandons AIR for Linux

Adobe is giving up on AIR for Linux – at least, in a fully supported manner:

To support the variety of Linux-based platforms across PCs and devices, we are prioritizing a Linux porting kit for AIR (including source code), which Open Screen Project (OSP) partners can use to complete implementations of AIR for Linux-based platforms on PCs, mobile devices, TVs and TV-connected devices. We will no longer be releasing our own versions of Adobe AIR and the AIR SDK for desktop Linux, but expect that one or more of our partners will do so. The last Adobe release of AIR for desktop Linux is AIR 2.6.

This is a curious message. OSP partners include ARM, Intel, the BBC, Google, Toshiba and other big names; but which of these might build an AIR SDK and on what sort of terms might it be supplied? Or it is more likely that, say, the BBC will deliver BBC iPlayer for LInux in a bundle that includes the AIR runtime? Or is it just wishful thinking?

Adobe’s open source evangelist Dave McAllister has a go at defending the decision, pointing out that the growing client operating systems are Android and iOS, not desktop Linux, and that AIR for Linux accounts for only a 0.5% download share. However, Linux developers observe that Adobe’s AIR for Linux effort has always been half-hearted and tricky to install, especially on 64-bit installations. AIR itself is still 32-bit, as is the Flash Player on all systems, though there is 64-bit version in preview codenamed “Square”.

Most people run Windows or Mac desktops, and will not miss AIR for Linux. That said, decisions like this do undermine confidence in the Flash platform as a cross-platform proposition. The problem is, Flash technology is not open source and ultimately whether a particular platform is supported is a matter for Adobe, with all the commercial and political factors that implies.

The risk for Adobe is that when it abandons smaller platforms, it make open standard alternatives and in particular the collection of web technologies we call HTML5 more attractive.

Microsoft refuses to comment as .NET developers fret about Windows 8

There is a long discussion over on the official Silverlight forum about Microsoft’s Windows 8 demo at D9 and what was said, and not said; and another over on Channel 9, Microsoft’s video-centric community site for developers.

At D9 Microsoft showed that Windows 8 has a dual personality. In one mode it has a touch-centric user interface which is an evolved version of what is on Windows Phone 7. In another mode, just a swipe away, it is the old Windows 7, plus whatever incremental improvements Microsoft may add. Let’s call it the Tiled mode and the Classic mode.

Pretty much everything that runs on Windows today will likely still run on Windows 8, in its Classic mode. However, the Tiled mode has a new development platform based on HTML and JavaScript, exploiting the rich features of HTML 5, and the fast JavaScript engine and hardware acceleration in the latest Internet Explorer.

Although D9 is not a developer event, Microsoft did talk specifically about this aspect. Here is the press release:

Today, we also talked a bit about how developers will build apps for the new system. Windows 8 apps use the power of HTML5, tapping into the native capabilities of Windows using standard JavaScript and HTML to deliver new kinds of experiences. These new Windows 8 apps are full-screen and touch-optimized, and they easily integrate with the capabilities of the new Windows user interface. There’s much more to the platform, capabilities and tools than we showed today.

Program Manager Jensen Harris says in the preview video:

We introduced a new platform based on standard web technologies

Microsoft made no mention of either Silverlight or .NET, even though Silverlight is used as the development platform in Windows Phone 7, from which Windows 8 Tiled mode draws its inspiration.

The fear of .NET developers is that Microsoft’s Windows team now regards not only Silverlight but also .NET on the client as a legacy technology. Everything will still run, but to take full advantage of Tiled mode you will need to use the new HTML and JavaScript model. Here are a couple of sample comments. This:

My biggest fears coming into Windows 8 was that, as a mostly WPF+.NET developer, was that they would shift everything to Silverlight and leave the FULL platform (can you write a Visual Studio in Silverlight? of course not, not designed for that) in the dust. To my utter shock, they did something much, much, much worse.

and this:

We are not Windows developers because we love Windows. We put up with Windows so we can use C#, F# and VS2010. I’ve considered changing the platform many times. What stops me each time is the goodness that keeps coming from devdiv. LINQ, Rx, TPL, async – these are the reasons I’m still on Windows.

Underlying the discussion is that developers have clients, and clients want applications that run on a platform with a future. Currently, Microsoft is promoting HTML and JavaScript as the future for Windows applications, putting every client-side .NET developer at a disadvantage in those pitches.

What is curious is that the developer tools division at Microsoft, part of Server and Tools, has continued to support and promote .NET; and in fact Microsoft is soon to deliver Visual Studio LightSwitch, a new edition of Visual Studio that generates only Silverlight applications. Microsoft is also using Silverlight for a number of its own web user interfaces, such as for Azure, System Center and Windows InTune, as noted here.

Now, I still expect that both Silverlight and native code, possibly with some new XAML-based tool, will be supported for Windows 8 Tiled mode. But Microsoft has not said so; and may remain silent until the Build conference in September according to .NET community manager Pete Brown:

You all saw a very small technology demo of Windows 8, and a brief press release. We’re all being quiet right now because we can’t comment on this. It’s not because we don’t care, aren’t listening, have given up, or are agreeing or disagreeing with you on something. All I can say for now is to please wait until September. If we say more before then, that will be great, but there are no promises (and I’m not aware of any plans) to say more right now. I’m very sorry that there’s nothing else to share at the moment. I know that answer is terrible, but it’s all that we can say right now. Seriously.

While this is clearly not Brown’s fault, this is poor developer communication and PR from Microsoft. The fact that .NET and Silverlight champion Scott Guthrie is moving to Windows Azure is no comfort.

The developer division, and in fact the whole of Server and Tools, has long been a bright spot at Microsoft and among its most consistent performers. The .NET story overall includes some bumps, but as a platform for business applications it has been a remarkable success. The C# language has evolved rapidly and effectively under the guidance of Technical Fellow Anders Hejlsberg. It would be bewildering if Microsoft were to turn its back on .NET, even if only on the client.

In fact, it is bewildering that Microsoft is being so careless with this critical part of its platform, even if this turns out to be more to do with communication than technical factors.

From the outside, it still looks as if Microsoft’s server and tools division is pulling one way, and the Windows team the other. If that is the case, it is destructive, and something CEO Steve Ballmer should address; though I imagine that Steven Sinofsky, the man who steered Windows 7 to launch so successfully, is a hard person to oppose even for the CEO.

Update: Journalist Mary Jo Foley has posted on what she “hears from my contacts” about Jupiter:

Jupiter is a user interface library for Windows and will allow developers to build immersive applications using a XAML-based approach with coming tools from Microsoft. Jupiter will allow users a choice of programming languages, namely, C#, Visual Basic and C++.

Jupiter, presuming her sources are accurate, is the managed code platform for the new Windows shell – “Tiled mode” or “Tailored Apps” or “Modern Shell – MoSH”; though if that is the case, I am not sure whether C++ in this context will compile to managed or unmanaged code. Since Silverlight is already a way to code using XAML, it is also not clear to me whether Jupiter is in effect a new Windows-only version of Silverlight, or yet another approach.

Battle of the portables: Netbook vs Apple iPad 2

A semi-serious comparison

The popularity of tablets has seriously undermined the market for netbooks, according to many reports. But to what extent are the two comparable, and if they are, is a tablet unequivocally superior? I’m asking the question as much as answering, because I am trying out an iPad 2 and intrigued to see to what extent it can replace the netbook with which I normally travel. I have found I prefer the netbook to a laptop when out and about: the lightness and long battery life is worth the performance limitations for me.

The comparison is not straightforward. An iPad is a thing of beauty, whereas a typical netbook is an obvious compromise, nearly a laptop but limited in memory and performance. For some people that is enough; they will say, it is not about features, it is about the experience, and it is night and day.

Even so there are things that the netbook does better. What follows are some notes on the subject, based on the iPad vs a Toshiba NB 300 netbook with which I am familiar. I may add or amend the entries, so check back for updates.

1. Price

iPad2: £399 (wi-fi with 16GB)

Toshiba netbook: £230.00 (based on typical current price of NB305)

Winner: netbook

the netbook comes with Windows 7 starter, a crippled version of Windows, and only 1MB RAM. You probably want to add 1GB RAM (£17.00). If you want to join your netbook to a business domain you’ll need to upgrade Windows 7 to the Professional version; if you want to get rid of the annoying ads in Office Starter you’ll need to upgrade Office too.

2. Ease of setup:

iPad2: Switch on, and it asks you to connect to a computer running iTunes. This actually has its annoyances. iTunes is rather slow and bloated especially on Windows. When you connect, the default is auto-sync, which means iTunes will attempt to copy its music library to your iPad, likely not have enough room, and copy a random selection. If you have an iPhone, you will also get all your iPhone apps copied across, like it or not, which means you have to delete the ones you do not want.

Toshiba netbook: I recounted the “fairly dismal” experience of setting up a Toshiba netbook here. The main problem is all the trialware that is pre-installed, plus a bunch of Toshiba utilities of varying quality. Rather than repeat it all here, I will show show the screenshot a few minutes after first power-on:

Winner by a mile: iPad 2

3. Boot time

iPad 2: instant

Toshiba: ages. Better from hibernation, though still much slower than iPad 2. Better from sleep, but I am not a big fan of sleep because it drains the battery and occasionally crashes on resume.

Winner by a mile: iPad 2

4. Multi-tasking, or the ability to do several things at once

iPad 2: does multi-task but the experience is not great. Only one app is visible at a time, and to switch you have to double-click the big button, swipe through a list of apps, and tap the one you want.

Toshiba: It’s Windows. Fortunately Microsoft changed its mind about having a limit of three apps you can run at once. You can run lots of apps, switch between them with alt-tab or by clicking a taskbar icon, and size them small so you can see more than one on-screen at one time.

The simplicity of one app to view is meant to be an advantage of iOS; but while the Windows model can be troublesome – see the above screenshot for proof- I’d like to see some improvement in this part of iOS. It is not a matter of screen size: the screen size on the netbook is similar to that of the iPad.

Winner: netbook

5. Keyboard

iPad 2: soft keyboard that obscures half the screen, or add-on physical keyboard.

Toshiba netbook: traditional clamshell design with integrated keyboard.

I do a lot of typing, and my speed is substantially better on a physical keyboard. However I do not like carrying lots of accessories, and while the iPad add-on  keyboard is fine at a desk, if you are in a confined space such as an aeroplane the clamshell design works better than a loose keyboard.

That said, I recall hearing how a school that issued all its pupils and staff with iPads was surprised by how few wanted keyboards. Some kids apparently prefer the soft keyboard to “all those buttons”, so it may depend what you are used to. However, even if you replaced the “Keyboard” heading with “Text input”, my vote would still go to the netbook.

Winner: netbook

6. Touch control

iPad 2: yes

Toshiba netbook: no

I’m putting this in just to make the point. Even a Windows tablet, with a stylus, is less convenient to use with touch than an iPad.

Winner by a mile: iPad 2

7. Applications

iPad 2: A bazillion apps available in the app store, cheap or free to purchase, a snap to install. Not so many for iPad as for iPhone, but still a good number.

Toshiba netbook: It’s Windows. They are a bit slow to load, but I run Microsoft Office, Outlook, several web browsers, music apps, games, network utilities and all sorts of other stuff.

Winner: I am going to call this a tie. There are some beautiful apps for the iPad 2, but I miss the features of Windows apps like Office. With the netbook my experience is that I can do almost anything that I can do with a desktop PC, although more slowly, but that is not the case with the iPad 2. On the other hand, the way apps can be installed and removed in a blink on the iPad 2 is a delight compared to Windows setup.

8. File system and storage

iPad 2: There is a file system, but it is hidden from the user.

Toshiba netbook: Yes. I can save a document from one app, and open it in another. I can connect to it over a network and copy files from one folder to another. Not possible on the iPad 2 without workarounds like iTunes and DropBox; and even then some things are difficult. For example, you cannot save a document from Pages on the iPad directly to your DropBox. Let me add that the netbook has a 250GB hard drive, whereas the iPad gets by with a maximum of 32GB solid state storage – though also note that solid state storage is faster to access, and that because the iPad is designed to work like that it does not feel particularly space-constrained.

Winner by a mile: netbook

9. Connectivity

iPad 2: Wireless network, or devices that accept Apple’s proprietary connector. You can attach the iPad to a PC with USB, but only iTunes really understands it, unless you just want to copy photos and videos. Apple offers an add-on camera connectivity kit for downloading photos from a camera, and AirPrint for printing over a network. It is annoying that you have to buy add-ons to do what a netbook does out of the box.

Toshiba netbook: Three standard USB ports, you can attach external hard drives or most USB devices such as printers.

Winner: netbook

10. Battery life

iPad 2: Apple says up to 10 hours, but I have never managed as much as that. Maybe 7 or 8 hours.

Toshiba netbook: I get about 6 hours on wifi, more than that without.

In practice, I have no quibble with either machine – though I am envious of Amazon Kindle owners with their one month charge.

Winner by a whisker: iPad 2.

11. Portability

iPad 2: no bigger than a pad of paper. It is not exactly pocketable, but slips easily into any kind of bag or briefcase. It perhaps needs the protection of a case, but even in a case it is not bulky.

Toshiba netbook: fatter and uglier than an iPad, but still very portable. The worst thing is the power supply, if you need it: the Apple mains adaptor is much smaller than Toshiba’s effort.

Winner by a whisker: iPad 2

12. Watching videos

iPad 2: Great. It is like a portable TV or DVD player, but better – as long as you have a strong wifi connection and BBC iPlayer or the like. Just prop it up on its stand (most cases have one) and enjoy.

Toshiba netbook: it works but the graphics capabilities are inferior and it feels like you are looking at a netbook.

Winner by a mile: iPad 2

13. Built in cameras and microphone

iPad 2: two cameras, front and back, and a microphone that works.

Toshiba netbook: webcam and microphone, but they are junk; I have not seen a netbook with anything decent.

Winner by a mile: iPad 2

14. Reading eBooks

iPad 2: iBooks app and Amazon Kindle app. I prefer the Kindle app, though whether it will survive Apple’s assault on alternative readers I am not sure.

Toshiba netbook: Kindle app, as well as Adobe Reader etc.

A tablet is great for reading, much better than a netbook. However despite its humble appearance Amazon’s Kindle device really is better for reading, thanks to a screen you can read in sunlight, much longer battery life, and free internet access to download books everywhere.

Winner: iPad 2, though a Kindle is better

15. Attract admiring glances

iPad 2: Yes

Toshiba netbook: No

Winner: I did say “semi-serious”.

Apple iPad, Pages and Microsoft SharePoint – it works

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

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

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

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

image

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

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

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

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

image

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

image

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Developers and mobile platforms: lies, damn lies and surveys

I’ve been reading the IDC/Appcelerator developer survey about their attitudes to mobile platforms. The survey covered 2,760 Appcelerator Titanium developers between April 11-13, so it is certainly current and with a sample just about big enough to be interesting.

The survey asks developers if they are “very interested” in developing for specific platforms, with the following results, and with comparisons to 3 months ago:

  • 91% iPhone (fractionally down)
  • 86% iPad (fractionally down)
  • 85% Android phones (down from 87%)
  • 71% Android tablets (down from 74%)
  • 29% Windows Phone 7 (down from 36%)
  • 27% Blackberry phones (down from 38%)

The survey is titled:

Apple shines, Google slows, and Microsoft edges RIM in battle for mobile developer mindshare.

Is that a fair summary? It is not what I would highlight. I cannot read the exact figures from the chunky graphic, but it is clear that the iOS figures are also fractionally down, maybe by just 1%, but hardly much different from the Android figures on a sample of this size. Both are pretty much flat.

The figures for Windows Phone 7 and Blackberry are more dramatic; though we should at least note that Appcelerator Titanium is a cross-platform toolkit that does not currently support Windows Phone 7, and that its support for Blackberry is only in preview. That was true last time round as well, but I’m not sure that asking developers about their plans for a platform which the toolkit does not currently support is the best way to gauge overall interest.

Another question that interests me: is developer interest a cause or an effect of a mobile platform’s success? A bit of each, no doubt; but personally I think the “effect” model is stronger than the “cause” model. Developers pick a platform either because they have immediate customers for apps on that platform, or because they think they can make money from it.

Nurturing a strong developer community is definitely important for a platform provider; but I doubt it ranks as highly as other factors, like building a strong retail presence, delivering excellent devices at the right price, and focusing on usability and a good end-user experience.

If you are interested in Appcelerator Titanium you might like to read my interview with the CEO at Mobile World Congress; and this discussion on whether Titanium really builds native apps.

Windows Phone 8 will run Windows 8, with Silverlight centre stage?

More information on Windows 8 is leaking out now; and it gives some clues about how Microsoft intends to make sense of its two device platforms, Windows tablets and Windows Phone.

Microsoft held back from making its Windows Phone 7 OS available on tablets, which is why most of the numerous tablets being pushed out to compete with Apple run Google Android, and a few of them Windows 7 with its excessive power requirements and a user interface poorly designed for touch control.

Now the strong rumour is that Windows 8 supports two user interfaces, one that is tile-based like Windows Phone 7, and another that is designed for PCs.

In other words, rather than continuing with the Windows Phone 7 OS which is built on Windows CE, Microsoft will build a new version of the Windows Phone 7 UI on top of full Windows.

My further assumption is that Silverlight apps will still run on the new OS, providing continuity with Windows Phone 7 which uses Silverlight or XNA, both based on .NET, for its application platform.

Silverlight might also be used as the platform for apps delivered by the new Windows app store. This is Paul Thurrott, though reported as rumour:

Windows 8 will also include a new app model codenamed Jupiter that will target a new Windows Marketplace app store. The app store will provide access to new, Silverlight based "immersive" applications that are deployed as AppX packages (.appx). The Windows and Office teams are betting very heavily on this new app type, according to my source, and development has already begun using a beta version of Visual Studio 2012. These apps can be written in C#, Visual Basic, and even C++.

We do know that Silverlight 5 supports full platform invoke of native code, a feature which tends to support the idea that it is becoming a key runtime for Windows.

Let me speculate a little further. Imagine you are Adobe, for example, which has said it will deliver the Flash runtime for Windows Phone. Although it competes with Silverlight to some extent, Microsoft needs to tick the Flash box for Windows Phone. But why would Adobe want to invest in Flash for Windows CE, when this OS is not going to be used for Windows Phone 8 and it will have to write new code? I will not be surprised if we hear that Flash is now not coming until Windows Phone 8.

Even within Microsoft itself, I would guess that investment is focused on the next generation rather than the one that is destined to be short-lived.

One partner that is no doubt close to Microsoft’s plans is Nokia. If the above is correct, then Nokia is buying into the Windows OS, not the Windows Phone OS. Will Nokia wait for Windows Phone 8 before launching devices on the platform? I have no idea – and delay will be costly – but I imagine its main plans will be focused on Windows Phone 8 and the possibility of tablet as well as smartphone devices.

The immediate conclusions would be:

  • Silverlight is safe as a development platform, but only for Windows. See also Silverlight the new Windows runtime, HTML 5 the new Silverlight?
  • The Windows Phone 7 OS will be short-lived but the new UI should be a natural progression from what we have now, and apps should still run, so Microsoft can position Windows Phone 8 to users as a new version of Windows Phone rather than a change of direction.
  • Microsoft will not have a coherent mobile and tablet platform until Windows 8 ships sometime in 2012. Google, Apple, RIM, HP, all have plenty of time to establish their competing platforms.

How an RTF file can install a virus when opened

There is an analysis by Rob Rachwald over on the Imperva Data Security Blog of how an RTF document can carry a virus, in this case a trojan executable. RTF (RIch Text Format) is generally considered safer than the Microsoft Office .DOC format since it cannot include macros; but the vulnerability in this case is in the software that parses the RTF when it is opened in Microsoft Office on Windows or Mac – though in this case the actual payload is Windows-only so would not normally affect Mac users.

Unfortunately this code may run when previewing a document in Outlook, which normally embeds Word, so it is potentially rather damaging.

Rachwald traces how the embedded trojan evades anti-virus, installs itself into the Windows system32 folder, and creates a remote shell application.

It does appear that the vulnerability was patched in November 2010. Still, it is interesting that the insecure code survived in Microsoft Office at least back to Office XP Server Pack 3 in 2004 and probably earlier.

I mention it partly because the analysis is a good read, and partly to highlight the fact that even RTF documents may not be safe.

Adobe AIR 2.6, MonoMac 1.0, cross-platform is not dead yet

It is a busy time for cross-platform toolkits. Adobe has released AIR 2.6, and reading the list of what’s new you would think it was mainly for mobile, since the notes focus on new features for Apple iOS, though AIR is also a runtime for Windows, Linux and desktop Mac. New features for iOS include GPU rendering – a form of hardware accelerated graphics – access to the camera, microphone, and camera roll, and embedded Webkit for apps that use web content. On Google Android, you can now debug on devices connected via USB.

There is also a new feature called “owned native windows” which lets you have a group of windows that remain together in the Z order – this lets you have things like floating toolbars without odd results where toolbars get hidden underneath other applications.

Asynchronous decoding of bitmaps is another new feature, allowing images to be processed in the background. This seems like a stopgap solution to overcome the lack of mullti-threading in AIR, but useful nonetheless.

Since the Flash runtime does not run on iOS, Adobe has a packager that compiles an AIR application into a native app. This is now called the AIR Developer Tool or ADT. You can use the ADT to target Windows, Linux or Android as well; however platforms other than iOS still need the AIR runtime installed.

Adobe is dropping support for the original iPhone and the iPhone 3G. iPhone 3GS or higher is needed.

If you want to build a cross-platform app but prefer .NET to Adobe’s Flash and ActionScript, the Mono folk have what you need. I’d guess that the Mono team has a small fraction of the resources of Adobe; but nevertheless it has delivered MonoTouch for iOS and is working on MonoDroid for Android. Just completed in its 1.0 version is MonoMac, for building Cocoa applications on Apple OSX. Mono is not fully cross-platform, since the GUI framework is different on the various platforms, but you do get to use C# throughout.

I am happy to agree that true native code is usually a better solution for any one platform; but at a time when the number of viable platforms is increasing the attraction of cross-platform has never been greater.

Where is Microsoft going with its Rich Client API? Microsoft drops some clues as developers fret

A discussion taking place in a Windows Presentation Foundation (WPF) newsgroup, in a thread called WPF vNext, shows how Microsoft’s confused rich client development strategy is affecting developers, and offers some clues about what is coming.

Developer Rudi Grobler, who posted on his blog some wishes for Windows Phone, Silverlight and WPF, describes his difficulty in discerning Microsoft’s direction:

The strategy for the future is very vague… I daily get questions about should I use WPF or Silverlight? Is WPF dead? Is Silverlight dead? etc…

Jeremiah Morrill describes his frustration with WPF performance:

Microsoft has known of WPF’s performance problems since the first time they wrote a line of code for it.  You will be hard pressed to find a customer that hasn’t complained about perf issues.  And you will not have gone to a PDC in the last few years and not hear folks bring this up to the WPF team. This is 3rd party info by now, but I’ve been told the issues I have noted have been brought up internally, only to be disregarded.

and remarks his frustration with what has happened to Silverlight:

Silverlight’s strategy USED to be about cross-platform, get-the-runtime-on-every-device-out-there, but it’s obvious that is not the strategy any more.  What happened to Silverlight on set-top-boxes?  Android? I read an article that some people saw it on XBox, but nobody has talked about it since.  Cross-platform with OSX has become symbolic at best.

Developer Peter O’Hanlon describes how the uncertainty has affected his business:

I run a small consultancy, and I bet the company on WPF because I could sell the benefits of faster development time for desktop applications. We have spent a lot of time learning the ins and outs of the platform and saw that Silverlight gave us a good fit for developing web apps. In one speech Microsoft caused me months of work repairing the damage when Muglia seemed to suggest that these technologies are dead and Microsoft are betting the farm on Html 5. We hand our code over to the client once we have finished, and they ask us why they need to invest in a dead technology. I don’t care what you say on this thread, Microsoft gave the impression that html 5 was the way to go.

[…] Muglia’s statement about the future being html caused serious issues for my company. We lost two bids because the managers didn’t want to commit to "dead" technology.

Microsoft’s Jaime Rodrigues, WPF Technical Evangelist, offers the following response:

You are telling us to improve perf in WPF. We hear this loudly and we are trying to figure how to solve it. Unfortunately, there are a few pieces to consider:

1)      First of all,  a lot of our customers are telling us to invest more into Silverlight.  Let’s say (again made up) that demand is  4-to 1. How do we justify a revamp of the graphics architecture in WPF.  This is not trivial work; the expertise in this space is limited, we can’t clone our folks to 5x to meet everyone’s needs.

2)      Let’s assume we did take on the work.  My guess (again, I am not engineering) is that it would take two years to implement and thorougly test a release.  At the stage that WPF is at, a rearchitecture or huge changes on the graphics stack would be 80% about testing and 20% about the dev work.    It is not a trivial amount of work.   Would we get the performance you want across myriad of devices? We don’t know. WPF bet on hardware, and there is new devices out  there that are trading hardware for battery, weight, or simply for cost.  it would suck to do that much work, make you wait a long time, and then not get there. Let’s get real on the asks; you say "improve perf" but you are asking us to do a "significant re-write"; these two asks are different.

3)      By the time we get there, what will be a more powerful framework?  Silverlight, WPF, C++, or SuperNew.Next ??  we don’t know today.  We go back to #1 and look at demand We are in agreement that "customers" is the driving principle.

The WPF has looked at the trade-offs, and risk many times.  We are also looking at what customers need. Jer, to you it is all about graphics.  To many others, it is about data.  So, how do we serve all customers??
The strategy is exactly what you have seen/heard:

1)      WPF 4.5 is going to have some significant data binding performance improvements.

2)      We are not redoing the graphics framework, but we are doing a lot of work to let you interoperate with lower level graphics so that if you need more graphics perf you can get it, and still keep the RAD of the rest of the framework.

[…] Hope it helps; apologies if it does not, and again, wait for Rob Relyea or someone else to make it official.  That is just my 2c as a person who bet heavily on WPF but has seen the data that drives the trade-offs the team has to make.

This will be disappointing to former Microsoft evangelist Scott Barnes, who has initiated a Fix WPF campaign.

The problem though is lack of clarity about the strategy. Look at Rodrigue’s third point above. Nobody can predict the future; but what is Microsoft’s current bet? Silverlight, HTML5, or maybe SuperNew.Next – for example, the rumoured new native code UI for Windows 8 or some variant of it?

My own view is that the current difficulties are rooted in what happened with Longhorn and the fact that the Windows team abandoned WPF back in 2004. I’ve written this up in more detail here.

Lest this post be misinterpreted, let me emphasise that Microsoft has a good track record in terms of supporting its Windows APIs long-term, even the ones that become non-strategic. Applications built with the first version of .NET still run; applications built with Visual Basic 6 mostly still run; applications built for ancient versions of Windows often still run or can be coaxed into running. Build an application with WPF or Silverlight today, and it will continue to work and be supported for many years to come.

My guess is that events like the coming 2011 MVP Summit and Mix 2011 in April will bring some clarity about Microsoft’s mobile, tablet, Windows and cross-platform story for rich clients.

Update: Barnes has his own take on this discussion here.