Tag Archives: Mozilla

Power to the browser with Flock

If 50% of what this Wired article says is true, your Web experience will never be the same again.
Flock advertises itself as a “social browser,” meaning that the application plays nicely with popular web services like Flickr, Technorati and del.icio.us. Flock also features widely compliant WYSIWYG, drag-and-drop blogging tools. The browser even promises to detect and authenticate all those user accounts automatically. It’s a clear attempt to be the browser of choice for the Web 2.0 user.
Yes it is Free Software.

Greasemonkey script can create a page from scratch? How do you fire it?

I was thinking about IdentityBurro. [IdentityBurro is a Greasemonkey script that, for example, when you are on the page of user phauly on del.icio.us, inserts into that page some links to the page of user phauly on flickr, 43things, webjay, last.fm, …]
I was thinking that instead of simply inserting a link I could directly insert into the page some photos of the user on flickr and some things he has been doing and some songs he has been listening. So basically it would be easy enough to produce a page like the ones in which technorati aggregates a lot of information about a tag (example) by showing some photos of the user from flickr, some URLs bookmarked by the user on del.icio.us, etc.
But why inserting all this information into a, for example, already existing flickr page? Why not creating a new page at all?
So the question is: can Greasemonkey be used to create a page from scratch and not just inserting some HTML elements into an already existing page? I guess the answer is yes but are there already examples out there? And, in this case, what fires the script since there is no originating web page? Could I run it just by typing in the address bar something like greasemonkey://my_aggregator.user.js?
I guess this userscript behaviour is in the air and actually, while I was typing this, I kinda remember that was propably jesse who was pondering this possibility loudly enough for me to hear it.

Identity Burro: making social sites more social.

Identity Burro Project Page.
[Impatients can check the Flash video or the Screeshots or directly install the script (current version 0.4).]
flickr_after_identity_burro.png
Identity Burro is a Greasemonkey script for Firefox that gives quick access to all the public aspects of a person: photos, blog, preferred sites, preferred songs, etc.
Precisely, when you navigate on the Web page of a certain user on (for example) Flickr, it inserts into the Web page links to the page of the same user on , Del.icio.us, Technorati, CiteULike, WebJay, Last.tm/Audioscrobbler, Rojo, 43things, 43places, AllConsuming, LiveJournal, Simpy (see Screenshots). And of course it works also on the other sites, i.e. when you are on del.icio.us page of user “alice”, links to the userpage of “alice” on the other sites are shown (see Screeshots).

An example? Have it. danah seems to use consistently the nick “zephoria” on social sites so you can try the extension with her Web presence (if you prefer to first watch and then try, you can see the Flash video of what will happen).
1. Just install Identity Burro script (or see install howto ).
2. Then visit (for example) zephoria page on Flickr or zephoria page on last.fm.
3. Now on the left of the flickr or last.fm danah’s page, you see a box with some icons that links to the pages of danah on the other social sites (see screenshot).
4. You can also expand the box to see more descriptive text for links (see screenshot).
5. If you click, for example, on the del.ciou.us icon, you land to zephoria page on del.icio.us.
6. Can you think of another? Well, feel free to add it in the comments.

So basically when you find an interesting user on, say, del.icio.us, you can try to see (one-click-away) her photos of Flickr, and her blog, and her preferred songs on Last.fm and Webjay, and the things she wants to do on 43things, and … Of course, sometime the user will have a different nick on different sites and in this case the script is not that useful (however see possible inprouvements) but, hey, it is only one-click-away so you can give it a try anyway, right?

Possible improvements
1. Assuming that a person has the same nickname on all the social sites is of course working on very limited cases. So what do we need? We need a parent place where an user can reasonably keep a link to all her identities (and possibly expressing them with a microformat, hIdentity?), and what better than your own blog? Possibly we could use OpenID, a decentralized identity system but I haven’t thought too much about it. Do you have any suggestion?
An OpenID identity is just a URL. You can have multiple identities in the same way you can have multiple URLs. All OpenID does is provide a way to prove that you own a URL (identity). And it does this without passing around your password, your email address, or anything you don’t want it to. There’s no profile exchange component at all: your profiile is your identity URL, but recipients of your identity can then learn more about you from any public, semantically interesting documents linked thereunder (FOAF, RSS, Atom, vCARD, etc.).
2. From a visual point of view, the HTML element inserted in the HTML page (divs, links, etc) inherits the CSS style of the current site. For example if flickr would have a black background and links in shocking pink, the IdentityBurro box would have them as well. Since I would like to have the same box, with the same colors and spaces between lines and fonts in all the possible sites, the question is: there is a way to clear all the previous set styles for an element? a sort of resetStyle? or somewhere a list of how all the CSS properties are set by default? If you have suggestions, the comments may be a good place where to place them. [In the code there is the variable resetStyle that tries to reset all the styles and it is prepended in every your_element.setAttribute("style",resetStyle+ "your specific inline css here")].
3.Still some sites to be added such: furl, wist, blogmarks, tagsurf, upcoming, jots, podcast, bloglines, smugsmug, bookswelike, kinja.com. Any more?
4. creating an ajax method that query google or yahoo! for “<username> blog” and creates a link with the first returned result (possibly the highest in the two combined queries) with anchor text such as “guessed blog of <username>”. For the ajax-power, I guess I need to steal, … ehm, take inspiration again from the fantastic bookburro code! ;-)
5. peritus was thinking about doing something with FOAF information as well. I can’t remember now precisely what.

Thanks to:
Jesse for providing the fabolous BookBurro Greasemonkey script and releasing it under Creative Commons “Attribution-ShareAlike 2.5”
Peritus for improuving the script in various ways.
– The mozilla community at large for providing Firefox, a web browser it is fun to play with (and hopefully, in the process, improuve it a bit).
– Otis Gospodnetic, creator of simpy.com, for sending me by email the code for adding simpy to the list of supported sites that was introduced in version 0.4.

Licence:
The script code is released under a Creative Commons “Attribution-ShareAlike 2.5” (since BookBurro code was). So feel free to play with it, improuve it, redistribute it, …

How to install Identity Burro
1. Install the Mozilla Firefox browser;
2. Install the Greasemonkey extension;
3. Install the Identity Burro script (current version 0.3).
[If you have problems, check the Flash video]
Continue reading

AjaxOffice / WebOS / Microsoft starts shivering

Many possible titles for this entry on Kottke, and all of them means “start counting microsoft’s remaining days”. This is nothing too new for AjaxOffice-aware people but the article is very well written. A question for you: should the code running this apps be Free Software? I think so. Moreover, Kottke reasons that the entities who can create WebOS are just Google, Yahoo!, Microsoft, Apple or Mozilla Foundation.
And why not the world community starting for example developing AjaxOffice on Sourceforge?
Oh, yes, I was going to forgot; the titles of the post were:
* GoogleOS? YahooOS? MozillaOS? WebOS?
* You’re probably wondering why Yahoo bought Konfabulator
* An update on Google Browser, GooOS and Google Desktop
* A platform that everyone can stand on and why Apple, Microsoft, and, yes, even Google will have to change their ways to be a part of it
* The next killer app: desktop Web servers
* Does the Mozilla Foundation have the vision to make Firefox the most important piece of software of this decade?
* Web 3.0
* Finally, the end of Microsoft’s operating system dominance

Identity Burro: GreaseMonkey extension for social sites.

flickr_after_identity_burro.png

UPDATE: there is now an IdentityBurro project page
You are looking at the page of xyz on flickr and you would like to see xyz‘s bookmarks on del.icio.us?
Or, you are on the technorati profile page of abc and you would like to see abc‘s photos on flickr?
Well, if one of these desideratas has been in your mind before, you now have it!
Enter Identity Burro (or IdentityBurro), a GreaseMonkey extension that inserts, in the profile page of user xyz on flickr or del.icio.us or technorati, the link to the profile pages of user xyz on flickr and del.icio.us and technorati. Your social sites are now more social!
See the screenshots.

Still with me? Then I guess you might want to install:
   Current Version: Identity Burro v0.1

At the moment there is nothing better I can do that assuming an user has the same nick on every site: I assume xyz@flickr is xyz@del.icio.us and xyz@technorati. I know this is by no means guaranteed to be true (or desirable). I hope (and ask) that one of this social sites will soon let its users to enter which are their nicks on other sites. In this way I would be able to get this information and put the correct links when xyz@flickr is called abc@del.icio.us.

And of course, as you can see by the name of the extension, inspiration for this extension came from the mighty BookBurro extension, whose creator Jesse I just met few days ago at the AAAI 2005 conference in Pittsburgh.
The code is released under a Creative Commons “Attribution-ShareAlike 2.5” licence (since Book Burro was released in this way and the shareAlike option didn’t really give me a chance to change licence for a GPL).

If you like, you might want to let me know if it works in the buggy browser, I mean, Internet Explorer.
Todo:
# when expanded, part of the unexpanded interface (buttons and icons) remains in background, more transparent. understand why and fix it
# when expanded the “expand” icon should become a “shrink” icon (the arrow in the other direction).
# some CSS properties are inherited from the current site, so that for example, the extension looks a bit different in flickr and in del.icio.us. Understand which are the properties of which elements and overwrite them (surely the background of some elements is inherited).
# adding more social sites, for example, webjay, citeulike, last.fm, audioscrobbler, furl, wist, blogmarks, 43things, tagsurf, upcoming, jots, podcast, consumating, rojo, bloglines, smugsmug, bookswelike, kinja.

Leave comments to this post for communicating with me about the extension.
Continue reading

Can your mind manage all the Greasemonkey you installed?

After meeting BookBurro’s creator and listening a great talk about microformats (and how greasemonkey extensions can assemble them to create useful services for you) past week, I’m thinking a lot about GreaseMonkey. For example, I have more than 4 extensions that modify google.com and I have no more idea if what I see is the original content sent by google or if it is modified/created by one of the 4 extensions. I see that Lucas Gonze had a similar problem: he was commenting on ReBLG icons being adopted by all the bloggers in few days but in reality it was an extension installed by him (and forgetted) doing the insertion in the HTML pages he was seeing. [Lucas is the creator of the great WebJay.org] For this reason he suggests to add a greasemonkey icon near every modification made via extensions. I’m not sure it is the best solution since I will end up easily having hundreds of GM icons in the pages, anyway it is something we need to think about.
And I just want to note, since every day it is easier for anyone to write “code”, that this quotation becomes more and more true:
  The moral is obvious. You cannot trust code that you did not totally create yourself.
      — Ken Thompson, Turing Award Lecture [Thompson, 1984]

Animated Invasion over Google Map

UPDATE: This is a demo on Google Maps I put together in few hours in 2005. And this was the first time I got BoingBoinged (it was the last time too … ;) The demo was working in 2005 but now the Google Maps API changed and it does not work, so I replaced it with the flash video I recorded at that time.

Some Mozillas and some Gnus are invading Microsoft office in Redmond (the blue E).
First I saw on BoingBoing that Vestadesign created Star Wars ATATs attacking Palo Alto using Google Maps API. So I thought I could add some animations. I also ended up changing the environment (Micro$oft offices) and the invaders (Mozillas and Gnus). Free software to the rescue!
Go to the page with the Javascript code that produces the animation.
Below there is the Flash animation but you should see the real page (with the code). (If you can’t see them, check the static image.)

It should be very easy to create real playable games on Google Maps. Here are some ideas:
– playing Risk on the real world map (with the ability to zoom in/out to combat at different scales). Extend Jrisk or JavaRisk (code available on SourceForge).
– playing FreeCiv on real world maps. Modify FreeCiv source code.
– driving a car race on streets of the real world.
– much more I guess
Let me know if you create such a game.

UPDATE: after being BoingBoinged, I created a Games on Google Maps wiki page, for collecting ideas (and implementations!). Contribute to it, if you like.

GreaseMonkey is the real Semantic Web (and now works on HospitalityClub)

GreaseMonkey is an extension for Firefox that allows you to totally (and easily) change the layout of any received web page. Don’t like the color of the banner of that_site.com? You can change it! Do you prefer to have the login link on the_other_site.org on the right? You can place it wherever you want! While visiting the page of a certain book on Amazon.com, do you want to see the prices other sites ask for the same book (with this information embedded on “original” Amazon page)? You can do it (with BookBurro extension)! Want to hide forever every Google AdSense ad? You can do it! You find hundreds of scripts (for hundreds of different sites) over at GreaseMonkey UserScripts wiki or you can easily create yours (as I did, see the end of this post).
Oh yes, this will blow up your business model and “any kid with a bright idea and a knack for DHTML can create a new interface for your site, and it will probably be better than yours.
And yes, this is much much more real (and useful) than all the Semantic Web you listen about at conferences (with tons of papers and tons of highly funded programs that, at least at the moment, produces almost nothing you can use and play with; if I’m wrong, use the comment to point out interesting stuff).
Anyway, I played a bit with GreaseMonkey. I recommend you diveintogreasemonkey by Mark Pilgrim and I suggest you to follow it step by step (this is faster than trying to jump to what you need because you will jump back to understand that what you skipped was important).
And eventually, I created 2 GreaseMonkey scripts for HospitalityClub, that I think can save me a lot of time in using the site. I used HospitalityClub for finding hospitality in Trieste when I was attending the School on Networks (thanks truesmile and inquis), I used it in order to find hospitality in Pittsburgh where I’ll be for the AAAI conference (thanks roder) and yesterday I wanted to use it for finding hospitality for my (short) holidays in Italy [not going to tell where]. The problem with HospitalityClub is that the interface is not too usable. My usual use case is the following: I search all the people offering hospitality in the place where I want to go, and I send to all of them the same request. This requires visiting the list of users, clicking on every username to go to her userpage and, on the userpage, click on “send message to this user” that leads to a new page, then copying my name in a field, my passport number in another field, the request text in a text area and push Submit. All these steps must be done for all the users!
So I created a GreaseMonkey extension that add a link near every username: the link allows to go directly to the “send message” page.
      [ script: hospitalityclub_addSendMsgLink.user.js ]
And I created another extension that prefill the values in the “send message” page with the default ones (my username, my passport number, the request message).
      [ script: hospitalityclub_defaultValuesInMsg.user.js ]
In this way you just have to push Submit. It would be possible to push Submit automatically with the extension but I wanted to keep some control … interestingly GreaseMonkey gives you so much power that then your small brain is no more able to manage it. I mean, for example, I have at least 4 extensions that modify google.com pages and I’m no more able to tell which extension inserts what in which cases… this is something I need to think a little bit more about.
Anyway the 2 extensions are released under GPL (software that gives you freedom) so you are free to play with them, free to study them and free to modify them. Enjoy!

Italy is slow in Firefox adoption

In this Study by Xiti (Firefox en Europe : on ne l’arrête plus!), you can see that Firefox is very popular all over Europe: in Finland its market share is 30.9%! And you can also see that Italy is almost the last one as Firefox penetration! So let’s horde over MozillaItalia.org and prouve that we Italians are not living in the ICT-less-advanced country in Europe! (via BlakeRoss)

Client power: you modified the page your browser receives (greasemonkey)

GreaseMonkey is an extension for Firefox browser that easily allows you to change the rendering of a web page received by your browser. The example image shows how Greasemonkey can insert prices from competitive booksellers right into Amazon..
Well, you can easily imagine how Greasemonkey will blow up business models (as well as your mind). The total control over the content you see with your web browser had slipped away from content providers’ hands (the web site who is sending you the data i.e. Amazon, Google, …) to content consumers’ hands (this means you … well, if you use a clever browser).