Microformats

20 views
Skip to first unread message

Alex Faaborg

unread,
Dec 14, 2006, 11:51:10 PM12/14/06
to dev-apps...@lists.mozilla.org
I've been posting to my blog this week about the idea of microformat
detection in future versions of Firefox

Part 0 - Introduction, http://blog.mozilla.com/faaborg/2006/12/11/
microformats-part-0-introduction
Part 1 - Structured Data Chaos, http://blog.mozilla.com/faaborg/
2006/12/12/microformats-part-1-structured-data-chaos
Part 2 - The Fundamental Types, http://blog.mozilla.com/faaborg/
2006/12/13/microformats-part-2-the-fundamental-types

Let's use this thread for discussion.

-Alex

Daniel Brooks

unread,
Dec 15, 2006, 12:47:42 PM12/15/06
to
Alex Faaborg <faa...@mozilla.com> writes:

I saw your weblog entires the other day, and I must say I really like
the idea. I can't count the number of times I've needed directions to
somewhere, and had to copy and paste the address from their website
into a better mapping site. Just improving that one area would be a
huge boon, and you've already generalized it to the other important
bits of data as well. I'm not quite sure that the questions
'what'/'how'/'why' are neccessarily too domain specific, but on the
other hand I haven't thought of a good reason why that would be.

db48x

Rudi Gens

unread,
Dec 16, 2006, 1:56:26 AM12/16/06
to
Alex,

I think your assessment is right on the money. I agree that contact,
location and event are the ones that need to be natively supported. I
am sure there will be many more microformats that are worth looking
into but these three are probably the nobrainers.

Robert Accettura was wondering the other day in his blog how to go
about the flood of icons that are used these for feeds etc. I hope we
can settle for some kind of standard. Matt Brett did an awesome job
providing a feed icon package that lets you adjust it to your
particular layout. I don't see why this should not work with other
icons, e.g. for microformats. I am pretty sure you are right that the
icons that you used are not the last version but I surely hope this
effort converges to something acceptable for everybody.

The number of APIs that are using microformats in a large variety of
formats is an aspect to watch. Let's hope that with time some kind of
standard emerges that people can live with. That would help the
implementation. An open system is certainly nice but its complexity
grows with any new format it tries to support.

Thanks for bringing this discussion on the way. The timing is right for
it.

Cheers,
Rudi

Sebastian

unread,
Dec 16, 2006, 6:48:17 PM12/16/06
to
I downloaded Operator, and it shows the potential of MicroFormats.
But if they should be natively supported, there has to be something
different. I can't tell you what exactly, now. But it took me to read
the blog post to understand how it works.

It shows the potential, it is a useful developer extension to see how
it works. But there will have to be other detection functions, that,
first, don't force me to use Google Maps & Calendar, and that don't
force me to use a toolbar. There will have to be some kind of
notification bar, like when popups are blocked.

Nevertheless: Extremely interesting stuff.

faa...@gmail.com

unread,
Dec 17, 2006, 12:32:22 AM12/17/06
to
>don't force me to use Google Maps & Calendar

You can currently choose between Google Calendar and Yahoo Calendar.
We will try to add additional services soon. Operator (like any
potential native support) will always be a completely open and
extensible system.

>don't force me to use a toolbar.

We will be looking into a wide variety of user interfaces.

Thanks for the feedback,
-Alex


Sebastian wrote:
> I downloaded Operator, and it shows the potential of MicroFormats.
> But if they should be natively supported, there has to be something
> different. I can't tell you what exactly, now. But it took me to read
> the blog post to understand how it works.
>
> It shows the potential, it is a useful developer extension to see how
> it works. But there will have to be other detection functions, that,

> first, don't force me to use Google Maps & Calendar, and that There will have to be some kind of

eran.s...@gmail.com

unread,
Dec 17, 2006, 5:19:54 AM12/17/06
to
Will newer version have a built in mechanism that will allow me to
extend it without it being built into the operator extension?

For example, I want to add an additional service such as Yedda.com to
show me questions and answers on a certain tag.

In Yedda's case (and others with similar URL structure) it simply means
the ability to add a parameterized URL handler so I can define
something like:

http://yedda.com/questions/tags/{tags}

as the handler where {tags} will be replaced by the values of the
various rel-tags on the page.

Eran

Mike Kaply

unread,
Dec 17, 2006, 9:18:20 AM12/17/06
to
eran.s...@gmail.com wrote:
> Will newer version have a built in mechanism that will allow me to
> extend it without it being built into the operator extension?
>
> For example, I want to add an additional service such as Yedda.com to
> show me questions and answers on a certain tag.
>
> In Yedda's case (and others with similar URL structure) it simply means
> the ability to add a parameterized URL handler so I can define
> something like:
>
> http://yedda.com/questions/tags/{tags}
>
> as the handler where {tags} will be replaced by the values of the
> various rel-tags on the page.

Operator already supports this functionality. Check out the file
handler-example.js in the directory where the extension is called. For
yedda, here is what it would look like:

Microformats.tag.handlers['yedda'] = {
description: "Find questions on Yedda",

action: function(doc, item)
{
tag = Microformats.tag.create(doc,item);
url = "http://yedda.com/questions/tags/" + tag.tag;
Microformats.loadUrl(url);
}
};


Save this to a file called "yedda.js" and place it in a directory
called "microformats" in your profile directory and you have yedda
support.

Michael Kaply

eran.s...@gmail.com

unread,
Dec 17, 2006, 9:51:54 AM12/17/06
to
Thanks for the quick and helpful reply Mike! It worked.

Is there any planned support that is more like installing a new script
to GreaseMonkey or the Tails extension? That would allow site owners to
extend and distribute in a more standardized way the ability to add
these things.

Auto discovery will even make it even better (though its a bit more
complex in agreeing on the format ;-) ).

Eran

joeym...@gmail.com

unread,
Dec 17, 2006, 11:03:49 AM12/17/06
to
Hi Alex!

This may be very slightly off-topic. If so, I apologize. I'm the author
of the post about webcomics microformats you linked to in your
Introduction to Microformats post.

I'm still worrying over these issues. I've just started an informal
webcomics API discussion group, with the goal of a conversation leading
to something I can actually implement on my own webcomicsnation.com
site, and which will also be flexible enough to serve as a starting
point for others.

I have zero experience developing API's and could use all the help I
can get.

If you or any of your colleagues/readers/friends/fellow developers
would like to offer input and suggestions, your presence on the group
would be greatly appreciated.

http://groups.yahoo.com/group/wcnapi

Just started this today, so there's zero traffic so far, of course.

And thanks for the link!

Joey
www.webcomicsnation.com

Sebastian

unread,
Dec 17, 2006, 2:18:59 PM12/17/06
to
faa...@gmail.com wrote:
> We will be looking into a wide variety of user interfaces.

I'll think about ideas. ;)

Anyways: I really appreciate your work as a UI designer. And: There are
a lot of people out there that think the same ;)

Message has been deleted

Daniel Brooks

unread,
Dec 17, 2006, 7:29:39 PM12/17/06
to
"Peter Weilbacher" <news...@weilbacher.org> writes:

> On Fri, 15 Dec 2006 04:51:10 UTC, Alex Faaborg wrote:
>
>> Part 2 - The Fundamental Types, http://blog.mozilla.com/faaborg/2006/12/13/microformats-part-2-the-fundamental-types
>

> When looking at this I was wondering why the icon that you use for
> Event/Calendar/Time looks like a calculator. I have never seen a
> calendar that looks like this... (So I was reading "People exist on
> Earth and in calculators." ;-) )
> --
> Greetings, | My From: address is valid as is the version without "spam"
> Peter. | I try to find real messages among the spam every few days

That seems perfectly logical to me :)

db48x

Daniel Brooks

unread,
Dec 17, 2006, 7:33:57 PM12/17/06
to
faa...@gmail.com writes:

>>don't force me to use Google Maps & Calendar
>
> You can currently choose between Google Calendar and Yahoo Calendar.
> We will try to add additional services soon. Operator (like any
> potential native support) will always be a completely open and
> extensible system.

Yea, I really like the way this feature works. I've started work on
one that will send contact information to my Emacs BBDB database. It's
about half-way working at this point.

>
>>don't force me to use a toolbar.
>
> We will be looking into a wide variety of user interfaces.
>

Yea, it would be nice if the toolbar elements were at least
customizeable, so that they could be dragged around. However, that's
not a difficult change to make, and can easily be done in a future
version of the extension.

db48x

Daniel Brooks

unread,
Dec 17, 2006, 11:15:34 PM12/17/06
to
Daniel Brooks <db...@yahoo.com> writes:

> Yea, I really like the way this feature works. I've started work on
> one that will send contact information to my Emacs BBDB database. It's
> about half-way working at this point.

I fixed the remaining bugs and put in a few comments. See http://db48x.net/microformats

In a lot of ways it's not very polished, because it can't detect
failures, or duplicated entries in the addressbook, etc. It doesn't
look in your path to find the emacsclient, or anything like that. A
lot of that stuff is nearly impossible at the moment, though it should
be easier in Firefox 3.0.

This extension is great. I love programming like this. Thanks Mike!

db48x

Mike Kaply

unread,
Dec 18, 2006, 12:33:54 AM12/18/06
to

Daniel Brooks wrote:

> Yea, it would be nice if the toolbar elements were at least
> customizeable, so that they could be dragged around. However, that's
> not a difficult change to make, and can easily be done in a future
> version of the extension.

All of the items on the toolbar can be reordered in the Options panel.

The reason it's not draggable right now is because I couldn't figure
out how to make toolbar buttons that were dynamic and draggable.

Daniel Brooks

unread,
Dec 18, 2006, 12:58:39 AM12/18/06
to
"Mike Kaply" <mka...@gmail.com> writes:

I would just not do the reordering in the options, and after an
upgrade I would simply look to see if there were any new buttons to
show (new microformats supported or whatever) and if so add them to
the UI by tweaking the currentSet property on the toolbars. You would
have to arrange for that to happen only once. The usual idion is to
set a pref to the current version number when you do it, then on
startup you check that pref, if it's value is a number older than the
current version number, then check to see if any buttons need to be
added.

db48x

Andy Mabbett

unread,
Dec 18, 2006, 5:43:33 PM12/18/06
to

Sebastian wrote:

> I downloaded Operator, and it shows the potential of MicroFormats.


Me too. Looks good, but it shows the "geo" on :

<http://www.westmidlandbirdclub.com/belvide/index.htm>

as "undefined/undefined".

Andy Mabbett

unread,
Dec 18, 2006, 6:27:25 PM12/18/06
to
In message <1166333542.6...@79g2000cws.googlegroups.com>,
faa...@gmail.com writes

>You can currently choose between Google Calendar and Yahoo Calendar. We
>will try to add additional services soon.

For events, an option to "create a .vcf and treat as a regular file link
(i.e. launch the default, or some other, application, or save)" (in not
so many words!) would be useful.

--
Andy Mabbett
* Say "NO!" to compulsory ID Cards: <http://www.no2id.net/>
* Free Our Data: <http://www.freeourdata.org.uk>
* Are you using Microformats, yet: <http://microformats.org/> ?

Mike Kaply

unread,
Dec 18, 2006, 7:25:11 PM12/18/06
to
Andy Mabbett wrote:
> In message <1166333542.6...@79g2000cws.googlegroups.com>,
> faa...@gmail.com writes
>
> >You can currently choose between Google Calendar and Yahoo Calendar. We
> >will try to add additional services soon.
>
> For events, an option to "create a .vcf and treat as a regular file link
> (i.e. launch the default, or some other, application, or save)" (in not
> so many words!) would be useful.

I really wanted to do that, but I couldn't figure out how, which is why
I resorted to just launching the vcf and ics files.

I'm still researching how to cause that dialog to display in Firefox.

Michael Kaply

Mike Kaply

unread,
Dec 18, 2006, 7:26:51 PM12/18/06
to

I didn't investigate geo enough and I didn't know about the short way
of doing a geo:

<abbr class="geo" title="52.6866;-2.1937"/>

I have since fixed this and it will be in the next release.

Mike Kaply

Mike Shaver

unread,
Dec 18, 2006, 7:37:31 PM12/18/06
to Mike Kaply, dev-apps...@lists.mozilla.org
On 18 Dec 2006 16:25:11 -0800, Mike Kaply <mka...@gmail.com> wrote:

> Andy Mabbett wrote:
> > For events, an option to "create a .vcf and treat as a regular file link
> > (i.e. launch the default, or some other, application, or save)" (in not
> > so many words!) would be useful.
>
> I really wanted to do that, but I couldn't figure out how, which is why
> I resorted to just launching the vcf and ics files.
>
> I'm still researching how to cause that dialog to display in Firefox.

Could you load a data: URL with the appropriate MIME type?

Mike

Mike Kaply

unread,
Dec 18, 2006, 8:13:53 PM12/18/06
to

Interesting. I hadn't thought of that angle. That works, as well as
just getting a file URL for the temp file I create and just loading
that URL.

The only downside is that you get a blank window in Firefox for the
load...

I'll probably switch to that mechanism for now and keep looking for a
better solution.

Mike Kaply

Mike Shaver

unread,
Dec 18, 2006, 8:41:13 PM12/18/06
to Mike Kaply, dev-apps...@lists.mozilla.org
On 18 Dec 2006 17:13:53 -0800, Mike Kaply <mka...@gmail.com> wrote:

> Mike Shaver wrote:
> > Could you load a data: URL with the appropriate MIME type?
>
> Interesting. I hadn't thought of that angle. That works, as well as
> just getting a file URL for the temp file I create and just loading
> that URL.
>
> The only downside is that you get a blank window in Firefox for the
> load...

There's something in Fx2 that suppresses blank tabs for that case, but
I'm not sure exactly how to trigger it. You might be able to force
the ucth dialog up by creating the stream from a data: URL and feeding
it into it, but now I'm just making stuff up.

Mike

Robert Sayre

unread,
Dec 18, 2006, 11:23:57 PM12/18/06
to Alex Faaborg, dev-apps...@lists.mozilla.org
Alex Faaborg wrote:
>
> Let's use this thread for discussion.

I installed it and it seems to work pretty well when there are
microformats available. It is a bit annoying to have disabled icons
hanging around when there aren't any microformats on the page. Probably
a known issue. :)

Where is the SVN/CVS/Whatever for this project?

- Rob

rob...@gmail.com

unread,
Dec 19, 2006, 6:33:31 AM12/19/06
to

faa...@gmail.com wrote:

> >don't force me to use Google Maps & Calendar
>
> You can currently choose between Google Calendar and Yahoo Calendar.
> We will try to add additional services soon. Operator (like any
> potential native support) will always be a completely open and
> extensible system.
>
> >don't force me to use a toolbar.
>
> We will be looking into a wide variety of user interfaces.
>

I would second this request, it's using up the entire height of a
toolbar, but less than half the width (on my browser) - it would fit in
quite nicely in my menu bar, though. It would be nice if the separate
buttons could be dragged onto whatever toolbar the user wished using
the standard customise dialogue. Also, there doesn't seem to be a way
to turn off the text labels and have only the images.

Overall though, I like it a lot, keep up the good work!

Rob

Mike Kaply

unread,
Dec 19, 2006, 9:02:26 AM12/19/06
to

It's not in a source control system yet, but I'd be more than happy to
take patches at this point.

Mike Kaply

rob...@gmail.com

unread,
Dec 19, 2006, 4:22:20 PM12/19/06
to

Mike Kaply wrote:

> I have since fixed this and it will be in the next release.
>

Assuming this is the correct place to report defects? If I switch to
'Microformats' Display Style and then go to a page with an hCard, then
select the 'Web page' option from the 'Contact(s)' menu which causes a
tab to open with the web page in it. After that, however, the browser
will not accept any keyboard input - can't type into any text boxes or
the address bar, or use any keyboard shortcuts, though I can cut and
paste using the mouse and right click. Also, all menus and dialogues
continue to respond to mouse input (so I was able to change my
preferences to 'restore session' and restart the browser - which
resolved the issue).

I've tried this on three different installs of Firefox 2.0 and on
several different pages.

Rob

rob...@gmail.com

unread,
Dec 20, 2006, 6:04:54 PM12/20/06
to

rob...@gmail.com wrote:
> I've tried this on three different installs of Firefox 2.0 and on
> several different pages.
>
I've just tried it on my machine with Firefox 1.5 and it doesn't suffer
from the issue.

Rob

Andy Mabbett

unread,
Dec 21, 2006, 4:01:19 AM12/21/06
to
In message <1166488011.6...@n67g2000cwd.googlegroups.com>, Mike
Kaply <mka...@gmail.com> writes

>>Looks good, but it shows the "geo" on :
>>
>> <http://www.westmidlandbirdclub.com/belvide/index.htm>
>>
>> as "undefined/undefined".

>I have since fixed this and it will be in the next release.

Thank you. When might that be?

Aleksej

unread,
Dec 23, 2006, 7:36:18 AM12/23/06
to
I've enabled the Operator extension again, after a week of it being
disabled, and confirmed that it makes Firefox slow. It hangs for a few
seconds sometimes.
Otherwise, I like it, though doing something with XFN might also be useful.

Mike Kaply

unread,
Dec 23, 2006, 8:10:33 AM12/23/06
to
Andy Mabbett wrote:
> In message <1166488011.6...@n67g2000cwd.googlegroups.com>, Mike
> Kaply <mka...@gmail.com> writes
>
> >>Looks good, but it shows the "geo" on :
> >>
> >> <http://www.westmidlandbirdclub.com/belvide/index.htm>
> >>
> >> as "undefined/undefined".
>
> >I have since fixed this and it will be in the next release.
>
> Thank you. When might that be?

I was going to try to get something out before Christmas, but obviously
there is lots of holiday stuff going on :)

I'd really like to get status bar support done before the next release,
so it will probably be the first week in january.

Mike Kaply

Mike Kaply

unread,
Dec 24, 2006, 12:39:06 AM12/24/06
to

I believe I found one of the major performance problems.

To find the the microformats, I have to go through the entire document
looking at classnames. Previously I was doing this once for each
microformat, so five times.

I have changed the code so I look for all the microformats at once.

Hopefully this will help.

I know about xfn, but haven't started looking at how to do a UI for
that yet...

Mike Kaply

Stocker

unread,
Jan 2, 2007, 9:43:24 AM1/2/07
to

Alex Faaborg wrote:
> I've been posting to my blog this week about the idea of microformat
> detection in future versions of Firefox

> Let's use this thread for discussion.
>
> -Alex

The first idea that comes into my mind about microformats is that I
would want it to bridge my personal information (e.g. contacts,
personal schedule, bookmarks etc) with my shared information (e.g. my
blog, communities personal pages, posts and comments everywhere, etc).
This leads me to a couple of fundamental issues to be tackled:
1) Microformats should be able to have actions that interact freely
with the client PC. This is not currently possible with Operator (I've
post my issue in the Operator add-on page), and I guess it's sensible
to consider the security issues that are in the way.
2) The interface Firefox can show us must be carefully aware of what
microformatted data is personal - and thus not shareable with other
plugins/remote accesses - and what is shared. This would imply, from my
point of view, the implementation of access control policies to each
datum (think of blogger's permissions to read/post on each of the
user's blog, for instance).

Having this integrated with a browser will allow to move the user
experience with the Web yet a bit further. Websites would start
adopting this exchangeable formats at the same time plugins for common
desktop and mobile applications start to be written. Don't forget that
users tend to resist change, and if they can still use their
applications while using the browser to increase their productivity,
they will be happier.

Has anyone given a thought about this?

Cheers,
Edgar Gonçalves

Doct...@gmail.com

unread,
Jan 3, 2007, 12:00:16 AM1/3/07
to
My main concern is how you encode the context into a webpage, some of
what I hear is that it is to be automatic and should work with existing
content but the back of my mind says there should be new context html
tags which 'explain' data within the document or webpage.

I imagen something like the following, but I can't find any useful
links or specifications for such.

<body>
<div><contact>Name: <strong><fname>Joe</fname>
<lname>Blogs</lname></strong></br>Email:
<i><email>joe....@gmail.con</email></i></br></contact></div>
</body>

It would be explained in the xsd as two different name spaces, one set
of tags giving document context the other set of tags giving data
context. it would work really well because you could just strip out the
html namespaces and have a set of data values useful for anything from
product descriptions to a books isbns and your more usual
contacts/calandar/maps thingy ma bobs too. I imagen making a list of
fravourite books too because in the end you can objectify then the most
suprising of things.

Please let me know where I can find more information about the intended
technical direction.

Thanks, Martin Owens

Mike Kaply wrote:
>
> Operator already supports this functionality. Check out the file
> handler-example.js in the directory where the extension is called. For
> yedda, here is what it would look like:
>
> Microformats.tag.handlers['yedda'] = {
> description: "Find questions on Yedda",
>
> action: function(doc, item)
> {
> tag = Microformats.tag.create(doc,item);
> url = "http://yedda.com/questions/tags/" + tag.tag;
> Microformats.loadUrl(url);
> }
> };
>
>
> Save this to a file called "yedda.js" and place it in a directory
> called "microformats" in your profile directory and you have yedda
> support.
>
> Michael Kaply

ritesh

unread,
Jan 3, 2007, 10:45:41 AM1/3/07
to
Really nice article on teh blog. I just love teh simplicity and the
power combined of microformats. I hope firefox3 pushes this concept
well .

Jesper Kristensen

unread,
Jan 8, 2007, 4:40:49 PM1/8/07
to
Hello

I am not sure if this is the right place for this, but since there has been
some talk about the Operator extension in this group, I will try here.

My problem is, when Operator 0.6.1 is installed, Firefox does not respect the
value of browser.link.open_external. It is currently 3 in my configuration,
but it is treated as if it was 2, when the extension is enabled.

--
Jesper Kristensen

Andy Mabbett

unread,
Jan 8, 2007, 5:58:24 PM1/8/07
to
In message <2_qdnRGwN8f8Jz_Y...@mozilla.org>, Jesper
Kristensen <moznew...@something.to.remove.jesperkristensen.dk>
writes

>My problem is, when Operator 0.6.1 is installed, Firefox does not
>respect the value of browser.link.open_external.

This is a known bug, and Mike Kaply, the author has promised a fix in
the next version, due some time this week. See:

<http://www.kaply.com/weblog/>

(blog-post dated Sunday, January 07, 2007)

Reply all
Reply to author
Forward
0 new messages