Goodreads Developers discussion
what are you building for goodreads?
date
newest »


- GR Estimator, to estimate how much a shelf is worth according to Amazon.
- Amazon-to-Goodreads, a greasemonkey script adding a link to GR on Amazon pages
- Goodreads Exploder, a greasemonkey script to "open all books in tab" from a shelf
I'm thinking about other mashups, but there's a limit to my imagination :)
(Edit: no tags? :(

I'd like to promise that someday we'll support that, but its soooooo far down the list of priorities, it will only get done if it gets merged into another ticket
Hey,
Not to snake this thread, but why not implement something like TinyMCE, or even Wordpress' text editor, as the default text UI?
It would be more flexible in terms of HTML allowances, and alot more familiar to the non-code-geeks out there.
I realize this has already probably come up elsewhere, but I felt I should point it out.
--Kyle
Not to snake this thread, but why not implement something like TinyMCE, or even Wordpress' text editor, as the default text UI?
It would be more flexible in terms of HTML allowances, and alot more familiar to the non-code-geeks out there.
I realize this has already probably come up elsewhere, but I felt I should point it out.
--Kyle

Our problem is more with the fact that we have to validate all user input on ourside to prevent people from redoing page styles, breaking the layout, or even worse - embedding their own javascripts.
Oh, I see.
Well if you prevent people from writing raw HTML in TinyMCE (I believe that's an option... it treats everything as text if you choose this), then you're mostly set! Especially since it will handle all the open+close tags for everything.
If not, have you considered breaking the text string into an array, and comparing positions for tags? For example if you have "hello there" you would look at positions 0 and n-1 for the matching tags... the symmetry carries throughout the process.
As for the Javascript... I'm assuming you guys have already figured that one out. ;-)
--Kyle
Well if you prevent people from writing raw HTML in TinyMCE (I believe that's an option... it treats everything as text if you choose this), then you're mostly set! Especially since it will handle all the open+close tags for everything.
If not, have you considered breaking the text string into an array, and comparing positions for tags? For example if you have "hello there" you would look at positions 0 and n-1 for the matching tags... the symmetry carries throughout the process.
As for the Javascript... I'm assuming you guys have already figured that one out. ;-)
--Kyle

What are you guys working on?"
Ahh, I just wrote my "Hello, World" of DOMsmanship; a right-menu "bibtexize" option now generates bibtex-suitable output directly to the clipboard. This will accelerate paper-writing by a few delicious seconds.
It'd be even more effective, of course, if GoodReads handled arbitrary academic papers.
HOT HOLY SHIT OTIS THIS IS AN AWESOME IDEA. If you think otherwise, set ->gradschool to 1 and loop.

we might add magazines and other periodicals at some point, if we do end up doing that, we'll consider adding academic papers also. What do you think the special characteristics that seperate academic papers from books. I take it they have no isbn, but most of our other fields would still be valid right?

we might add magazines and other periodicals at some point, if we do end up doing that, we'll consider adding academic papers also. What do you think the special characteristics that sep..."
It depends on what you want to do. I was thinking about this today, and what I'd really want for papers is a bit different from what goodreads currently offers.
For papers, you've got something like ISBN in the DOI. It's URI-based, not radix-based, but since ISBN's don't exhibit a well-ordering property, it shouldn't matter. There is a real problem, however, in that the percentage of papers with DOI's is far below that of books with ISBN's.
Given that I really know nothing outside of computer science, physics and math papers, I'm also probably not the best person to ask about this. GRFeedback has plenty of MSLibSci folks that ought be able to authoritatively answer this, though.
More importantly, academic papers would have a very different focus:
- as opposed to fairly unimportant "publisher", there'd be absolutely critical "journal". "author" would be not so much "author" as "author+organization", where organization-based searching would be just as critical (if not more so) than author-based.
- you could chain them by citation tree, ala CiteSeer, and meaningfully supporting papers would pretty much require this.
Now that I think about it, the paradigms for socializing books and papers are very different. It's dubious, I think, that GoodReads could really winningly support socializedpapers without significant effort unapplicable to its main focus -- you'd need an awful lot of code and schema both, for features that 95% of GR users would never touch.
Perhaps we need a RigorousReads.com sister site. Hrmmmmm.

I've been trying to make something like the lastfm "recently played" images, like this one:

theyre handy because you can stick it in your signature on message boards whereas you cant do that with the widgets. i've tried to make a "currently reading" one from the rss feeds however im not too knowledgeable about this stuff so the best i could do was two pictures like this:


its two pictures because i cant get the text to go onto a new line. is there any chance goodreads could make a nicer one with different display options or is there an easier way to accomplish this? here is the code incase anyone is interested:
<?php
if (isset ($_GET['id':])) {
if ($contents = file_get_contents("http://www.goodreads.com/review/list_...")){
$contents = ereg_replace("[\n\r\t:]", "", $contents);
$contents = str_replace('> <', '', $contents);
$expression = "/\\\<\/title\>/";
$title = $matches[0:];
if (preg_match ($expression, $contents, $matches)) {
foreach ($matches as $match) {
$title = $match;
$title_link = str_replace(' ', '+', $title);
}
$img = imagecreate (590, 20);
$bg = imagecolorallocate( $img, 49, 77, 132 );
$textcolour = imagecolorallocate( $img, 240, 240, 240 );
imagestring( $img, 2, 3, 3, "$title", $textcolour );
header( "Content-type: image/png" );
imagepng( $img );
imagedestroy( $img );
} else {
// If theres no book on the currently reading shelf
$img = imagecreate (590, 20);
$bg = imagecolorallocate( $img, 49, 77, 132 );
$textcolour = imagecolorallocate( $img, 240, 240, 240 );
imagestring( $img, 2, 3, 3, "Eh...", $textcolour );
header( "Content-type: image/png" );
imagepng( $img );
imagedestroy( $img );
}
}
}
?>

Here is mine:


What are you guys working on?