Tag Archives: chromium

Chromium and Microsoft annoyances : Dynamics CRM issues like broken downloads, Chromium team “won’t fix”

Microsoft Dynamics CRM (which exists in both cloud-hosted and on-premises versions) is not working well with Chromium, the open source browser engine used by Google Chrome.

I discovered one obvious issue using Edge Preview, which is based on Chromium. If you download a file, for example using a Word template, Microsoft Office does not recognise it. It turns out to have single quotes around it. I imagine the quotes are there to allow for document names which include spaces, but it should use double quotes. Chromium (and Chrome) used to work OK with single quotes but now does not. It’s causing quite a bit of grief for CRM users in businesses that have standardised on Chrome.

You can read all the details here. Here’s a user report by Troy Siegert, whose organization frequently downloads files from Dynamics:

This week when the Chrome beta build went mainstream, my 30 users suddenly had Windows 10 unable to determine what to do with the files they were so dutifully downloading and trying to look at. Instead of *Report.pdf* the file was named *’Report.pdf’* and of course Windows 10 has no idea what a *.pdf’* file is or what to do with it, so it started asking users questions for which they weren’t prepared and that they didn’t understand. Some of them got confused and tried to associate .xlsx files with Adobe and then became unhappy when Adobe was throwing up messages about corrupt files.

Google’s Abdul Syed responds:

For any server operators running into this issue, the way to fix for this is to use double quotes around any quoted string in the Content-Disposition header (And, more generally, in any HTTP header).

Translation: fix your stuff, don’t expect us to fix our stuff. And in fact the issue has been marked WontFix (Closed).

There was actually a bit of a battle about this. The original commit here (Oct 2018) was reverted here (Feb 12 2019) and unreverted here (Feb 19 2019). In other words, the Chromium team knew it broke downloads for Dynamics CRM users but were not willing to compromise.

I am in two minds about this one. Dynamics CRM is sloppy in places and part of me favours giving Microsoft’s team a kick to make them fix thing that should have been fixed years back.

On the other hand, Mozilla Firefox works fine with the CRM single quotes and you cannot help wondering if Google’s attitude would be different were it a Google application that is impacted.

The end of the Edge browser engine. Another pivotal moment in Microsoft’s history

Microsoft’s Joe Belfiore has announced that future versions of its Edge web browser will be built on Chromium. Chromium is an open source browser project originated by Google, which uses it for Chrome. The browser engine is Blink, which was forked from WebKit in April 2013.

image

Belfiore does not specify what will happen to Chakra, the JavaScript engine used by Edge, but it seems likely that future versions of Edge will use the Chrome V8 engine instead.

There is plenty of logic behind the move. The immediate benefit to Microsoft in having its own browser engine is rather small. Chromium-based Edge will still have Microsoft’s branding and can still have unique features. It opens an easy route to cross-platform Edge, not only for Android, but also for MacOS and potentially Linux. It will improve web compatibility because all web developers know their stuff has to run properly in Chrome.

This is still a remarkable moment. The technology behind Edge goes right back to Trident, the Internet Explorer engine introduced in 1997. In the Nineties, winning the browser wars was seen as crucial to the future of the company, as Microsoft feared that users working mostly in the browser would no longer be hooked to Windows.

Today those fears have somewhat come to pass; and Windows does indeed face a threat, especially from Chrome OS for laptops, and of course from iOS and Android on mobile, though it turns out that internet-connected apps are just as important. Since Microsoft is not doing too well with its app store either, there are challenges ahead for Microsoft’s desktop operating system.

The difference is that today Microsoft cares more about its cloud platform. Replacing a Windows-only building block with a cross-platform one is therefore strategically more valuable than the opportunity to make Edge a key attraction of Windows, which was in any case unsuccessful.

The downside though (and it is a big one) is that the disappearance of the Edge engine means there is only Mozilla’s Gecko (used by Firefox), and WebKit, used by Apple’s Safari browser, remaining as mainstream alternatives to Chromium. Browser monoculture is drawing closer then, though the use of open source lessens the risk that any one company (it would be Google in this instance) will be able to take advantage.

Internet Explorer was an unhealthy monoculture during its years of domination, oddly not because of all its hooks to Windows, but because Microsoft stagnated its development in order to promote its Windows-based application platform (at least, that is my interpretation of what happened).

Let me add that this is a sad moment for the Edge team. I like Edge and there was lots of good work done to make it an excellent web browser.

Adobe using Google Chromium Embedded Framework for Edge tools

Adobe has published a mission statement which is worth a read if only to demonstrate how far the company has moved away from Flash, once positioned at the heart of its ecosystem – remember the Flash Platform?

The mission statement essentially declares the web as the new heart of Adobe’s platform and it is working to bring HTML, CSS and JavaScript up to the level of richness and interactivity that is possible in Flash.

This even extends to apps and applications, and I was interested in this statement:

The web platform also lives outside of browsers. It’s used by apps, particularly on mobile devices, where the richness of the web platform makes it possible to deliver great user experiences. Adobe will continue to invest in the Apache Cordova project, and Adobe’s distribution of it, Adobe PhoneGap™. When appropriate, Adobe is using the web platform to build tools and services. For example, Brackets, Edge Code and Edge Reflow are built using HTML, CSS and JavaScript using the CEF open source project, to which Adobe is contributing.

CEF is the Chromium Embedded Framework, which is a web browser control based on the open source version of Google’s Chrome browser. It is a C/C++ project but third parties have created wrappers for .NET, Delphi, Java and Python.

It is not long ago that Adobe would be looked to AIR, based on Flash, for a project like this. Incidentally, AIR is also able to host a WebKit-based browser control so would have been viable. Using CEF means getting to use Google’s V8 JavaScript engine rather than ActionScript.

Chrome OS: will Google keep its vision?

I spent some time with Chrome OS over the weekend and yesterday, first doing my own build of the open source Chromium OS, and then running it and writing a review.

The build process was interesting: you actually compile Chromium OS from a chroot virtual environment. My first efforts were unsuccessful, for two reasons. First, Chromium OS assumes the presence of a pre-built Chromium (the browser), so you have to either build Chromium first, or download a pre-built version. However, the Chromium build has to be customised for Chromium OS. I did manage to build Chromium, but it failed to run, with what looked like a gtk version error, so I gave up and downloaded a zip.

Chromium OS itself I did build successfully, though I ran into an error that needed this patch, which I applied manually. I was using the latest code from the git repository at the time. I expect that this problem has been fixed now though you may run into different ones; life on the bleeding edge can be painful.

I also had difficulty logging in. You are meant to log in with a Google account, which presumes a live internet connection at least on the first occasion. Although Chromium OS successfully used the ethernet connection on my laptop, getting an IP address and successfully pinging internet sites, the login still failed with a “Network not connected” error. Studying the logs revealed a certificate error. You can also create a backdoor user at build time, so I did that instead.

Once I got Chromium OS up and running, booting from a USB key, I found it mostly worked OK. It is a fascinating project, because of Google’s determination to avoid local application installs, thereby gaining better security as well as driving the user towards web solutions for all their needs.

That’s a bold vision, but also an annoying one. Normally, when reviewing something relevant like an operating system or a word processor, I try to write the review in the product I am testing. In fact, I am writing this post in Chromium OS. However, I could not write my review on Chromium OS, because I needed screenshots; and although there are excellent web-based image editing tools, I could not find a way to take screenshots and paste or upload them into those tools. The solution I adopted was to run Chromium OS in a virtual machine – I used VirtualBox – and take the screenshots from the host operating system.

It is a small point; but makes me wonder whether Google will end up bundling just a few local utilities to make the web-based life a little easier. If it does so, third parties will want to add their own; and Google will be under pressure to abandon its idea of no local application installs.

Another interesting point: the rumour is that Google will unify Chrome OS  with Android, which does allow application installs. Can that happen without providing a way to run Android apps on Chrome?

Chromium OS includes a calculator utility, which opens in a panel. Mine does not work though; I get a blank panel with the URL http://welcome-cros.appspot.com/calculator.html – which seems to be a broken link. Still, is that really a sensible way to provide a calculator? What about offline – will it work from a Gears local web server, or as a static HTML page with a JavaScript calculator, or will it not work at all?

I will be interested to see whether Google ends up compromising a little in order to improve the usability and features of its new OS.