Biblionauts Development: Part 1

Andrei Marks · June 26, 2013

So, I’m starting my first big website project, called Biblionauts. This is actually a joint venture with my wife. We wanted to work on something together, since there isn’t a lot of overlap between our work lives, and eventually settled on this project.

Biblionauts is a site that will map out the “literary connections” between books. There are many books out there that reference other works of literature. It might be a classic book becomes the central theme of a newer work, or a number of books share the same fictional universe, or a novel that simply features another book as a prop or plot element in its story.

We think it would be really fun to be able to choose a book and see how far down that web you can go. And since this is much too overwhelming an odyssey for a single biblionaut to take alone, we wanted to invite others to help us explore the literary universe.

Project In Brief.

So, as with any well-executed project, I’m defining its intent, what I need to do, and what goals need to be hit. I’ve also decided to document this whole process out, as I’m learning new skills and tech that I haven’t used before. So:

  • Purpose: To create a website that tracks the "network" of books that reference each other.
  • Target Audience:
    • People who consider themselves bibliophiles, or anyone who might be interested in seeing how the worlds novel's are linked.
    • Also, people who will want to contribute additions to the site, in the form of database entries for new books and or/connections.
  • Tech:
    • This  is going to be a Ruby project, with the mockup done in Sinatra. Afterwards I'll probably move it all on over to Rails, but we'll see. Inertia and all that.
    • The design part is going to be a little rough, but I'll just go with something simple, and build it with close to default Bootstrap until I figure something out.

Outlining the Website.

The main pages of the website. I’ll update this as I think of more things. Items in brackets are things that might be nice to add eventually, but aren’t a core part of the website:

  • Main page
    • Header
    • Navbar:
      • Home
      • Book Directory
      • About
      • Sign in / Sign up
      • Search
      • User profile.
    • 2-3 sentence intro, including Images/design elements
    • Maybe a quote.
    • Random book profile.
  • About page
    • FAQ
    • Probably more explanation about the site.
    • Probably just the first three paragraphs above, too.
  • Individual book pages, containing:
    • Book title
    • Book author
    • Book genre
    • Connections: (Other books it references)
      • Connection (keyword)
      • Type of connection (keyword)
      • Location of connection (if any)
      • Description of the connection.
    • Connections: Books referencing it.
      • This will be shown on the page, but I'll have to think about how that data is populated. It will be programatic, but is it something that I should do everything once in a while (say, when a new reference is added) and is then cached, or will doing this at run-time be okay? I'm sure the database won't be that big, but no harm in foolproofing that.
    • Other related books (sequels, non-fiction discussions, etc.)
    • Amazon affiliate link?
    • Interactions with website:
      • "Liking" a book.
      • "Liking" a connection?
      • Adding a book to your library as read.
      • Adding a book to your to-read list.
      • Adding a "Path" to your list.
  • Individual user pages, containing:
    • Avatar/Picture.
    • Profile info (favorite books etc.)
    • Longest book path.
    • Your virtual library.
    • Your to-read list.
    • Your contributions.
    • Badges/points for contributions?
      • First 100/1000 to join site.
      • Founder
      • Amount of books added.
      • Amount of connections made.
      • Amount of "details" filled in about the book/connection.
      • Explorer "Title" based on some metric?
    • Badges/points for books read?
    • (Forum posts?)
    • Settings. Email, contact stuff etc.?
  • (Social networking integration)
  • (Book network visualization)
    • Typical node by node network view made exhibited with Canvas?
    • Paths: pick one book and another, and get the degrees of separation. Alternatively, pick a degree of separation from one book and get a path.
  • (Store/Gear)
    • Need to think of a logo/theme. Fortunately, biblionauts as a word is a deep source of reference and inspiration.
  • (Forum)
    • What 3rd party solution is best to use?

Non-tech Research.

  • We need to look at other bibliophile websites. GoodReads, blogs, etc. See what their site is like, if there's anything that's expected on a "book site", what hasn't been done, what sorts of design aesthetics are used, what social media integration is used, etc.
  • Need to fill out any content for this website.
  • Design, etc.
  • A little quote box with rotating quotes on the interface of exploration/reading might be nice, if corny.
  • Still need to do more book links for initial launch.

Web Development Ish.

Okay, this is going to go into excruciating detail in upcoming posts. This is primarily for protocol-creation purposes. Otherwise I’ll be stuck in that stupid I-once-looked-up-this-exact-issue-but-now-I’ve-forgotten-and-I’ve-got-to-search-for-this-crap-I’ll-probably-forget-once-more loop.


Twitter, Facebook