4 ms·
Hello HN! This is a static website with a big interactive list of nonfiction books that have been reviewed in Science, Nature, and the LSE Review of Books. I li
by pizzicato 6y ago
Hello HN! This is a static website with a big interactive list of nonfiction books that have been reviewed in Science, Nature, and the LSE Review of Books. I like looking for nonfiction reviews in places such as these to get an idea of how well researched a book is, but going through their old posts is a bit of a pain.
The site is generated using 11ty from a couple of JSON files containing the book data, which I collected with the help of a few Python scripts. I used lozad.js and Isotope for lazy loading and filtering respectively.
I'm not a dev, so please forgive the cludgy code! This is not a product or service of any kind, but simply a hobby project I made in my free time this week. I'd appreciate any feedback you can offer :)
Some things I learned:
- I should try using LESS and SASS as my css file is a bit of a mess.
- 11ty deserves all the hype it gets in the SSG scene. The docs are a bit sparse for a novice like me, but I found a few fantastic third-party tutorials that I didn't know about when I first mucked about with 11ty.
- Install node and npm via nvm if on Linux to avoid permission errors
- Web dev is hard
Some issues I'm aware of:
- Background scrolls when moving the modal (can't figure this out).
- Some tags are misspelled and should be grouped further.
- The book covers are pretty awful quality.
- The site is quite large (~4 MB); I need to learn to integrate minification into the build process.
Edit: List formatting
- naves 6y agoI could not thank you enough for this. I regularly browse Nature and Science myself to read the reviews and find my next read. Simply amazing! Thank you, seriously.
- pizzicato 6y agoI'm really glad you find it useful! I originally intended to include the actual reviews like they do at https://bookmarks.reviews https://bookmarks.reviews but the journals' terms of service are pretty clear about that sort of thing.
- jasondoty 6y agoJust add a link to libgen and scihub :)
- pps 6y agoIt's really useful and doesn't need to be ideal. Well done, especially if you're not a dev, thank you for sharing your work :)
- spicyusername 6y agoIn regards to css, take a look at tailwind css. I've found it to be pretty nice to use and very straightforward. Great site, very simple and useful!
- pizzicato 6y agoI've been hearing lots of good things about Tailwind, though it seems a more complex than Bootstrap to me. Will give it a proper look, thanks!
- NotPavlovsDog 6y agoGreat job! If you are not a developer, what is your motivation for doing the tech side of the project? Are you looking to become one? You appear to have invested time to learn the tech. The reason I ask is HN is a great community that may provide valid advice as towards the direction you would like to pursue in dev ( if you so desire ). I found a book that I've added to my list, so thanks again.
- pizzicato 6y agoThanks! My chosen career is further away from tech than I'd like - I'm in my final year of medical school. I love tinkering with computers for fun. Ideally, I'd like to be able to include programming alongside clinical practice in some way. I've picked up some very basic Python by making hobby projects over the last few years, and my current aims are to improve those Python skills and brush up on statistics in order to learn, er, statistical learning for research. I'm slowly making my way through MIT's 6.0001 and OpenIntro statistics. I really hadn't expected this project to receive this many responses! My impression of HN has been that it's full of highly skilled, super talented devs and I was a bit intimidated by the idea of posting about my own clunky project. But thankfully HN is a lot more welcoming to beginners than I'd thought :)
- NotPavlovsDog 6y agoHah, and I am in 20 years of tech trying to take myself closer to medicine. Python can serve so many automation scenarios for you that I really could not recommend any better language for general purposes, great choice! As far as sharing, welcome to software! Unlike medicine, we have the luxury, some even think obligation, of releasing early, learning from our mistakes and the market and re-iterating. Those that share the fundamental cultural values of openness, experimentation, and helpful feedback in software are, luckily, widely present here. "If You're Not Embarrassed By The First Version Of Your Product, You’ve Launched Too Late" Reid Hoffman (founder of LinkedIn, for which he should forever be ashamed for, but he did release on time). I would suggest, now may be the time for you to reach out to devs and request personal mentorship in Python, explaining your high load with medicine and motivation for Python. Getting personal feedback and guidance will speed up things by a lot! (Unfortunately, I'm not a Python expert, can't help there ). Best of luck with your future projects, you're very much on the right track!
- npunt 6y agoCool site. Some UX feedback: 1. 'Double click to close' is very non-standard web UX, I'd recommend not trying to innovate on UX and simply supporting the back button as sites always have. Double click also breaks text highlighting. It's really only worth breaking the rules once you've mastered them AND have a use case where breaking it opens up a new opportunity. 2. Right now when you press back when looking at a book, you return to the home page rather than the page you were just on (subject area, e.g. Sci Tech), which is also unexpected. 3. If your book info overviews are super short, you may want to consider opening them accordion-style within the subject view, so you can continue to browse/scroll without further navigation. 4. You may want to consider using a standard CSS framework like Bootstrap or Tailwind until you're more comfortable with frontend design. There's an order of magnitude more complexity and nuance to frontend design/dev than engineers typically are aware of and these frameworks get you far, fast.
- pizzicato 6y agoWow thanks so much for the feedback! I'll try to switch away from double-click to close as you suggest. Good point about CSS frameworks - when I started making this site I underestimated the amount of design-related decisions involved. Getting the data was surprisingly the easiest bit.
- npunt 6y agoThe beauty and danger of web frontend is how deceptively simple it looks, and how devilish the details wind up being. It's kind of a rite of passage in web dev to roll your own design and eventually discover a bunch of little things that lead to a complete rewrite :) I'll still sometimes do this a quarter century after starting down this path. I encourage you to continue this as it's always best to have a project be the motivator to get deeper into it!