Sencha Inc. | HTML5 Apps

Blog

The Noksoft Effect: Our Wishlist for Mobile IE9

February 18, 2011 | Michael Mullany

Nokia plus Windows Phone: How will the browser perform? Last week, Microsoft and Nokia announced that Windows Mobile would become the strategic smartphone OS for Nokia. Microsoft then announced that the Windows mobile browser would get an upgrade to IE9 later this year. This makes us quite happy, since IE9 is a major advance over the existing Windows mobile browser.

With a huge “anchor tenant” like Nokia, Microsoft now has the opportunity to drive the direction of mobile web technologies and the applications that use them. Microsoft let Internet Explorer stagnate through much of the 2000’s, in order to reduce the competition that web applications could pose to Windows applications. But recent competition from Chrome on the desktop and WebKit in general on mobile has rejuvenated its competitive impulses: IE9 is a major upgrade.

But Microsoft has work to do to regain mind-share and market-share in the browser market. Although IE9 has fantastic GPU-accelerated Canvas, that’s just a start. Sencha Touch 1.0 relies on many capabilities in other browsers that are not present in IE9, and can’t be duplicated by IE-only technologies. If mobile IE9 ships with its current set of desktop capabilities, then the Sencha Touch experience will be noticeably poorer on Windows mobile than on other OS’s like Android and iOS. So with that in mind, we decided (somewhat presumptuously) to draw up our wish-list for what we’d like to see in mobile IE9 (or 9.5?).

Here’s our recommended “to-do list” for Microsoft before it ships mobile IE9, in rough priority.

  1. Gesture support in JavaScript. We need touchstart, touchmove and touchend as well as support for multiple touches. We can create higher level abstractions on top of those within Sencha Touch, but we have to have those basics.
  2. CSS3 transitions and animations. It’s important that we be able to animate any block of content, not just perform animations inside a Canvas context. Animation makes web apps look and feel smooth and responsive and allows us to build better user experiences. With transitions, users can place the current content within the context of what’s happened before. Without them, content and data changes can look jarring.
  3. Device access. Access to device capabilities like camera and NFC after a simple permission grant would vault Windows ahead of every other mobile browser.
  4. Application cache. No application cache = no offline. And offline capable web applications are an important capability for mobile web. In our recent developer contest, a significant number of entries had offline support.
  5. Gradients. We can do gradients with IE-specific syntax, but it sure would be nice to have a single gradient declaration that would work everywhere.

And The Rest

There are lots more things we’d love to have, but have less of an impact for the apps that people are writing with Sencha Touch. These include web-workers (few devices can handle a second thread anyway), advanced CSS text effects like text-outline, border image support, multi-column layouts (incomplete as they are), HTML5 form elements, the history API and the rest of the smorgasbord of standards track technologies that are not in IE9’s latest preview.

(In addition, we’d love to see the CSS3 Flexible Box layout model make it into Windows mobile, but since layout is a pretty core part of any browser, and IE’s box layout is significantly different, we don’t expect it anytime soon.)

Alas, Poor MeeGo

While we mourn the passing of Meego as Nokia’s strategic smartphone platform (it did have an awesome browser), we expect to deliver a reasonable Sencha Touch experience on IE9 mobile when it ships on Nokia phones either later this year or next – even without our wish-list. But with our wish list, we could deliver web app experiences to rival or exceed Mobile Safari on iPhone4: the current gold-standard of mobile web devices, and the experience that we believe Microsoft should target to exceed.

There are 23 responses. Add yours.

Steffen Hiller

3 years ago

+ A kick-ass development environment for developers using Mac!

Not looking forward to use IE9 in a VM to test my mobile apps. The webkit-only world was just perfect.

Mitchell Simoens

3 years ago

@Steffen They release a WP7 connector in the App Store so hopefully they will have a simulator or something for Mac also!!! But I’m right there with ya.

Steffen Hiller

3 years ago

Oh ok. Though an iOS-like simulator wouldn’t be enough (but better than nothing obviously). Need JS console and DOM inspector.

Kevin

3 years ago

So, in summary “IE 9 still sucks”

mdmadph

3 years ago

Upon loading this page, I was expecting to see a list with just one item: “A WebKit browser.”

Justin Michaliga

3 years ago

Yes. Microsoft: Please adopt at least CSS3 animations and follow an existing syntax for your gradients…etc.. Fine if you don’t use the -webkit prefix, but let’s please try to boil down to a standard one day.

Horák Jan

3 years ago

Are these “requirements” just placed on wall or does somebody from Sencha.com actively contact Microsoft too?

Dan

3 years ago

Sencha, please fix your feed - every post appeared in my reader again today in a random order.

Steffen Hiller

3 years ago

+ 1 to the feed bug. I always think “wow”, big news day, before I see that it’s just old news. wink

Abe Elias

3 years ago

A good friend, Rey Bango, from Microsoft reached out to help start the right conversations.  We’ll keep you posted.  To give everyone some perspective, IE 9 is much improved over previous versions.  It’s just unfortunate that MS hasn’t released an HTML5/CSS3/WAC competent browser. But we think consumer demands are likely to change this.  We just hope it happens sooner than later, especially if they want to compete against webkit instead of embracing it.

David Kaneda Sencha Employee

3 years ago

Hi all, just to follow up on the RSS/Reader bug, we have a fix in the works and should have it up by the end of the day- apologies for the double-posting.

Also: @mdmadph: That would have been the body if I had written the post smile

Brett

3 years ago

This is probably not the best place for this complaint, but ...

I subscribe to this blog’s RSS feed via Google Reader so I can stay informed. Every few days to a week the RSS feed says that every post in this blog is new and they all show up. It is way too much noise for the signal, where the signal is a new blog post and the noise is the old blog posts. Please fix your blogging platform to only highlight new posts in your RSS feed. Thanks.

Horák Jan

3 years ago

Maybe, if they listed Interner Explorer http://twitpic.com/3znexc alognside to Visual Studio, Silverlight etc. finall version could offer access to some API.

Rob

3 years ago

I suppose we can always hope that Chrome gets ported to Windows Mobile as a downloadable app.  Webkit browsers have really been propelled into the forefront by mobile, and I can’t help thinking MS (and Nokia) are now too late to the party to be anything other than followers rather than leaders and influencers.

Joe Marini

3 years ago

Hi Michael,

This is a great post and we really appreciate your feedback and suggestions. Just a couple of things I want to point out:

1. Most of the capabilities you pointed out are not yet standardized - indeed, many of them are still in the Working Draft stage, which means they are subject to change. Even CSS Animations and Transitions haven’t reached recommendation status yet. The risk of implementing standards before they are done means that if they change, then the browsers that implement them will be stuck with incompatible APIs, and even if you roll out an update there are enterprises who will delay using it, etc. Device access, in particular, is in very early stages of development and much will change, even though it’s really exciting. IE6 went down this route years ago, and we learned our lesson. Other browsers seem to be doing it now, and it’s not at all clear that the results in the future will be different.

2. As you noted, you can achieve the same results in some cases by using existing capabilities, such as with Gradients. You can also achieve animations and transitions using existing JS constructs that will work across older browsers (and, if I’m not mistaken, doesn’t your existing library already do things like this?) Yes, having implementations in CSS3 would be nice, but your current users won’t notice the difference if you accomplish this via JS for now and add the CSS3 support later.

We are really excited to work with you guys to get a great Sencha experience for customers on IE9 Mobile, and we’ll be happy to provide whatever assistance we can. I understand that it’s frustrating sometimes when support for some cool new thing is missing, but if IE6 taught us anything it’s that decisions you make on the Web have a long-lasting impact, and we’re not anxious to repeat past mistakes.

I had a really great conversation with James Pearce at Mobile World Congress, and we’re looking forward to continuing that conversation and working together.

martijn

3 years ago

@Joe Marini in response to:
IE6 went down this route years ago, and we learned our lesson….

Microsoft has shown the awful tendency to pick up standards, pick from that what they need and implement it partially with their own stuff around it to make it work with some other microsoft product. This causes endless bugfixes and security flaws.

I happen to have made a lot of data synchronization stuff where “open” systems had to sync with Microsoft products and was allways spending 90% of my time getting data away from the standard into the Microsoft way.

If Microsoft wants to survive (I think they don’t, but hey don’t shoot the messenger) they will have to trow away everything they have made/bought and start all over again. guess what they will have to do what Apple did, use FreeBSD as a basis or do something similair.

I guess developing for mobile devices will contine to be “Making it work on MS browsers too” more than half the job. Good though that Sencha will take stuff out of the way, that is when you do not want to make something “out of the box”.

Joe Marini

3 years ago

Martijn - the point of my comment was to illustrate how IE9 approaches the issue of implementing standards, those that are site-ready and those that are not (and for the record, IE6 was the first browser to implement DOM Level 1, CSS2, XML 1.0, and several other Web standards - get your facts straight).

The approach with IE9 is twofold:
1) Implement established standards that are stable and ready to be used on real Web sites in the shipping version of the browser
2) Implement experimental standards as add-on modules that developers can use to try out emerging technologies and make them available at http://html5labs.interoperabilitybridges.com/

Web developers can, RIGHT NOW, go and download prototype implementations of WebSockets and IndexedDB for IE8+ and start working with those technologies.

We took this approach to avoid problems such as having end-user customers continuously update their browsers with features that only developers need. This way, customers get a predictable browser experience, while developers can build new features without worrying about disrupting their existing sites.

We’re taking a hard look now at what additional technologies to make availalble for download, so if anyone has any suggestions, please feel free to send them along to us.

Martijn

3 years ago

@Joe,
You are absolutely right about IE6 and it’s features. It also Introduced a lot of fancy stuff which when used made websites inoperable with other systems (other browsers). Also It had a lot of stupidities like the Combobox rendered on top of everything and most important ActiveX which is Microsofts way of saying “Hey we do not know how to get stuff working so we make up our own, let make sure it will not work on anything else but Windows”. Besides all that Microsoft browsers (or their software in general) seem to have HUGE security holes to, but that is not really my concern. It is like the old days of the VCR. in the beginning many different systems had their own approach, one being better than the other until everybody supported VHS which was the cheapest to build and crap to look at. then SVHS was brought in but it was not better then BETAMAX but even more expensive to produce…

I was only really reflecting on my experience with Microsoft products in general. There are two ways to look at the world, from a Microsoft point of view -do not care about the rest-, or from a “general” perspective, where if systems to be build should work with all available systems. If you do so, most of the work gets into “making stuff work on windows/IE” for that matter.

I personally stopt believing in Microsoft when Bill Gates wanted to make his own Internet by launching his own satellites and with the use of the T31 protocol (used by faxmachines). In that time people had to rely on 3rd party tcp/ip stacks to talk to the world.

Enough though, My personal view is is not really important, It is good luck stuff like Extjs exists to “hide” all this crap as far a possible when developing.

new versions of IE should be based on Webkit, period! no more lines like
if (browser == IE6) {.....} just to make stuff render OK or work.
MS should in general be way more “open” and should contribute in a sort of matter as Apple Does with stuff like webkit, CalDav etc. I believe that if MS does not start doing so it will eventually suffocate in its own vomit (products). They are way behind the “sudden” very good alternatives right now. I really wonder if they are capable of caching up. Basically Nokia and Microsoft really are in the same boat. No real surprise they end up together there is a very basic understanding between the two; “We are way behind!!”, Believe me they’ll never catch up.

we need to go forward. Fighting each other of a few more $$ is so last century. look and feel are much quicker (save a lot of code not to be run). saves development time, makes software cheaper etc. etc.)

It is time that the major players in “browser/Ict land” recognize that we want better software, not just fancy new shiny window borders. Better software becomes much more affordable if developers can focus on the task of the application. Now too much time is spend getting stuff working on “a” browser such and so.

I do not bother about browsers when I “Use” a computer, on windows IE is fine, Safari works for me on OS X. I’m not interested in browser technology when I surf the net. From that point of view I am like most users. I have Chrome and Firefox on my Mac but don’t really care about using them for something other than tests. Chrome looks like shit on my Mac being fast or not, and Firefox annoys me in long start-up time, updates coming in and the sudden unavailability of stuff like firebug for a few days after an update.
In that way I realize that users do what they do, they do not want to be annoyed by software it should work!

Do not hate me for hating Microsoft, I’m just a professional and have found out that Unix is the way to go over the last 30 years in my professional career. Being a fan of Apple computers comes naturally since they have excellent hardware and their OS X is just the most mature Unix variant for the desktop I have found so far.

Martijn

3 years ago

Part 2


I disagree with the “Technology” plugins from the point that solutions will be sold based on what sales “sees and hears” from development. end-users will be forced to install those plugins at some possible point. I rather see “development” versions and “stable” versions or some other solution. I know that at the end Support is called by “users” that they cannot use their application since they happily found a browser without plug-in. explain that in 2011 !?!?!?! Us technicians seem to forget what “real live” demands, and forget we have to fix our own created damage.

If I hit the need for a plug-in in any stage of development or research I’ll avoid it or wait for it to become seriously “stable”. Look at what happened with Flash and iOS, Flash was total CRAP when looked at CPU load. Apple refused to let flash run on iPhone/iPad for battery lifetime reasons, People on Android said hey, I can do Flash!!! (for five minutes that is, before batteries run flat). Adobe suddenly and silently starts adding GPU support to flash. Plug-ins tend to stay plug-ins

If I hit a flash site with my iPad, I’ll simply leave and they do not sell me their products. on other sites not having flash kills lots of ads!!

http://html5labs.interoperabilitybridges.com/
I took a look at it an to me it is a useless effort. (I do not even own a windows machine anymore) Team-up with Google, Mozilla, Apple and others to make those plugins for each platform and host all solutions on that site.

Or be brave and make those plug-ins for other browsers….. at least everybody can use that plug-in

alYsa > Martijn

3 years ago

Martijn - cool down - you might not like Microsoft, but there are other people who think, that Microsoft is still the leading inovator in development tools and platforms.
For example, don’t you think that HTML should have been dead ages ago? HTML + DOM + javascript is such an old technology, that was created just for static websites. And it became a pain (with different standards and different implementations) and now people are trying to make games and all kind of stupid apps with a technology that is not suited for that.
No wonder there are so many pissed developers who spend too much time creating stuff that should not be done in HTML (even if it is called HTML5).
I would much rather do web stuff in Silverlight or Java than try to put my own head in my own butt with javascript + DOM + jquery + HTML + CSS…
So maybe if developers use the right tools for the right task - then they would not be so pissed at Microsoft?

martijn

3 years ago

@aIYsa: I absolutely agree that the technologies we have to use to make something work on the web is a waist of time for professional developers. Too much time is needed to get things working, learn all the different languages, syntax etc. not to mention browser implementation differences. It feels like “a ball and chain”

I do not hate MicroSoft, do not get me wrong, I hate their products for being insecure (BIG ISSUE), not stable (enough). HUGE, relatively slow on the same hardware and last but not least incompatible with standards. I know “the market” will force MS to change and see that happen very slowly.

Technically MicroSoft has no products that would be a real competitor for any other product, they just happen to have an HUGE installed base. I get the feeling that things are going a bit to fast for them to respond quickly keeping in mind that is is a large company with a certain company culture, I think that is their biggest problem in the long run.

What have they really done in terms of innovation the last 10 years? “see trough window borders” what a laugh! C#? sorry. 64 bit; due to bad driver structure, sad move-over.

Window 7, DLL cache? this is not the way to fix the DLL debacle

alYsa > Martijn

3 years ago

C# was a copy of Java, but in a good way. At least now developers have an opportunity to control memory leaks and stack overflows. And that is a HUGE improvement on security. Using C/C++ on Linux does not have such a dramatic effect on security as using C# on Windows wink
Windows 7 is a HUGE security and user experience improvement too.
And I do not get a point about 64-bit? I installed 64 bit Vista beta 1 in 2005. I had to “create” some drivers (nvidia, logitech webcam) myself, but it was never a problem. And blaming Microsoft, because hardware vendors had an “attitude” seems to be an “attitude” itself
And since Vista beta 1 I am not running an antivirus (even on my parents computers). If someone is capable of installing windows properly, then there is NO PROBLEM there and it is much user friendlier experience than linux or whatever…
Ok, I guess we got a bit out of way here…so enough ranting wink

Alexandra

3 years ago

Well put, sir, well put. I’ll crteainly make note of that.

Comments are Gravatar enabled. Your email address will not be shown.

Commenting is not available in this channel entry.