Categories
People Specs

I lock my door at night

I’m not sure why the WhatWG folks thought that keeping an open door to the Twitter @whatwg account on the front page of their web site is a good idea, but it’s been interesting watching the *updates. Most are pretty juvenile, but there’s been some interesting snark along the way. Mostly, the posts have been by people asking why the WhatWG thought this was a good idea, as WhatWG followers are dropping like flies, tired of being spammed.

Interesting, too, that the WhatWG members are posting on the WhatWG IRC that the openness of the Twitter account was by decision, not by accident. Bragging about it, actually. After all, only a few spam messages will get through. Of course, that was before someone posted a note to the WhatWG IRC about the openness, making people aware of the capability. Once the open door was found, that’s all she wrote. The only thing keeping some control on the postings is the Twitter API limits.

To me, deciding to keep the door open to the WhatWG Twitter account highlights some of the problems we’ve had with the WhatWG folks in regards to HTML5: they see the world as this perfect utopia, where everyone follows the rules. If people don’t follow the rules, then the rules must be changed, because obviously, there’s something wrong with the rules.

Case in point: the table summary attribute isn’t being used correctly, not because people make mistakes, but because it’s bad and has to be removed, before someone gets hurt! Of course, those who advocate for its removal totally disregard that the bad summary attributes are attached to equally bad HTML table uses, too. But that’s not the point!

RDFa is too hard for people to use, and must be replaced by microdata. Why? Because Google make an RDFa error when it rolled out its support recently. But, it wasn’t a Google mistake, according to Ian Hickson, it was something inherently wrong with RDFa. Google quickly corrected its mistake error, but by that time, the damage was done: RDFa was shown to be a flawed system that needed to be replaced by something better. Why? Because people don’t make mistakes.

The same as people won’t spam an open Twitter account.

And now the folks on the WhatWG IRC are discussing the fact that those posting spammish messages to the WhatWG twitter account don’t understand the consequences of their actions. As jgraham wrote:

Lachy: I know that you can take some measures to cover your tracks, but in practice many people don’t bother and find that actions that they took believing that they would be free of consequences are not actually as anonymous and as free of consequences as they had assumed

In other words, never doubt your own judgment, when you can safely and easily find a way to dump any responsibility of your decisions on someone else.

The thing is, people learn from mistakes. A neighbor gets robbed, and we learn to lock our doors at night. People make mistakes with the summary attribute, or with RDFa, or any web technology, and we learn to provide better documentation. We are capable of learning from our past mistakes, learning, and doing a better job. We even learn to shut down that open door way to a Twitter account when it’s getting spammed.

There is no such thing as the perfect utopia where things can be made in such a way that no one is capable of making a mistake. All we can do is learn from the past, and do better in the future.

*Oh, and by the way? That “summary rules!” post was mine.

update

Evidently the WhatWG folks have finally realized that maybe an open door is a problem. Don’t expect an apology or acknowledgement, though:

factoryjoe: well, ok. some acknowledge might help people feel better that no more spam is forthcoming
Hixie: i expect that no more spam being forthcoming will make people feel better than spam telling them that no more spam is forthcoming

Categories
Burningbird

Who are these strange people

A favorite writer of mine is James Fallows at The Atlantic. He doesn’t have comments, but when I’ve sent him emails in the past, he always responds as quickly as he can, and in detail. He’s also been known to republish email comments, with permission, on his weblog—ensuring exposure to both new people and new ideas.

James has shown that one can be part of a community, without having comments.

I have been inundated with spam comments at this site, and now I’m getting spam replies and follows on Twitter. I am, at least for now, turning off comments. I am also, seriously, thinking of deleting my Twitter account, unless Twitter can find some way to control what is becoming an increasing, and even overwhelming, problem.

My warmest thanks to all who have taken the time to comment here and at my other sites. I value your friendship, your words, and your time. I hope that you’ll still email me, if for no other reason than to say hello, how’s it going.

Categories
Social Media

Twitter’s adverse impacts

I finally installed the Gregarius feed aggregator, even though it is no longer actively supported. I only need a web-based feed aggregator, and so far I’ve not been able to find a single one that is still actively being supported. Not a single one.

In fact, most of the feed related software seems to have been discontinued in Fall of 2008— just about the time when Twitter use exploded. I knew that Twitter was popular, but I hadn’t realized what an adverse impact it is having on how we find, and read, information on the web.

Categories
Social Media

Scuttle, Google Reader, et al

This has not been a week for centralized services. With the announcement of the Yahoo/Microsoft partnership, I figured the writing was on the wall and decided it was time to decentralize my bookmarks. Good-bye delicious, hello Scuttle.

I don’t use a bookmark service because its part of social media. I use it because I have three computers, and I want access to the same set of bookmarks for each. To make this work, I needed some form of server-stored bookmarking service, and delicious seemed ideal.

Now, though, I’m not sure what is happening with delicious, and rather than wait until the rug is pulled out from under us, I moved my bookmarks to an open source application called Scuttle.

Scuttle is extremely easy to set up. Create a database and user, edit a couple of entries in a configuration file and ensure a subdirectory is writable, and then start up the application. The only thing the application didn’t have was a way of preventing others from creating an account. There is a Scuttle Plus that builds functionality on top of Scuttle, including search engine and user management, but all I really needed was a way of turning off user registration.

Easy as can be: all you have to do is remove the register.php file. Then if someone clicks the Register link in the page, nothing happens. Sure it’s not the most elegant workaround, but it works.

Scuttle has pop-up links that can be added to browser toolbars, and I like the look of it more than delicious. I really don’t care how many other people are linked to a site, or what keywords are used. I just want a way of sharing bookmarks between my computers.

I had barely finished my implementation of Scuttle when I was hit with another one: Newsgator is no longer providing centralized support for its feed reader, NetNewsWire. Instead, you have to get a Google Reader account, and sync a new version of the tool with the Reader service as back end.

I used NetNewsWire for the same reason I used delicious: I wanted an application that used a centralized service to maintain feed syncing between my two Mac computers. However, I haven’t been able to find an elegant workaround for replacing a centralized feed aggregator with something on my own, at least not yet.

I have moved my feed subscriptions to Google Reader, but I can’t stand the site. It is badly designed: cluttered, takes up too much space, hard to easily traverse your unread feeds. It is true that it seems like feeds and aggregators have gone the way of the dodo, with the advent of Twitter and the concept of “Blurb it!” rather than “Link it!”. But I do still like to read longer works, read the works of those few who are still weblogging rather than just Twittering, and catch the occasional actual linked story rather than URL shortened misdirected mess that we have at Twitter.

I could use NetNewsWire to access the Reader data, except the new version doesn’t work with Tiger, so won’t work with one of my computers. I could also just read feeds on one computer only, and set it up with NetNewsWire, synced or not, but I like the flexibility of my current system. So now I’m looking at options, as with Scuttle, for hosting my own feed aggregator that has a web interface, so I can read feeds from all my computers.

Suggestions on open source self-hosting feed aggregators with clean user interface would be welcome.

Categories
Technology

Embedded fonts with font-face

I’m experimenting with my first attempt at using embedded fonts here at RealTech. I’m using the Gentium Basic TrueType font, which I downloaded from Font Squirrel. Since Internet Explorer doesn’t support truetype fonts, I had to use the ttf2eot application to convert the truetype into EOT, which is what Microsoft supports. Edward O’Connor has a nice writeup in how to use ttf2eot. I downloaded my copy of the utility, since I couldn’t get the Macports version to install. You can also use Microsoft’s WEFT utility on Windows.

(update There is also a Gentium Basic font-face kit that contains everything you need, including EOT files and a stylesheet.)

Once I had both versions of all the font files uploaded to my server, I added the CSS for the font-face rules. You can add these rules as a separate file, or include them in your stylesheet, whatever rings your bell:

/* For IE */

@font-face {
        font-family: 'Gentium Basic';
        src: url('GenBasR.eot');
}

/* For Other Browsers */

@font-face {
        font-family: 'Gentium Basic';
        src: local('Gentium Basic Regular'),
             local('GentiumBasic-Regular'),
             url('GenBasR.ttf') format('truetype');
}

@font-face {
        font-family: 'Gentium Basic';
        src: local('Gentium Basic Italic'),
             local('GentiumBasic-Italic'),
             url('GenBasI.ttf') format('truetype');
        font-style: italic;
}

@font-face {
        font-family: 'Gentium Basic';
        src: local('Gentium Basic Bold'),
             local('GentiumBasic-Bold'),
             url('GenBasB.ttf') format('truetype');
        font-weight: bold;
}

@font-face {
        font-family: 'Gentium Basic';
        src: local('Gentium Basic Bold Italic'),
             local('GentiumBasic-BoldItalic'),
             url('GenBasBI.ttf') format('truetype');
        font-weight: bold;
        font-style: italic;
}

Notice that there are separate files for bold and italic fonts, as well as the ‘normal’ font. All are included, and all are given the same font-face alias, in this case “Gentium Basic”. It’s up to the user agent to determine which font to use in which circumstance (normal weight versus bold, normal text versus italics), Once the fonts are defined, they’re used wherever you would use standard fonts:

#rap {
  width:960px;
  margin: 0 auto;
  position: relative;
  z-index: 2;
  background-color: #fff;
  color: #444;
  font: 0.9em/1.5em "Gentium Basic", Georgia,serif;
  font-style: normal;
}

I provide fallback fonts, for browsers that don’t support font-face.

So, how are these font rules working in various browsers?

Browsers that don’t support font-face yet, such as Opera 9.64, pick the fallback web safe font, as they should.

Safari 4 supports font-face, though the page can show up oddly until the fonts are downloaded to the person’s machine. If you’ve accessed a web site and no text shows, but underlines are appearing for the links, chances are the person is using font-face. The “blank” text doesn’t last long, though, depending on how fast your connection is, and how fast the web server serves up the font.

Once the font is loaded, Safari uses the fonts as described in the CSS3 specification.

Firefox has support for font-face beginning with 3.5. It doesn’t have the download hiccup that Safari seems to have, because it uses the default web font until the font is downloaded, and then redraws the text. (From what I can see, other browsers such as Opera 10.0 beta 2 do the same.)

Using Browsershots and my own PC, I’ve found that Internet Explorer also makes use of the fonts, in the EOT format I’ve provided. However, it doesn’t support the font style and weight specification.

Chrome is using WebKit, which would lead one to think that it supports font-face, but I’ve not seen webfonts work with Chrome. Again, just because Chrome is using the WebKit engine, doesn’t mean the Chromium graphics engine (Chrome’s own graphics engine) supports the same functionality that Safari or WebKit’s graphics engine have.

Opera 10.0 has been a problem for me. All of the fonts are showing as italic in Opera 10 beta 2. I don’t think there’s a problem with my CSS, and have since filed a bug with Opera. When the fonts are installed on the desktop, then Opera 10.0 seems to work. If not, you get italics.

update Thanks to Philippe, I’ve updated the stylesheet. IE does not support the font weight and style setting, so you only specify the one EOT file, for the basic font. In addition, the local setting in the stylesheet provides a local file name for the font, for the browser to use rather than have to download the font. Opera 10 does work when the file is local, but not when downloaded.

Also thanks to Baldur, whose use of Gentium Basic inspired me to try it at my site.

Update

Bruce Lawson added a comment that Opera is aware of the problem, and working on a solution.

I received an email from Stefan Hausmann,who wrote:

@font-face has been disabled in Chrome [1] because of “security concerns”. They announced webfonts support months ago, then disabled them by default, but failed to communicate that to the general public. They’re working on reenabling them by default [2].

In the meantime, you can use the –enable-remote-fonts command line switch. It’s still buggy on Chromium 4.0.202.0 where I tested it. Sometimes web fonts don’t render at all, sometimes single words don’t render (as if they were transparent) or only when selected. Sometimes selecting text with web fonts crashes the browser.

[1] http://code.google.com/p/chromium/issues/detail?id=9633 [2] http://code.google.com/p/chromium/issues/detail?id=17818