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