life.i.think: Userscripts.org ... Opensource!

Userscripts.org ... Opensource!
Scribbled on January 3rd. 14 comments.

Well, after a few hack sessions and a bit of dust busting, we’ve finally opensourced Userscripts.org! So what have we been doing lately?

  • Code cleanup. Is the code perfectly streamlined? No. But we’ve begun a major code cleanup that includes writing a full test suite for the site.
  • The start of a new site design, courtesy of Josh Watkins. We’re trying to clean things up and focus on what’s really important: finding scripts that will make your browsing experience better.
  • De-Ajaxifying the site. When we first wrote Userscripts.org, it was partially a test in some of the newer javascript frameworks. We got a bit excited and made the common mistake of using Ajax in a few places where it simply doesn’t belong. A perfect example of this was the login system. This has been reworked in trunk.
  • Forums. Want to discuss a script? Suggest ideas for new scripts? We’ve got forums (well, almost).

Now, alot of things are broken. You can’t even install a script right now! Style and code are both changing rapidly. But we felt like it was important to get something out there that the community could start contributing to.

So without further ado, get the code, file bugs, submit patches, and ridicule us publicly at: http://userscripts.devjavu.com Also, you can also view an up-to-date running copy of the trunk branch anytime at http://dev.userscripts.org

Comments

Leave a response

  1. LiorJanuary 03, 2007 @ 01:04 PM

    A quick question: you write “We got a bit excited and made the common mistake of using Ajax in a few places where it simply doesn’t belong. A perfect example of this was the login system.” May I ask why was it a mistake? What did you find wrong in using AJAX? Was it hard to maintain? Was it incompatible? Did it alienate users? I want to understand this design decision, and it escapes me… Thanks.

  2. Johan SundströmJanuary 03, 2007 @ 03:02 PM

    Congratulations on getting to the public release stage! :-)

    Lior: Perhaps most pressingly, the login widget would not interact well with Firefox’s password manager, forcing all to use it manually (or with custom crafted user scripts…), even if they would have preferred using their browser’s aids there.

  3. BrittJanuary 03, 2007 @ 03:29 PM

    Loir,

    AJAX, like anything has places where it makes sense and areas where it doesn’t. There have been several articles about the caveats of the overuse of AJAX (http://aranea.zuavra.net/index.php/30/ for example).

    In userscripts specifically, several areas were broken: * As Johan mentioned, the login system broke browser’s password managers. * Searching for a script is one of the primary way’s to find what you need, and the “Live Search” on the front of the page provided a cramped space for much needed information about your results. * While not AJAX specifically, we tended to overuse javascript effects to show/hide elements within pages when there were often more simple ways to get the info to the users.

    So will we still be using AJAX for easily updating of content within the site? Yes. It’s just important to make sure you have a glove that fits.

  4. Paul IrishJanuary 04, 2007 @ 03:58 AM

    This is great news! thank you!

  5. FrederickJanuary 04, 2007 @ 03:39 PM

    Here’s a design prototype I’m kind of working on. Take a look and tell me what you think. http://filer.brnm.se/i/userscripts.002.png

  6. Johan SundströmJanuary 04, 2007 @ 04:44 PM

    While my opinion is just that of an innocent bystander, I’m strongly in favour of it, Frederick. A clean and not very busy look. It’s probably worth doing a few of the more complicated views with data in them before it’s possible to really deem whether it would work better than the present layout, though.

  7. BrittJanuary 04, 2007 @ 08:50 PM

    Frederick, I like the style very much, especially the logo. As soon as you posted that I went to the wiki to create a page for various prototypes and contributions.

    If we come up with a variety of styles and ideas, we can have community discussion on how best to implement the new design.

    My first comment would be on removing some of the unused space at the top, as to not hide page content.

    Could you prototype how you’d envision content below the header, for example a script’s page? Thanks for your already great contribution!

  8. FrederickJanuary 05, 2007 @ 03:32 AM

    Thanks for your opinion guys, that positive and constructive feedback is encouraging. I’ll see how I can develop this further, and I’ll continue coming here and on the wiki.

  9. tractorJanuary 06, 2007 @ 03:09 PM

    A wild and random idea:

    • throw away the whole code base
    • setup a trac [http://trac.edgewall.org/] with user registration and subversion integration
    • write a site from scratch for categorization, scripts voting and such things

    The basic idea is that every registered user can commit to the SVN repo (in its own directory, just like CPAN) and has write access to the wiki.

    Every user can read the whole thing and report bugs and improvements.

    Benefits: * Use a mature and stable product for “commodity” things like storing code (subversion), writing a simple page for each script (trac embedded wiki) report bugs (trac issue tracker) * Focus on adding new value on top of that like tagging scripts, writing a good search engine (in a semantic way) for the scripts, providing alerts and RSS feeds, etc.

    my 2c

  10. BrittJanuary 06, 2007 @ 10:05 PM

    Tractor,

    As noted at the bottom of the article public TRAC/SVN is available at: http://userscripts.devjavu.com

    While we did discuss using subversion for script storage at one point (for the purposes of branching and revision control), there is by no means reason to throw away the codebase and start from scratch. If we were to use subversion for script storage, we would need to improve on the ruby-svn bindings, and we ultimately decided that database storage of the scripts is fine.

    While we’re not going to do something as drastic as hack userscripts.org features on top of TRAC, you point on script bug reports is interesting and something we’ve talked about in the past. In fact, the debate about wiki-scripts that anyone can patch edit with revision control, branching/forking of scripts, etc has been a topic of much debate, and is something that definitely needs to be discussed at length.

  11. Jon WilliamsJanuary 10, 2007 @ 08:40 AM

    I just suggested to Michael Kaply that Operator should try to get a UserScripts style community going and then I saw this!

  12. Matthew FlaschenJanuary 13, 2007 @ 01:13 AM

    Cool. What license is the site under?

  13. BrittJanuary 13, 2007 @ 10:11 PM

    We are currently open to discussion about this. At this point we’re debating between MIT and GPL.

  14. LiorJanuary 15, 2007 @ 12:33 AM

    Britt and Johan, thanks for your replies. It was interesting to hear about your experience with AJAX and the lessons learned. Thanks for the “further reading” reference as well.

    And of course, congratulations on the newly developed system! Great work.

Comment