You are reading a MIX Online Opinion. In which we speak our minds. Karsten Januszewski Meet Karsten Arrow

Opinions

9Comment Retweet

Three Examples of People Extending Oomph

Nov 19, 2008 In Web Culture By Karsten Januszewski

Since we released Oomph last month, we’ve seen some exciting uptake from the community as people take the Oomph script and make it available in interesting ways:

WP-Oomph

Meitar Moscovitz has made a WordPress plug-in called WP-Oomph. The plug-in injects the Oomph script into your WordPress blog posts for you.

WP-Oomph

GreaseMonkey Script

Pascal Van Hecke implemented the Oomph script for GreaseMonkey, which is a plug-in for Firefox that does javascript injection. He has it hosted up at User Scripts.

GreaseMonkey

Bookmarklet

Lastly, a thread on the Codeplex discussion resulted in making Oomph a bookmarklet which works across browsers.

Please let us know if there are any other Oomph implementations or extension so we can let people know about them.  And thanks to all who have helped to spread Oomph thus far!

Follow the Conversation

9 comments so far. You should leave one, too.

Meitar Moscovitz said on Nov 25, 2008

Thanks for linking to WP-Oomph, Karsten. :) With the newest release of Oomph 1.1 just announced, I''d like to update the plugin. However, when I downloaded the latest version of the documentation the URI in the "Adding Oomph To Your Website" section of the PDF still refers to the old 1.0 release. I tried hitting various URIs on your server (semantic guesswork) but nothing came up. Is the Oomph 1.1 release ready or have I just jumped the gun on this one?

Thanks again (for everything)!

Joshua Allen said on Nov 25, 2008

Hi Meitar,

We actually updated the code directly under the 1.0 directory, since the only changes made to oomph.min.js were several bug fixes which we figured would be wanted by anyone using the 1.0 version. The only reason we re-released the installer (and thus changed version) was because we made some functionality changes to the Live Write Plugin. But you raise a really good point -- maybe we should have called the release 1.0.1, or something like that?

Meitar Moscovitz said on Nov 26, 2008

@Joshua Allen: Hmm, yeah…that is actually very confusing. Since I''m technically calling executable code on my own site from your servers, I really, really want to easily tell what code I''m running. If you embed a version number into the URI, I expect that I''m only ever running that version of the code. If you change the resource that is returned when I call that URI, you''ve effectively changed the code I''m running without my knowledge. That scares me.

If you want to do something like that, I would suggest aliasing a URI such as latest/Client/oomph.min.js or similar that will always point to the "latest" released version and encourage people to use that. I''d strongly prefer leaving the 1.0/Client/oomph.min.js contents as 1.0 release code only.

As an aside, doing it that way also means tool authors who need a particular version of your script could link against it secure in the knowledge that it won''t change under them. It would also let us easily mirror your versioning scheme. (E.g., your 1.0 was my WP-Oomph 0.1. Your 1.0.1 could be my 0.1.1 or 0.1.0.1, and so on.) In other words, the stability makes it easy to turn the convention into something useful.

Joshua Allen said on Nov 27, 2008

@Meitar: Thanks so much for the clear and detailed feedback. We''ll think about how we can make sure our versioning strategy is transparent and predictable. I''m leaning toward your suggestions about giving choice between version-dependant and version-independant, and maybe pubilsh some conventions about what constitutes each portion of the version specifier.

Our intent was to follow the same versioning strategy we use for other widely-used libraries like C runtime library or MSXML. To summarize, bugfixes that don''t change the interface contract (i.e. zero change to API signatures, data formats, etc.) are applied without changing the version number. In addition, starting around 1999-2001, we de-emphasized version-dependant or static binding. For example, it''s pretty hard to distribute and bind to a specific copy of CRT now, you have to jump through all sorts of hoops to avoid the side-by-side version. Another example would be version-dependant ProgIDs for MSXML, which are no longer considered "best practice". In both cases, our goal is to reduce attack surface area in the event of a discovered exploit (perf, DoS, privilege escalation, etc.). People who statically link a specific copy of the library wouldn''t get the fix, and thus would expose the entire Internet to additional risk.

Anyway, I think there is little controversy about a certain class of bugs like security patches -- you would probably want us to patch a certain class of bugs regardless of whether you linked to a specific version or not. But I agree that there are additional nuances when considering web-based libraries like Oomph. Libraries like Dojo and jQuery follow a similar policy as we do (and similar to MSXML and CRT on Windows). But this situation is slightly different, since we provide UI and not APIs. I think certain portions of YUI are the most apt comparison.

Meitar Moscovitz said on Nov 27, 2008

@Joshua Allen: Oh, what a tangled web we live in. ;) I see where you''re coming from and it makes sense. Funny you should mention YUI, which is one of my favorite libraries and was actually in my head when I wrote the previous comment.

I think that, whatever you choose to do, it''ll be important to let people who may have linked against the resource you provide easily know whether they need to do something to update their tool or not. That''s probably independent of how you choose to version Oomph.

In any event, thanks for the detailed response. Ultimately, for me, I''d say it comes down to a sense of wanting that clarity. Therefore, using a version-agnostic pointer for a resource that will change seems the most robust path.

Brian Atwood Pumps said on Apr 6, 2012

Excellent weblog, many thanks a lot for your awesome posts!

Air Jordan 11 Retro said on Apr 17, 2012

Cheers for this content, guys, continue to keep up the good work.

Celine Shoes said on May 30, 2012

Extremely regularly I go to this website. It very a great deal is pleasant to me. Thanks the author!

Cheap Gucci Purses said on Jun 6, 2012

Hi, exactly where did you get this info can you please support this with some proof or you might say some very good reference as I and others will actually enjoy. This details is actually great and I will say will usually be helpful if we attempt it possibility free. So if you can back it up. That may really support us all. And this may well bring some good repute for you.