Check it out. Firebug, the brainchild of Joe Hewitt, has been released. Asa‘s got more details.
Tag: Mozilla
send_pings and losing my innocense
I’m writing this post with some real hesitance, feeling like I’ve just stepped into a cigar-smoke filled backroom with the bunch of thugs who really run this town… and they’re pulling out their tommy guns to take me out as I’m frantically trying to write this.
Heh.
Yeah, I tend to get a bit melodramatic when I write, but this time I really feel like I’m tossing it on the line… I mean, this is my job I’m talking about here and though I’ve feigned to be so direct before, this issue cuts at the heart of the work that I’m doing. And fuck if I feel like a piece of me is dying as a result of this.
Darin posted yesterday about a new ping attribute being added to link anchors in the trunk builds in Firefox. Basically links that used to look like this:
<a href="http://flock.com">Flock</a>
can now be written like this:
<a href="http://flock.com" ping="http://myeviltracker.com?source=factoryjoe.com/blog">Flock</a>
The result? Well, hover over the link and you’ll get a handy little status bar message telling you that Firefox is about to open (in this case) flock.com as it silently pings myeviltracker.com in the background. The benefit to you? Well, supposedly because you’re no longer visiting the redirection sites prior to hitting your final destination, pages will be perceived as loading faster. Whoopee.
At least, that’s the idea as spec’d by the WhatWG. Including it’s inherent evilness (see #4).
So why does this matter so much to me? Well, because I’m working on building a browser based on Firefox. Decisions made upstream obviously effect this work since the Mozilla technologies that power Firefox make up the core of Flock. And the decision to enable browser.send_pings by default trickles down to us. We inherit that decision and all the baggage and rationales that come with it. Including the impact on privacy.
I’m not so naive that I don’t recognize that all of our behavior is being tracked, analyzed and quanitified already, both online and off. (Hey, I saw the Matrix too!) But right now, as Hixie pointed out, it’s being done by advertisers via a series of obfuscated redirection URLs. Ever use a service like eBates? Notice the 5 or 10 servers that you’re bounced across before you land at the final page? This ping attribute is designed specifically to address that "problem"… to make landing on your final destination… smoother, faster.. more calming… wha? huh?
Sorry, I dozed off.
So while all the greedy hands in an online transaction will presumably be daylighted in the status bar (yeah, like they’ll all fit), it’s how this feature is being pushed through that scares the bejeebies out of me the most.
And dammit, I feel like more of my online childhood is being robbed from me.
Think about it. Why is this feature being introduced? Who does it really help? Who does it really stand to benefit the most? Lemme give you a hint: it’s not you and it’s not me (despite what the proponents might say). Let me quote:
This change is being considered in large part because some very popular websites have asked for a solution to this problem.
Gee, can’t imagine which "very popular websites" those would be. Scoble, are you asking for features in competitor browsers again? C’mon man, we talked about that!
Oh wait, not that kind of popular… that kind of popular! As in… "all knowing, all seeing, all controlling"?
Oh oh, I get it; yes, exactly: to make tracking your behavior easier for advertisers.
And here I thought the next name for Firefox would surely be Volksfoxen.
If the features of the next generation of browsers (Firefox 2 Alpha is just around the corner etc etc) are being driven by advertising, TBL help us.
I mean, sure, we’re trying to ask some serious questions about what the next 10 years of browsers look like too and we’re also funded by dudes with stogies in dimly-lit rooms (oh what, I’m not supposed to say that?), but, as far as I’m aware (remember, I’m young, dumb and naive), I haven’t been asking what the advertising industry has on its wishlist when I design features. Nor the RIAA et al. Nor enterprise. And no, that hasn’t happened with Firefox just yet, but I’m just concerned that if we’re not vigilant, it might. (Hey,shuddup, it might!)
I mean, the future of the web that I’m interested in investing in doesn’t treat people as statistics to be quantified. No, instead it’s more about what they have to say, what their contributions to this massive jerky conversation pool might look like, what bit of brilliance they might shine on the web that will change my life forever. It’s happened a couple times already and it didn’t result from monetizing the web better.
This send_pings feature reeks of special interests. So hey yeah, just because we’re downstream doesn’t mean we’ve gotta accept everything that trickles down. Insomuch as I’ve yet to be convinced that this feature doesn’t do anything to humanize the web or improve web standards, or help people communicate better, I’m moving to keep it from landing as default "on" in Flock. Call me a luddite, fine, but bug logged. Consequences, well… be damned.
The Case for Community Marks
Executive summary: In recommending the establishment of Community Marks, I propose that an alternative to trademarks is needed for community-based projects like Bar Camp and Microformats. The need for Community Marks stems from the non-commercial focus of these projects and the way these projects spread virally on the web. While we need to protect the integrity of a brand like Bar Camp, licensing and legal enforcement is too costly in terms of time and money to make sense for loosely joined communities. Therefore, if we can leave enforcement up to the community via the Community Marks denotation, we will be able to serve the vital function of identifying a community’s work and projects without burdening that community with undue legal process and enforcement costs.
You can’t imagine how excited I am to write this post… not only is it an important one, but I’ve just gotten my busted laptop back and wow (is this bad?) I feel like I have my life back again. Never really thought I’d say such a thing, but eet’s true I teenk.
So I’ve been discussing the idea of Community Marks with a wide number of folks for some time (starting back when I was working on Spread Firefox and preemptively released the hi-res versions of the Firefox logo before I had full authority (that post has since been taken down)). I believe that this idea is an important tool which has grown out of the emergent philosophy that I see in the camps and in community-directed, “unowned” projects like Microformats.
Let’s get into it: I’m not a lawyer and I will never pretend to be, but that doesn’t really matter as far as I’m concerned and I’ll tell you why.
When it comes down to it, law is totally made up by humans. It’s just a system of conventions that codify certain beliefs about morality and righteousness within the context of a given civilization, society or group.
Laws weren’t and aren’t always penned in Congress, either. In fact, unbeknownst to most school children, that timeless classic that tells of the “life of a bill” is simply a story that you can choose to agree or disagree with. For the purpose of this discussion, I disagree with its fundamental premise that all laws (and rules governing trade and so on) must go through that process to become “real” or as enforceable as any other law.
Sure, this could be an academic or artistic inquiry on my part, whatev, that’s fine. Today, I’m interested in a little armchair-legislation, the kind that has no teeth or legal basis in our current legal system, but nevertheless solves an important need with which existing law currently doesn’t deal: the need for community owned and enforced marks (as in an open alternative to trademarks).
I won’t belabor where this all came from, but suffice it to say that the SpreadSpread campaigns (Spread Firefox, et al) have repeatedly encountered problems when commercially valuable trademarks need to be put in the hands of a community and the public domain is not an option.
The view heretofore has been that this is necessary, with dubious restrictions that protect the ability of the trademark owner to enforce their brand and indeed ensure the perceived quality that their logo, wordmark or servicemark represents.
In the case of Firefox or Flock, even though they are the result of countless hours of volunteer effort, you still need to be able to prevent some nefarious hacker in the remote expanses of cyberspace from releasing a spyware-laden version of either browser and calling it by the name of the official binary. Allowing such behavior could conceivably cause confusion in the mind of the consumer and potentially lead to an economic impact on the brand’s reputation. Therefore, it would be legitimate (and legal) for either Flock or Firefox to go after the offender and stop them from continuing such behavior. Just check out the DMCA on the lengths one can go to protect their IP in such a situation. Seriously.
And that’s why trademark was created: to make sure the people who own a brand can enforce their dominion over it to keep making money off it unfettered.
Um..
I mean.. uh… “to guarantee the integrity of a brand’s goods or services in order to prevent confusion in the marketplace.” (Stupid Freudian slips!)
So anyway, that’s all good and well, but it’s not enough. And it doesn’t address the issue I’m trying to resolve: the need for a mark that is owned, operated and enforced by a community that isn’t driven by purely economic interest. Instead, the motivation derives from the desire to uniformly represent their work product as the output of a specific community. Period.
So the case for community marks is primarily necessitated by projects like Bar Camp, which collectively is the product of scattered cadres of individuals the world over who take ownership of the brand on behalf of the larger community. None own the name or mark outright, instead they agree to hold an event based on Bar Camp, espousing its primary principles; in that way, they are extending the reach of the mark and therefore have earned a de facto license to use the Bar Camp logo and moniker. Now, should another separate event be created with primarily commercial gain in mind that uses the Bar Camp brand and co-opts the integrity of the name, it would be up to the community to go after and enforce the brand, either through blogging, boycotting or other subversive means. We simply don’t have the financial or temporal resources to go after such an offender, but we do have a small army whose response could be economically devastating to that effort.
I mean, let’s look at two precedents here: Creative Commons and Microformats.
With Creative Commons, you’ve got this idea that maybe not everything needs to be owned exclusively by default… Maybe you can allow for some distributed ownership of intellectual work in order to grease subsequent derivative creative expression. And maybe both the community and the original author will see benefits.
With Microformats, they’re leveraging community behavior to standardize the way we mark up our documents for the benefit of everyone. No one owns Microformats, though Tantek et al do a pretty good job shepherding the community. Nevertheless, the result of their work is something that the community takes pride in, identifies with, would be willing to expend individual effort to defend the integrity of.
And we learn two more things from them: to solve human problems as a primary objective and second to pave the paths of existing behavior. Don’t reinvent everything all the time. Just do what’s simple; just codify what’s already being done.
And gee, we’ve come full circle haven’t we?
Microformats are basically mini-laws for marking up your documents. Hell, go ahead and break them, do your own thing, there’s no punishment because the community doesn’t see punishment as being in line with its sense of justice. But joining up and following the rules, in this case, will actually bring you some benefits and not to mention, make your life (if you’re a user of the web, anyway) a little bit better.
So let’s codify this need to represent community works in a common mark. I want to be able to put a stamp on the work that I do within a community that identifies it to the world — that says: Me and a buncha folks made this and we’re proud of it. We did it not to make money but out of passion and love and because it’s in our nature to create without secondary purposes in mind.
And then let’s call it a Community Mark to make it clear what’s driving our purpose. It’s not trade — it’s the community, stupid! And from now on, if you want to create your own Community Mark, just slap a CM on your mark and hope for the best. Hell, we can’t enforce these things unless we hand them over to a broader community anyway — and since it’s really the community that owns the mark anyway, who better to look out for their wellbeing?
Web Developer Extension 1.0 in the wild!
Chris Pederick‘s excellent Firefox/Flock compatible Web Developer Extension 1.0 is out. Don’t code without it!
Improving composition in browsers
So a bunch of us at the newly opened up Flock HQ were discussing the Performancing extension today, wondering how we could both support and benefit from their work… It’s clear that we need to improve the quality of composition tools available in browsers, period. Doing this by elevating the experience and smoothing out the behavior of the Mozilla editor (which both Flock and Performancing use) seems like the way to go, creating value for the open source, Flock and Firefox communities.
As it is, Firefox ships with this editor built-in. Thunderbird uses it too, as does NVU (though I believe that they forked awhile back). You can imagine that refocused effort on this editor could potentially lead to an alternative to plain textarea that’s both stable and adequately featured (as opposed to hacking on an embedded solution).
So the thing is, how do we go about defining and building out the specs for the next generation Mozilla editor? How do we better collaborate with folks like Performancing to make this a reality?
As for Flock, well, this effort really needs to exist as a community-wide project. We’re all already pretty focused on other aspects of the browser and while making changes the editor are essential long term, it’s not in our immediate roadmap. Sure, Anthony makes incremental changes here and there (replacing the span tags, for example), but we just don’t have full time resources to allocate at the moment.
And that’s where the work that the Performancing community is doing comes in. Ideally if we can collaborate and coordinate on the needs we both have, we can begin to craft a list of user experience and development requirements to support our comingled goals of bringing blogging to Firefox and Flock users.
Ajaxian recently posted an Ajax Office Roundup that provides us some insights into how people are trying to use editing in browsers. The reality is, we don’t need Word for the web, especially when it comes to blogging, but we do need some established basics, like bolding, italics, blockquoting, linking and so on. And while those are already fairly well accounted for in the existing editor, we’ve got to look beyond formatting to natively supporting rich metadata in microformats and other forms of structured blogging.
I’ll be pinging the Performancing folks to see if they’re down for working together somehow. Maybe we start be cross-polinating each other’s forums.
After all, this is about choice and working on building awesome tools. This is what open source is all about. So hey now, here’s a quintessential opportunity for us to get some benefit and promotion for the work we’re doing anyway.
CocoaRadio interview posted
I’ve got another interview out in the wild, this time at Blake Burris’ CocoaRadio.
The interview was conducted at my favorite San Francisco cafe, Ritual Roasters, so there’s a bit of a din in the background. It also took place over a month ago, which makes some of the information obsolete (I wrote about cloning APIs here). On the other hand, I do talk fairly expansively about the vision for Flock… how microformats will help, what it’s like developing a cross-platform Mozilla app and where we’re in general going with Flock.
I think it’s probably the best real-world articulation of what Flock’s all about so far, so if Flock still doesn’t make much coherent sense to you, definitely take a listen and let me know what you think.
Revving a classic cliché
So there’s been some more talk lately about Flock and extensions and relevancy and Performancing’s new blogging tool for Firefox. I’m all for it. The more we talk about open source, about Firefox, about Flock, about coming up with better, cooler, faster and more usable technology, the more we’re inclined to just go build it. And in doing so, make sure that it’s relevant and actually meets the needs of real people.
I have to admit though, the potshots at Flock are becoming a little … tiresome.
So ok, I’m all about being skeptical. I’m all about looking a gift horse in the mouth, in its eyes, and … elsewhere… yah. (Y’know, you gotta make sure there’s no sneaky Greeks lurking about or whatever.)
And this post was going to about that old information autobahn thing and how there’s plenty of room for one more automobile manufacturer. And that was going to be my analogy for why Flock is a good thing for drivers, etc, etc. But I decided that’s a dumb idea. And boring to write. So let me get right down to it.
Here’s the thing. We’ve actually been pretty certain for some time that most of the features that we build into Flock will be eventually be ported back over to Firefox as extensions. Or become commodity features in other browsers. That’s the way open source should work — and the way software development plays off itself — and we’re totally in support of that! The point is not to make a bunch of proprietary tools that only work in Flock. That would be rediculous and counterproductive. I mean, our goal is to make using all the great tools now available on the web easier to use by building a more consistent user experience. Yeah, that’s our big top secret plan.
So why build our own browser if we’re in support of this whole extension model anyway? Well, let me paint a picture of my vision for Flock and why it at all makes sense that we continue doing what we’re doing, no matter how many extensions come out and attempt to mirror our featureset.
Cue lights … cameras rolling… pull curtains … 5, 4, 3…
So in the olden days, there was a web of interconnected computers and file servers and yada yada that were conceived of as a massive network of libraries containing all kinds of hyperlinked data and information. Now, pieces of that data had individual addresses, just like books in libraries had unique identifiers called Dewey decimal numbers. Thus pieces had a static position in the system and you used a web browser to pull up those pieces of data. So when someone added a piece of information to the network, say an online shrine about their cat, it got its own address, acronymically known as a URL.
So so so, jump forward in time a bit. Welcome to today, a time of spheres… blaw-go…spheres… where currency is measured by one’s attention-magnetism and linkification, where if you don’t have a blog, you don’t have a pulse and you’re dead, kaput, worse than history, see ya later, sayonara, did you even exist in the first place? Oh yeah and what’s your feed again?
Hmm. So let’s slow it down a second here. Get this, here it comes, I’ve got a visual metaphor to sink yourself into: so say you’re walking down the street, a crowded street. Let’s put you in Manhattan, or Boston, DC, Copenhagen, Tokyo wherever. Look, it’s busy. 10,000 people trampling the sidewalk concrete and they’re all in chaos, no no, wait, calm, but y’know, this is chaos theory in motion.
This is 100,000 people walking down the concrete towards you, you, you’re walking the other way — who knows why? you just are — and there are these crescendoing voices around you, swirling, smashing conversations. You’re grasping at words, sounds; the ring of cell phones, change being dropped between high heels and rubber soles. A cacophonic masterpiece of human communication.
So listen, you hear something, it piques your interest, you think to yourself, “Aha.”
Moving towards it, crowd parting in front of you, shoulders meeting; you sideways, all arms and elbows, towards the sound. One motion, you blur, find the source. Listen, speak, are heard, enlightenment and voice. This is conversation. This is fleeting. This is connection and this is what sustains you.
Now there are ten of you. Ten. Or maybe ten hundred. And each one of you is having this experience. As you weave your way in and out of the throng, you’re merging and joining ongoing; nascent; 1,000-year-old conversations. Say your piece, move on. Don’t stay too long, surely something else as interesting is being said … just around the corner.
Ok.
Stop.
Curtain down, lights go on; watch your eyes, it’s bright.
Now that, that picture, that experience, that’s the web. Yeh, that’s the web today except imagine it with your eyes closed, with blinders on, with the sound fuzzed out and staticy, with orange icons all over the friggin’ place. And yes, every now and then some jack-in-the-box assclown pops up trying to sell you V_1agra.
It almosts make me want to go back to the old library model.
But no, see, that’s where Flock comes in. Or I don’t care, don’t call it Flock. Whatever you want, but that’s where the thing we’re building comes in. That’s why we exist, that’s why we matter, that’s what the point is.
Yeah, Firefox and Duct tape, it’ll help. Sure sure. It’ll get you some of the way there. But hell, when I’m talking to someone, engaged in a conversation that threatens my very existence, or that threatens to change the way I flip my omelettes, man, I do not want my mouth to fall off at the jaw because it wasn’t tested, wasn’t built right, didn’t have a million beady eyes boring down on it while it was being fastened to my head, making sure the stupid thing would function in the real world without needing pliers or a tire-iron to get it to work right. No, I do not want my memory to hiccup, to recede, for me to lose my place in line, to have my line of thinking severed when I’m talking to someone else. I need to be there, fully, to be there in the conversation, as a whole, as one integrated thing, yes yes, a fully functioning machine. No, I don’t want to be some bootstrapped, schizophrenic, unintuitive, semi-confused and incomplete afterthought kludged together and mistaken for a vision of the real thing. No, I want more than that, I want to be as in the conversations that I have online as the ones I have offline — I want to get to the point where there is no difference, that a conversation is a conversation is a conversation. It’s sharing understanding and it’s sharing confusion. I need a tool that helps me achieve that. It needs to understand things the way I understand them; it needs to reflect the reality of what’s going on online today.
When was the last time you thought twice about the fact that you’re talking to a digital signal every time you use your cell phone?
Or how about the fact that your instant messages (which indeed seem so instant) actually travel over thousands of other people’s computers and servers before they reach you?
And your email? Even worse. If you think herding cows is messy, you should see the way email is schlopped all over the place.
The point is this. These technologies have become second nature vehicles for communication and expression. And blogging, podcasting, vlogging and the whole lot of recent “mecasting” technologies aren’t as integrated, aren’t as easy, aren’t as accessible as they need to be for them to be picked up and made as commonplace as the telephone (or cellphone, if you prefer). Point Four Percent of the population is nothing (that’s 23.6 million blogs as a percentage of the world population by the way). And yet another extension is not the answer. I don’t even know if another browser is. But we need something that works to solve this problem… or at least to make it better.
Yep, we’ve got a vision for how a browser with a different understanding of the web can help. We wouldn’t be building it otherwise. This is what drives us to make Flock the best possible, most easy-to-use and most useful tool it can be, because we’re experiencing all the same problems that everyone else is. Just coz us at Flock’re a tech savvy bunch doesn’t mean this stuff comes easy for us either. And for chrissake, it’s got to get easier, so much easier, if these conversations are going to include and be accessible to those who most need a voice.
On Integrated Feed Reading
Ryan King pointed me to a post by Tim Bray about how unintuitive feed consumption is in browsers today.
I couldn’t agree more. Indeed, RSS and general feed consumption in browsers have been tacked on, hacked in, and bludgeoned into the UI in inconsistent and narrow ways. Safari‘s got its poorly-named RSS view. Firefox (for now) has its simple toolbar and livemark feature as well as countless third-party add-ons.
We’ve also got some great web-based and desktop tools whose tasks are to deal only with feed content.
But all those are simply not sufficient nor reflect how fundamentally syndicated content is changing the way people interact, publish and share on the web.
To date, we’ve taken mere baby steps towards a truly syndicated web. We’ve tended to stay close to our concrete, static websites because of the familiarity and stability they offer us. We’re used to things existing in one place at a time in real life; on the web, general expectations have stuck to this powerful paradigm (look, I had a talk with my mum about this stuff so I know it’s true! If you already get RSS, you’re excluded from this generalization (notice my use of the word “general“?).
What is becoming increasingly clear, however, is that the old ways of thinking about content and where it should exist (or indeed where it actually does exist) no longer need apply. Consider podcasts, the perfect example of empheral media. You can’t search for podcasts directly; no, instead you have search for text about the podcast unless you go to some visual directory, which still relies on word and image (still not aural search technologies — we need the Riya of podcasting!). On top of that, you typically have to download the “physical” file and play it locally or on your pacemaker, severing the link back to the original source which may be updated or changed later.
The point is this: Tim Bray is not only right but the problem he describes goes deeper than just poor feed integration and workflows in existing browsers. It’s that browsers aren’t moving fast enough to embrace the potential that syndicated content has for radically improving the efficiency, responsiveness and collaborative nature of the web. Think about all the information you consume with feeds already — it’s only going to get worse until browsers fundamentally look at the web as an event stream and less as a library of independent books and pages.
Browsers in particular need to change to address this emerging opportunity and make it both easy and seamless to leverage the benefits of syndicated content. Flock is obviously taking a stab at it, both in the browser and in how we’re architecting our web real estate (or should I say faux estate?). In my view, Flock is an API aggregator that lives and breathes syndicated content. Yeah sure, it’ll load up webpages like any other browser, but it’s how we expose web services and feed content that’s really exciting and new.
So now I’m curious. As hourly Flock builds aren’t terribly stable, I’ve been without an aggregator for some time and so I’ve probably gotten behind in personal aggregation trends. How have you guys been managing your feeds? I notice that I get a lot of traffic from Bloglines and Rojo, so what are the key features you’re dying for in a syndicated content app?
XUL Hackfest at SHDH
I met up with Jesse Andrews (of BookBurro and Userscripts fame) and Kragen Sitaker last night and they suggested that we have a bit of a XUL show-and-tell-hackathon at SuperHappyDevHouse. I’m wickedly stoked.
And just maybe I’ll get a chance to whip Rhyzomatic into functional form. Finally!
Mozilla Thunderbird Gets Firefox-style Tabs
Someday Firefox and Mozilla will be one glorified application (Ok, kidding, we’ve been there). But until we go back there, Thunderbird will have tabs.
