A Common Interface

When people say something I want to respond to, I respond to it. And other people are, hopefully, responding to me if I say something interesting. When I respond to what others write, it is a compliment. It means that what was said definitely got my interest, regardless of whether I agree with what was said or not. When people respond to me, I take it as a compliment, even when they call me nasty things. (Go ahead! Call me a bitch! I live for this!)

Having carefully said all this, I find I do want to respond to something Dave said on Scripting News. I have to respond — to hold it in will cause me an injury.

I was a developer before the Web was even a twinkle in Berners-Lee’s eyes. I love to program, and have worked — worked mind you — with 18 different programming languages, including C, C++, Java, Perl, Snobol (any of you recognize this one?), Smalltalk, Ada, Pascal, Modula II, FORTRAN, LISP, and so on. And I still love to program, though I spend most of my time designing technology architectures and writing now.

When the web came along, it was love at first byte. I thought that this was great stuff — a universal front end to any application. I was so sold that I focused as much of my professional life on the web as I could, and still pay the bills.

I wrote books and articles on CGI and DHTML and JavaScript and XML and CSS and ASP and a host of other web technologies. Even today I find I am as fascinated by the web as I was waaaaaaaaaay back in the beginning. I’ve never seen that the web is low-tech. If anything, I find myself being stretched more by the web than by traditional programming.

In all this time, I just don’t remember there ever being a battle between C developers (I’m assuming by this Dave meant people who don’t want to use the web as an environment for their applications) and web developers. Not all applications fit the web, and not all companies have chosen the web for their environment — but that’s not developers, that’s just business. Most companies today use applications from both environments, something that will probably continue to be the norm into the future. (We don’t want to use Word over the Internet as a service, no matter what Microsoft says. Same for PhotoShop)

There’s discussions — constantly — between server-side folks and the designers. I know that I’ve had a lively chat or two with the WSP people who are, primarily, web designers. But most developers I know of, such as myself, are thrilled to play with the new technologies the web has provided. There might be a few who don’t want to play web, but most of us are as happy (or more) working with web development as we are with traditional development.

The whole thing is really about services isn’t it? Providing services to people who need them. Most computer-based functionality is nothing more than services wrapped in a front end — doesn’t matter if the front end is a VB application or a web page. All that matters is that the services are prompt, efficient, secure, accurate, and effective. If some people prefer to create the front end in VB and put both service and front end on one machine, that’s cool. If they prefer a web page, that’s cool. Where’s the battle? Apples and oranges.

As for Netscape and Microsoft and the W3C not having a vision for the future of the web, oh they most certainly do and did. Microsoft’s whole vision is .NET and owning the internet. In fact, the company’s vision scares me most of the time. Netscape also had strong designs on the web before they became the underdog. As for the W3C, we wouldn’t have the web without this organization’s efforts. I may preach chaos, but I practice chaos on top of a specific development platform, and I have that platform thanks to the W3C.

The key is that there are a lot of groups and people who have their own visions for what is the future of the web. If we continue to work towards a common interface, then we can each practice our own vision and our own chaos behind that interface. But we must have this interface, and I’d rather it be provided by an organization that doesn’t profit, then one that does. The interface cannot be owned by any one company, any one organization, or any one person.

Full Peer

Dave’s looking for a definition for a full peer. I’ve never heard of the term “full peer”, and the qualification about being connected 24 hours doesn’t necessarily fit within a P2P (peer-to-peer) environment.

In P2P, a peer both provides and consumes services. A group of peers can then provide and consume services to and from each other without dependence on any one server. With this understanding, there’s an assumption that this consumption and distribution occurs when the peer is connected.

Within some P2P enabled applications, the communication may be cached or queued when the peer is not connected. I know this the way Groove works.

Within Freenet, any one of the nodes within the network can consume or supply files. But if a peer is not connected, it’s not part of the network, it isn’t a participant and files are consumed and supplied through other participants. Either you’re a peer, or you’re not. Again, the assumption of 24 hour access is not a factor.

Some systems support a hybrid cloud whereby service requests are cached at a remote location (usually hidden from the peer), waiting for the other peer to connect. When the other peer connects, the communication is concluded. The results of the service call can then be communicated back to the originating peer, or cached itself if the originating peer is offline.

In a true P2P system, any one of the peers within the network could act as a cloud (intermediary) for other peers. Within a hybrid system, such as Groove, the system itself might provide these types of intermediary services.

As for firewall issues, most P2P tools can work from within firewalls, or be made to work within firewalls.

Dave, an interesting definition – but I don’t necessarily see it within a truly distributed system. What’s your context for the term? That would help.

More on Zeldman rant

There’s been confusion about why I reacted so strongly to Zeldman’s posting, earlier in the day. Copied from an email I just to a friend:

Zeldman sees only wrong within the Internet. The industry is stupid. Content created without web writers is bad. He seems incapable of seeing the wonder that surrounds him, and that touches him in his everyday interaction.

Case in point – metadata has nothing to do with websites being visited or not. Not really. It’s all about how to generate buzz. We know this from weblogging; it’s all a game. None of us uses meta-data to connect via weblogging. In fact, we’re seeing the beginning instances of a truly semantic web through the human element contained in weblogging — and all Zeldman “sees” is that too many sites aren’t accessible.

I agree with him that web writers aren’t valued as highly as they should; I disagree with the assumption that only web writers can create good content.

It’s elitism and I’ve been fighting this on the internet since day 1. Zeldman is an elitist. If he’s talking about hiring firms, I’m not seeing this from his post. Perhaps the viewpoint is based on our different perspectives of Zeldman.

Red Hat and AOL

At first I thought the reports of Red Hat and AOL in discussions were a joke. However, I found out otherwise.

I like my friend Andy’s view of the possibility at O’Reilly – chances are this is going to be a mix that won’t favor either open source or technical innovation. AOL may be business savvy (and known to be rather ruthless in this respect), but the company is also a technology killer.

John Robb thinks that AOL should package and distribute Radio as an alternative to .NET. John, apples and oranges. Radio ain’t .NET. And remember what I said about AOL being a technology killer. Radio is Userland’s baby – you sure you want to hand it over to the really, really big BigCo Suits? What’s the price of success?

Two monopolies are not better than one. A world with AOL and Microsoft sharing dominion is no better than Microsoft having dominion alone.