Tag: OSCOM

Atom

I support the Log Format Roadmap because it has a fighting chance to become the first practical step to achieve CMS content interop. Blogs will drive adoption of the principles stated in against the grain. As a weblog vendor, I support it because it will drive the adoption of better tools, and will increase the market for everyone.
2003-06-27: Sam Ruby has been spearheading a major standardization effort in the blog world recently, and he has this to say about his motivations:

About a month ago, my interest and activity in this space kicked into high gear. I started attending weblogging conferences.

Far from claiming to have been the inspiration, it is still very nice to think that OSCOM was able to contribute to the drive towards standardization. This is the stuff we are talking about.
2004-06-08: So that is what Greg Stein has been up to. The sprint was much fun, as were the drinks.

Ever since Atom first popped up, I’ve been interested in it, and even attempted to join a small sprint/discussion at Seybold last year to talk about WebDAV. The bomb threat shut that down, but we simply moved locations for drinks rather than hacking 🙂 So while I’ve been tracking it generally, my specific current interest is through my work at Google. I’m the engineering manager for the Blogger group, so I’ve gotta pay some attention to what we’re signing up for 🙂

2005-09-06: All feeds for this blog now serve Atom 1.0. It will be interesting to watch if anyone notices / cares. Longer term, /atom.xml is the canonical url if you want to subscribe.
2006-10-18: RSS / ATOM / OPML schematron is much easier to work with than the mysterious feed validator code. Plus it works for really huge feeds. This has the README for the RSS validator. Pretty out of date, but a good starting point. For one, you need the latest schematron from Rick Jellife, not the old one on this site.
2006-11-21: Gdata JSON. They also do jsonp, and reuse the Atom serialization.
2006-12-01: GData for Google Spreadsheets. The data web circle gets more complete. This is (one) counterpart to the web formulas in Google Sheets. Now as to how GData can play in the semweb space. Maybe via Queso.
2007-01-31: Tim wonders how to use Atom categories properly. Link to the wikipedia url of the tag I’d say.
2007-02-14: If you browse to a page with an RSS or Atom feed, you get the option to immediately add that feed to Google Reader for mobile via Mobile Proxy Feed Discovery.
2007-03-31: Some Atom extensions by nature to encourage text mining. I don’t know.. They do not seem to reuse core Atom in their examples. Plus I am not sure how useful a word count really is.
2007-05-16: GdataServer

Generally speaking, the Lucene GData Server is an extensible syndication format server providing CRUD actions to alter feed content, authentication, optimistic concurrency and full text search based on Apache Lucene.

2007-05-25: APP frontend to LDAP. This might enable some interesting scenarios.
2007-06-01: Opensearch / Atom interface for Swiss whitepages. Nice!

Wir haben für unser Telefonbuch eine Schnittstelle entwickelt, welche es erlaubt unsere Telefondaten in anderen Applikationen oder Websites zu integrieren. Die Schnittstelle basiert auf dem Konzept von REST. Die Resultate werden als Atom-Feed geliefert, welcher mit OpenSearch- und tel.search.ch-spezifische Felder ergänzt ist. Mit Hilfe eines Schlüssels werden die Resultate auch strukturiert zurückgeliefert. Die Resultatzahl ist pro Abfrage auf 200 Einträge beschränkt.

2007-06-08: GData Fails as a Protocol

Gregor Rothfuss wondered whether I couldn’t influence people at Microsoft to also standardize on GData. The fact is that I’ve actually tried to do this with different teams on multiple occasions and each time the I’ve tried, certain limitations..

2007-06-10: Oy. And all this because I asked Dare why Microsoft doesn’t use APP.

There was quite a flurry of blogging about the Atom Publishing Protocol (APP) over the weekend, all kicked off by Dare Obasanjo’s criticisms of the protocol. Some of the posts were critical of Dare and his motives, but I’m thankful he started the conversation.

2007-07-26: The chorus for putting more REST into GIS / mapping gets louder, yay

The only thing needed to bring together this messy new world Atlas, is a global agreement about the structure of the data used to annotate the maps, as well as agreement on the format for retrieving such.

2007-07-28: WFS simple was hijacked, as usual, by people who don’t understand why worse is better. This is why I am not in the least interested in WFS and am betting on APP instead.

if the geospatial standards community continues on this path of isolating itself, of looking upstream to the ISO rather than downstream to the distributed neogeo developer community, it will miss out on being connected to amazing things.

Here’s a Feature Demo of a RESTful WFS-T with a call for GE to support posting of features. I would go further and ask for APP support.
Version control for Collaborative Mapping. Calls for diffs and patches. Might be built on top of an APP infrastructure, imho

The next major area of tool improvement I see is expanding the wiki notion of editing to more of a merging revision control model, with branches, versions, patches and eventually expanding in to distributed repositories. The ‘patch‘ is a small piece of code that can be applied to a computer program to fix something. They are widely used in the open source software world, both to get the latest improvements, and to allow those who have commit rights to a source repository to review outside improvements before putting them in. This helps create the meritocracy around projects, as they don’t let just anyone in to the repository as they might break the build. Such a case is less likely with maps, but sometimes core contributors might want to see a couple sample patches before letting a new member in. In the GeoServer versioning WFS work we have a GetDiff operation that returns a WFS Transaction that can then be applied to another WFS. This fits in with the technical part of how a patch works – they’re really easy to apply to one’s dataset. But unfortunately a WFS transaction is not as easy to read as a code patch. The other great thing about patches is that when leaf nodes are updating their data they can just request the change set – the patches – instead of having to do a full check out. So I’m still not sure how to solve this problem, the WFS Transaction is the best I’ve got, but I think we can do better, have a nice little format that just describes what changed.

Better UIs for Collaborative Mapping. More calls for rollback tools, and would like to see GE post to geoserver, etc

I think we need more user friendly options for collaborative editing. Not just putting some points on a map, but being able to get a sense of the history of the map, getting logs of changes and diffs of certain actions. Editing should be a breeze, and there should be a number of tools that enable this. Google’s MyMaps starts to get at the ease of editing, but I want it collaborative, able to track the history of edits and give you a visual diff of what’s changed. Rollbacks should also be a breeze – if you have really easy tools to edit it’s also going to be easier for people to vandalize. So you need to make tools that are even easier to rollback.

2007-07-29: Atom Futures

AtomPub sits in a very strange place, as it has the potential to disrupt 6 or more industry sectors, such as, Enterprise Content Management, Blogging, Digital/Desktop Publishing and Archiving, Mobile Web, EAI/WS-* messaging, Social Networks, Online Productivity tools. As interesting as the adoption rates, will be people and sectors finding reasons not use it to protect distribution channels and data lockins with more complicated solutions. Any kind of data garden is fair game for AtomPub to rationalize.

2007-07-30: Towards signed feeds

Why Digital Signature? This idea was first proposed by James Snell, and it’s a good one. Mind you, the benefits are a little bit theoretical, since no feed-reading clients that I’ve seen actually check a digital signature. The argument for this is similar to that for TLS; a bad guy who could somehow insert a fake press release into the feed could make zillions by gaming the share price. A verifiable digital signature would let someone reading the feed know that the news in it really truly did come from Sun.

2007-07-31: Atom for KML. Nice. I want to do more, but this is a good start. The Atom / KML meme spreads. Perception is reality, and I approve.
2007-08-03: Appfs

appfs can mount remote resources exposed via the Atom Publishing Protocol as a local filesystem.

2007-08-07: RESTful partial updates. Maybe useful for APP / KML to supplement update

over the past couple of months, there’s been a lot of discussion about the problem of partial updates in REST-over-HTTP. The problem is harder than it appears at first glance. The canonical scenario is that you’ve just retrieved a complicated resource, like an address book entry, and you decide you want to update just one small part, like a phone number. The canonical way to do this is to update your representation of the resource and then PUT the whole thing back, including all of the parts you didn’t change. If you want to avoid the lost update problem, you send back the ETag you got from the GET with your PUT inside an If-Match: header, so that you know that you’re not overwriting somebody else’s change.

Zend Google Data Client

The Zend Google Data Client provides a PHP 5 component to execute queries and commands against the Google Data APIs.

2007-08-14: Winer on Atom. Sore loser.
2007-08-19: How to deal with the sliding window problem where feed producers update more often than consumers, and consumers thus might miss entries.
A standardized way to get at previous entries that have scrolled out of a feed, and at the complete archive.
2007-08-28: YouTube GData. Nice to see more media-heavy usages. Now we have pretty much all of them, only KML is missing.
2007-10-29: APP Lock-In. So cute. Microsoft is in a tight spot: Admit they have no strategy and use APP, or invent their own. It seems they are trying to build a case to do just that.

It seems that while we weren’t looking, Google move us a step away from a world of simple, protocol-based interoperability on the Web to one based on running the right platform with the right libraries. Usually I wouldn’t care about whatever bad decisions the folks at Google are making with their API platform. However the problem is that it sends out the wrong message to other Web companies that are building Web APIs. The message that it’s all about embracing and extending Internet standards with interoperability being based on everyone running sanctioned client libraries instead of via simple, RESTful protocols is harmful to the Internet. Unfortunately, this harkens to the bad old days of Microsoft and I’d hate for us to begin a race to the bottom in this arena.

2007-12-06: FeedSync. The full syncing requirement makes this heavy weight

Although FeedSync is capable of full-blown multi-master synchronization, there are all kinds of interesting uses, including simple one-way uses. Consider, for example, how RSS typically has no memory. Most blogs publish items into a rolling window. If you subscribe after items have scrolled out of view, you can’t syndicate them. A FeedSync implementation could enable you synchronize a whole feed when you first subscribe, then update items moving forward. It could also enable the feed provider to delete items, which you might not want if the items are blog postings, but would want if they’re calendar items representing cancelled events.

Server Agent strings

<meta name=”generator” content=”Adobe GoLive 4″/>
<meta name=”generator” content=”Microsoft FrontPage 4.0″/>
<meta name=”generator” content=”Mozilla/4.7 [en] (WinNT; I) [Netscape]”/>
<meta name=”Generator” content=”Xaraya :: .903″ />
it seems it is 8 years too late to define a best practice format. the consensus seems to be, as roger pointed out, productname/version
quite a few tools already utilize the meta generator tag, although its use seems to be much more common on the html authoring side than on the cms side. time for a survey, and spreading a little RFC.

Open coding innovation

Technology should not be pursued for its own sake.
George is focusing his talk on the threats of technologies. technology will move forward, no doubt. what ethical measures can help to guide the ascent of new technology? a new social contract is needed. apparently there are licenses that go beyond the GNU GPL to enforce desired behavior in a more diverse field.

The Hacktivismo Enhanced-Source Software License Agreement (HESSLA) is a software source license that tries to put restrictions of ethical conduct on use and modification of the software.

i never really considered licenses as a moral imperative. dunno if these efforts will go anywhere, it seems they will have a hard time as i believe law is a bad tool to shape human behavior.

EAI

i’m being interviewed by open enterprise trends about my recent piece on advogato.

1. What “lesson learned” about getting different open Source projects to work together did you learn from SlideML?
– micro steps are preferable to lofty goals that you never reach anyway
– the same technical issues pops up in different environments, you just need to find a common language to recognize that you are sitting in the same boat

2. What are the “hazards” a developer team should be aware of when they begin to introduce Open Source into a commercial enterprise? (For instance, with commercial software, the conclusion is almost ALWAYS that the software from Oracle, IBM, Microsoft and others WILL work together — even if they have to spend millions with a professional integration services firm to do it).

not all open source software has a sufficiently large community to support its further development. becoming a respected open source citizen takes some work, but is crucial for organizations if they ever want to roll back their modifications into the main line of development. getting support is also much easier if a community respects you. this usually means organizations have to adopt a humble approach towards open source communities. ibm was not welcomed to apache by virtue of its brand, but rather each ibm employee had to prove his worth by valuable contributions. given enough resources, open source software of course integrates even better than proprietary software because all pieces can be molded as needed. for practical purposes it makes much more sense to look out for standards support (see below)

3. You mention a key lesson learned from CMSML: [From your article “Lesson: Don’t be afraid of the proprietary world, and seek collaboration for open standards with it wherever possible.”] Can we drill down on that idea a bit? How would you suggest an Open Source and/or commercial developer team “seek” such collaboration? Would you suggest how to do that, for instance, when working with Apache/Tomcat. PHP or MySQL?

there are many areas (file formats, internet standards, naming conventions) that are the low-hanging fruit for both sides. if you observe the blog ecosystem you will notice that individuals from competing firms nevertheless collaborate on technical issues and share implementation experiences. (sam ruby (ibm) links to don box (microsoft) and so on) let the individuals touch base. engineers can relate to each other, never mind the politics of open vs closed. that’s how we did it.

4. What’s your take on the emergence of “open standards” for commercial products, such as C#, JBoss for instance? Does this “middle ground” present something that open Source developers should be in favor of, rather than against?

absolutely. open standards are crucial. applied correctly, they enable the emergence of vast software ecosystems. the emergence of the internet both wouldn’t have been possible without, and greatly promoted the value of open standards. open standards are not really a middle ground. i view them as somewhat orthogonal to the question of whether the source is open or not. there are open source programs with undocumented file formats that are in essence no better than any proprietary program because it is just not cost-effective to glean the format from the source code. the oft-heard argument that because you can reverse-engineer a format with the help of the source code, that software is “open” is fallacious.
for all practical purposes, organizations do not have the resources to undertake that effort, and they thus are not really able to hedge against closed formats by picking open source programs.

Collaborative Mapping on the Semantic Web

i want to invite jo walsh to oscom 3. she recently gave a talk which would fit into the semantic web track quite nicely.

this is a kind of collaborative mapping project. it consists of geographical models which are represented as RDF graphs. you can wander round them, like a MUD or MOO, with a bot interface which you can use to create and connect new places.
it is an experiment in gonzo geographical data collection, with location grid data extrapolated from and converted between different sources on the internet, and new connections made between them.
it is a semantic web project; it provides a scheme for semantic web identification of places via unique uris. the interaction with people aspect uses FOAF, in the hope that friend-of-a-friend networks can benefit from collaborative filtering as well as collaborative mapping.

very cool.

Bits are forever

someone from DSpace will give a talk at oscom 3.

As a joint project of MIT Libraries and the Hewlett-Packard Company, DSpace provides stable long-term storage needed to house the digital products of MIT faculty and researchers.

fighting bit rot is a very noble goal. will they be able to not only overcome all the technical issues, but find long-term, stable ontologies to describe their content too? i hope i can get answers in cambridge.