<Glazblog/>

Search

Your search for webchunks returned 35 results.

Sunday 8 May 2011

Add-ons data...

My Firefox profile being corrupted, I had to dive a little bit into its salted directory. What I found there is just scary... Here are the contents of that profile:

GoogleToolbarData			extensions				places.sqlite
User_Gear.owg extensions.ini pluginreg.dat
adblockplus extensions.log prefs.bak
addons.sqlite extensions.rdf prefs.js
antbar extensions.sqlite rainbow-easel
blocklist.xml fireFTPprograms.dat scribefire.sqlite
bookmarkbackups fireFTPsites.dat search.json
bookmarks.bak firebug search.rdf
bookmarks.html foo.dat search.sqlite
bookmarks.html.sbsd.bak formhistory.sqlite searchplugins
bookmarks.postplaces.html foxyproxy.xml secmod.db
bookmarks.preplaces.html freerecord.sqlite sessionstore.bak
bookmarks.xml gm_scripts sessionstore.js
bookmarks_history.sqlite gtb-metrics.xml signons.sqlite
cert8.db hostperm.1 signons.txt
cert_override.txt imagescatch_autosave.owm signons2.txt
chatzilla jetpack signons3.txt
chrome jetpack-editor-code.txt tidy_base.html
chromeappsstore.sqlite jetpack-example-code.txt tidy_cleanup.html
compatibility.ini jetpack_ann.sqlite tplbug.sqlite
compreg.dat key3.db twitfactory.sqlite
content-prefs.sqlite kf.txt twitterfox_1.9.sqlite
cookies.sqlite kosa ubiquity_suggestion_memory.sqlite
cookies.sqlite.bak lightweighttheme-footer urlclassifier.sqlite
cookies.txt lightweighttheme-header urlclassifier2.sqlite
cookperm.txt localstore-safe.rdf urlclassifierkey3.txt
defaults.ini localstore.bak useragentswitcher
despin-scratchpad localstore.rdf venkman-settings.js
dh-conv-rules.rdf localstore.rdf~ weave
dh-media-lists.rdf messages.sqlite webappsstore.sqlite
dh-smart-names.rdf mimeTypes.rdf webchunks2.sqlite
downloads.sqlite minidumps xpti.dat
dta_history.xml permissions.sqlite
dustmeselectors-data persdict.dat

Hum, to say the least... Ok, some files there (*~ and *,bak) are mine, edited using emacs or another editor because I needed it. But I think user profiles should contain a addon-data/ folder with a subfolder per add-on, its name being the add-on ID of the add-on and that AMO editorial rules should force add-on authors to store *ALL* data there. It would then be easier to migrate, backup, delete, cleanup. Thoughts ? In particular is it ok to put sqlite databases in such a deeper folder for sqlite-based templates (I haven't checked yet)?

Thursday 12 November 2009

Webchunks 1.0 for Firefox >= 3.5

Webchunks I have just uploaded a new version of Webchunks to addons.mozilla.org. It's entirely rewritten for 3.5 and even 3.7a1pre, with new features and a lot of bug fixes. It's for instance now possible to show/hide the webchunks toolbar using one main-toolbar button reflecting the state of all webchunks ("normal" or "you have something to check there") and it's conformant to the Webslice 0.9 "specification" if you except the window.external.* methods. The new version is not compatible with the pre-1.0 versions so you could have to recreate your webchunks bar but I think you'll be very pleased with this new version.

For the time being, it's in the sandbox on addons.mozilla.org even if the add-on used to be trusted. It lost its "trusted" status for some reason unknown to me... Stay tuned...

HTML 5 needs a way to say some element's contents are ajax-based

Webchunks (the Firefox add-on) lets you select an arbitrary element in a web page to turn it into a webchunk. Nothing magical here. A Webslice is, per Microsoft's "spec", an element carrying an ID and the class slice. In other terms, an element selected by the selector #thatID.slice. Webchunks just extends that notion to be able to use here any CSS selector, not only that one.

But selecting an arbitrary element can lead to unexpected results. Let's take a concrete example :

  • the web page liberation.fr has a block of recent news on the right hand side ("Dernières Dépêches")
  • that block can be selected using the selector #e1b3-1
  • but the contents of that block are not available at load time but rather ajax-based...
  • so comparing a cached version of that element and a recently downloaded version is meaningless if you don't let all JavaScript code in the page run and compare them only afterwards...

I am then unable to say liberation.fr updated its Last News section just loading the source of that HTML page... Painful.

Conclusion : I miss here something standard (an attribute, a class, whatever and I don't care) in the DOM to let me know the contents of that element are retrieved over the wire after page load. I also miss a standard event allowing me to know the contents are now loaded and that the "final" content of the element can now be observed.

Tuesday 27 October 2009

Webchunks 1.0a1pre

webchunksHere is a first preview of Webchunks 1.0 for Firefox 3.5 and 3.7pre. Save it locally, install it, use it, love it :-) Warning, it's a work in progress. It's not perfect, it's not ironed, it's not optimized at all, it's only one day of work but it's already very different from the previous version of webchunks:

  • customize your main toolbar and add the new Webchunks button that shows/hide the webchunks toolbar. The button becomes red when a webchunk is updated, remains blue otherwise.
  • you can resize webchunks' popups. Warning, this works well with FF3.7 on windows and linux, has some issues on mac. It's partly functional only on FF3.5.
  • you can context-click entries in the webchunks toolbar and that context popup offers new features
  • webchunks' popups were redesigned to match better IE's
  • conformance to Webslices 0.9 "spec"
  • user-defined webchunks now based on CSS selectors and not XPath any more. I will eventually unify webslices-based wecbhunks and user-defined webchunks since the former is only a special case of the latter, the selector being a single ID selector...
  • warning, this version is not compatible with previous versions of webchunks so you'll have to repopulate your toolbar...

Known issues (working on it):

  • noscript elements can appear in popups
  • first click on a link in a popup can have no effect, please click a second time
  • slices in eBay are not detected because eBay inserts webslices' markup only if window.external.AddToFavoritesBar is implemented (and that's a really silly decision) :-( Please prefer user-defined webchunks for eBay...

Wednesday 21 October 2009

Writing good Webslices/Webchunks

Two famous demo sites for Webslices/Webchunks are Digg and the webslices-enabled page at Stumbleupon. Unfortunately, both of them use Webslices/Webchunks almost badly since their slices contain a number of diggs or a number of reviews attached to the link they present. It means that even if the "useful" content does not change, the slice can be shown as "updated" in the browser only because the numbers changed... I understand they want to show these numbers but from a user's perspective, that's counter-productive.

Tuesday 20 October 2009

Update on Webchunks

A new version of Webchunks is in the pipe. A much better one...

  • almost rewritten from scratch
  • sync across browser windows
  • conformance with the last "specification" of Microsoft Webslices (I have spent the last 19 years of my life in various standardization committees and I am glad and proud I never released a "specification" THAT bad...) if you except the window.external calls that require work in Gecko itself.
  • cleaner and nicer UI
  • resizable panels (with forthcoming Firefox 3.7... I still have to find a workaround for 3.5, unfortunately)
  • hideable toolbar with one main-toolbar button changing color when a webchunk is updated or expires (integration with Places was really not an option in a reasonable timeframe, Places being not enough open/extensible)
  • context-click to edit webchunks' properties
  • "Create your own webchunk in the page" now based on CSS Selectors and not XPath any more
  • more demo sites

If you have a suggestion of feature for Webchunks, that's the right time and the right place to do it. Please add a comment !

Thursday 15 October 2009

Resizable popups and panels in Firefox 3.7

One thing we really missed in XUL was the ability to capture the mouse movements on the whole screen. Neil Deakin worked on that and introduced setCapture() and releaseCapture() on elements. He also worked on enabling the resizer element to work correctly in popups and panels but it's buggy at this time so I used setCapture/releaseCapture for the new version of Webchunks to enable resizable popups:

Wednesday 6 May 2009

Webchunks

Microsoft updated the Webslices specification, and my Webchunks extension now fails on the more recent Webslices-enabled web sites. I am going to update my code to match their spec and improve the feature set:

  • toolbar button in the main toolbar allowing to show/hide the Webchunks toolbar and showing if a webchunk was updated or expired,
  • webslices' data will be cached, in conformance with the spec,
  • my current code uses XPath and I am fed up with that big complex piece of crap since the power of the very simple and readable CSS Selectors is available through the Selectors API in Firefox 3.5. I think my new code will run on FF3.5 only.

A few things still puzzle me in the light and often underspecified Webslices "specification". Handling of styles is for instance rather badly specified, and what happens in IE8 seems to be sometimes different from the spec. The extensions to RSS and Atom formats using the mon namespace are also badly specified. I sent Microsoft a mail proposing that we write a real specification together, something well written, self-standing, with a cool-URI-that-does-not-change. No answer so far.

Stay tuned...

Thursday 30 April 2009

Webslices / Webchunks

I'm only discovering today that the Webslices spec was updated on MSDN, and new types of Webslices were added to the spec. In particular a webslice can now be a standalone remote URL. That explains why some Webslices, for example the ones living inside www.nyt.com, don't work well with the Webchunks extension. I'm working on it. I think I'll revamp entirely my extension to make it more modular, allow a toolbar button showing/hiding the webchunks toolbar. Stay tuned.

Tuesday 28 April 2009

eBay restricting Webslices to MSIE users, trashing Firefox users

When eBay started implementing Webslices, they did in a special search page ie8.ebay.com. They removed that page a few months ago because they moved the feature to the normal eBay pages. But this has a bad, and I hope involuntary, side effect : Webslices work now only with MSIE and not with Firefox+Webchunks any more. There is something, on the server- or client-side that does client-sniffing probably based on the MSIE extensions to window.external, and eBay result pages are different between MSIE and other browsers.

In MSIE8, all result entries in eBay have a hslice class and a related ID to be detected as a webslice by MSIE8.

eBay in MSIE8 Developer Tools
eBay in MSIE8 Developer Tools

In Firefox, the very same page does not have the hslice class. The ID, required by the Webslices spec, is dropped to.

same page in Firefox Document Inspector
same page in Firefox Document Inspector

Again, I have no idea if this is made on purpose or not. If it is, it's a true scandal. If it's not, and given the fact the Webchunks extension to Firefox is freely available, it's a shame. Please note that the embedded JavaScript shows no error or related warning... Please also note that if you use a UAString-switcher in Firefox, the result remains the same; that's why I think the client-sniffing is client-side and based on window.external.* MSIE extensions. I hope that eBay is going to fix this as soon as possible, because banning Firefox users seems to me a stupid and counter-productive idea...

Monday 27 April 2009

Let's dance waiting for the swine flu

  • my Webchunks extension was not working at all on my Mac with Shiretoko and I really wondered why. I did not have enough time to investigate until now. I just found why : the pinstripe (Mac) theme for Shiretoko adds a new binding to toolbars that extends the normal toolbar binding. Hmmmm nowindowdrag attribute :-) Anyway, since my toolbar binding for Webchunks was extending toolbar.xml#toolbar, it did not work at all with Shiretoko on mac. Unfortunately my only option at this time is to make my toolbar nowindowdrag="true"... I just fixed that and will improve a bit my code before making a new public release on addons.mozilla.org.
  • Laurent Jouanneau finally made it and it's excellent news for all of us who want to rely on a good HTML, XHTML and XML serializer : bug 422403 is now fixed !!! BlueGriffon is of course going to rely on it. Much better pretty printing, no more crazy blank lines. Thanks a lot Laurent !

Tuesday 10 February 2009

Places2, thinking out loud...

Webslices/Webchunks. My secret dream was a smooth integration of Webchunks into Places so the user's personal toolbar could contain Webchunks just as it can contain bookmarks, folders, feeds, microsummaries. But adding a new consumer to Places is anything but a trivial operation because Places' consumers are almost hard-coded in Places itself... I think Places should evolve into a consumer-agnostic architecture where bookmarks and all others are only consumers of Places and do not require a single line of code added to Places itself. A well documented and easy to understand API could trigger a new class of extensions to Firefox that other browsers could not immediately or easily afford. Places2 ?

Monday 6 October 2008

Little pleasures

Now working on BlueGriffon after Nvu, there are a lot of things I can implement in BlueGriffon I could not achieve with Nvu. The reason is the maturity of the Mozilla platform. Let me list the plusses I just could not live without any more:

  • xulrunner ; I said it many times in the past but let me repeat it one more time : xulrunner is a true cornerstorne in the Mozilla ecosystem.
  • CSS 3 selectors ; that's surprising but the :nth-child() selectors and friends I introduced in the first Selectors draft so long ago are so powerful they allow a wide range of new features.
  • DOM 3 getUserData/setUserData ; the possibility to add data to the DOM without hurting the serialization is a major thing for me.
  • Storage and sqlite-based templates ; it's wonderful and probably deserves a FUEL-like library to simplify sqlite databases' manipulation. And Laurent told me today I could even write my own template system based on whatever component I want. Just lovely !
  • XBL ; Laurent and I recently discovered that we don't need any more to call this.parentNode.parentNode.... to call a method on the bound element from an anonymous descendant. XBL bindings are much simpler and maintainance/changes are simpler since we can move anonymous nodes in the <content> element without having to care about the context. That's a great plus.
  • the style and override manifest instructions ; they are so powerful for such a simplicity they allow beautiful things.
  • JavaScript's speed ; to give a very concrete example, Nvu had c++ code to gather the list of classes and IDs used in the selectors of all stylesheets attached to a given document. At the time I implemented it in c++, I dropped a JS implementation because it was just too slow to be usable. BlueGriffon has the same feature, now implemented only in JS, and the speed difference with the c++ implem in Nvu (gecko 1.7) is negligible. Wow, to say the least...
  • canvas ; do I need to explain ?
  • HTML5 drag and drop, deliciously simple to manage.

The things I still miss:

  • dependant windows ; I'd love to be able to open a window from another one and have both of them moved or inconified/raised together.
  • a library of transitions à-la-jQuery in XUL to make smoothly appear dialog areas or smoothly resize dialogs, slide deck contents.
  • a HTML parser ; that's amazing the number of ugly things Myk and I had to write for microformats or webchunks just because we don't have a HTML parser... The current need to use a hidden (or visible if you're lucky) iframe is painful.
  • since JavaScript now reaches the speed magnitude of native code, I'd love to see CSS Selectors' extensiblity. I want to be able to define my own boolean pseudo-classes without having to hack SelectorMatches(). It's not purely theoretical, I would use that immediately.
  • a more powerful CSS Object Model storing not only CSS rules recognized by Gecko but also unknown rules and comments. This is a very tough issue, hard to solve. But a web editor will always suffer if the user loses the comments or the non-standard rules he/she inserts in stylesheets..
  • CSS Media Queries... Having in the same web editor the ability to edit a document for normal, medium and small screens is a real plus and CSS MQ are the technology I need here.

Things I have not used yet but I will definitely use them in the near future:

  • JavaScript code modules (JSMs)

And the things I still dislike and want to see dumped:

  • XSLT ; yeah yeah XSLT is powerful but it's also an awfully complex solution when you want to deal with simple transformations.
  • RDF ; a proof of existence of the devil.

Tuesday 9 September 2008

Webchunks 0.30 progress

Thanks to user feedback, I have fixed at least two issues in forthcoming 0.30:

  • a document charset issue
  • the throbber was incorrectly reset after load

I have already updated the XPI. Stay tuned, feedback still welcome.

Oh, and I may give a try to something even better : add Webchunks to Places...

Monday 8 September 2008

Webchunks on any web site, give it a try ?-)

I guess the title says it all. Firefox will show a short help page after extension's installation. Feedback welcome!

MozillaLinks

Webchunks on any web site, screenshots

People, I'm excited. Seriously. I spent only two hours and half on it yesterday night and here's the result.

  1. screenshot 1 visit a web site, here the San Jose Mercury News' home page
  2. screenshot 2 decide you want to subscribe to the main headline but hey the site is not Webchunks-/Webslices- enabled. No problem, just select with your mouse the block you want to subscribe to...
  3. screenshot 3 as usual you can modify the webchunk's title and hop! the entry appears in your toolbar
  4. screenshot 4 OOOH IT'S MAGIC, the webchunks's popup worked fine, the SJMN's web site still has no Webslice builtin and XPath is still a proof of existence of the devil !

The best part of it is the following one : Webchunks does not need Greasemonkey any more for that and it's so easy to subscribe to any part of any web page that even the sales director of your company could do it !!!

Oh wait, I think I forgot one small detail : IE8 is unable to do that for the time being :-) Can someone bring Ballmer a few more chairs please ?

Sunday 7 September 2008

Webchunks on any web site #2

Thanks to an important code contribution by Zbigniew Braniecki (aka Gandalf), I am now in the process of adding Webchunks visual addition to any web site. When I say "visual", I mean that you will not have to write a Greasemonkey script to add a webchunk to your web site of choice, you won't need to know the Webslices spec or understand XPath-proof-of-existence-of-the-devil. Your mouse and a click will be enough. And if I have enough time for that, you won't even need Greasemonkey. Stay tuned...

Thursday 4 September 2008

Webchunks 0.20

Webchunks logoI have just uploaded a new version of my Webchunks extension (implemention of IE8 Webslices for Firefox). It's available from my own site for the time being, and will be available from addons in the coming days. Changelog:

  • now correctly deals with multiple entry-title elements,
  • v0.14 was incorrectly disabling JavaScript
  • clicking on a webslice entry while the webslices were refreshed on window's load was horking the webslice popup
  • cleanup

Tuesday 2 September 2008

Webchunks progress

Julio Ernesto Lopez, webmaster of www.criticadigital.com, sent me yesterday a very interesting bug report about webchunks. It's very interesting because it's two bugs in one really, one for my Webchunks extension and one for IE8's implementation of Webslices. On my side, I was incorrectly disabling JavaScript in weslices in some cases and that led to problems with sites populating data from Ajax queries. It took me a few hours yesterday to correctly narrow the bug and find a fix. On IE8's side, I noticed a very visible difference between Webslices' "specification" and IE8's behaviour. I have pinged Microsoft about that. I'll tell you more when I have their reply.

So expect a new version of Webchunks to hit addons.mozilla.org in the coming days (addon review needed, it's not a trusted extension yet).

Friday 22 August 2008

Extend Firefox 3 Contest

I'm delighted to report that my Webchunks extension to Firefox was selected as a finalist for the New Add-On Grand Prize. Pencil, Tagmarks and HandyTag got the three Grand Prizes. I must say that I was 100% sure Pencil would get a Grand Prize. Pencil is an incredible app, superb, well done, and it clearly deserved a prize. There's one minor detail about it though : it's packaged as an extension to Firefox 3, but it's not an extension to Firefox3... it's really a standalone app using FF3 as an entry point ; Pencil probably deserves a xulrunner-based package. Anyway, the quality and usefulness of Pencil made it a natural winner for one of the three prizes, mucho congrats to Dương Thành An!!!

Let me play the chauvinist a bit to note that among the 3 winners of the New Add-On Grand Prize and the 6 runners-up, there are three french... That shows the vigour of the local Mozilla community here in France !

- page 1 of 2