Category Archives: internet

Firefox 4 as Psychedelic as IE9 with Direct2D enabled

IE9 is much faster than Firefox 4 beta at the Psychedelic test on the testdrive site, which demonstrates drawing fast graphics to the Canvas element. That said, a comment to an earlier post prompted me to try enabling Direct2D in Firefox 4.

As you would expect, the difference is dramatic. Here’s the before and after:

image image

How about IE9?

image

Really nothing in it. It’s all about hardware-accelerated graphics.

Direct2D is not enabled by default (currently), so it is not unreasonable for Microsoft to show the slower speed in its published comparison; but worth noting that the issue is easily fixed, presuming Firefox 4 is stable in this mode.

If you want to enable Direct2D in Firefox 4, the how-to is here.

Internet Explorer 9 Preview gets to 95% on Acid 3

Microsoft has released the fourth platform preview for Internet Explorer 9, which you can download here. This is the last preview before the beta release, expected in September.

When IE9 was first previewed, back in March, it scored only 55% on the Acid3 standards test – well ahead of IE8 which scores around 20%, but far short of rivals like Google Chrome and Apple Safari which achieve full marks. Mozilla Firefox is at 94%.

Acid 3

The new preview is at 95%. IE9 is now up there with them – but why not 100%?

According to UK Web Product Manager Mark Quirk, it is down to three features, two of which are related to SVG (Scalable Vector Graphics). Two points are lost because of SMIL (Synchronized Multimedia Integration Language) presentations, which Microsoft does not intend to support because a similar feature will be part of CSS in future. Two points are lost because of SVG fonts, which again Microsoft does not intend to support because it sees WOFF (Web Open Font Format) as the future standard here. One point is lost because of the inability to draw SVG fonts on a path, though there are other ways to draw fonts on a path.

The bottom line: IE9 will most likely stay at 95% right through to its final release.

Incidentally, IE9 JavaScript performance is wildly faster than IE8, thanks to the new “Chakra” engine. IE9 is on the left, Firefox 4 on the right :

image

So when will we get IE9? Although it is not long to September, there is a major difference between the preview and the coming beta, which is that the preview does not have a full user interface. It is mainly to show off the rendering and JavaScript engine. Therefore we can expect new features in the beta versus the preview. Despite that, Quirk says that Microsoft intends the beta to be “good quality for any user”, not just for brave developers and testers.

But how long before the final release? Microsoft is not saying, though when I suggested the first half of 2011 as a reasonable guess, Quirk reminded me that the beta will be high quality and that the release should therefore follow “not too long” after.

Since we will get much of HTML 5 in IE alongside the other popular browsers, do we still need Silverlight?

“As the number of the things you can implement with HTML clearly goes up, the need for Silverlight and Flash goes down,” said Quirk, though he added hastily, “The value that those players add needs to go higher.”

I’d add that even if IE9 is all that we hope, it will take years before older versions fall out of use. Recently the UK government said it will stick with IE6, and whatever you think of that decision, it shows how hard it is to get browsers upgraded everywhere. By contrast, plug-ins like Flash and Silverlight get updated rather fast. I noticed on Riastats today that over 50% of browsers now have the latest Silverlight, and 39% already have Flash 10.1 – over 90% have Flash 10 or higher.

image

If you combine that issue with things like video playback that are problematic even in HTML 5, it suggests that plug-ins will be with us for the foreseeable future, though it is quite possible that their use may decline.

Another factor is tool support, mature for Flash and Silverlight, but not for the newest features of HTML. After IE9 appears, will Microsoft come up with tools that properly support it, in Expression Web and Visual Studio? “We have to, it’s as simple as that,” says Quirk, though he adds, “we haven’t said when.”

New Amazon Kindle with WebKit browser and free 3G internet

Never mind the books. Amazon’s new Kindle reader is offering as an “experimental feature” a web browser based on WebKit – the same engine as Apple Safari and Google Chrome – that is free to use over 3G networks:

New WebKit-Based Browser
Kindle’s new web browser is based on WebKit to provide a better web browsing experience. Now it’s easier than ever to find the information you’re looking for right from your Kindle. Experimental web browsing is free to use over 3G or Wi-Fi.

Amazon pays for the 3G coverage which is available globally. OK, it is monochrome, but since the Kindle also has a neat little keyboard is this now a great deal for blogging, checking Google maps, and so on?

image

Maybe not. Here’s what the terms and conditions say:

Use of Wireless Connectivity. Your Kindle uses wireless connectivity to allow you to shop for and download Digital Content from the Kindle Store. In general, we do not charge you for this use of wireless connectivity … You may use the wireless connectivity provided by us only in connection with the Service. You may not use the wireless connectivity for any other purpose.

If you are like me you may feel there is some inconsistency between these two statements. Enough to say that from my point of view free global web browsing would be a big incentive to purchase a Kindle; but I suspect that if this is real and turns out to be a popular feature consuming significant data traffic, Amazon will soon find a way to charge for it or turn it off.

It is also interesting to see a smidgen of convergence between the Kindle and more general-purpose slate devices. I am not sure if the Kindle strictly counts as a slate since it has a keyboard, but it certainly has the slate look and feel.

 

BBC News app arrives on iPhone

Today the BBC received approval from the BBC Trust to create apps for mobile devices such as Apple iPhone/iPad and Google Android. Wasting no time, the corporation published a BBC News App on the App Store today.   

But what is the point? Is this really better than simply going to the web site:

IMG_0001

It is worse in some ways, because there is a disconnect between content locked in an app, and content on the world web web where it can be linked and searched. There is also an argument over whether the publicly funded BBC creating apps for luxury mobile devices, instead of investing in more public content, though I’d imagine that the cost of creating the app is small relative to the cost of producing the content. The BBC no doubt feels under pressure to keep up with competitors such as Sky News, which already has an app available.

The BBC app becomes more interesting if you click the Live button, though you need a good connection, preferably wi-fi:

IMG_0004

The app becomes a news-dedicated iPlayer for iPhone; a full iPlayer is also promised. A nice feature; though even this can be done on the web as long as you use Apple’s QuickTime format rather than not-invented-here Adobe Flash.

Reviewing the Belkin Play Max wireless router

I’ve just reviewed Belkin’s Play Max wireless router. It’s a Wireless N access point and router; it works, though I was disappointed with the range. That said, I’m increasingly impatient with this kind of product, good value in one sense but chucked out with technical deficiencies, inadequate documentation, and poor supporting software. It is not too bad if you are familiar with networking and follow the principle of never installing any software that comes with a router/modem; but if you do what it says on the packet you end up with a suite of software installed that you probably do not want – including a bit torrent client that comes in uninvited – and I would think a high chance that you will run into some issues with the configuration.

The Belkin unit is ambitious and promises you extra features including a DLNA music server, automatic tagging of your music files, and scheduled backup of your computers. It also claims to be “self-healing”, a feature which turns out to be a scheduled reboot just in case, you know, something has gone slightly wrong. None of this stuff works well, and Belkin would have been better off focusing on the core features for which you might buy a wireless N router.

Big browser and RIA news: Canvas comes to Internet Explorer 9

I’ve just installed the third Internet Explorer Platform Preview (on a virtual machine just in case) and run through a few of the demos. One of the most impressive is Canvas Pad, which demonstrates the HTML 5 Canvas element.

image

Canvas is particularly interesting, since it provides a surface to which you can draw anything you like. Canvas support was not announced at Mix earlier this year, when IE9 was unveiled, and some of us speculated that Microsoft would omit it in order to preserve the value of its Silverlight plugin – though in doing so it would also help Adobe Flash. Well, apparently the IE9 team decided to risk it. Not only is canvas supported; it is also hardware-accelerated:

Like all of the graphics in IE9, canvas is hardware accelerated through Windows and the GPU. Hardware accelerated canvas support in IE9 illustrates the power of native HTML5 in a browser.

Is there still value in Silverlight and Flash? There is, for several reasons. A plug-in presents a predictable runtime, insulating the application from browser variations. A plugin will work on browsers that do not yet support Canvas. Further, Silverlight includes the .NET Framework with its rich library, and supports the .NET languages, whereas for HTML5 you have to use JavaScript – though don’t forget Google Web Toolkit, which compiles Java to JavaScript, and other similar projects.

Even so, once you have hardware-accelerated Canvas there will be few occasions when you absolutely have to use Flash, Silverlight or Java.

Microsoft is doing the right thing. Crippling IE for the sake of Silverlight would only push users to other browsers, so it would not achieve its goal.

A full list of what is new in IE9 is here. It is shaping up to be the most interesting new IE since version 4.0 back in 1997.

Office 2010 install hassles

A user contacted me about a problem installing Microsoft Office 2010, just released. He had gone to John Lewis, a department store with a good reputation for quality, and purchased a Windows 7 laptop that had Office 2010 pre-installed, along with a Key Card for Office 2010 Home and Business. The idea is that you run Office, activate it with your product key from the Key Card, and you’re done.

Unfortunately the Office 2010 setup failed, after he had entered the product key but before it opened for the first time. The failure was in phase 3, whatever that is, gave a message about missing prerequisites, and advised to rerun setup, and if that failed to contact support. Repeating the operation gave exactly the same error.

This is bad, but the next question is who to call? He went online and got to Microsoft’s UK support page. He clicked the option to contact a support professional. If you run through the options you get to this “support options” dialog:

image

This dialog wants a product ID in order to “determine if no-charge support is available”. However, the product ID (which is not the same as the product key) is accessed by running the product, and in this instance the product will not run. The diagnostics wizard could not locate it either. So we have option 3:

Don’t use a product identification number (charges may apply)

Indeed, this leads to a demand for £46.00 before proceeding. Which hardly seems reasonable for a new setup on a new laptop.

Someone has thought of this problem, because earlier in the support pages this information appears:

image

It has a link for “Can you not get your Product ID”? The suggestion is to "Call our contact centre” which leads to this page:

image

Whew! So you click something vaguely promising such as “More Customer Service Information” and end up with a link back to the product support page you have just left. Or you dial the number which appears: 0844 800 2400.

This is where the story gets a little confused. The user told me that when he first called, around 7.00am, he got two options. Help with activation, or chargeable support. Neither appealed. However, when he called again, around 10.00am, he got more options including a route to the free support he needed. Once he got through, the incident was dealt with speedily and effectively; he was soon up and running. It sounds odd to me, since the number does not indicate any specific hours of operation, but there it is.

Still, I think the support web site could be improved. Users get particularly frustrated when confronted with setup issues; configuring a new laptop is hard enough even when everything works. For example, if someone thought of the issue with not being able to get the product ID, why not also link directly to the correct number, instead of a page with 16 options, some of which lead you round in circles?

Adobe LiveCycle and the Apple problem

Earlier this week I attended Adobe’s partner conference in Amsterdam, or at least part of it. The sessions were closed, but I was among the judges for the second day, where partners presented solutions they had created; the ones we judged best will likely be presented at the Max conference in October.

Seeing the showcased solutions gave insight into how and why LiveCycle is being used. LiveCycle is actually a suite of products – the official site lists 14 modules – which are essentially a bunch of server applications to process and generate PDF forms and documents, combined with data services that optimise data delivery and synchronisation with Flash clients, typically built with Flex and running either in-browser or on the desktop using AIR. These two strands got twisted together when Adobe took over Macromedia.

LiveCycle applications are Java applications, and run on top of Java Enterprise Edition application servers such as Oracle’s WebLogic or IBM’s WebSphere. This does mean that support for Microsoft’s .NET platform is weak; Adobe argues that that Microsoft’s platform has its own self-contained stack and development tool (Visual Studio) which makes it not worth supporting, though of course there are ways to integrate using web services and we saw examples of this. Many of the partners whispered to me that they also build SharePoint solutions for their Microsoft platform customers, and that SharePoint 2010 is a big improvement on earlier versions for what they do. Still, Java is the more important platform in this particular area.

Why would you want to base an Enterprise application on PDF? The answer is that many business processes involve forms and workflows, and for these LiveCycle is a strong solution. PDF is widely accepted as a suitable format for publishing and archiving. One thing that cropped up in many of the solutions is digital signatures: the ability to verify that a document was produced at a certain time and date and has not been tampered with plays well with many organisations.

Here’s a quick flavour of some of the solutions we saw. Ajila AG showed an application which handles planning permission in parts of Switzerland; everything is handled using PDF form submissions and email, and apparently a process which used to take 45 days is now accomplished in 3 days. Another Ajila AG solution handles the electronic paperwork for complex financial instruments at the Swiss stock exchange. Ensemble Systems showed an e-invoicing system which includes a portal where both a company and its suppliers can log in to view and track the progress of an invoice. Impuls Systems GmbH used PDF forms combined with Adobe Connect Pro conferencing to create online consultation rooms and guided form completion for clients purchasing health insurance. Aktive Reply built a system to replace printed letterheads for an insurance company with 10,000 agents; not only does the system save paper, but it also synchronises any address changes with a central database. Another Aktive Reply application lets lawyers assemble contracts from a database of fragments, enforcing rules that reduce the chance of errors; we were told that this one replaced a complex and error-prone Word macro.

OK, so why would you not want to use LiveCycle for your forms or document-based workflow or business process management application? Well, these solutions tend to be costly so smaller organisations need not apply; and I did worry on occasion about over-complexity. More important, the whole platform depends on PDF, often making use of smart features like Adobe Reader Extensions and scripting. After all, this is why Adobe added all these abilities to PDF, despite security concerns and the desire some of us have for simple, fast rendering of PDF documents rather than yet another application platform.

PDF is well supported of course, but once you move away from Windows and Mac desktops, it is often not the official Adobe Reader that you use, but some other utility that does not support all these extra features. In many cases it is not just PDF, but Flash/Flex applications which form part of these LiveCycle solutions. Adobe understands the importance of mobile devices and I was told that more effort will be put into Adobe Reader for mobile devices, to broaden its support and extend its features. Reader for Android is also available, as an app in the Android Market.

That’s fair enough, but what about Apple? Curiously (or not) PDF is not well supported on the iPad, though you can read PDF in Safari and in mail attachments. This is not Adobe Reader though; and given that PDF now supports Flash as well as scripting there seems little chance of Adobe getting it onto the App Store. Flash itself is completely absent of course.

Lack of compatibility with Apple devices did not seem to be a big concern among the partners I spoke to at the conference. Many of the solutions are internal or work within controlled environments where client compatibility can be enforced. Nevertheless, I can see this becoming an increasing problem if Apple’s success with iPhone and iPad continues, especially in cases where applications are public-facing. My suggestion to Adobe is that it now needs to work on making LiveCycle work better with plain HTML clients, in order to future-proof its platform to some extent.

Speeding page load with dynamic JavaScript

I’m delighted that ITWriting.com is sufficiently popular to sustain some advertising. I’m not pleased though with the impact on performance. The problem is that ads such as those from Google Adsense or Blogads are delivered by remote scripts. It usually looks something like this in the HTML:

<script type="text/javascript"
  src="http://some/remote/script.js">
</script>

When the browser encounters this script, it stops and waits until the script returns. This means that your site’s performance depends on the performance of the site serving the script. At times I’ve noticed significant slowdown – though to be fair, Google is normally faster than most others in my experience.

So how can this be fixed? I’ve spent some time on the problem, but with limited success. Ideally I’d like an Ajax-y solution where the ads flow in after the rest of the page had loaded and rendered, because the content is more important than the ads. The first step though is to place the scripts at the end of the page, so that the rest of the content is downloaded first. However, the ads have to appear towards the top of the page, otherwise the advertisers will not be happy. I tried inserting the script dynamically like so:

var addiv = document.getElementById("addiv"); //where the ad is  to appear
var theScript = document.createElement("script");
theScript.type="text/javascript";
theScript.src = "http://some/remote/script.js"; 
addiv.appendChild(theScript);

While this works after a fashion, it does not do the job. The problem is that the script typically calls document.write. If you are lucky, the ad will appear at the bottom of the page. If you are unlucky, the ad will replace the entire page.

What I needed to do is to capture the output sent to document.write and then insert the HTML dynamically. It turns out that JavaScript makes this easy. We can simply override document.write with our own function. Like so:

var addiv = document.getElementById("addiv"); //where the ad is  to appear
var adHtml = ”;
var oldWrite = document.write;
document.write = function(str)
{
    adHtml += str;
}
<script type="text/javascript"
  src="http://some/remote/script.js">
</script>
document.write = oldWrite;
addiv.innerHTML = adHtml;

This is brilliant, and in fact works perfectly for some of my ad scripts. Unfortunately it does not work for the slowest performer. The problem is that I have no control over the content of the remote script. In the non-working case, the remote script does not return HTML. It returns another script, which references another remote script. Now I have to figure out how to handle all the possible cases where scripts return scripts, which might or might not call document.write.

I’d be interested if anyone has a generic solution. There is a library here that looks like it might be helpful.

Another reflection is that it is in the interests both of advertisers and publishers to have scripts that execute fast and/or behave in a predictable manner that is friendly towards deferred loading techniques. It is no use writing convoluted code to deal with a particular script, when it might change at any time and break the site.

Google Chrome Mac and Linux arrives – may hurt Firefox more than Safari

Today Google announced that Chrome for Mac and Linux is now fully released:

Since last December, we’ve been chipping away at bugs and building in new features to get the Mac and Linux versions caught up with the Windows version, and now we can finally announce that the Mac and Linux versions are ready for prime time.

The two big stories in the browser world right now are the decline of Microsoft Internet Explorer (though it still commands more than half the market  in most stats that I see) and the rise of Google Chrome. Why do users like it? From what I’ve seen, they like the performance and the usability. In fact, Chrome would make a great case study on why these factors count for more than features in user satisfaction. That said, I’ve been using Chrome on the Mac today and while it starts up more quickly than Safari, performance overall seems similar and I doubt there will be a huge rush to switch.

In the stats for ITWriting.com, I’ve seen steadily increasing Chrome usage:

  • July 2009: 4.2%
  • October 2009: 4.6%
  • January 2010: 9.6%
  • May 2010: 13.7%

So far this month, IE is down to 35.3% in the stats here, behind Firefox at 35.9%.

These figures are not representative of the internet as a whole, though I’d argue that it does represent a technical readership which may well be a leading indicator.

Chrome seems to be gradually taking market share from all the major browsers, though IE is doing so badly that any defections from Firefox to Chrome are more then made up by IE defectors to Firefox, if I’m interpreting the stats correctly. This won’t always be the case though, and Mozilla is vulnerable because unlike Microsoft or Apple the browser is the core of its business.

There is also a sense in which Chrome competes with Firefox for the user who has decided not to use the browser that comes with the operating system.

Chrome is strategically important to Google, not just as a browser, but as a platform for applications. It hooks into the Web Store announced at the recent Google I/O conference, and it will soon be easy to create browser applications that run offline. Google has the financial muscle to market Chrome. I’d also suggest that the momentum behind other projects, especially Android but also Google Apps, will indirectly benefit the browser.

On the Mac, it is worth noting that both Safari and Chrome use the same open source WebKit project, sponsored by Apple, which I guess is more interesting now that Google and Apple are competing fiercely in mobile.