Android and Carrier IQ: alarming claims, immediate questions

The claims of security expert Trevor Eckhart regarding data collection by Carrier IQ are among the most alarming of any I can recall in the IT industry. I dislike the way Facebook gets you to publish data about yourself almost without realising it, and the amount of personal data collected by Google, for example, but this is more worrying.

Eckhart says:

The very extensive list of Android security permissions granted to IQRD would raise anyone’s eyebrow, considering that it’s remotely controlled software, but some things such as reading contact data, Services that cost you money, reading/edit/sending sms, recording audio(?!??!?) and writing/changing wireless settings seem a bit excessive


The only choice we have to “opt out” of this data collection is to root our devices because every part of the multi-headed CIQ application is embedded into low-level, locked regions of the phones.

So what does Carrier IQ gather? Eckhart lists webpages visited, location statistics, media statistics, SMS texts, keys pressed, apps opened and focused, and even text sent over SSL (HTTPS) in browser sessions that you thought were secure.

If these claims are correct, then nobody who deals in confidential information should use an Android mobile with this installed. Since most of us have online bank accounts or other secure logins that we use on our mobile, that makes an Android phone a risky proposition for almost anyone.

My immediate questions:

  • Which Android devices have this software installed?
  • How soon will the affected operators give us a way to remove or disable it?
  • How can a concerned user discover whether or not his mobile is leaking private information?

Finally, now is the time for rivals such as Apple, RIM, or Microsoft and its partners, to explain in plain English how their devices compare in terms of privacy. What data is gathered in the interests of:

the Carrier IQ solution gives you the unique ability to analyze in detail usage scenarios and fault conditions by type, location, application and network performance while providing you with a detailed insight into the mobile experience as delivered at the handset rather than simply the state of the network components carrying it.

as Carrier IQ puts it.

Oxygene for Java released: develop for Android and Java runtime with Delphi language in Visual Studio

RemObjects has released Oxygene for Java, a new version of its Object Pascal compiler. Object Pascal is pretty much the Delphi language though with some additional features of its own. Previous versions target the .NET runtime, and a version of this is marketed by Embarcadero as Prism. The IDE for Oxygene is Microsoft’s Visual Studio. This new version targets both the Java Runtime and the Android Dalvik VM. The obvious target market is Delphi developers who now want to create apps for Android, or cross-platform Java applications.

I downloaded the trial and ran the supplied Hello World in the Android emulator … it works.


A few further notes from the RemObjects announcement. While only Visual Studio is supported initially, an Eclipse version is also in preparation. Oxygene directly consumes .JAR libraries so you can use both first and third-party libraries. There is also a tool called Oxidizer that lets you import Java language code, which will be converted to Oxygene Object Pascal.

A point to note is that Embarcadero has already announced that its cross-platform FireMonkey framework will support Android as well as Apple iOS. This means that developers who want to code for Android in the Delphi language will have two choices. It looks to me as if Oxygene will be more suitable if you want to stay close to the Android SDK, whereas FireMonkey has its own custom-drawn user interface widgets and effects and should come into its own if you want the same code to run on both iOS and Android.

Given that a skilled Delphi developer would probably learn Java fairly quickly, how much value is there in Oxygene for Java? I guess factors include how much more productive you can be in Oxygene and the value of sharing code across projects targeting different platforms, presuming that you do not want to run Java everywhere.

Thoughts on the future of the Win32 platform

Overheard last week at a non-techy social event: “I have just got an iPad. It is gorgeous. It is amazing how much it can do” … conversation continues … “Trevor is always swearing at his computer. He always blames Microsoft. It doesn’t matter what the problem is, he blames Microsoft.”

This is the kind of conversation which is annoying to hear if you are remotely technical. I have and enjoy using an iPad, but it has many limitations and its own share of annoyances. Recently the iOS WordPress app crashed whenever I tried to moderate comments on this blog. On Windows I could have done some troubleshooting, but on the iPad there was little to do other than blindly try removal and reinstall, or wait for a fix. As for Windows, I find it generally reliable and the majority of issues I have with it are not the direct fault of Microsoft.

In other words, reality is not so clear cut; but there is a powerful myth out there that goes along the lines of the conversation I overheard; and it is a myth that is not entirely unfounded given the quality of Apple’s design work and the problems that surround what we might call the Windows ecosystem: foistware, hardware built down to a price, the peculiarities of Outlook, and so on.

I do not think conversations like that quoted above are exceptional and it illustrates the pressure Microsoft is under. For years Windows has been in an almost unassailable position because the alternatives were insufficiently compelling to most people: Linux too awkward and fractured, Mac/OSX too expensive. Now change has come about because of the rise of new kinds of devices, smartphones and tablets, for which Windows was unsuitable. The result is that Apple iOS and Google Android are widely used and growing fast.

That said, we still need PCs, and although the Mac is gaining ground the large majority of these still run Windows. The smartphone or tablet model does not fit all kinds of computing. In fact, if we are thinking of the iPad in particular, it is only a good fit for a minority of uses. I am not thinking of what you just about do with an iPad if you have to, I am thinking of the scenarios where it is your tool of choice. Take word processing for example: the iPad has a version of Pages and you can get an external keyboard but even so I would rather type on a PC or a Mac, or even a netbook, and will get my work done quicker that way.


Leaving aside the software that is available, a full PC or Mac gives you keyboard, mouse, and easily supports one or more large high-resolution screens. Whether it is Microsoft Excel, Adobe Photoshop, the latest graphics-intensive game like Bethseda’s Skyrim, CAD software, or development tools like Visual Studio or Eclipse, there are many activities for which a tablet is a poor PC substitute.

Even for things for which a tablet is generally considered good, such as web browsing, a full PC or notebook is better. When browsing the web on an iPad there are little annoyances like slower typing of search queries (and the often daft auto-correct in iOS), awkwardness of looking up a password for a login and pasting it into the browser, small screen size making you scroll around, difficulty of hitting small hyperlinks on sites like discussion forums, and so on.

All of this means that the traditional PC, Mac or notebook seems still to have a strong future, which seems further to imply that Windows also is secure.

I would argue though that this is a rose-tinted view of the future of the Win32/Win64 platform – by which I mean full desktop Windows rather than the “Metro” tablet platform which Microsoft has previewed for the dual-personality Windows 8. Here are three reasons why it is under threat:

1. Tablets will get better and will gradually encroach on the PC market as they become more capable. This process will be complemented by web sites adapting to work better for the growing number of tablet users.

2. Hybrid devices like the Asus Eee Pad Transformer, which runs Android but also docks into a laptop-like keyboard and clamshell case, will cause users to question whether they really need to replace their Windows laptop when it wears out.

3. The drive towards cloud computing will reduce our dependence on desktop applications. Although Google’s Chromebook has not yet caught on, the fact that it exists shows the progress cloud computing is making: a notebook that only has a web browser is a viable proposition.

My assumption is that many of us would like to use tablets for a greater proportion of our computing activities if we could easily do so, because we like their mobility, convenience, low power demands, and relatively low cost. This is especially true for consumers, and less applicable to more regimented offices where there is a computer on every desk.

Another factor for Win32 is that Microsoft itself will slow down its future development, concentrating instead on Metro and its Windows Runtime, as well as cloud services. There are good business reasons for this. Microsoft is not under pressure to improve Win32; users would like it to run faster and with greater reliability, but their main demand is that it continues to run their critical applications successfully.

The conclusion: although Win32 will remain an important and stable platform for many years to come, it is now in slow decline. This will be the case whether or not Microsoft manages to bring Windows itself back on track with a success for Windows 8 on tablets, and overturns the assumption reflected in my initial quote: that an Apple iPad is delightful and Windows nothing but problems.

Windows Phone, Exchange, and self-signed certificates

I am setting up a Nokia Lumia phone, which runs Windows Phone 7.5 “Mango”. I am impressed with the smoothness of the setup experience, though I had one slight hassle which I do not blame on Nokia or Microsoft because it is is not typical.

I run an Exchange Server (and SharePoint) for test purposes with a self-signed certificate. On the iPhone and I think Android, you just get a warning the first time you connect and after that it all works. Windows Phone though gives you a certificate error when Outlook tries to connect and will not let you proceed further.

Which of these approaches is right is a moot point: convenience versus security I guess.

Fortunately it is not too hard to get Windows Phone to trust your certificates. Here is what I did:

1. Email the certificate(s) to myself on Google Mail.

2. Go to Google Mail in the phone’s browser. For this to work I found I had to use the Basic HTML view, as the mobile view did not let me download the attachments.

3. Open the email you sent to yourself. Tap the attachment. Windows Phone offers to install the certificate, tap to install.

4. Now go back to Outlook and synchronise, everything works.

You will also need this for SharePoint if you want to use Office on the device.

Of course if your Exchange and SharePoint use a certificate from a trusted certificate provider then these steps are not necessary.

Why developers need a Mac

I am by no means an Apple fan. For one thing, I find Windows (and Linux) stable and fast, so you are not going to hear me argue that my computing life was transformed once I made that Switch (with a capital letter). Admittedly that is partly because I am familiar with how to fix and tune Windows and remove foistware, but it is not that hard. For another, I am not an admirer of Apple’s secretive approach, or the fact that most requests for comment from journalists are responded to with silence. For a third, I dislike the notion that all apps for its popular mobile platform must be distributed through the Apple store and subject to a fee, now extended to in-app upgrades and subscriptions as well as initial sales. There is also much that I admire about Apple’s platform, but I hope I have convinced you that I am not so bedazzled by the company that I am unable to think coherently about its products.

Nevertheless, I have run a Mac alongside Windows for years now, and I find myself needing it increasingly. Here are four reasons.

The first is that sooner or later you will need to build or test an app for the Mac or, more likely, for iOS. You can only do so using a Mac (leaving aside the exciting world of the hackintosh). This is because Apple only provides the iOS SDK and simulators for its own operating system.

As an aside, I recently spoke to Keith Varty who is evangelising Windows Phone development at Nokia. I asked about the issue of Visual Studio only running on Windows, was that an obstacle for developers using a Mac? He pointed out that it is the same in reverse with Apple, you need a Mac to develop for the iPhone. In fact, it is easier to develop for Windows using a Mac, thanks to the existence of excellent PC emulators, than it is to develop for a Mac using Windows. In any case, special rules apply for Apple.

Second, other than in the most closed internal environments, some of your users will have a Mac or at least an iPad or iPhone. A few years back both developers and system administrators could get away with a deliberate ignorance of Apple computers, saying they are “not supported” or “untested” or just “I have no idea.” That is no longer acceptable (if it ever was) and it is important to test apps on a Mac where that is appropriate, as with web or cross-platform Java or Adobe AIR applications, and more generally to get a feel for how things work on a Mac so that you can respond intelligently to users.

Third, in many areas of development Macs are now dominant. This means that Windows-only developers may be disadvantaged. Today, for example, I was researching Sencha products and came across this:


Yes, to get the preview developer tools for Sencha Touch 2, you need a Mac. No doubt Windows versions will follow, but there are times when you need a Mac just to keep up with the latest technology.

Fourth, and this is the most difficult point to make, it is valuable to spend some time on a Mac to avoid bad assumptions about usability. One example that comes to mind is version control. On Windows there is no problem using Git, or Subversion, or any number of systems including Microsoft’s Team Foundation Server installed either locally or on its own server. There is some setup involved though. On a Mac with the latest Xcode, you will find a checkbox in the new project wizard:


It is built-in. There is nothing more to do other than check this box. And yes, I know it is pretty easy to use Subversion or Git on Windows – though I would never describe a Team Foundation setup as trivial – but I am talking about the usability of a single checkbox. If you are thinking about the design of your own UI then spending some time on a Mac is though-provoking and likely to be beneficial.

By the way, some other parts of Xcode are less usable than Visual Studio so do not read too much into this example!

Another example which comes to mind is installing a web server. Windows has IIS, which is a good web server, and you can enable it on Windows 7 by going to Control Panel, Programs, Turn Windows Features on and off, and then waiting while the dialog populates, and then checking which bits of IIS you want to install:


Not difficult, though the intricacies of which Application Development Features you need may require some research. But here is how you set up Apache on a Mac. Go to System Preferences, and check Web Sharing. Apache is now up and running, and on my Mac Mini it started instantly:


I am sure there are many more examples, and even examples where Windows has better usability than then Mac (I miss the thumbnail previews in the task bar) but my point is this: it pays to have experience beyond Windows from which to evolve your own user interface ideas.

Post sponsored by Monster for the best in IT Jobs.

Sencha’s Michael Mullany talks about Flash developers “flailing around for an alternative” and the Big App Rewrite

I spoke to Michael Mullany, CEO of Sencha, a company which creates HTML5 frameworks and tools for desktop and mobile browsers. Ext JS is aimed at desktop browser applications, while Sencha Touch is for mobile devices, currently Apple iOS, Google Android and Blackberry 6+. Sencha’s tools include Ext Designer, a visual application builder for Ext JS, and Sencha Animator, a designer for CSS 3 animations. Sencha Touch apps can also be packaged as native apps for iOS or Android.

At its developer conference in Austin USA earlier this month, attended by around 600, the company announced, a cloud service for mobile web apps, as well as presenting Sencha Touch 2.0, a major update.


Mullany talks on his blog about “The Big App Rewrite”:

It’s a world where HTML5 powers the client apps, and they’re enriched with local APIs that execute on everything from traditional desktops to Smart TV’s. And cloud services provide the fabric that enables continuous, shared experiences across the diversity of end-devices. We think this is the platform for the web.

Sencha is perfectly in tune with the trends towards cloud, HTML5 and mobile, which is why I was keen to speak to Mullany. I asked him to contrast Ext JS and Sencha Touch with JQuery and JQuery Mobile.

JQuery is a pretty tiny library that helps with Dom abstraction and animations but that’s it. JQuery UI gives you some visual components as well but Ext-JS is the full enchilada. It’s supposed to be the web equivalent of Cocoa or the Microsoft Windows presentation foundation. It’s got an event system, a theming system, a very rich set of user interface controls, its object oriented, and it’s got a complex layout system so you can build nested layouts that have very complex event handling among different parts of the user interface. We’ve seen user interfaces that have several thousand data elements on a page.

It also has a model-view-controller architecture library on the client side so you can structure your code properly for large applications, it’s got a theming system so you can variable-ise your colours, shapes and look and feel very easily. It also has a full data package so you can do very rich data manipulation on the client, bind data in various complex ways across variables, it’s very different than J query.

And just like you’d probably never use Ext-JS on a public web page, you’d never use JQuery to build something like Marketo or Salesforce VisualForce or a Documentum content management system, all of which use Ext-JS. Ext-JS is one of the most popular behind the firewall development libraries for desktop development.

Now on the mobile side the difference is slightly less. JQuery mobile does give you a set of user interface widgets, but the difference is also similar to the desktop … Sencha Touch is designed to let you do anything you could do with Cocoa Touch or an Android SDK or a Windows Mobile SDK. Its intent is to equip you to develop native quality experiences with native style interaction, things like fixed user interface chrome, multiple independent scrollable areas, nested layouts, those kinds of capabilities.

Our performance tends to be better cross-platform, we’ve done more performance work, we have our theming system, we have an MVC library, we have a templating system. With JQuery mobile you tend to want to add multiple things together and you can certainly assemble a collection of things that will look like Sencha Touch, but Sencha Touch is designed to be integrated, everything is designed to work the same, and the general feedback is that even though Sencha Touch is a much richer system that takes some insight to learn, you get better applications out of it.

I also asked about the new cloud service, A notable feature is that according to Mullany developers do not have to touch the code that runs on the cloud, they just call its API from the client:

We call it the first client-centric HTML5 cloud, which is a set of authentication, data, data synchronisation, and geo-location services that help people build mobile applications without needing to write server side code. So you literally write your client side application in HTML 5 using Sencha SDKs and then you store your user’s data and you store your user’s authentication credentials in our cloud. You don’t have to worry about mucking around with anything from Ruby on Rails to PHP to Java, it’s all abstracted behind these very clean APIs. We think that’s the future of mobile development, that you’ll have these very thin abstracted server-side services, and and these very rich mobile clients that have off-line state and local data storage powered by HTML5. We think that model is the future of mobile web development and we obviously hope that will be the most popular back-end.

Sencha’s frameworks are open source and dual-licenced. You can use both Touch and Ext JS freely under the terms of the GPL v3. There is also free commercial licencing for Sencha Touch, while commercial licences for Ext JS are paid for. Sencha also has commercial tools, and I asked Mullany to describe the tool products:

We really see the three legs of the business being cloud, tools, and SDKs. We just did a preview of the Sencha Designer 2.0 release at our conference. That has support for Sencha Touch in it so you can drag and drop Sencha touch applications together and then actually package them from within the tool. The intent is also to allow you to hook up to cloud APIs from within the tool as well so it is an integrated, easy-to-use visual application builder for both desktop and touch. So that’s targeted at developers.

Sencha Animator is a little bit different. There’s no JavaScript in it really at all. It is a pure CSS 3 animation tool, and it is a traditional visual timeline with keyframe manipulation, and a style visual editor for creating rich animations.

The market we’re targeting for that is people doing interactive brand advertising on mobile. That’s where you have ubiquitous support for CSS 3 animations that are hardware accelerated so they tend to be the best performance. It’s also very web content friendly so you don’t have to write your application in Sencha Touch just to use Animator, it’s pure CSS output that you drop into whatever piece of content that you want to build.

The reason we built it is because we saw people flailing around for an alternative to doing Flash ads on mobile. Because Flash was banned from iOS, it meant that a whole segment of rich advertising that was based on Flash for the desktop had nowhere to go. They weren’t going to build native iOS applications, it had to be web. So the question then was what do you build it in, do you use JavaScript animation, do you use SVG, do you use Canvas, do you use some of the other graphic technologies such as Web GL? The answer is that CSS 3 is really the highest performance and cognitively pretty easy to wrap your head around.

People “flailing around for an alternative to doing Flash ads?” Mullany has his own agenda, but his comments do highlight the problems caused for Adobe by the success of Flash-free iPhone and iPad. I cannot help thinking that Sencha would be an attractive acquisition for Adobe or certain other companies, but I am sure smarter people than myself have thought of that.

Post sponsored by Monster for the best in IT jobs.

Fixing a Windows 7 blue screen with Driver Verifier

A recent annoyance was a blue screen when I was in the middle of typing a Word document. “Memory management” it said.

You might think faulty RAM, but I did not think so as I had tested it extensively with the excellent Memtest86. So what was causing it? And no, I do not regard Windows as an unstable operating system, not any more (not really since Windows 98 days).

I started troubleshooting. The first step is to install the Debugging Tools for Windows, if you have not already, run Windbg, and load the minidump which Windows usually creates when it crashes. Minidumps are saved in the /Windows/Minidump folder.


It said VISTA_DRIVER_FAULT and identified the SearchProtocol process, but I was not convinced that this process was really to blame. My reasoning is that it is a Microsoft process that is running on most Windows boxes so unlikely to be badly broken.

I decided to look for a faulty driver. You can do this by running the Driver Verifier Manager, summoned by running verifier.exe (this lives in /Windows/System32 but you can start it from anywhere).


This application enables a debugging mode in Windows that will scrutinise the drivers you specify for errors. This slows down Windows so it is not something you want to leave enabled, but it is great for finding problems.

I elected to check all drivers and continued. Reboot, and as expected, an immediate blue screen.

While Driver Verifier is enabled and causing a crash you can only boot into safe mode. However Windbg works OK in safe mode. I took a look at the new minidump. The process name this time was services.exe. That means any of the services could be at fault, so not all that illuminating.

I ran msconfig and disabled all non-Microsoft services. Restarted and verifier was happy. Now it was a matter of “hunt the service”.

Eventually I discovered through trial and error and hunch (it had to be a service which I had recently installed or updated) which service failed to verify. The guilty party: Intel Desktop Utilities. This application monitors sensors on an Intel motherboard for temperature and fan speed, and fires alerts if the readings go outside safe limits.

I uninstalled the desktop utilities. No more blue screens since.

I find it hard to believe that an Intel utility distributed with all its motherboards is causing Windows blue screens; on the other hand in my case it seems clear cut. And yes, I did have the latest version “for Intel Desktop Boards with 5 or 6 Series chipsets.” My board is the DH67CL. I would be interested to know if others with same version can successfully boot with Driver Verifier enabled.

Google’s real-time analytics, and why it gives it away

The free Google Analytics has added a real-time view which is great fun to watch:


Aside from distracting bloggers, is there much value to real-time analytics? I’m not sure there is much advantage but it does demo well.

Why does Google invest so much in giving away analytics? Simple: it gets your data too. The amount of data Google receives on our web activities is breathtaking.

Here is something that annoys me. Perform a Google search, hover your mouse over a link, and note that visually it looks as if you have a direct link to the result. Even the text in the IE status bar says that you have


The truth though: the link is actually to a Google site, in this case:

This is not for your benefit! In fact, it slows down your browsing, since you now have to wait for two sites to respond, first Google and then the actual destination. Google does this though because it wants to know exactly what you clicked on its search page. I also regard the way the status bar is faked as deceptive, as well as being a weakness in Internet Explorer – this is meant to show you what the hyperlink actually targets.

Microsoft’s Bing does not do this as far as I can tell, so if you want to get to your searched destinations faster, do not use Google. Unfortunately (from this perspective) Google’s search algorithms are rather quick so you may lose as much as you gain.

HTML5 scorecard: Amazon Kindle Fire weak, iOS 5 great, IE10 preview one of the best

The Sencha blog has a great series of posts on HTML5 support on various devices. This is of direct interest to Sencha because its products are JavaScript and CSS application frameworks, Sencha Touch for mobile and ExtJS for any browser. The latest post is on the Amazon Kindle Fire – and it is weak:

The Amazon Kindle Fire doesn’t seem designed to run HTML5 apps as a primary goal. It does a good job of displaying ordinary web pages and its resolution and rendering capabilities meet that need well. But there are too many sharp edges, performance issues, and missing HTML5 features for us to recommend that any developer create web apps primarily for the Kindle Fire. The iPad 2 running iOS 5 continues to be the tablet to beat, with the PlayBook a respectable runner-up in HTML5 capabilities.

Part of the problem is that the Fire runs Android 2.3.4 (Gingerbread) which has a weaker browser than later versions. That is not the only source of disappointment though. According to Sencha’s Michael Mullany, the GPU is not used for hardware acceleration of browser content, the JavaScript timer is laggy, there is no embedded HTML5 video (videos launch in a separate player), and CSS corners are not properly anti-aliased.

But what about the Kindle’s cloud-accelerated browsing that we heard so much about when it was announced? This is the biggest disappointment:

One of the main selling points of the Kindle browser is supposed to be its cloud-caching and pipelined HTTP connection that uses the SPDY protocol. This does seem to speed up normal page browsing a little, but it’s not very noticeable and we didn’t test this rigorously. But for HTML5 web apps, where code is downloaded and executed, there doesn’t seem to be any performance difference when we tested with acceleration on and off. It doesn’t appear as if client JavaScript is executed on the server-side at all, so the Kindle does not seem to have Opera Mini-style server-side execution. And SunSpider scores were essentially the same when accelerated browsing was turned on or off.

Moving on from Kindle, it is interesting but not surprising to see a great report for HTML5 in Apple’s iOS 5. Less expected though is a big thumbs-up for HTML5 in Microsoft’s IE10 preview on Windows 8:

Simply put, (and with the caveat that we were running on the notably overpowered developer preview hardware) the IE10 HTML5 experience is one of the best we’ve seen on any platform to date. After a decade of web neglect, Microsoft is back with a vengeance.


The main caveat is the absence of WebGL. Microsoft is supporting its own 3D graphics library.

Another worry for Microsoft is simply the level of hostility towards the company and IE in particular, among the developer and designer community it so much wants to reach. You can get a flavour of this from some of the comments to Mullany’s post, for example:

I never really like Windows and I absolutely despise Internet Explorer. There are so many exceptions in code to be made for Internet Explorer that i stopped trying so hard to make it look the same as other browsers. Hopefully, IE 10 will stop all of these exceptions and weird additions that are made to websites that make everything instantly awful so I can actually go back to trying to make things look nice in IE. It’s really sad though that so many people use Windows and IE that we cannot ditch it for a better system and better browser.

What about Android? The most recent offering covered in the Sencha series is Motorola Xoom which is a disaster:

We were excited about the first true Android operating system for tablets and had high hopes for a mobile browser that was as powerful as the platform. Sadly, the Xoom and Honeycomb are a real disappointment. We found consistent and reproducible issues in CSS3 Animations and CSS3 Transitions among other things. We had issues where the browser either hung or crashed. Regular scrolling was slow or below full framerate. We had issues where media playback failed or performed incorrectly. At times it felt like we were using a preproduction device, but we bought our test device from a Verizon Wireless store.

I have a hunch that the latest Galaxy Tab might fare better. Sencha did like the HTML5 support in the BlackBerry PlayBook though.

With Adobe Flash now in decline on mobile devices (Adobe is no longer working on the mobile Flash player) HTML5 support is all-important for rich browser-hosted apps; I will be watching with interest for future Sencha reports.

Microsoft backs ECMAScript, dismisses Google Dart

Microsoft has posted an article on Evolving ECMAScript on its IE Blog. ECMAScript is the official standard for what we call JavaScript. The company is proposing some minor additions “to address gaps in Math, String and Number functionality as well as Globalization.” It has also taken the opportunity to take a shot at Google, which is proposing a new web language called Dart:

Some examples, like Dart, portend that JavaScript has fundamental flaws and to support these scenarios requires a “clean break” from JavaScript in both syntax and runtime. We disagree with this point of view. We believe that with committee participant focus, the standards runtime can be expanded and the syntactic features necessary to support JavaScript at scale can be built upon the existing JavaScript standard.

Dart will compile to JavaScript so there is a measure of compatibility, but if the language catches on then browsers without a native implementation will be disadvantaged.