Hi there!
tl;dr: Do you think that creating an up-to-date Shield List that has more features and does not rely on a single person is a good idea and would you maybe even want to help?
I joined the Arduino universe some months ago, but already did some projects, wrote a library for a sensor and collected quite some shields already. When I decided which shields to buy, I noticed is that shieldlist.org hasn’t been updated for 5 years now, has a backlog of 531 submissions (in contrast to 317 extant entries) and misses some important features. The list on arduino.cc has many dead links, too. My idea is to make a better site with two major improvements and I already did quite some work, but before I continue, I would like to know if the community thinks this is a good idea (and would maybe like to help) or just a waste of time.
Key improvements/goals:
1. Add shield categories
- Instead of grouping shields by their makers, shields are grouped by categories representing their supported features. There are currently 29 categories (e.g. Wi-Fi, Ethernet, SD card, XBee socket, CNC, prototyping, ...) and a shield can have multiple of these.
- For each of a shield's categories, a short note can be added, which is intended for the name of the chip, connector count and other important info.
- Each category gets a list of boards with that feature. The list displays the name, a photo, used pins (multiple pin-sets can be added to a shield, as some shields allows the user to switch between different sets) and features along with their notes (selected feature will be highlighted).
- Each shield category has an SVG icon I drew myself, so they all have the same style.
Beside the categories, a shield page currently contains the name, at least one photo, pinheader/stacking type (topmost, stacking, unassembled/need to solder), and the following optional information: Maker, pins used, flag if no longer made, flags for officially supported major Arduinos, license, source link, library link, main free text (can use HTML or Markdown) that can be used for pretty much anything (e.g. further links or (if hard to find) even sample code).
There will still be lists for makers with at least 5 or 10 shields.
2. Don’t rely on a single person
(increase the Truck Number – the minimum number of project members that need to be hit by a truck to make a project fail – though I'm usually quite reliable and still maintain projects I started 10 years ago)
- The site’s backend is completely written in Shopify Liquid and uses the Jekyll static site generator, so it can be hosted and compiled on GitHub Pages, a type of reliable ad-free webhosting. That means that a team (in contrast to only one person) can maintain the site and if it ever gets abandoned by that team, everyone will be able to fork and continue the project. Shields can easily be added via a YAML front matter (very simple format, a bit like INI) and a description in either Markdown or HTML (at the entry creator's choice).
- Advanced search, implemented on client-side using JavaScript. This is required to be able to use a (static) file-oriented database system like the one in Jekyll which allows not only the code but also the database to be open-source. You can search for e.g. shields that don't use certain pins and have a certain feature.
- Everyone can fork the project, add stuff and make a pull request.
I welcome suggestions for any other free solution that is owned by a major organization (to not rely on donations or a single person’s will) and allows collaboration, easy export of the entire project and is free of ads, unwanted cookies and trackers. Wikis might be easier to edit, but their are harder to host and browse/search/filter (I do know DPL, but I also know it’s limitations).
But the project isn't finished yet, just most of the Jekyll programming is. Help would be greatly appreciated, especially for these tasks:
- Add more shields. It's easy. If you can post on a forum and fill in a form, you can add shields. It’s also OK to add shields of a certain maker only.
- Add CSS. Requires experience with CSS. The site currently has very clean HTML5 so it can easily be styled. Graphics are already done.
- Work on the search feature. Requires experience with JS.
- Improve the overall site with new features. Requires experience with Jekyll/Liquid, which isn’t hard to understand if you don’t have to start from scratch.
Things to be discussed:
- Is there a need to add the exact ICSP pins? Most shields don’t even have the headers, do they only have them if they use them?
- What license should be used for non-image files? I personally prefer CC-BY-NC-SA, as I don't want it to ever be hosted with ads/analytics/cookies/trackers and it's not really software (code is more similar to the template programming on a MediaWiki), so a content license makes more sense to me than a software license.
- Does it make sense to be able to discuss individual shields via Disqus (non-commercial projects may qualify for the free Pro membership), IntenseDebate, GraphComment, Widgetpack or me self-hosting HashOver? (For privacy reasons, externally-hosted comment services should be loaded on request or if the user chooses to always load them via a cookie.)
Thanks for reading! Looking forward to any feedback.