Subscribe to RSS feed

Posts tagged with "standards"

A CMS to avoid?

, , , ...

I just had to write about this CMS I just bumped into: Zimplit. It seems to be very, very new. It also has probably the easiest install of any CMS - just copy two files onto your web server.

The reason it's that easy is simple - most of the complexity is handled via off-site JavaScript. The single PHP file is simply the conduit to access your web site files.

Zimplit needs no database - it creates standard HTML pages. Templating consists of you creating your own HTML file. New pages start off as copies of existing pages. It is really very basic. No blog support, no gallery support.

None of that is what prompted me to write this post, though. No, the reason is that I'm sad. It's the Javascript code that's making me sad. You see, Opera is blocked from the WYSIWYG editing features - only IE and Firefox are supported. And I mean Firefox. Seamonkey and any other non-Firefox Gecko browser is also blocked. So is any Webkit-based browser like Safari and Chrome. BTW, an "IE" browser is any browser that claims support for "document.all".

Yep, it's crappy browser sniffing time again. sad Anyone who promotes the idea of feature detection instead of browser sniffing would be running around in little circles screaming and pulling their hair out right about now.

There are at least two WYSIWYG editors around that are much better - TinyMCE and FCKeditor. Why the Zimplit guys felt they had to reinvent the wheel and then make such a hash of it I don't know.

Apart from all that, what kills Zimplit for me is the dependency on the off-site JS and images. An international communications glitch would leave me unable to edit my site. Or the company could disappear.

Zimplit has too much going wrong now, and potentially far too much going wrong in the future. One to avoid, I think.

IE8 Interoperability

, , , ...

The news that IE8 specially configures intranet pages to display in a compatibility mode is no surprise to me.

I blogged about Microsoft's compatibility problem several months ago, and decided that they needed two browsers - one for private intranets and one for the public Internet. All Microsoft have done here is roll all that into a single browser.

Håkon is wrong to complain about that. Microsoft have no choice unless they don't want any of their corporate customers to upgrade to IE8. How would that help improve web standards? No, the best way to improve web standards is to allow private sites backward compatibility, while allowing public sites to default to web standards. That will allow the maximum number of users to upgrade to the vastly more standards-compliant IE8, which in spite of how a lot of people feel, will eventually become the most widely-used browser.

Håkon is not wrong to complain about the broken page icon. Icons in status bars are usually there to draw your attention to them, indicating something important or a potential problem. From a users point of view, being in standards compliant mode is neither. All users care about is if the page looks and works OK. Web developers will ensure that will be true for their IE visitors. It is absolutely wrong to associate a broken page icon with standards compliant web pages and rendering modes.

What would be useful is an icon to indicate whenever the browser has had to guess how to handle broken page code - typically invalid HTML or CSS. Browsers should never have to guess. If they do, then web developers are relying on luck for correct display. Developers should want something more reliable than that, and their users certainly do!

That's really what everyone wants. That every web page should just work. No buttons, no icons, no special rendering modes (it's OK if the different modes are hidden, as they are now). Everyone agreeing to and using the same standard is the only way to get there.

Congrats to Safari on Acid 3

, , , ...

Many congratulations to the WebKit team on the first public release of Safari that passes Acid3 - the first browser to do so! party

This is on the same day that Opera announce reaching 100/100 on the Javascript part of Acid3. Congratulations all round!

The Acid tests are great for bragging rights, but it's important to remember that they test only a tiny fraction of the web technology browsers and developers use. Jeff Schiller points out that while Acid3 has some SMIL tests, the Acid3-passing Safari only passes 5 out 116 SVG animation tests. In other words, SVG animation is still probably unusable in Safari.

Opera doesn't pass Acid1, but that hasn't stopped it from passing Acid2, almost passing Acid3, and being a great all-round browser. The current release of Firefox doesn't even pass Acid2, but that doesn't seem to be causing them any problems.

Ian Hickson has expressed surprise that Acid3 was conquered so soon. It make me feel that perhaps Acid3 spent too much time testing little-used corner cases, that while important, aren't the sort of things web developers are really looking for.

The Acid tests provide a nice, high-profile publicity point for browser developers. They're a quick "media bite" for journalists and those not too familiar with web technology. However, I'm not so sure they progress web standards support that much.

I think I'd much rather see more effort put into developing comprehensive test suites for the various standards. Microsoft recently submitted a CSS2 test suite to the W3C. That type of thing seems to me to be a more productive use of developer's time.

I'm hoping the next Acid test (they'll just keep on coming!) will include features that web developers are wanting to use now. That's not saying the existing Acid tests don't already do that, but I'm thinking of things like rounded corners and multi-column support. I know that the specs for those aren't even done yet - that's why they need to be accelerated and tested. A high-profile test that encourages implementation of useful things, but is still capable of being changed in response to developer experience is what's needed IMHO. I don't think we should be waiting for specs to finalize in their own time. Judicious implementation and testing should be able to force things along faster.

Acid3 is still so new it squeaks, but I'm already looking forward to Acid4! devil

Microsofts Compatibility Problem

, , ,

So, the Microsoft team are busy working away on version 8, and they're finding all sorts of web sites are breaking.

Welcome to the world of web development, Microsoft! It's what everybody else has to deal with!

Make no mistake, this is a real problem for Microsoft. They have to support legacy web sites. Often such sites are unmaintained intranet sites that would need to be totally rebuilt to support a new standards-compliant browser.

In their quest for a solution, Microsoft decided to get some outside advice, and the best they could find was a browser-specific meta tag.

yuck

I've already left my take on the problem, but I'll repeat it here:

The problem is fundamentally a Microsoft problem. It's a problem where sites have not developed a "web site", but have instead developed an "Internet Explorer site". This is not a problem to be solved by standardizing a new tag for all browsers. It's a problem to be solved by Microsoft and Internet Explorer.

The best solution to handling "Internet Explorer sites" is to have a dedicated "Internet Explorer browser". In practice, that would have to be a standalone copy of Internet Explorer 6. Maybe version 7, but there's already plenty of grumblings from places who have blocked updates to IE7 because it breaks their IE6 sites.

It's already possible to have a "nearly standalone" copy of IE6. Some details such as conditional comments don't work properly, and maybe some other things too, but it's hard to see it being a massive task for Microsoft to sort those out and end up with a truely standalone version of IE6 to be used for those legacy sites.

That would 100% solve Microsoft's compatibility problems and free up their IE development team to concentrate on bug fixes and new standards-based features.

Note that Microsoft's existing VM-based browsers don't solve the problem, as their customers will certainly want to set up icons to launch their legacy sites in the old browser, and I don't see how that could be done with a VM.

Opera, Not XHTML+SVG+MathML Compatible?

, , , ...

A few days ago I posted IE, XHTML, MathML, and SVG! with instructions for how to set up a web page that could be served as application/xhtml+xml and contain SVG and/or MathML embedded into the XHTML to not just Opera, Firefox and Safari, but to IE as well.

That could have been a bit soon, though.

It seems every one of those mentioned browsers, except for Opera, supports the additional character entities defined in HTML/XHTML beyond those specified in XML. It means things like " " show as " " in Opera, but are the expected non-breaking space in all the others.

I think this has been reported before, but I'm not sure. It's quite disappointing anyway.

IE, XHTML, MathML and SVG!

, , , ...

Yes! They can all be one happy family! A few weeks ago I was fiddling with MathPlayer, a MathML viewer for IE. What I glanced at without letting it sink in, was that MathPlayer recommends you serve your pages using the 'application/xhtml+xml' MIME type. The important thing is that with an appropriate DOCTYPE, MathPlayer will detect that and automatically switch IE from XML mode to HTML mode. So, with MathPlayer you can use XHTML and serve it with the correct MIME type for all browsers, without any need for special server-side processing for IE! Of course, you don't need to use any MathML on your page. You can just use MathPlayer to give IE support for correctly-served XHTML. The next piece in the puzzle is SVG. Adobe have their SVG Viewer. Sadly, they're discontinuing it from 1 Jan 2009, even though it's currently the only way to get SVG into IE. Edit: Not true, there's also Renesis Player. A little bit of Googling turned up a demo by Peter Jipsen that combines XHTML, MathML and SVG on the one page, served as 'application/xhtml+xml', and displays just fine in IE (with the aforementioned plugins), Firefox, and Opera (9.50 windows build 9656 or equivalent for MathML). Safari works too, apart from the MathML. Stripped down, the page code is valid, very simple, and has a small concession for Adobe's SVG viewer:
<!DOCTYPE html PUBLIC
    "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN"
    "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
  xmlns:svg="http://www.w3.org/2000/svg">
  <head>
    <title>A XHTML document with ASCIIMathML, MathML and SVG</title>
     
    
    <object id="AdobeSVG" classid="clsid:78156a80-c6a1-4bbf-8e6a-3cd390eeb4e2">
    </object><?import namespace="svg" implementation="#AdobeSVG"?>
    
  </head>
  <body>
    <p>MathML
      <math xmlns="http://www.w3.org/1998/Math/MathML">
        <mfrac>
          <mi>a</mi>
          <mi>b</mi>
        </mfrac>
      </math>
      
and SVG
      <svg:svg width="50px" height="50px">
        <svg:circle cx="25px" cy="25px" r="20px" fill="green"/>
      </svg:svg>
    </p>
  </body>
</html>
Christmas wish for 2007: That Microsoft start bundling Adobe's SVG Viewer and Design Science's MathPlayer plugins with IE, and make them a Windows Update. wizard It would be a huge step forward for web standards, bring IE into close parity with Firefox and Opera, all for next to no effort for Microsoft. And while we're at it, world peace would be nice too. angel

SVGs on web pages

, , , ...

Up until now, I've been using code similar to the following to put SVG images on my web pages:

<object type="image/svg+xml" data="foo.svg" width="420" height="360"></object>
 
The common mood on the 'net at large is that the Adobe SVG Viewer (ASV) (the only way to get IE to display SVGs) is not happy with the standards-compliant object element, but works much better with the embed element. The conditional comments ensure that standards-compliant browsers (including the HTML validator) got the standards-compliant code, while IE and ASV got what they wanted.

The problem with that is that it's clunky and duplicates the src/data, width and height attributes, which makes it easy to mistakenly put different values in the two elements.

A recent project of mine involving a web-enabled microcontroller caused me to revisit the above code. I was running really tight on memory, literally counting bytes to get everything to fit. The above code was a good candidate for trimming a bit of fat.

After some searching and trial-and-error, I found that ASV's problem with the object element was nothing more than the type attribute! The above code reduced to:
<object data="foo.svg" width="420" height="360"></object>
So much shorter, simpler and more maintainable!

This has changed, see below. I tested it to work with IE+ASV, Firefox, Opera and Safari(Windows). It also validates, of course. The only caveat is that the web server must use the correct MIME type ("image/svg+xml"), which it should be doing anyway.

The bytes saved enabled me to polish off the last couple of remaining bugs in my microcontroller project without spending ages scrounging around for fatty code elsewhere - with a whole two bytes to spare! eek

coffee

Edit: Last night I was reviewing this and found it had stopped working in IE and Firefox, but I was too tired to be bothered investigating. However, this morning it's working again! It never stopping working in Opera. bigsmile

Edit2: I've just found the following that seems to be more reliable:
<object type="image/svg+xml" data="foo.svg" width="420" height="360">
<param name="src" value="foo.svg" />
<a href="foo.svg">Demo SVG</a>
</object>
(The anchor is not required, it's just there as a fallback)

Source of above: http://joliclic.free.fr/html/object-tag/en/object-svg.html

CSS 2.1 becomes a Candidate Recommendation

, ,

In a bit of news that almost slipped past me, was the fact that CSS 2.1 has become a Candidate Recommendation. Again. bigsmile

CSS 2.1 previously became a Candidate Recommendation in 2004, but fell back to Working Draft status. It finally seems everyone has come to an agreement about what should be in CSS 2.1.

This is good news to web site designers. There is now a stable up-to-date spec to refer to that most browser implementations already agree on.

It's also good new for browser implementors. They can now tidy up their CSS 2.1, as no doubt there have been one or two minor changes, then move on to CSS3! yes

Safari for Windows

, , ,

The latest buzz in the web development world is Apple releasing Safari for Windows. It's a beta of their next version 3 browser.

This basically nixes the vague thoughts I'd had about purchasing a Mac mini. Now I can test all major web browsers directly on my PC.

Apple also compare Safari to other browsers, using the iBench 5.0 benchmark (linked there as I had some trouble finding it). I'm thinking about running my own tests, but it requires Windows Server 2000. Even more annoying is that several third-party components require you sign up for spam before you can download them sad

What I might try to do is create a virtual machine for all this. I'm not interested in absolute timings, just relative times.

The bottom line is that having Safari available to Windows users (and particularly, Windows web developers), can only be a good thing for the web. That's four out of the five major rendering engines (Trident, Gecko, Presto, and now Webkit), leaving just one (KHTML). The good thing about KHTML is that Webkit is based on it anyway, it's much easier to run Konqueror (eg via a Linux Live CD) than running Safari ever was, and many more people use Safari than use Konqueror.

Edit: The debug menu is available too: Edit "C:\Documents and Settings\<your user name>\Application Data\Apple Computer\Safari\Preferences.plist" using Wordpad, and add:
<key>IncludeDebugMenu</key>
<true/>
Edit2: It seems many people are having problems with no text showing. Frequent crashes may also be related. A thread on the Apple support forums indicates it's to do with the number of fonts installed. Also mentioned are some other possible fixes.

Google Gears and Web Standards

, , , ...

I have to say I've found the recent Google Gears announcement slightly underwhelming, and a little worrisome.

  1. The local thread pool functionality is already available to Javascript programmers right now via things like the setTimeout function.
  2. The local database is doing the same job as the WHATWG Client-side database storage proposal, and could possibly be interpreted as undermining the efforts of the WHATWG in this area. I wish standards moved faster...
  3. I'm not sure why a local server is needed. Web browsers can already serve local files. The only reason for a server would be to process server-side scripts, like Perl or PHP. I don't much like the idea of a web server running on my machine either.
Then there's the fact it requires a special plugin to be installed. How is that furthering a cross-browser, platform-independent web? So far only IE and Firefox are supported, Safari is mentioned for the future, and, as usual, Opera is not mentioned at all. What about mobile and other non-desktop devices? How many of those will Google develop the plugin for?

The general idea sounds sort of cool, but I can't help but think Google would have been better off getting the WHATWG WebApps proposal going faster. They've already done some good work getting canvas support into IE. Why couldn't they have done something similar with the WHATWG client-side storage? It would have been better than inventing their own proprietary solution. I don't know about anybody else, but I've pretty much had about enough of that sort of thing!

June 2013
S M T W T F S
May 2013July 2013
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29