I'm Aza Raskin @aza. I make shiny things. I simplify.

I'm VP at Jawbone, focusing on health.

 

Rapid Prototyping with Greasemonkey

I recently was admiring the slick keyboard interface for Dropular, a sort of communal blog for sharing interesting finds on the net. It has that Swiss-minimalism-meets-interaction-design feel, which is enhanced by a modernist legend explaining how to operate the thing (although I wish the legend faded away after I got the hang of it). The interaction is simple: you use the arrow keys to automatically animate to the next/previous item.

I passed the link around, and my friends over at Weardrobe.com thought the interaction would make a good match for their homepage. They wanted to try it out, and since they haven’t seen the light of jQuery yet, I thought it would be fun to rapidly prototype it for them. For the unexpected fun the interaction yields, it doesn’t take much code to make it happen.

I was tempted to break out the pageLoad ability of Ubiquity, but decided instead to do a the project using Greasemonkey as a comparative experience. Half an hour later, the prototype was working and ready for them to play with. To try it out:

(1) Install Greasemonkey (you’ll need to be using Firefox).
(2) Install this Greasmonkey script.

(3) Head over to Weardrobe and use the up/down keys. Try using down-arrow at the very bottom of the page.

It turns out that while Greasemonkey was fairly painless, I wasn’t able to find an easy way to work with jQuery. I’d have gotten that for free with Ubiquity. The end-user installation process is also a bit more humane with Ubiquity.

I don’t know if Weardrobe will add the keyboard navigation aid to their site, but if they decide to, the hard work has already been done — it would be a matter of minutes to integrate the code.

In general, using the browser’s run-time as a prototyping environment enables ridiculously fast rapid prototyping. There are no deployment steps to worry about, changes are reflected instantly, and all changes are dog-foodable from the get-go. Prototyping is also entirely decoupled and parallelizable: that’s especially powerful when you don’t have access to the site for which you are making a live-patch, the backend code is obtuse, or when you multiple have competing ideas for changes you’d like to make. We actually use the same technique for prototyping new behaviors for the the Ubiquity code repository.

The next time you want to try out a new design or feature, break open Greasemonkey or Ubiquity to get a hands-on feel. You’ll be glad that you did. I know that we’ll be using the technique more here at Mozilla Labs.

RT @aza Rapid Prototyping with Greasemonkey | Follow @aza on Twitter | All blog posts

View all 105 comments


Great use of greasemonkey — I love the Dropular nav.

With Artzilla we’ve mucked a bit with using jQuery in userscripts and threw up some notes here:
http://wiki.artzilla.org/using_jquery_with_greasemonkey

Not perfect — load order presents issues with noconflict()


Actually, I prefer Ffffound’s navigation to Dropular’s. The lack of animation gives it a much snappier feel. Perfect for flipping through the pictures. Also, it respects the current scroll position and jumps to the next picture from there (unlike Dropular, where if you jump, scroll and jump again, it jumps back).


I also like that Ffffound loads the next page of pictures, once you’re at the bottom and want to go further down. Dropular just displays “End” and requires you to go to the next page manually.

I think none of the Ffffound clones actually comes close to it’s superb navigation interaction, reduction to essential features, and good recommendations of related pictures. Unfortunately I don’t have an account there. But this is getting slightly off topic :)


Loading a JavaScript library with Greasemonkey is fairly easy since version 0.8. The best way to include jQuery in a user-script is to use the @require metadata (http://wiki.greasespot.net/Metadata_block#.40require). Further explanations are provided on the wiki: http://wiki.greasespot.net/Code_snippets#jQuery_in_Greasemonkey_scripts_using_the_metadata_key_.40require
I sent a mail to tell Karl Swedberg to update the tutorial on learningjquery.com but seems like he didn’t find the time to do it unfortunately.


In Greasemonkey 0.8, the @require field was introduced. So you can do something like this in the header:

// @require http://ajax.googleapis.com/ajax/libs/jquery/1.2.6/jquery.min.js

And the $ object will just be there.



kraki5525

If you are using a newer version of greasemonkey (0.8.0+), you can use the @require key to include third party javascript files, see the wiki for more info ( http://wiki.greasespot.net/Metadata_block#.40require ). I use it all the time to include the jQuery files hosted on Google when I’m writing userscripts.

This is an type of use of jQuery doesn’t get a lot of attention. Which is a shame, because its amazing the stuff you can do with the power of jQuery.


Excellent thoughts. We’ve used this exact technique with clients – to great success.


In talking to Mark Pilgrim at Etech in ’03, I told him of using GM to do feature mockups at MSN Search. He said that he’d had several folks from large corporations tell him they did this.

I just did some hackery on feeds.mozilla.com with GM: http://surfmind.com/muzings/?p=267


Nature has this one figured out. Imagine if sex started with the orgasm. Oh, wait, that does happen to some guys.


I also like that Ffffound loads the next page of pictures, once you’re at the bottom and want to go further down. Dropular just displays “End” and requires you to go to the next page manually.


I also like that Ffffound loads the next page of pictures, once you’re at the bottom and want to go further down. Dropular just displays “End” and requires you to go to the next page manually.



Sex

Actually, I prefer Ffffound’s navigation to Dropular’s. The lack of animation gives it a much snappier feel. Perfect for flipping through the pictures. Also, it respects the current scroll position and jumps to the next picture from there (unlike Dropular, where if you jump, scroll and jump again, it jumps back).


C Beijing China mens belts NBA star center Yao Ming GHD can cry without pain, to cheap gucci belts the Court in the eyes of basketball fans, but some irreducible on cheap louis vuitton belts for men the possibility cheap desiger belts gucci belts on sale of the first louis vuitton belts cheap born of the soul would have U.S. passports. Yao and his wife returned to the United States MBT, where he plays for the Houston Rockets before the birth of her first child, which should eventually took place between May and July.


How To Phish, Protect Your Email, and Defeat Copy-And-Paste with CSS


good recommendations of related pictures. Unfortunately I don’t have an account there. But this is getting slightly off topic..


Nature has this one figured out. Imagine if sex started with the orgasm. Oh, wait, that does happen to some guys.



Max

Getting jQuery to place nice with Greasemonkey is quite easy now. You can just include jQuery or use a script like this:

http://joanpiedra.com/jquery/greasemonkey/

This kind of ‘live prototyping’ is great when you have a big bulky CMS that you can’t update easily!



Jiang

Great article! I’m a web developer without a computer. I solely rely on the computers in the public library, which are loaded with firefox. They only give me 2 hours per day to use the computers, so time and speed is the essense! You cant believe how mich time is spent simply saving the files to the server and refreshing the page for every little change. Can’t wait to try out grease monkey to speed things up! Thanks a lot!

Jiang


Not entirely what your article is about, but i think you should go the enzo humanized route with ubiquity and remove it from the browser.


This is Rapid Prototype manufacturer from China, our company located at zhongshan guangdong.

SuNPe is one of the largest professional rapid prototyping companies in China. With an extremely experienced staff and technology, we can offer an excellent level of quality, service and reliability, with extremely fast lead-times and very low cost.

I am very glad to hear that you are interesting in the market of Rapid Prototype and if you have interest in dealing with us, it will be a great pleasure to receive your inquiries for your drawings (IGS/STP/STEP/X_T/X_B etc). And we will send our lowest quotations.

Maybe you can put me into your Skype or MSN list.

My skype ID: sunpe_prototype_16

My msn ID: sales_16@sunpe.com


Great use of greasemonkey — I love the Dropular nav.
With Artzilla we’ve mucked a bit with using jQuery in userscripts and threw up some notes here:
http://شات-سوريا.com
Not perfect — load order presents issues with noconflict()


Excellent thoughts. We’ve used this exact technique with clients – to great success.


Great points! Thank you for sharing. I loved the part about using the browser’s run-time as a prototyping environment. Makes sense that that would equal ridiculously fast Rapid Prototyping.


The next time you want to try out a new design or feature, break open Greasemonkey or Ubiquity to get a hands-on feel. You’ll be glad that you did. I know that we’ll be using the technique more here at Mozilla Labs.


Hello, you used to write wonderful, but the last few posts have been kinda boring… I miss your super writings. Past few posts are just a little bit out of track! come on!


thnks
goooooooooooood
min:)ااا


Do you have Any Example Related to Grasemoney Before i don’t Listen About these Type Of wording that you are using in this Article.


I like ridges on my cranberry sauce


wonderful points altogether, you simply received a new reader. What may you suggest about your put up that you just made some days in the past? Any sure?


Lovely Post, I was searching from last 1 hour to get these details info and finally got it on your blog, thanks for sharing this valuable post.


Thanks for your advice on this blog. 1 thing I would wish to say is purchasing electronic devices items on the Internet is not new. In truth, in the past decades alone, the market for online electronics has grown noticeably. Today, you could find practically virtually any electronic tool and product on the Internet, from cameras in addition to camcorders to computer components and games consoles.


Thank you for sharing excellent informations. Your site is so cool. I’m impressed by the details that you¡¦ve on this web site. It reveals how nicely you perceive this subject. Bookmarked this website page, will come back for extra articles. You, my friend, ROCK! I found just the info I already searched everywhere and just couldn’t come across. What a perfect site.


Hey there! This is my 1st comment here so I just wanted to give a quick shout out and say I genuinely enjoy reading your articles. Can you suggest any other blogs/websites/forums that deal with the same subjects? Thank you!


Thanks so much for providing individuals with an extremely wonderful opportunity to read articles and blog posts from this site. It’s usually so nice and jam-packed with a great time for me personally and my office friends to visit your site at minimum thrice a week to study the fresh issues you have got. Of course, we are certainly motivated concerning the awesome techniques you serve. Certain 2 facts on this page are essentially the finest we’ve ever had. jdei726ya


Hey there! I know this is kind of off topic but I was wondering if you knew where I could locate a captcha plugin for my comment form? I’m using the same blog platform as yours and I’m having difficulty finding one? Thanks a lot!


I enjoy what you guys tend to be up too. This sort of clever work and coverage! Keep up the amazing works guys I’ve incorporated you guys to my personal blogroll.


Thanks, I have recently been searching for details about this subject matter for ages and yours is the best I have found so far.


Man, this blog is just great! I cant wait to read more of what youve got to say. Im really happy that I came across this when I did because I was really starting to get bored with the whole blogging scene. Youve turned me around, man! Thank you!



erabeatiogili

Продам двигатель [b]ЯМЗ 238 – АК[/b] на комбайн [b]ДОН[/b]. Возможно по запчастям.

тел. +38 067 9413401, +38 066 5501293


For various reasons, not all professional linguists are constantly around colleagues, etc (eg those in small universities without actual linguistics departments, working in industry or other venues, and those who are retired).


I was suggested this website by my cousin. I’m now not certain whether this
submit is written through him as nobody else recognize such targeted about my difficulty.
You’re amazing! Thanks!


The truth is, the skincare market is full of creams that are completely useless and even could do more harm than good.
Innovative devices used in clinical offices are now
available for at- home use. Loading your body with toxins, coming from fatty
processed foods can lead to inflammation, dry skin and premature aging.


thanks bro


article is very nice and unique. thank you. Artikel kesehatan cari tahu tentang Cara mengobati cacar air


I have an enthusiastic synthetic attention intended for fine detail and can foresee difficulties prior to they
will occur.



Gus

Finally, I’ve found what I’m searching in your post. I liked this so much..


Simply have to condition your personal article is usually as incredible. The particular lucidity within your setup is just great along with i am going to presume you might be informed with this particular subject.


What’s up, every time i used to check web site posts here early in the morning, because i love
to find out more and more.


Hey there! This is kind of off topic but I need some guidance from an established blog.
Is it very difficult to set up your own blog? I’m not very techincal but I can figure things out pretty quick.
I’m thinking about making my own but I’m not
sure where to begin. Do you have any points or suggestions?
Appreciate it

my web-site Acne


Hey there! This is kind of off topic but I need some guidance from an established blog.
Is it very difficult to set up your own blog? I’m not very techincal but I can figure things out pretty quick.
I’m thinking about making my own but I’m not
sure where to begin. Do you have any points or suggestions?
Appreciate it

my web-site Acne


That fantabulous post this has been. Somehow seeing this kind associated with useful post. I am grateful to you and expect much more associated with posts such as. Much obliged.


Hello I found your blog by mistake when i was searching AOL for this matter, I must tell you that your blog is really helpful I also love the design, which is cool!


I am really satisfied with this posting that you have given us. It is truly an amazing feat made you. Thank you and looking for more posts


In fact, I learned about all of this, but with that in mind, I still think it is useful. Good work!


I see you put a lot of work on this site! Keep writing!


Although I am not a noob in the website industry, your site is really unique and has some useful ideas. Enjoy to the fullest! I, ll put in my blogroll, I will give more value to my visitors.


An interesting dialogue is worth comment. I think you should write extra on this matter, won, Aot be a taboo subject but generally people are not enough to talk about this issue. To the next. Applause


I was impressed with the quality of information on this site. There are many great resources here. I am sure I will visit this place soon.


It is a great resource that you are providing and you give it away for free. I enjoy seeing websites that understand the value of providing a quality resource for free. I really loved reading your post. Thank you!


Super blog post, I count on updates by you.


I was very encouraged to find this site. I want to thank you for this special read. I definitely enjoyed every bit of it and I ve marked you to check out new stuff you write.


Finally, a topic that fascinates me. That I am looking for information of this caliber for several hours. Your site is greatly appreciated.


Thank you for another essential article. Where else can you get this kind of information in such a complete way to write? I have a presentation next week, and I am in search of such information.


The beauty of these blogging engines and CMS platforms is the lack of limitations and ease of manipulation that allows developers to implement rich content and skin the site in such a way that with very little effort is how I see it makes this site tick all without limiting content and effectiveness.


This is a smart blog. I m serious. You have so much knowledge about this issue, and so much passion. You also know how to make people rally behind it, obviously from the responses. You have a design here that is not too flashy, but makes up for what you say statement. Great job, in fact.


What you say is absolutely true. I know that everybody must say the same thing, but I think you put it in a way that everyone can understand. I also love the images you put in here. They are very fit with what you say. I m sure you ll reach so many people with what you say.


Simple, beautiful what you have done here. It is pleasing to look you express from the center and your clarity on this important content can be easily searched. As incredible and welcome your future updates.


Ah, this is a great message. In theory I d like to write like this too taking time and real effort to make a good article . but what can I say . I procrastinate a lot and never do anything.


Note that this post is actually remarkable sweet theme. I harmonize conclusions and will eagerly expect incoming updates. Saying thanks can not just sufficient, for the wonderful clarity in your writing. I will immediately grab your rss feed to stay informed of any updates. Exemplary job and much success in your business! Please forgive my poor English as it is not my first language.


Let me start by saying wonderful message. Not sure if this has been discussed about, but when using Chrome I can never get the entire site to load without refreshing many times. Could be my computer. Thank you.


Great stuff from you, man. I ve read your stuff before and you re too awesome. I love what you ve got here, love what you say and how you say it. You make it enjoyable and you still can stay smart. I can not wait to read more from you. It is really a great blog.


It does not have? U can write better. Reading this post reminds me of my old roommate! He always talked about it. I will forward this article to him. Pretty sure he will have a good read. Thank you for sharing!


Resources such as you mentioned here will be very useful to me! I will post a link to this page on my blog. I am sure my visitors will find that the most useful.


I think it would be a boring old post, but it really compensated for my time. I will post a link to this page on my blog. I am sure my visitors will find that the most useful


Great post! ? I started out in the media community management marketing and trying to learn how to do it well resources like this article very helpful. As our company is based in the U. S. , it? S all a bit new to us. The example above is something that worries me as well, how to show your enthusiasm and share the fact that your product is useful in this regard


Hrmm that was weird, my comment feed. However, I would say it is good to know that someone else also mentioned this as I had trouble finding the same information elsewhere. This was the first place that gave me the answer. Thank you.


I must admit that this is one great insight. Of course, giving the company the opportunity to get on the ground floor and really take part in creating something special and tailored to their needs.


This is a really good read for me, must admit that you are one of the best bloggers I saw. Thanks for posting this informative article.


You do not intend to do so, but I think it has managed to express the state of mind that a lot of people entering Taste want to help, but not knowing how or where, is something a lot of us are going through.


This article gives the light in which we can observe the reality. It is very nice and gives in depth information. Thank you for this wonderful article


Keep em coming . you all do a great job at such concepts . can not tell you how much I, for one appreciate all you do!


Hi webmaster, commentators and others! Blog is absolutely fantastic! Plenty of information and inspiration, both of which we all need! B Keep em coming . you all do a great job at such concepts . I can not tell you how much I, for one appreciate all you do!


Pretty good post. I just stumbled upon your blog and wanted to say that I really enjoyed reading your blog. Either way I subscribe to your feed and I hope you post again soon.


That fantabulous post this has been. Seen in this type associated with useful post method. I thank you and hope more associated with posts such as. Much obliged.


Thank you so much for writing all of the excellent information! Looking forward to checking out more posts!


I admit, I have not been to the site in a long time. however it was another pleasure to look at it is, even professionals important topic and ignored by a lot like that. I thank you for helping to make people more aware of the possible issueExcellent things as typical.


This post is quite interesting. I really never thought I could have a good read by this time until I found this site. I am grateful also very well written given. your information. Thanks to both post. From ton comments on your articles, I guess I am not the only one having all the fun here! Keep up the good work.


Interesting topic for a blog. I have searched the Internet for fun and came across your website. Fantastic post. Thank you for sharing your knowledge! It s good to see that some people still put effort into managing their websites. I will make sure


Just what I needed. Thank you I saw this information forever. I made a note of your blog in order me to read further on the subject.


I am very satisfied with this post you have given us. This is really good work done by you. Thank you and looking for more posts


Most powerful, just give it a colleague who was doing a little research this. And he actually bought me breakfast as a result of I found it for him . . smile. So let me rephrase that: Thnx for the deal with! But yeah Thnkx for spending the time to discuss this, I feel strongly about and want to learn more about this topic. If achievable, as you become experience, would you mind updating your blog with extra details? Which in turn is very useful for me. Big thumbs up for this blog put up!


In fact, I learned about all this, but with that in mind, I think it is still useful. Good work!


“%KW%”


I must tell you I was impressed. Very rarely do I find a blog, both educational and aentertaining AOS. Just wanted to let you know that you have most definatly hit the nail on the head. Your mind is a good one. Thx is all I can say.


Hello I found your blog by mistake when i was searching AOL for this subject, I must tell you that your blog is really helpful I also love the design, which is great that!


With the whole thing that seems to be developing within subjects, all scenes are generally quite refreshing. Even so, I apologize, but I can not subscribe to the whole plan, all be it exhilarating nonetheless. Looks like all your opinions are generally not completely justified and in reality you are generally yourself not really fully convinced of the argument. In any case, I do not appreciate a look.


I love your blog, i have it in my rss reader and always like new things coming out aof this


I am really satisfied with this posting that you have given us. It is truly an amaazing feat made you. Thank you and looking for more posts


This post is quite interesting. I really never thought I could have a good reada by this time until I found this site. I thank you for writing given. your information is also very nice. Thank you for the great post. From tons of comments on your articles, I guess I m not the only one having all the enjoyment here! continues to work well.


I admit, I ve never been to the webpage in a long time. however it was anothera pleasure to see that this is an important topic and ignored by so many, even professionals. I thank you for helping to make it aware of possible issueExcellent things as typical people.


Wow, this is a post that is really good quality. In my theory, AOD want to wraite like this also, AI took the time and effort to make a real good post. but what can I say. I procrastinate a lot and never appear to get something done.


You do not really need to use strips to complete this. It just will take learning to become in a position to flick the things off. Also, do not RIP against the development. go with the development with the hair to ensure that it just pulls it straight in the follicle, otherwise you risk just breaking the hair off, then it’s going to resurface substantially quicker! That is all. Very good luck


It’s an awesome article for all the internet viewers; they will obtain benefit from it I
am sure.


This is a very great blog, good work!


Leave a Comment