GiantFuse - A JavaScript library

Avatar image for doogiemac
doogiemac

36

Forum Posts

168

Wiki Points

0

Followers

Reviews: 0

User Lists: 10

#1  Edited By doogiemac

I've started a JavaScript library called GiantFuse, which can be used to retrieve and render GiantBomb data.  The library is currently equipped to find all links to GiantBomb.com and create tooltips to the supported link types (just games right now).  You can get the code on the Google Code GiantFuse project or see a quick demo of it on my personal site.

As you will quickly see, it's pretty limited so far, but the framework I'm building will allow fairly modular extension to franchises, characters, etc.  If you're interested in helping out, let me know.  I'd love to get some co-maintainers on the project, or at least some suggestions / bug reports on what's there so far.

Documentation is pretty sparse at this point, so use of the library is pretty much for developers only at this point.  The goal is to allow anyone to plug the library into the head of their site's HTML structure, thus rendering all links to GiantBomb as tooltips.

The biggest issue I've run into so far is speed of the requests to the API. Even with field filters on the request, it can go slower than is desired for something like a tooltip.  This would be an argument for server-side caching in whatever app is implemeting the GiantFuse library, so future code will likely include some sample caching libraries.

Enjoy, and let me know what you think!  I've been swamped at my job lately, so I likely won't touch this much for a couple of weeks, but I'll check back here and on the Google Code project regularly.

Update #1

  • Added support for characters, franchises, companies and concepts and demos for each (more coming very soon).
  • Completely refactored the source to be more manageable. Project is now built with ant and produces mini-fied Javascript.
  • See the existing demo site for samples.
Avatar image for thebeast
thebeast

1920

Forum Posts

13373

Wiki Points

0

Followers

Reviews: 0

User Lists: 7

#2  Edited By thebeast

Great work!

I haven't had a chance to give it a proper run-through just yet, but it looks good and works very nicely - I can already see room for many other features that could grow from this.
As for the speed problem - perhaps the optional ability to preload the tooltips might serve as a nice, simple solution without requiring server-side caching?
Avatar image for doogiemac
doogiemac

36

Forum Posts

168

Wiki Points

0

Followers

Reviews: 0

User Lists: 10

#3  Edited By doogiemac

I've been considering the idea of pre-caching, as well.  I've already got a somewhat crude - but usable - cache built in. So, I could just go off of that upon page load.  Now that the data being returned is much smaller due to the filtered field list, I can also cache far more requests than I could before.

I'll work on adding this in soon.  Thanks for the feedback.

Avatar image for mattyftm
MattyFTM

14914

Forum Posts

67415

Wiki Points

0

Followers

Reviews: 4

User Lists: 11

#4  Edited By MattyFTM  Moderator

Nice work. That could be really useful.

Avatar image for andy
andy

445

Forum Posts

298

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#5  Edited By andy

This is pretty awesome.  I'll see if I can track down what's causing the slowness.  The logging I already have in place suggests that it's not the querying/packing of the data, which is where I would have expected it to be.  That's all happening in 30-50ms, even when the client is waiting for 1.5s.

Avatar image for snide
snide

2692

Forum Posts

1858

Wiki Points

0

Followers

Reviews: 3

User Lists: 14

#6  Edited By snide

This is great duder! Love seeing this stuff in action. In our redesign stuff i have a tools area on the sites so you can actually see projects people are working on in action. I guess this is the first! :)

Avatar image for andy
andy

445

Forum Posts

298

Wiki Points

0

Followers

Reviews: 0

User Lists: 1

#7  Edited By andy

I think I tracked down the slowness problem.  I've gone ahead and deployed my changes.  Please let me know whether you think it seems a bit speedier (and more consistent) now.

Avatar image for doogiemac
doogiemac

36

Forum Posts

168

Wiki Points

0

Followers

Reviews: 0

User Lists: 10

#8  Edited By doogiemac

Oh yeah - WAY faster now.   I'm showing ~50ms per request now, which is much, much better.  Thanks, Andy!

Avatar image for doogiemac
doogiemac

36

Forum Posts

168

Wiki Points

0

Followers

Reviews: 0

User Lists: 10

#9  Edited By doogiemac

I updated the top post with details on some recent changes.

Avatar image for cook66
Cook66

281

Forum Posts

1058

Wiki Points

0

Followers

Reviews: 0

User Lists: 0

#10  Edited By Cook66

This is pretty awesome. I would love to implement this into my project. Are there any copyright concerns I should be aware of and are there any limits to what I'm allowed to do with this?

Avatar image for mattyftm
MattyFTM

14914

Forum Posts

67415

Wiki Points

0

Followers

Reviews: 4

User Lists: 11

#11  Edited By MattyFTM  Moderator
@Cook66 said:
" This is pretty awesome. I would love to implement this into my project. Are there any copyright concerns I should be aware of and are there any limits to what I'm allowed to do with this? "
The terms of use for giant bomb's data can be found at api.giantbomb.com