

JSDB.io - A Database of JavaScript Libraries - ksokhan
http://www.jsdb.io

======
ricardobeat
JSDB is the name of a javascript cross-platform environment based on
SpiderMonkey, that exists since 2005 and is still active.

<http://jsdb.org/>

~~~
tantalor
That doesn't seem like a very good name. Why "DB"?

~~~
bermanoid
From the front page: "JSDB is JavaScript for databases, a scripting language
for data-driven, network-centric programming on Windows, Mac, Linux, and
SunOS. JSDB works with databases, XML, the web, and email. It is free and
open-source. Use it as a JavaScript shell, to run CGI programs, or as a web
server."

~~~
tantalor
But, that's kind of a silly reason right? It's obviously a general purpose
server platform. Nobody would say "NodeJS/perl/ruby/python/PHP/C++/Go/Java is
for databases".

~~~
mwexler
Actually, it was originally designed to allow quick access to databases, but
grew very quickly. So, no, not a silly reason at all.

~~~
hnriot
It doesn't sound like it has much to do with databases anymore, so the name
really doesn't seem to fit.

~~~
ricardobeat
Hacker news doesn't have that much to do with hacking these days either, do
you think it should change?

~~~
jhgaylor
I believe hacker news is very much so relevant to hackers.
<http://en.wikipedia.org/wiki/Hacker_(programmer_subculture)>

I believe that jsdb.io is also a fine name for a database of js libraries. I
find it easy to remember. While looking at the url might be misleading before
you've visited, once you've seen the site it'll be clear.

~~~
ricardobeat
That was tongue-in-cheek, see the parent comment.

BTW, I don't think jsdb is a bad name, but it's already taken.

~~~
ksokhan
With two unrelated projects I don't see a huge problem... People are not going
to confuse the two, and I dont want to go into which is "more appropriate".
Both jsdb.org and jsdb.io are completely free to name themselves as they want.
No trademarks, no infringements. It was honestly a really nicely appropriate
and memorable name for the service.

It was also a steal for a four letter domain name :)

------
opminion
In Google Sets[0] I entered CPAN, CTAN, CRAN, CJAN, names of archive
repositories for other languages.

It added JSAN.

[0] [http://googlesystem.blogspot.co.uk/2012/11/google-sets-
still...](http://googlesystem.blogspot.co.uk/2012/11/google-sets-still-
available.html)

------
richardwhiuk
The library is called jQuery, not Jquery - same with jQuery UI, DOM is an
abbreviation.

It looks like you've crudely turned things which aren't words which start with
an uppercase letter into ones which do, for no reason.

~~~
ksokhan
Thanks for the tip. Fixed. Stared at it for so long during development that I
didn't even notice!

------
mcrider
Would be great to have something like this also serve up the JS files via a
CDN, and provide a JS-based loader (like require.js for remote scripts). Plus
maybe dependency management?

~~~
ricardobeat
That's <http://cdnjs.com/>

~~~
mcrider
Ooh, nice; I've seen this before too but forgot all about it. @ksokhan, maybe
think of linking up the CDN URL's from cdnjs.com to your site? Your site
definitely offers more as far as discoverability.

~~~
tantalor
While you're at it, link to <http://npmjs.org/>

e.g., <http://www.jsdb.io/view/socket-io> ->
<https://npmjs.org/package/socket.io>

~~~
ksokhan
Yea, had a few people mention this... definitely my next addition! stay tuned
:)

------
atuladhar
Looks useful. Some comments

\- I wish there were a way to sort by name

\- How are the ratings calculated? (Just realized that if you hover on a
library's rating it tells you the rating is "derrived (sic) from combination
of the other metrics": would be good to know how exactly + "derived" is
misspelled.)

~~~
ksokhan
Ah good point on the first, and working on the second! want to be a bit more
transparent, but basically, its simply a combination of the other factors
listed with some logical balancing through multipliers. (ie. stars is weighted
more than contributor count)

------
arctangent
I expected the "sort by" thingy to be at the top-right of the list of things I
was viewing.

Despite that minor gripe, please accept my compliments. I'd love to see a site
that can point me at all the newest and most popular JS tools and maybe this
can be it.

~~~
ksokhan
Thanks for the kind words. The sort by _should_ only list the current
page/category. You might be confused because "sort by" ignores pagination and
rearranges all of the libraries in that category, and _only then_ re-paginates
it... Or am I misunderstanding your comment?

~~~
arctangent
Thanks for coming back to me. Let me clarify what I mean.

When I'm on the front page or, especially, once I have selected a category, I
want to be able to sort that list by newest/top-rated/last-updated/etc.

I'm used to seeing the option to do that sorting (or filtering, if you ever do
that) up at the top of the things I am looking at, rather than by the list of
categories.

So, the recommendation I am making is to show any sorting/filtering controls
at the top of the list instead of on the left hand side of the page.

~~~
ksokhan
Aah, yes! That makes sense. Ill take a look at modifying the design to do
that, its probably a better UI paradigm.

------
platz
I think a tag system instead of a directory system may be better for
categorizing libraries. For example, is D3 is "data / undefined". Arguably it
could exist in multiple categories.

~~~
ksokhan
This is probably the hardest problem to solve in building a tool like this.
Ive thought a lot about this, and here is my thinking:

Its not an either-or scenario. Tags are great at grouping similar libraries
together, but it doesn't work very well when you look at all the tags
together, since there is no clear hierarchy.

Categories are good, on the other hand, for creating a clear structure for
looking for libraries. If a user is confused about where to find something
specific, they can just search it.

My plan is to combine the two approaches in jsdb: have a clear and very
general category system, and a tag system for finding inter-related js
libraries.

~~~
tantalor
What? Why have two systems?

Just make the categories be system-defined tags. Display your navigation with
only them. Let users add new tags but don't display them in the nav.

------
tantalor
Why require a Github URL? I should be able to give you any number of URLs to
any sites for each lib. This would be much more useful!

------
8ig8
There's also MicroJS:

<http://microjs.com/>

~~~
ksokhan
Whoa, sweet find! Slightly differently positioned though I think...

------
nilliams
Looking like a great resource, nice work. +1 on the suggestions to link to npm
and cdnsjs.

I did spot that searching for 'require' did not find 'requirejs' (searching
'requirejs' finds it).

~~~
ksokhan
Yea, good point. The search system leaves a bit to be desired, but I'm working
on it!

------
Idered
Maybe add Typehead for search form
[http://twitter.github.com/bootstrap/javascript.html#typeahea...](http://twitter.github.com/bootstrap/javascript.html#typeahead)

~~~
ksokhan
Yea, the search system right now is a very basic iteration (I really just
wanted to get this launched) but I definitely have plans for making it better.
Typeahead is definitely one of the first things I'm going to add.

------
munchor
That is pretty cool. I added my game development library/framework as "2D
Images", but maybe "Game Development" could be a separate category?

~~~
ksokhan
Yea, I was thinking of actually adding that, as well as a few other
categories. Thanks for the submission!

------
joemaddalone
Oddly, you've been working on something very similar to a small project of my
own. www.javascriptoo.com. Great work.

------
tantalor
<http://www.jsdb.io/search?q=closure>

:(

~~~
nkerkin
<http://www.jsdb.io/submit>

:)

~~~
ksokhan
The beauty of a collaborative system!

------
bebraw
Great work. Cheers from the <http://jster.net> folks. :)

~~~
cwills
Looks more mature than JSDB.io - particularly with the larger collection of
libraries and tagging system etc. But honestly your site is cluttered and
ugly, JSDB is winning there. A twitter feed, really? I think your site needs
some clear direction. Just saying.

~~~
bebraw
Good points. Any specific ideas? The Twitter feed could go, that's definitely
true.

~~~
cwills
Ok, I'll give some suggestions, I'll be blunt. But first you should know that
I'm not a web designer - so take them with salt. It might also be worth asking
for suggestions as a Hacker News thread? Or perhaps a web-design specific
forum. I'm taking an interest because I think the web development world really
needs a good site to serve as a list/index/catalog of open-source javascript
(and css) libraries, with user ratings and comments etc.

Fundamentally, I think the intent of your design is wrong. Its cluttered and
all about the bells and whistles rather than focusing on use-cases and the
problems your site should be trying to solve.

(1) Home page Editor's Choice Part Get rid of this, I don't think users care
about your editors picks. User's care more what the user base / crowd thinks.
So you could perhaps put trending libraries (those receiving a lot of up-votes
recently) here instead. Or otherwise just remove it all-together.

Blog Part Also get rid of this. The foremost parts of your homepage should be
the Category list and a search box. Also get rid of the tag cloud - doesn't
add anything IMO.

Layout and Color Scheme All wrong, too many different colors and shades,
jagged lines and shadows everywhere. Less is more here I think.

(2) Category Page Layout Change to a list-view instead of a grid-view. The
grid looks too squashed, and users don't mind scrolling - list view is better
for responsive design / mobile devices. Also sort the list by rating.

Each Library Increase the font size of the description <\- will work better
when you change to a list view instead of a grid. Show the rating larger as
well, and then to a lesser extent the GitHub stars etc. Take some design
pointers from the StackOverflow question list
(<http://stackoverflow.com/unanswered>).

(3) Library Page Comments Shift the DISQUS comments above the 'ALSO ON JSTER'
part, put that stuff at the bottom, users care more about comments. Remove the
'RECOMMENDED CONTENT' - its irrelevant and your site is too immature for
advertising yet.

Rating System Light bulbs? I honestly think you would be better off with an
up/down vote rating system like StackOverflow. A library having a 5/5 rating
doesn't mean anything when there is only one vote (probably from the developer
who wrote it and submitted the library). If you wanted to make it really
smart, you could allow users to up/down vote a library for specific category.
For example, users could up-vote the D3.js library within the 'Charting'
tag/category only if they wish to - which means the user thinks D3.js is good
for charts.

That's all for now - have run out of time.

------
zybler
I wish there's a way to sort by the size of the library.

------
devgutt
or the best among all: Vanilla Js <http://vanilla-js.com/>

~~~
ksokhan
Thats funny :) took me a bit to figure out the joke

------
itsbits
very useful link, you should work on interface though..very hard to filter the
lib i want...

------
gummydude
<http://microjs.com/> much easier to browse

~~~
ksokhan
Can you qualify that? Would love to get help/suggestions on making navigation
better...

~~~
gummydude
What i meant was, everything on a single page and i could just ctrl-F search
the list. JSDB.io is neat too for a larger growing list of JS.

------
leeoniya
maybe needs some more categories. where to put markdown libs?

~~~
ksokhan
definitely. Working on it! If you are in doubt though, just put in in
Miscellaneous and I'll clean it up later :)

~~~
jashkenas
Nice that you're tweaking things. You may want to move Underscore from
"helpers/object-extends" to "application-tools/utilities".

~~~
ksokhan
Yea, that makes sense. Moved. (I'm a bit doubtful about that helpers category
in general, probably going to change it)

------
jaequery
i like it, hope to see more

------
jdolitsky
thank you for making this

