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.
- 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
- Book Directory
- Sign in / Sign up
- User profile.
- 2-3 sentence intro, includingÂ Images/design elements
- Maybe a quote.
- Random book profile.
- About page
- 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:
- 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.
- 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.
- Need to think of a logo/theme. Fortunately, biblionauts as a word is a deep source of reference and inspiration.
- What 3rd party solution is best to use?
- 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.