Categories
Browsers HTML5

OMG! Web Developer has to wait! The Horror!

Where I focused on Ian Hickson’s statement about extensibility, every other person, and their brothers, sisters, and aunts are throwing a hissy because of the HTML5 timeline.

Scott Gilbertson writes:

Even if your 2022 ronc-o-matic web-enabled toaster (It slices! It dices! It browses! It arouses!) does ship with Firefox v22.3, will HTML still be the dominant language of web? Given that no one can really answer that question, does it make sense to propose a standard so far in the future?

Jeff Croft writes:

I’m not saying the specs should go away. They absolute serve a purpose. I’m just saying that I personally am done paying much attention to them. Instead, I’m reading blogs like Surfin’ Safari and Mozilla Developer News to find out what the new shiny is in browsers, because these are the things I can actually take advantage of in serving my clients and users.

 

And?

So?

Specification work was never focused on the end users, it’s focused at the user agents or others who have to implement the specifications. The Mozillas, Apples, Operas, Microsoft, et al. The only reason I pay attention to any of it is because of my concern about extensibility.

In the meantime, the new stuff that is HTML5 is leaking into browsers now, not years from now. That’s part of the specification process—actual implementation on the street in order to “proof the spec”, as it were. And pieces of HTML5 are not just showing up in Firefox, Opera, and Safari/WebKit— IE8 has a few HTML5 tricks up its sleeve.

Heck, HTML5 isn’t the only longish spec under development. CSS 2 started in 1998, the lost call for CSS 2.1 was in 2002, the candidate recommendation was in 2007, and Microsoft is only now providing CSS 2.1 support. That’s ten years, end to end.

In the meantime, I’m using CSS3 stuff that’s only supported by a couple of browsers, and the final release of all the CSS3 bits is probably years out, too. Of course, I only play around with my own spaces—professional web designers and developers know that we can’t necessarily use the shiny new stuff for client applications, because we’re still having to support browsers that are seven years old.

Hey! We’re still supporting browsers almost as old as the timeline when HTML5 will be finalized! I guess things aren’t as “today” and “now” as we think they are.

The point is, specifications take time, or at least, good specifications typically take time. Any doofus can toss a quick spec out and call it done, but who wants to use the doofus spec?

That schedule part of what Ian had to say didn’t phase me. As far as I’m concerned, the group can take as long as it needs. In the meantime, I’ll play around with the local storage, and some of the other odds and ends, as I keep putting in my annoying “But what about SVG?” “But what about RDF?” oar; probably helping to slow the development of the spec, even more.

Categories
Technology Web

Opacity returns to IE8

Recovered from the Wayback Machine.

When IE8 beta 1 released, there was a minor uproar at the fact that Microsoft had dropped support for its proprietary version of opacity, while not providing support for the newer CSS-based opacity.

Gone were the days when the following CSS setting would change the opacity of an element in all of the major browsers:

#somediv 
{
  opacity: 0.0; filter: alpha(opacity=0);
}

If you wanted to get opacity to work with IE8, either you’d have to have your users turn on the IE7 compatibility mode, or you’d have to add a meta tag to your web page:

<meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />

Yesterday, Microsoft released a post on the IEBlog that had both good and bad news. The good news was that opacity was back. The bad news was that setting opacity in such a way that IE8 would process it as IE8 is now more complicated than ever.

It seems that the reason Microsoft pulled the old filter syntax is because the format was not CSS 2.1 compatible. However, according to comments in the post, Microsoft couldn’t just transfer the opacity functionality over to the CSS approach, because the behavior between the two, CSS and Microsoft filter behavior, differs.

Due to the gently incessant requests (!?) of web developers, Microsoft has added back in the opacity filter. However, the company is using the naming convention standardized for browser based CSS extensions, which means it still meets the CSS 2.1 requirements. Where the old, formalized, filter setting looked like the following:

filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0)

Which had illegal characters, including the equal sign, Microsoft now has the following:

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";

Notice the use of the “-ms-” prefix on the filter, and the use of quotes to enclose the setting, and hide the illegal characters.

Of course, for the opacity setting to work with both IE7 and IE8, we have to use both. According to Microsoft, we have to list the new extension format first, and then older setting. This in addition to the CSS opacity setting:

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: progid:DXImageTransform.Microsoft.Alpha(Opacity=0);
opacity: 0;

I created a simple example to demonstrate how opacity would work, honoring both formats. It includes setting opacity with JavaScript, and works with Firefox, Safari, Opera, IE8, and as tested with IE7 compatibility mode. Click the image several times to hide one image, and expose another.

theobj.style.filter='progid:DXImageTransform.Microsoft.Alpha(Opacity=' + opacity + ')';
theobj.style.opacity=value;

The challenge isn’t over yet, though. The images in the first test are JPEGs, but I also tried the example with PNGs with alpha transparency. Unfortunately, IE8 beta 2 supports opacity, but if opacity settings are applied to an image or element containing an image, and the image is a PNG that incorporates alpha transparency, the transparent effect is lost when the opacity is changed.

In older versions of IE, PNG alpha transparency was set with the AlphaImageLoader, like the following:

#div1 img {
filter: progid:DXImageTransform.Microsoft.AlphaImageLoader(src=fig0902.png,
sizingMethod='scale');
}

In IE8, which normally would support the PNG transparency, when the opacity filter is changed, the alpha transparency is lost. To compensate, when the containing element’s opacity is changed, the image’s alpha transparency also has to be set in script, as demonstrated in a second example:

document.getElementById("img1").style.filter = "progid:DXImageTransform.Microsoft.AlphaImageLoader(src=fig0902.png,sizingMethod='scale')";

Since the alpha transparency in PNGs is supported with IE8 (and IE7), the CSS setting doesn’t seem to need the new Microsoft extension naming. However, unless the image’s alpha transparency setting is “reset” after changing the opacity, the transparency is lost when the application is run as IE8, as you can see from a third example. Oddly enough, the problem with the alpha transparency on the PNGs doesn’t happen in IE7 compatibility mode. The only thing I can think is more than the name has changed with IE8’s opacity implementation.

Of course, if you use the EmulateIE7 meta tag, you don’t have to muck around with the new opacity extension, or resetting the PNG filter, but you also don’t get the other CSS 2.1 standard settings from IE8.

Categories
SVG

The hotness that is SVG

There has been considerable discussion this week on Techmeme about weblogging tool as social networking platform, based on Six Apart’s release of Movable Type Pro 4.2. The announcement was still wet from its birth when the WordPress folks started touting BuddyPress, a variation of social networking based on WordPress.

Among the social networking requirements for a weblogging tool are:

  • Support for FriendFeed and other feed aggregation
  • Support for Twitter
  • Forum support
  • Creating user accounts, with profiles and avatars
  • Enabling community-driven content
  • Content voting, ala Digg

I waited for the Drupal folks to tick off each of these, as this type of behavior is already built into Drupal, or provided via plug-in. For instance, support for the just given list can be met by Drupal via the following:

  • Aggregation support is a module included with the Drupal installation. In addition, the FriendFeed Drupal module provides two-way FriendFeed communication.
  • Ditto with the Twitter Drupal Module
  • Forum support is another module included with the Drupal installation, though it doesn’t have a traditional forum look and feel. The upcoming Advanced Forum module supposedly provides the missing pieces for a standalone forum.
  • All of the user functionality is also built-in, or provided as installation module, including adding users, profiles (with avatars), as well as being able to create user profiles with differing permissions. For instance, registered users to this site who I know are given a “Trusted user role” wherein they can post comments without the comment going into moderation. I could also allow users to post photos, in addition to posts of their own — it’s all role-based.
  • You can use the Voting API module with Drupal for content voting, and there have been other efforts to create a Digg-like functionality, though there just doesn’t seem to be much interest in this within the Drupal community.

In fact, Drupal began its life as a bulletin-board system, adding weblogging functionality at a latter time. It is “community-based” from the ground up. Knowing all of these, I watched Planet Drupal for someone to mention about all of this already existing capability in Drupal. And I watched. And I watched.

Nothing. Not a word. Oh, there may be those who are in the process of writing about Drupal’s capability, as compared with the new Movable Type/Wordpress initiatives, but the interest has been more about the upcoming DrupalCon, upgrading to the newest releases, and various other activities; providing yet another demonstration of the differences in communities surrounding Silicon Valley based applications, and an application with beginnings not only outside California, but also outside the United States. Differences that not only don’t include that sense of competition that seems to exist with both MT and WordPress, but that also represent a general lack of interest in becoming part of whatever new movement is currently deemed to be itit for the moment, that is.

(A difference I’ve not, yet, come to absorb, being still imbued with the vestigial impulse to validate my choice of tools by pointing out We are first! We are better!, and hence, my earlier paragraphs. )

However, to be fair to the vast majority of MT and WP users, there isn’t that much communication in the general WordPress or MT communities, either, about the newest social networking “needs” that seem to be the driving force behind these new tool developments. Regardless of tools used, I find it unlikely that most people are interested in much of the social networking capability that is now being touted as “necessary”.

In her post at ReadWriteWeb related to the release of the new version of MT, Sarah Perez asks, Is this the future of blogging? Or is this the future of web publishing altogether? I think we’ll find, ultimately that the answer is no. The Silicon Valley mindset, for wont of a better term, wants social networks, and assumes the rest of must want the same thing. However, I think we’ll find that most of us just want a web that’s both open and accessible, and there is a vast difference between an open web and a social network.

In an open web, we may try to annotate our writings with metadata, so that the information described in this metadata could be merged by other applications. We work to ensure our work is easily accessible, and (though not always), try to engage our readers. We hope that the site is viewable by a variety of devices. To facilitate these interests, we’ve added syndication feeds and comments, some use of microformats, semantic markup, and even, on rare occasion, RDF, and perhaps a feed aggregator or photo feed in the sidebar. We try to create valid web pages, and use CSS to add a little of our own personality to the site’s look. At a stretch, we may include FriendFeed or Twitter postings, too, but I think interest in these is rarer than one would expect by the cacophony of noise that seems to accompany both services.

An open web, however, does not demand a web whereby the line of demarcation between the writer and the reader becomes blurred, and the reader is assumed to not only be reader, but writer, editor, and critic too— becoming one of many, which seemingly are then used to not only prove the popularity of the site, but also help monetize it.

Specifically, the success of our spaces is not a measure of noise but of satisfaction. What’s happened, though, is that to the Silicon Valley mindset, noise is a measure of satisfaction, so the more accouterments enabling noise, the better.

Posting writings and allowing comments are not enough: we must also give people profiles, with avatars and ranking systems, and the ability to vote comments up and down. By providing multiple levels at which our readers can engage, we create that noise that is seemingly so important in order to justify the worth of our spaces. What we’re finding, though, is that based on such activity, the noise level may increase, but it increases as noise, rather than the thoughtful comments that inspired our original interest, years ago.

As we invite the readers to become more involved, we probably will increase the popularity of our sites, but at what cost? We lose the ability to own our own spaces; to be able to suddenly switch one day from writing about HTML5 to writing about art. Even having comments means we give up some control over what we do in our spaces. All too often when I visit tech web sites and the author is writing on some other topic, I read in comments: “That’s not why I read your site, I don’t care about foo. I want to read about bar”? Or the newer complaint many of us have begun receiving since the advent of Twitter: “*This post is too long to read.”

Voting up and down may increase the number of visitors, and they may feel increasingly engaged, but look at what happens at sites like Digg. Though interesting stories may appear in the front page, such as the one about CAPTCHA technology being improved with the help of old manuscripts, many more are based on the amount of controversy associated with the topic, and not whether the topic is useful, or even relevant. More importantly, popular sites proliferate in popularity driven listings while less popular sites are pushed to the back, making it that much more difficult to find not only new and interesting information, but new and interesting sites. The reader becomes not only writer, editor, and critic, but also gatekeeper.

I’m not writing this to be critical of Six Apart’s new Movable Type social networking software, or the upcoming BuddyPress by WordPress—more power to **both groups in working to expand their offerings. To extrapolate, though, from these new offerings to a whole new web is typical of a mindset that is becoming increasingly isolated in how it views the web and how the web should be.

More importantly, to extrapolate one small group’s determination of what’s necessary in order to be “successful”, to the broader population can actively hurt rather than help the web. Do we really want a web without nooks and crannies, small voices, quiet places, and serendipitous finds? That’s not the web I want. To say that we’re all becoming increasingly narcissistic, is to say that one group’s self-obsession is shared by all, and I don’t think that’s true.

*And I include this post among those considered “too long to read”.

**But Drupal was first.

Categories
JavaScript Political Writing

Finis

The draft for Learning JavaScript, second edition, has entered production, and that’s more or less it for my tech book writing career. I don’t want to say I’ll never write another tech book, because never is a long time. However, I have no intentions of writing another tech book in the foreseeable future.

I hope to revive my moribund tech contracting/consulting career, but first I need a break from spending so much time on the computer: walk in the woods; enjoy the fall color; watch the pretty birds; see if my legs still work. I have authored and co-authored 18 books in 12 years—a fact I’ve really felt it in the last few months. I’m tired.

Tired and stressed, with the latter primarily because of the US election. I don’t think I’ve ever been this stressed about an election. I’ve also never been more desperate for my candidate (Obama) to win. No, not even when Bush was running for the office in 2000 and 2004. Frankly— and I never thought the circumstances could ever get to the point where I would say this—I’d rather have another four years of Bush/Cheney, then have four years of McCain/Palin.

I don’t want to write too much about the election, specifically because of the stress. I also agree with Dave Rogers about Sarah Palin being used to draw attention away from Obama. Continuing to write about her only aids and abets her cause, as well as adds to my already overly uptight frame of mind.

I think what I’ll do is spend some time considering the election, take a deep breath, and write once more on the topic. In the meantime, I’ll post links to what others have written, as I struggle to re-establish an essential objectivity. After all, I want to live long enough to get that universal health insurance Obama will bring us.

Speaking of which, I have been getting into some debates, mainly about universal health care over at Blogher. It would be an understatement to say how disappointed I am in the so-called “libertarian” element in the US, right now.

Politics aside, my 18th book is on its way. Go book. Live long, and prosper.

Categories
Browsers

Chromatic hyperbole

It would be impossible to miss the excitement over Google’s Chrome, though I would assume we would wait to actually see the product, first, before wetting our pants.

Yes, Google entering the browser marketplace is news, but some of the things I’ve been reading are, well, frankly asinine. For instance, Computerworld breathlessly writes, Google’s Chrome aims to kill Windows, make Web the OS of choice. A bit hard, wouldn’t you say, when Chrome requires Windows just to be able to run?

Let's kill off Windows with our Web OS.

Cool.

...later...

Well, Windows is dead.

That's great! 

*pause* 

Uh, where's Chrome?

Well, you see...

Do we also need to remember our concerns about Google? You know, the whole privacy thing? Or are we a modern day bunch of Pavlovian dogs, trained to drool on cue whenever Google is involved?

There are issues associated with this browser, babes. First of all, as great as it is that Google is using Webkit for its infrastructure, it’s also coming out with its own JavaScript engine. My first question is: is Google going to conform to standards? Or is it going to go its own little way, and just assume we’ll tag along? Then there’s the issue of the engine being multi-threaded—and here I thought Photoshop was going to be the only pig on my system.

My concerns aren’t just related to JS. As I read somewhere—who knows where—we can now see why Google is footing the bill for Ian Hickson to head up the HTML5 effort. However, now that Google is “one of the browser competitors”, how will this change the dynamic in all these standards groups? I’m not going to necessarily give HTML5 over to Google to define to its own Chrome standards. I imagine that some of the browser companies would feel the same.

And about those privacy concerns…exactly what kind of information is Google going to be collecting about us as we use the damn thing?

Frankly, I’m all for anything that weakens the abysmally tenacious hold IE6 and IE7 have on desktops, but I’m not sure yet another player in the field is what we need. Especially a player who, frankly, exhibits many of the same tendencies towards arrogance, as well as interest in complete dominance, as the company they supposedly “hate”. I can understand Google’s impatience with the other browser companies—but Google also has a tendency to act impulsively, and leave the rest of us to pick up the pieces.

As for web applications taking over the world, we’re just now starting to hit against issues of broadband caps, not to mention the problems we’ve had with centralized services recently. Does Twitter ring a bell with you folks? How about Amazon’s S3? GMail? In the last month, we’ve seen outages at a considerable number of centralized web services, and we haven’t even started putting our critical operations into “the cloud”.

Do you really want your business to hit a stand still because you’ve lost your internet connection, hit a broadband cap, or “the cloud” is not playing nicely at the moment? Seriously?

Look, yes. Get interested, yes. Peer around under the hood, and take it for a spin, most definitely yes. But get a grip–the web world as we know it hasn’t suddenly come to an end just because Google has decided it wants to play the browser game, too.


Downloaded. Installed. Works fast. Chrome doesn’t work on the Mac. Thanks to WebKit it does support XHTML and SVG. However, I’ve hit an odd rendering error for this page, which I don’t get with my nightly WebKit download.


Matt Cutts did respond to privacy concerns about Chrome, though I wish he wouldn’t categorize these concerns as being the paranoid ramblings of conspiracy theorists.