A Quick Review of Project Hoverboard
TL;DR: Project Hoverboard is great, but not perfect for smaller events?
So for the last few weeks, I have been helping out with DevFest Berlin 2019, which just happened last Saturday. From what I can tell, people really enjoyed the event, which is definitely the most important thing. For that, I have to thank everyone who attended, all the speakers who share their knowledge, and, and most importantly the other volunteers and organizers for making this possible! And as a volunteer, one of my biggest contributions would be ābuildingā and maintaining the website. The reason why I put double quotes around the word building is because instead of making a website from scratch, I use another project as the template, and that would be Project Hoverboard.
The first thing I want to say is Thank you to the amazing people from GDG Lviv for making this!!!ššš. It allows us to quickly serve up a beautiful, offline-compatible, accessible, and effective website. I cannot stress that enough! Now that the compliments are out of the way, letās jump into what I think about it, who is a (terrible) Android developer that is constantly trying to learn new things š¤·āāļø
Pros
Amazing demo
So whatās the best way to let people know what your template is about? Well, a fully functional, fill to the brim, performant, and beautiful ādemoā site is definitely gonna do the trick š¤Æ
Amazing Documentations
Like seriously just look at the README! Itās so detailed, and I got something started in a matter of minutes!!!
Accessibility š
While I never really tested the accessibility part, itās really nice that they have it in mind, especially when inclusivity is a big part of DevFest Berlin this year. Special shout out to the organizers and selection committee for having such a diverse panel, which include this amazing talk from Franziska Hauck!
PWA š
This is particularly useful when the venue Wi-Fi is overwhelmedā¦ā¦
Secure šĀ š
The last thing you want is to have a tech(-ish) conference website to leak a bunch of info, or have loopholes that allow bad players to inject malicious data. From my very limited knowledge of the npm ecosystem, it looks like the project is pretty secure. Not perfect, but more than enough.
Cons (mostly nitpicking)
Firebase functions errors are notĀ obvious
One of the ābugā that takes me forever to figure out is that apparently, you should not pass an empty array to the socials of speakers (if I remember correctly), and if you do that, the firebase function that transforms speakers JSON will fail. And since itās happening on the cloud, it took me forever to realize how to find out the āHealthā of those functions, and slowly figure out what I have done wrong. Itās particularly bad because of the strict pre-commit hook, that gave me the impression āoh it pass lint locally, so the formatting must have been fineā
Import script is somewhatĀ basic
Another issue I faced is how to import everything once the schedule is done. Before itās ready, I added a bunch of dummy schedule & speaker placeholder, so that people can understand āoh the schedule is not ready yetā. And once the info starts flowing in, I run the import script, and realized that āoh, all those dummy sessions are still on firebase, because the firebase function does not do removalā. Itās not a deal-breaker, I can just remove everything from firebase database, and let it import everything again.
No easy way to integrate with CfP platforms
Continuing on the data import topic: for the first batch of import, it will probably come from some CfP platform like Sessionize or PaperCall, and currently, there is no easy way to transform the output from those platforms to the input of Project Hoverboard. I ended up botch a simple script to handle the conversion, but it feels like it should have been part of the documentation to say the least š¤·āā
ā”ļø Missing CMS part of theĀ project
All the previous points can kinda be summarized as ānot having a CMSā. Like it or not, event organization is often chaotic: last-minute speaker change, ticket sales open and close, people request to have their info change, missing pictures, the list can go on forever. And having some type of CMS, or at the very least, centralize all content into 1 place, would make it a lot easier for us to maintain.
Somewhat obscure techĀ stack
From what I understand, the world of websites is either build with PHP, or with React. And for this project, the use of Polymer (or web component I suppose?) and ā50% data static + 50% data on firebaseā is unconventional to say the least. And as someone who wants to learn more about frontend development, I wish I could have learned something more popular/hyped, like using JAM stack + static website generator.
Overkill architecture &Ā features
This is quite specific to this particular event: the architecture is a bit too complicated. Having data split in 2 places makes it hard to maintain, and easy to forgot to deploy something, or worse, deploy something that shouldnāt have been.
And similarly, there are also a few features thatāre quite unnecessary for events in this scale, like:
- SSO with facebook, twitter, or Google for push notification. There are only 2 tracks, you donāt need notification to tell you āhey everyone is movingā
- Link to previous speakers. It would probably be more useful to just link to the site from the past, so that users can have a bit more context on what it was about.
- Analytics. For 250-ish attendee events, this is not necessary. I ended up manually removing all references to analytics from the codebase. Itās not hard, but it is probably not necessary for most events.
So what have we learned today?
- The people from GDG Lviv is amazing!
- Everyone attended/spoke/organized/helped DevFest Berlin 2019 is also amazing!
- Project Hoverboard saves me so much time
- DevFest can range from āhaving dozens of peopleā to āmulti-day multi-track extravaganzaā, and that translates to very different needs for the website
- āEase of useā is important for both attendees and website maintainer
- etc.
And this is my quick review of Project Hoverboard, and now that I have written things down, I started to get motivated to build my own version of āa small-ish conference websiteā. Let see how it goesā¦ā¦