
We’re just about to announce the official release of our SDK for peer-to-peer applications. It’s very cool.
If you want to find out more, check out the documentation, which we’ve now placed on our website. For more info, drop us a line at sdk@allpeers.com. Mention this blog and I’ll get a fat commission an affectionate pat on the head.
Today I read on a number of blogs that Google has released a version of AdSense for RSS feeds. And sure enough, when I clicked on the Peer-to-Peer Weblog in Bloglines, little textual ads were displayed at the bottom of each entry.
Hmph. I hate to be a jerk, but I don’t like it. The thing I value most about RSS is that it makes it so efficient to scan large amounts of text. I already spend too much time reading blogs, and I find that these ads distract me and slow me down. Jason Calacanis tries to put a positive spin on this, and I understand his argument: ads mean more money, which in turn means more, higher-quality content. But there has to be a better way, one that doesn’t so directly contradict what makes RSS so appealing.
In any case, I surfed over to the Greasemonkey script library, and sure enough Carlo Zottman has already posted a script for removing the ads on Bloglines. The only problem is that the script, as posted, doesn’t remove the “Ads by Google” link, so I modified the script and temporarily posted an enhanced version here. I’ll email Carlo and perhaps he will update his version, if he agrees with my change.
I feel a bit guilty about this, especially since I saw Jason speak at Les Blogs on Monday, and he struck me as a very nice, down-to-earth guy. Please don’t blame me, blame that infamous evil-doer, Greasemonkey. It made it far too easy for me to make the pain go away.
Update: Carlo already modified the script based on my changes. Thanks, Carlo!
Update: Dave Winer makes a similar point, minus the client-side scripting.
Update: Just now when I checked the Slashdot feed in Bloglines, I noticed ads there for the first time. What’s more, I couldn’t find a script in the Greasemonkey repository to get rid of them. So I munged Carlo’s script a bit and made one myself.
One of the most interesting lessons from Les Blogs is that even world-renowned blogging experts have a hard time defining what the hell a blog is.
This question was posed directly to the day’s first panel and resulted in a variety of somewhat imprecise or contradictory responses. I think that Barak Berkowitz of Six Apart made the best effort, claiming that the key aspects that characterize blogs are their persistence and asynchronicity. He explained that email seems asynchronous, but is in fact simply “slowly synchronous” (or something like that), meaning that there is a strong chronology attached to emails. If you don’t respond within a certain time period, the other party will assume that you aren’t going to. Blogs, on the other hand, can be usefully commented on years after an entry is posted.
Caterina Fake of Flickr/Yahoo made the interesting claim that, in a few years, everyone will have a blog. The problem with this statement is that it is either obvious or absurd, depending on how you interpret it. If she meant that everyone will have some sort of human-readable online identity, fair enough. But is it really useful to define a blog so broadly? And if she meant that everyone will be keeping an online journal, that strikes me as very unlikely (and probably undesirable).
In the closing presentation of the conference, the inimitable Doc Searls took up the challenge. His talk began in intriguing fashion as he outlined what is essentially a loophole in the First Amendment, allowing the FCC to censor “offensive content” despite the protection of free speech guaranteed by the Constitution. He then discussed the various “borrowed vocabularies” (i.e. metaphors) that we could potentially apply to blogs: shipping (”delivering content”), real estate (”building” a web “site”) and writing (”authoring” a web “page”). He stated outright that he considers the latter to be the most apt, but never squared the circle to explain why this would protect blogs from FCC-style censorship. Very entertaining stuff, but it didn’t bring us any closer to understanding what distinguishes a true blog from other superficially blog-like stuff.
I have an opinion on this: blogs are the future of journalism, pure and simple. In this respect I agree with the idea of “citizen journalism” promoted by Dan Gillmor and others. There are a number of obvious characteristics that distinguish the average blog from the average magazine or newspaper article. Blogs are generally one-man shows, delivered online, not that polished and available for free. Traditional journalism tends to involve a team of writers, editors and designers producing printed, professional-quality text that costs money (directly or through advertising).
But these boundaries are blurring fast. Imagine that we were to plot the prototypical amateur blog at one end of a multidimensional space whose axes represent team size, quality, cost, etc., and then place the most careful crafted Financial Times article at the other hypercorner. I believe strongly that the space in between will fill up over the next few years until a continuum forms between these two extremes. The whole space won’t fill up, of course, since quality and cost will remain highly correlated (schlock amateur content, for example, is likely to remain free). But online content will increasely dominate its printed brethren and will run the gamut from awful to fantastic, from free to quite pricey. Teams will form on an ad hoc basis and much, much more journalism will be created by talented individuals working alone.
Got back from Paris this morning on the 7:35 flight. This meant getting up after a long night of red wine and only four hours sleep, so please excuse me if I lapse occasionally into incoherence. My exhaustion is counterbalanced somewhat by the fact that I returned to Prague to discover that Peer Pressure had been indirectly meta-slashdotted. That is to say, Boing Boing linked to my translation of the 01.net article, and was in turn linked by Slashdot. Even indirect meta-slashdotting gets you a lot of hits, apparently, and this was the first time I ever got a emergency distress SMS (”now what have you posted!?”) from our system administrator. Very cool.
So anyway: Les Blogs. As perhaps the first ever one-day European social software shindig, this was definitely an experimental endeavor. I didn’t know what to expect, and when I mentioned this afterwards to Loïc Le Meur, the organizer, he laughed and said, “Neither did I!” I’m glad to report that it was a resounding success. My only complaint relates to the very start of the conference, which was held in the imposingly fortress-like Senate building. My friend Pierre and I arrived panting and out of breath, about ten minutes late, only to find that there was still a queue winding out of the security area at the entrance, composed of suspiciously Les Blog-like characters (i.e. young, male, sporting pocket protectors). We hadn’t stopped for breakfast, but we naturally assumed that a mound of buttery pastries and treacle-like coffee would be awaiting us in the conference room.
As it transpired, we waited another 20 minutes just to be X-rayed and let into the building. When we finally arrived at the room, there were no refreshments of any type and the room was packed. Mega-packed. It was all we could manage to find two seats within earshot of each other. That and I had bought new shoes the day before and my feet were killing me. So I viewed the first two hours of the conference through a haze of coffee-less, croissant-less, cramped-between-two-strangers, in-excrutiating-pedial- agony ill temper. Naturally none of this was in any way the fault of the conference organizers, besides the lack of coffee, and after hours of ceaseless backchannel griping, I’m quite sure Loïc won’t make that mistake again.
The proceedings were kicked off by a highly entertaining Joi Ito, who spoke about the Creative Commons license. It was cool to see a true star of the blogosphere in action, and his remash of the Republican National Convention (which I have thoughtfully mirrored) was absolutely hilarious. He also showed a cute Flash movie explaining why we need Creative Commons. I don’t suppose this was news to most of the attendees, but it was interesting to see what materials are being produced to promote alternative content licensing schemes. Joi was followed by a panel of notables who debated what a blog is (much more on this in my next post).
I arrived at the afternoon session having rushed home to change my shoes and snarf down a cup of coffee and a pain au chocolat, stopping by the conference buffet for finger food to wash it all down. There had been a certain amount of attrition, so the room was also less crowded. For me, the afternoon’s events were therefore more enjoyable in every way than the morning session. Other highlights:
I figured if I can’t keep myself from blogging while “vacationing” here in Paris, I could at least choose a topic with a suitably French theme. Luckily something highly appropriate cropped up: the recent decision of a French tribunal that DVD copy protection schemes violate the fair-use copying rights guaranteed by law. So far this seems to have been reported only in a French technology journal. So while I’m sure that it will have filtered into the English-language press by tomorrow, for those who can’t wait I threw together a translation of the original article in English.
I’m quite sure this won’t be the end of the story, especially considering that the ruling apparently contradicts the recent European Copyright Directive. If I understood the article correctly, this directive is still being “transposed” (i.e. adapted) to the French legal code.
Still here. I just got a response to my Eclipsing Firefox post in the Technorati feed (don’t ask me why it took 10 days for this to show up). I just want to stress that I’m not talking about a XUL editor here. I want something to smooth the whole develop, debug, deploy cycle when creating a new Firefox extension. As far as I’m concerned, the only place it makes sense to do this is inside Firefox.
Since no one seems to have jumped on the chance to make my personal dream IDE a reality, it looks like I’m going to have to do it myself. My plan is to create a minimal implementation that makes most of my pain go away with the least possible time investment (I do have a day job, after all). Then we’ll see. I still need to make a new version of Scrumptious first (I’m using it daily and I like my dog food tasty, thank you). But hopefully I’ll crank something out pretty soon.
So I’m off to Paris for Loic Le Meur’s one-day Les Blogs conference, taking advantage of the opportunity to see a few old friends over the weekend. It’s tough sometimes to be trapped in the European technology ghetto, where your only contact with the movers-and-shakers of the internet scene is online. So I’m looking forward to meeting some of these folks face-to-face, and I’m sure I’ll have a lot to blog about next week. At very least, you’ll hear more than you wanted to know about how much better the food is in Paris than here in Prague.
A friend of mine told me yesterday that I should rename my blog to “Firefox Fanboy”. Looking down the page at my last few posts, I have to admit there’s something in that. Combine this with my server logs, which indicate that nearly 50% of my visitors are using Firefox compared with 20% for Internet Explorer (the rest are bots and RSS newsreaders), and there’s no denying that Peer Pressure has become pretty Firefox-focused.
The most important reason for my Firefox frenzy is what it offers to me as a programmer. Tabbed browsing, integrated search and so forth are nice, but not enough to keep me blogging obsessively about how cool my web browser is. No, what’s truly revolutionary about Firefox is that it’s got me more excited about programming than I’ve been since I was a teenager. When I was an adolescent, I used to sit at the computer for hours on end, every day, writing cool software just to amuse myself. In college I barely went near a computer, even though I graduated with a degree in computer science. I programmed when I had to to please my professors, and occupied the rest of the time either drinking too much or recovering from said drinking. Then I became a professional software developer, and since I was spending all my time programming anyway, hacking in my spare time just didn’t seem that appealing.
I know that there are a lot of professional programmers who enjoy a bit of coding on the side. But the environment that I settled into — Windows and C++ — isn’t nearly as conducive to that as, say, Linux and TCL. There’s simply too much overhead involved in writing a C++ program that does anything fun. Or maybe I just got out of the habit. Whatever the case, the only time I can remember writing software outside of my job since I graduated from high school was when I wrote a program for my (now ex) girlfriend so that she could download her email into Outlook when she decided to ditch Yahoo. Scraping HTML pages in C++ is not exactly entertaining, but you don’t get that many chances to impress a hot chick with your coding skills, so when the opportunity arises you’ve got to jump on it.
Firefox is a great environment for hackers for a number of reasons. It integrates smoothly with the web, so it’s easy to hijack other people’s content and muck around with it. XUL makes it possible for a graphical klutz like me to make reasonably attractive user interfaces without spending hours dragging-and-dropping dinky little widgets in a dialog editor. And, perhaps most importantly, the extension mechanism is so lightweight that it’s almost trivial to get your code onto other people’s machines. Coding is much more rewarding when you can share the fruits of your hacking with others. Believe it or not, Scrumptious, my very first extension, has been downloaded by over 3,000 people. Not exactly a blockbuster, but still by far the most successful thing I’ve ever written singlehandedly. I like that.
Anyway, I’m not going to rename the ol’ blog, but I did make a gesture by renaming my “Mozilla” category to “Firefox”. Consider me a convert.
What with all this pontificating about Greasemonkey, I figured I should get down and, um, greasy myself and try the thing out. So I scratched a longstanding itch of mine, which is that the Bloglines sidebar uses a bunch of expansive graphics and a needlessly large font. As a result, you can only see 20 or so feeds without scrolling (at least with my screen resolution). You can reduce the font size, but it doesn’t make much difference since the line spacing stays constant. Plus that reduces the font size in the main window too, and I’m too nearsighted to read paragraphs of teensy text comfortably.
An hour or so of fiddling with various font size and layouts resulted in the Bloglines Sidebar Squeezer. I removed the whole header, squished all the little icons and reduced the font size down to the minimum that I am comfortable reading. And, lo and behold, now I can fit all 57 of my feeds on one screen! I decided I actually want the Add/Edit/Option links, so I moved them to under the feeds. I don’t use them that often (especially now that I have LiveLines) so I don’t mind scrolling.
The experience pretty much confirmed my expectations. Writing this type of script is straightforward, and the result is very satisfying. It’s very empowering being able to bend someone else’s website to your will. Being evil can be good fun.
The latest happenings in the Greasemonkey world inspired me, finally, to finish the essay I’ve been working on.
Read “Greasemonkey: an Historical Perspective”
As predicted: The user script arms race has begun!
BTW: Am I stupid? Does the Greasemonkey blog have no RSS feed? No trackbacks? Someone set me straight here, please. I wanna subscribe.
Update: Yep, I’m stupid. Thanks, Stephen, for confirming this.
Axel and Geoff both responded to my “Eclipsing Firefox” post, pointing out the difficulting of grafting an editing environment onto Firefox. Axel goes on to suggest that creating a XUL/Javascript IDE inside Eclipse itself might be a more appropriate course of action.
I agree that a great Eclipse-hosted IDE would be a darn sight better than nothing. Nonetheless, I’m not nearly as enthusiastic about this approach, for a number of reasons. First of all, this means that XUL developers would have to be running Eclipse. This isn’t the end of the world, but Eclipse is a bit of a monster in terms of footprint. I haven’t used it in a while, so perhaps this has changed, but in my recollection it has a propensity to eat up a few hundred megs of RAM if you leave it running for a while. I’d rather keep my toolset lean and mean, if at all possible.
The second reason is that there are significant synergies that can be exploited by hosting the IDE inside Firefox itself. For example, this would aid greatly in cache management, since the IDE could be smart enough to reload modified files into the Firefox cache automatically. Just the fact that I could change a XUL, Javascript or CSS file and immediately see the updated behavior of my extension, without having to open a new window, would be a huge boost to productivity. This could surely be achieved in other ways (I’ve thought about trying to write an extension that exposes the contents of various caches and lets you refresh individual files manually), but it also hints at the intrinsic elegance of having Firefox be its own development environment. I’m convinced that many other advantages of this type would become apparent if this route is taken.
The final reason is perhaps the most significant: every good browser requires a good editor, for reasons that have nothing to do with software development. Clay Shirky wrote a pithy diatribe on this topic a while back and provoked a lively discussion. His whipping boy was auto-save; I have to say personally that there is just so much that I hate about writing text inside an embedded text box. It makes blogging and wiki-ing far more laborious than they need to be. It’s true that Firefox along with certain extensions represent a great improvement — Resizable Textarea alone has eased my pain significantly — but it’s not enough. When I see a text box on a webpage, I want an option to open it up into a full window containing an all-singing, all-dancing text editor that:
- Supports undo, find and replace,
- Is WYSIWYG,
- Uses an XHTML subset as its internal data format, with pluggable filters so I can expose Wikitext and other niche formats,
- Automatically saves every character I write in case of crashes or user error (like closing the wrong tab at the wrong time), or at very least supports Ctrl-S so I can save frequently without reloading the page,
Since I want to leverage this as a code editor as well, it has to have pluggable interfaces for attaching syntax coloring, bracketing and autocomplete logic for specific programming languages, which I suspect is not the hardest nut of the bunch to crack.
That said, I can totally appreciate the difficulties of writing a cross-platform editor. I don’t believe that this should be written in XUL. It should be written in C++ using the GFX APIs. I don’t know much about Nvu, but I assume that it is built in this way. I’d be very interested to find out more about the problems Alex hints at with the Nvu project. Are they really intractable, or are they tied somehow to the specific implementation, which I assume is based on quite a lot of legacy code?
Definitely the coolest thing ever (via plasticbag.org): the Face Transformer. It lets you upload a photo and munges it to correspond to different facial types (old/young, man/woman, black/white, etc.). Finally I know what I’d look like if I were:
 |
 |
 |
| Afro-Caribbean |
A Botticelli Painting |
A Manga Cartoon |
Wow, if I were a manga cartoon I’d have hair!
Tim Bray is still wondering about tags. In reference to Technorati Tags, he asks:
Are tags useful? Are there any questions you want to ask, or jobs you want to do, where tags are part of the solution, and clearly work better than old-fashioned search? I really want to believe that tagging is big, a game-changer, but the longer I go on asking this question and not getting an answer, the more nervous I get.
Well we can’t have that, so let me take a stab at it, keeping in mind that what Tim is really asking is whether tag-based searches have the potential to give better results than keyword-based queries.
Do tags matter? Yes. It’s true that the utility of the Technorati Tags feature is still very limited, as I’ve discussed in the past. It takes a certain leap of faith to see where this is leading. At the same time, there is a clear advantage to the tag approach, which is that it involves a conscious effort on the part of content authors to help you determine whether their material is of interest to you. Any time you can set up a synergistic bond between human provider and human consumer, you’re going to get better results than you can through purely automated processing like massive full-text indexes. Blog authors want more readers and readers want a remedy for information overload; since both of these itches can be scratched by tagging, the necessary synergies are clearly present.
An example: as an enthusiastic developer of Firefox extensions (well, extension really, but I do plan to create many more), I’m interested in posts about Firefox. But forget about searching for the word “firefox” using a full-text engine. To me it looks like at most 10% of the hits are actually about Firefox as opposed to irrelevant posts that use the term tangentially. Now compare this to the corresponding tag-based search. Still not breathtaking, but a whole heck of a lot better.
And let’s not forget that full-text engines have been mature technology for decades, while tag-based systems are in their infancy. There’s any number of things that Technorati could (and doubtless will) do to make their results better. For starters, they could filter based on language. All those Japanese posts (and there are lots of ‘em) are just pretty little pictures dancing on the page for us ignorant western types. Hardly edifying. And, as I’ve mentioned, it would be a lot easier to wade through the RSS feeds if they’d list the blog name and Cosmos statistics for each entry.
In fact, what I’d really like to see is a system like the one used for popular tags on del.icio.us. Instead of using the absolute number of bookmarks to determine what gets on the much-coveted popular page, they use the rate of growth (i.e. the first derivative). So instead of seeing the Slashdots and Boing Boings and other stuff-I-already-knew-about entrenched at the top of the list, you see what’s hot right now. The only problem is that the list is skewed to what the del.icio.us crowd is digging. If Technorati could duplicate this for the whole blogosphere, choosing a reasonable cut-off threshold so I only get links to a manageable number of posts, they’d have a whopping hit on their hands.
This morning I arrived at work to find a mail from “**Angelica**” waiting in my mail client (note: not her real name). Based on the name and extravagant use of asterisks, I was expecting to discover that yet another nubile 18-year-old had been given a webcam for her birthday and was eager to share her intimate moments with me and the rest of the internet. The only thing that stopped me from whipping out my credit card binning it directly was the subject line: “permission to quote?”. This seemed inappropriate for a racy solicitation mail even considering the contorsions that bulk mailers go through to weasel their way through spam filters.
In fact, the mail was something quite different:
Hello, Matthew:
I am writing an admittedly belated article for [a magazine] in favor of [a popular website’s feature], and I came across your remarks some time ago on Slashdot. Specifically, you said:
[quote from one of my many long-winded Slashdot posts]
I’d love to be able to quote you in my article; how would you feel about that? You’d earn nothing but my gratitude and a copy of the article if you’d like it. Let me know!
Consistent with my interest in IP rights in the online world, my first reaction was: “Wow, do I really retain rights to my Slashdot comments?” (Well, actually my first reaction was a warm flush of narcissism. Someone noticed me?. Boo-ya!) So I surfed over to Slashdot and after some fruitless trawling through their FAQs, discovered the copyright notice at the bottom of their global page template:
All trademarks and copyrights on this page are owned by their respective owners. Comments are owned by the Poster. The Rest © 1997-2005 OSTG.
How silly. This strikes me as wholly incompatible with the open source ethos that prevails on the site. Why not state in their terms of service that all comments are automatically placed in the public domain? After all, they reserve plenty of rights for themselves with respect to such content:
In each such case, the submitting user grants OSTG the royalty-free, perpetual, irrevocable, non-exclusive, transferable license to use, reproduce, modify, adapt, publish, translate, create derivative works from, distribute, perform, and display such Content (in whole or part) worldwide and/or to incorporate it in other works in any form, media, or technology now known or later developed, all subject to the terms of any applicable license.
In the understandable case that they want to ensure attribution, they could use a Creative Commons license. That’s what it was invented for, no? Perhaps I’m missing something, but I can’t see a downside to this. I’m quite sure none of the Slashdot set would hesitate to post a comment because they would be giving reproduction rights to the world, instead of just to the OSTG. And on the plus side, it would set a shining example for the rest of the web for a high-profile site to take a more progressive approach to the handling of IP rights for community-created content.
|
|
|