Converting SEC Edgar Filings into hCard

Joe Pezzillo of pinged me that he’s shipping a new version of his web mining tool called that can convert SEC Edgar Filings into the hCard microformat:

So, introducing SEC Form 4 Info to hCard Format, a new ready-to-run solution included with Anthracite. It’s a set of three Anthracite documents and an Automator workflow to tie it all together. The latest form info is scraped from the SEC, a particular filing type is extracted, and then all those filings are harvested for contact information which is then converted to the hCard microformat. You can use Technorati to convert these hCard pages into Apple AddressBook .vcf files, I’ve seen it work with my own eyes! It’s pretty slick, if I may say so, and I know that many customers (and soon-to-be-customers) are going to like this, too.

Oh, and I never thought I’d be in the position to say this, but, a note to potential would-be review requesters (I’ve only had two to date): adding support for either or in your product greatly increases the chance that I’ll blog about you! Huzzah! (Of course, having a good product helps a great deal as well).

Alex Bosworth’s API tips

has some great pointers on building web APIs. We’ve been advising many of our clients on building out or planning APIs for their products and this advice is very much in line with our advice (we’re also partial to OpenID and microformats).

Oh, and if you forget your API or microformats at the door, Sebastian has developed a way retrofit your site with microformats using Dapper. How cool!

Designing the Business Card 2.0

openBC's open DESIGN contest

In case you missed it (I know I did), a friend from abroad pinged me about the openBC openDESIGN contest — basically an opportunity to design the Business Card 2.0. (Haven’t heard of openBC? You should!).

They’re looking to drum up interest over in the states, so I figured I’d pass the word along. Heck if you win, it’s pretty good money, so I don’t mind doing a little PSA.

What’s in it for you? Well, according to the contest challenge page, you’ll:

  • Get your design talent featured on a high-traffic site and generate awareness for your microbrand
  • Have your work judged by jury made up of prominent experts
  • Receive a contract to work together with a prestigious and global client to integrate your ideas
  • Win 12 months’ free premium membership if you are voted a weekly winner
  • Be in with a chance of winning €10,000 up front if you produce the winning design concept
  • The winners name will be featured on over 1.5 million profile pages for the first 3 months

Sounds good, eh? What’s in it for me? Well, in exchange for pimpage, there’s a good chance they’ll be doing up their new profile pages in and (now to keep them to their part of the deal… heh.)

Now, the site redesigners have been keeping a log of their efforts across the whole site, almost like watching the Tour de France of web design (getting quite contentious at times). Things are nearing the last leg though, with only a week to go before the contest is up… So, if you want your shot at €10,000, get your entries in ASAP. Veloso, Stamatiou and you 9rules folks — I’m lookin’ at you!

A combined view of the world

NetNewsWire + Shiira Tabs

In a post titled “The new Combined View and hybrid web/desktop apps“, Brent Simmons reveals that’s he’s starting to see the power of AJAX-powered interfaces in Mac apps, namely NetNewsWire (beta 3.0b7 now available).

Going one step further, he makes a very important observation:

The key to the whole thing is JavaScript. When something happens in the page—you click on a news item, for instance—the page calls back into the app, and the app tells the page how to update.

It’s kind of like Ajax in that way, except that the communication channel is not http and it’s synchronous (which it can be, since it’s right there on your machine).

And in that, he’s beginning to pull away at what very likely will become the next generation platform of the next revolution in web development.

For some time, people have gone on and on about the LAMP stack — made up of Linux, Apache, MySQL and PHP. It’s certainly a veritable and productive bundle of technology — if you’re always online. The truth of the matter, however, is that our local content stores don’t sync well with the remote stores… that my local LAMP don’t talk much with remote LAMPs. And in terms of offline productivity, that makes for huge dilemmas.

I’m seeing a third generation stack emerging that holds a great deal of promise for sewing up the future of offline-sync-online experiences.

That stack looks a bit more like Rails, SQL Lite (which the next rev of the Firefox bookmarks will be based on), Microformats, some blend of JSON/AMASS/jQuery/behaviour.js/scriptaculous/prototype and, yes, WebKit. What do they have in common? Well, enough inter-woven stickiness to make the heart of a true web geek start to murmur.

The missing link? The client and server OS component to tie them all together. Now, I’d love to see hAtom used as the data transport and storage mechanism in the OS. It would simply so much… but alas, it looks like RSS is the chosen son in the near term.

Why do I say that I wish hAtom were used for this purpose? Well, consider this. The language of the web is, for whatever you make it, HTML (and lately XHTML). This means that any webpage you visit, and indeed, any feed that you suck up, probably has some of this markup in it. In fact, rendering engines are getting better at both supporting web standards and as well as enabling some crazy cool things that you might not have thought possible before. All the while, XHTML is becoming the modern day ZIP format, able to store rich media as well as metadata about that data in microformats.

The browser is also constantly caching this data for you, in order to load sites faster and faster.

Now think about that: where are you doing most of your work in any given web app? Not surprisingly — in the browser! So you’ve got this cached version sitting on your harddrive with all the JavaScript, all the XHTML source, all the graphics and all the CSS, but nowhere to stick the data should you re-instantiate or open that page from the cache. Which is kind of ironic, since AJAX is all about asynchronous messaging… that is, sending messages non-immediately.

So, the thinking here is… if we’ve got this new “stack” at our disposal, it’s only a matter of time before we rewire our web apps to learn to write to a local SQL Lite store, using Rails as the delivery system, meanwhile storing the views and interactivity later, like Brent has done, in XHTML, CSS and JavaScript. In fact, most of the entire stack will end up as strictly JavaScript and XHTML storage unites once we see some diversification in microformat schemas. There’s no reason why you couldn’t save your bookmarks, your emails, your blog posts, your IM conversations, your documents, your financial records and the whole lots of content that means something to you in simple, basic, readable-everywhere, XHTML.

And so I appreciate, very much, that Brent is starting to see this — and the power that might be found therein — not just for him or for his app, but for anyone for whom the web and its online-offline machinations has caused great consternation. An XHTML-driven world, though potentially messy at first, offers a great deal of flexibility, of efficiency and of reuse and cross-polination.

If only I could get Brent to use hAtom… and if only I could get Microsoft and Apple to support hAtom in the OS like they all do for RSS… We’d begin to bear witness to the promise of this so-called “semantic web”.

WordPress makes a move towards hAtom, gets upgrades

WordPress login

I missed WordCamp this weekend (owing to the fact that I was presenting at Wikimania) but there seems to have been some good announcements that came out of the event.

For one thing, the hosted WordPress service added a few features, one of which is a $15 premier service that lets you edit your CSS. Blogger offers this service for free, but heck, WordPress is still independent and needs to have a way to bring in some dough — and as this is a highly desirable feature, will probably lead to income for the Automattic folks at least a fraction of what Cyworld is pulling in with all their custom digital paraphernalia and trinkets.

So but that’s not all… no, Andy Skelton announced (from what I hear) the availability of a new skeleton theme called Sandbox that is designed for themers. If you’re on WordPress.com you can go enable it now, as I have (it’s totally basic, so I imagine that you’ll see a lot of styles start to appear for it) or download it to put on your own blog.

I’ll actually be doing this once I return to San Francisco.

Why?

Simple: Sandbox is the first known theme to support hAtom.

Why does this matter?

The same reason why hResume matters. And then some. It’s because it not only puts more of the power of publishing into the author’s hands, but it also removes the need to RSS or ATOM.

Let me say that again: because the Sandbox theme is marked up with hAtom in its HTML, there’s no need to supply an alternative link to RSS or ATOM because the page itself is able to be read by newsreaders.

Or, will be. In the meantime, we can use Chris Casciano‘s script for NetNewWire to allow client-side subscribing or server-side transforms to convert any page into a subscribable document.

The potential here is immense — if Matt’s able to move the entirety of the WordPress.com theme base over to hAtom, we’d have quite the playground for an HTML-based syndication format, removing the overhead of generating RSS or ATOM feeds. Instead, you’d subscribe to a website and its content, not some anti-DRY format.

Update: Bill Humphries has released a version of Kubrick that supports hAtom.

Chris Casciano’s microformats hacks

In case you haven’t been watching, Chris Casciano has been pushing in some potential…ful directions lately (“potent” just seems wrong in this context) with microformats. First he releases a script to extract microformats in NetNewsWire then he creates a tool for subscribing to hAtom feeds (which basically allow you to subscribe to an properly marked up HTML document instead of nasty-looking RSS).

On top of that, he pushing the envelope for microformats support in Camino. Not too shabby.

Keep track of this stuff in my Microformats Ma.gnolia group.

Backpack gets a calendar

Backpack Calendar

In case you hadn’t seen it (which I assume you have), Backpack now sports a shiny new calendar for organizing your life. Available for pay accounts only (it’s a measly $5 bucks for a basic account), the reviews seem pretty positive so far, even though I haven’t tried it yet. Personally if it’s less heavy and AJAX’d than Google’s implementation, I might be suaded to dish out some moola.

I mean, with Hiker on its way and voicemail for Backpack pages, why wouldn’t I try it?

Well… (and I respectfully disagree with Jason that iCal export is sufficient) hCalendar and hCard support would be a pretty sweet addition. But, as he correctly points out, I’m not really his target audience. Phooey. It’s such a drag when folks are adament about not doing what the early adopters demand. It’s like they have, I dunno, backbone or something.

hResume plugin now available

Alex Muse et al have announced the availability of the hResume plugin for WordPress. This plugin will essentially allow you to publish your resume on your own blog using semantic microformatted content so that search engines (like Technorati and eventually other sites like Emurse) can index and offer your resume as a result.

Why is this better than going to Monster.com and others? Well, for one thing, you’re always in charge of your data, so instead of having to fill out forms on 40,000 different sites, you maintain your resume on your site and you update it once and then ping others to let them know that you’ve updated your resume. And, when people discover your resume, they come to you in a context that represents you and lets you stand out rather than blending into a sea of homogeneous-looking documents.

Finally, you’re free to share as much (or as little as you like) and if the data doesn’t fit in their predefined templates, you’ve got nothing to worry about because you’re in total control of your employed (or unemployed) destiny!

On the flip side, Emurse already outputs hResume so if you do want to use an external service to publish your resume (maybe you still don’t have a blog… heh) you feel free to do so. And yeah, it’ll look pretty darn good too.

Picoformats: microformats for mobile

Andrew Turner pinged me about a project I started up as an offshoot to my work with Mozes called Picoformats. He wrote that a picoformat is a standard-means for defining markup in small, probably mobile, devices.

That’s not exactly the original idea, but it actually makes a lot of sense and, the more that Tara and I use our Blackberries, the more we see a need for standard micro-interfaces. Sure it’s great that you can download my hcard into your address book from your regular web browser, but the same seems not to hold true on mobile devices.

Anyway, that’s an issue that needs to be addressed in mobile browsers, and Opera‘s well on their way working on such problems.

Andrew’s post did highlight both the need for me to get the word out about this project and also explain it a little more clearly since Microformats could actually address the formating of data for mobile devices (especially when we start pairing up microformatted content with relevant media-specific CSS).

The goal of the Picoformats project is to use an open process that reflects existing behavior and come up with standards for an SMS-based dialect for interacting with mobile services.

Dodgeball already has a pretty good SMS/email dialect. In fact, I use it all the time. What I want is service interoperability, so that when I send a message to (okay, I’ll reveal my bias) Mozes, I can use the same syntax to compose the command or message. For example, if I send a message formed like this: “! heading to the movies at 10pm”, it shouldn’t matter if I’m on Dodgeball, Facebook Mobile, MySpace Mobile, or FactoryCity Mobile — each service that supports Picoformats should send out the blast message to my friends, just as I’d expect it to. But already there’s divergence — with Mozes using “@” for blast messages and Dodgeball using “!”. This is the kind of thing that will make it extremely hard for people to move between services or, worse yet, use a multitude of services.

You can probably begin to see how this is similar to life before Adium or Trillian. Personally, I like not having to run 5 different instant messenger apps. I like having them all in one and being able to IM my friends regardless of the service they’re on from one interface. I’d like to be able to do the same with the mobile services I use. And that’s why this Picoformats idea is important — it’s syntactic interoperability.