Jamstack Conf takeaways and Hopin thoughts
Tags: jamstack, conferences, conference, remote
Published: 2020-06-08 15:00:00

---
title: Jamstack Conf takeaways and Hopin thoughts
published: true
date: 2020-06-08 15:00:00 UTC
tags: jamstack,conferences,conference,remote
cover_image: https://katiekodes.com/images/header-music-imgix.png
---

I'm not a full-time web developer, but I jumped onto the opportunity to attend [Jamstack Conf](https://jamstackconf.com/virtual/) in my pajamas! 

## Why I attended

I help manage a [full-time musician](https://katiekodes.com/virtual-conference-live-music/)'s web sites.  He's the "author" and, to the extent his web editor user interfaces allow, the "designer."

[Bandzoogle](https://bandzoogle.com/?memref=r418ab), a Wix / SquareSpace-style "website builder" cloud service geared toward musicians, has been amazing for building and hosting the web site of one of his bands.  It's pretty much put me out of a job for that band's web site, and I love it.

However, it's been a little harder to decide what to do about his web site as an individual, which, from a business perspective, serves as "brochureware" for the full range of live performance, composition, arranging, and producing services he and his bands offer.

Content-wise, it breaks into the following blocks:

* A homepage including "snippets" of dynamic authored content _(photos, videos, music, blog posts)_ manually being changed out every few weeks or months.
* A handful of pages that pretty much never change.
* A catalog of published music _(into which "authoring" consists of data entry into input fields on a form)_
	* Includes sound samples
	* Includes purchase links
	* Behind the scenes, should include [schema.org](https://schema.org/)-formatted representations of each song/album.
* A list of upcoming & past performances _(into which "authoring" consists of data entry into input fields on a form)_
	* Behind the scenes, should include schema.org-formatted representations of each song/album.

Bandzoogle/Wix/Squarespace-type web sites haven't quite offered the fine-grained control over importing, exporting, and rendering "data" _(music and events)_ that I'd like to see.

I also want to get the page loading lightning-fast, because it's hard enough as it is to SEO rank someone named [Robert Bell](https://bellrobert.com/) against Kool & the Gang or Banana Boat sunblock.

As easy as the Bandzoogle-hosted page is for him to manage, the perfectionist in me wants to see if I can do "even better."

Last time I helped him rebuild the page, we ended up with Wordpress with heavy use of themes and plugins.  Cloud site builders hadn't quite become what they are today.  Today, the page is feeling a bit dated, and it loads slowly by modern standards.  We both agree it's time to migrate to [Bandzoogle](https://bandzoogle.com/?memref=r418ab) or to hire a designer and a front-end developer and start fresh.  But if we do the latter ... should I reevaluate the CMS and hosting stack instead of sticking with Wordpress?

> Could building a static site on the [Jamstack](https://jamstack.org/) give him an adequate authoring experience while letting me feel that his website was architected "perfectly?"

I was skeptical, but luckily, May 2020's [Jamstack Conf](https://jamstackconf.com/virtual/) was no longer across an ocean in London.  Instead, [it was free and hosted online](https://www.youtube.com/channel/UC8bRyfU7ycLXnEBfvdorpUg/videos).  So I packed my bags _(cup of tea and a bowl of cereal)_ and headed over to see what I could learn.

---

## Overall feel

This conference was, like a face-to-face one, a destination for **fun** and **energy** and **meeting people**.

![Screenshot of Twitter included in mainstage](https://katiekodes.com/images/screenshots/screenshot-music-ad/jamstack-twitter.png)

Things that contributed:

* [Hopin](https://hopin.to/)'s features
* Jamstack Conf organizers' mastery of sheparding attendees around the Hopin platform
	* My hands-on training teacher even figured out that we could open a 2nd tab and use manual videoconferencing with other session participants to group into "breakout rooms" and work on projects together
* 2000-3500 simultaneous attendees
* Attendees being on their best behavior
	* _Nothing inappropriate at vendor booth visits or during chat roulette to my knowledge -- truly the best of the internet!_
* Small "wow factor" details gave attendees things to small-talk about, the way great catered food does at an event in real life.
	* Emcee Phil Hawksworth made his living room lighting match the conference's color branding
	* Ashlynn Polini and other Netlify employees were highly engaged in the chat
	* Photos were incorporated into the mainstage from amazing #Jamstackconf Twitter posts like [Ximena Vila Ferral's sketch-notes](https://ximenavf.com/) and an attendee's viewing setup with a monitor _stacked_ on actual jars of _jam_
	* Everyone loved production studio [FNTech](https://www.fntech.com/)'s break music.

{% user xvilaf %}

> All it needed was [live music](https://katiekodes.com/virtual-conference-live-music/)!  😉
> 
> No wait, actually it had that too for 5 minutes.  😁  I was enjoying Jamstack Conf and Hopin so much that after I visited the [imgix](https://www.imgix.com/) vendor booth, during a lull, I asked if they'd mind letting [Robert](https://bellrobert.com/) and me test the audiovisual technology I've been helping him set up by giving them a little concert.  I wanted to know how it sounded on Hopin.  I called Robert and had him join in.  Thanks for obliging, imgix -- and for the free product trial credits.  Can't wait to try it out.
> 
> ![Screenshot of live music announcement](https://katiekodes.com/images/screenshots/screenshot-music-ad/hopin-announcement-live-music.png)
> 
> Hopin's latency was low enough that vendors and visitors to the booth could chat with him in real-time, just like you can walk up and ask the "musician in the corner" some questions between songs at a "meatspace" event.  Unlike some videoconferencing apps, Hopin didn't over-optimize the sound for speech, so everyone got a hi-fi experience.  I was really pleased with Hopin's A/V tech.
> 
> ![Screenshot from an online performance](https://katiekodes.com/images/screenshots/screenshot-music-ad/hopin.png)
> 
>  _(Shortest-notice gig ever? -- Hence the poor lighting, oops. 😆)_

[I hear](https://aparker.io/posts/deserted-island-devops/) that [Deserted Island DevOps](https://desertedisland.club/), hosted in Animal Crossing and Twitch, had [legendary](https://www.arresteddevops.com/deserted-island-devops/) high energy, but I missed it.

I certainly enjoyed JamstackConf as much as I heard everyone enjoyed D.I.DO.  _(Unlike the "conference" session I was so bored in today that I started writing this blog post.)_

Attention to participants on the mainstage, combined with "chat roulette" networking opportunities and the ability join into "sessions" & vendor booths' "Brady Bunch" Zoom-room-style video feeds, really made Jamstack Conf feel like a _**conference**_, not a webinar series.

---

## Artists like to play with pixels

Perhaps the most valuable thing to come out of Jamstack Conf's "virtual hallway track" was learning that I'm not crazy.

"What you see is what you get" _(WYSIWYG)_ web site builders are _**important**_ to artists who serve as "authors" for a web site.  It turns out I'm not alone in observing that.

Artists _**really like**_ being able to drag-and-drop the size and positioning of text floating over a header image, and [all those nifty things](https://bandzoogle.com/blog/feature-updates-image-text-button-header-controls-and-more-my-sites-icons) you get with Wordpress's theme editing and with Bandzoogle/Wix/Squarespace-type site builders, without having to ask a front-end developer to do it for them and without having to worry about HTML, CSS, or JavaScript.

I'd suspected this might mean that even the most full-featured CMS for a Jamstack site wouldn't ever truly satisfy that authorial itch.  Professional web devs who've partnered with "creatives" wrote "\*sigh\*" and validated my hunch:  Hardcoding the front end might really drive us nuts, considering neither of us are front-end devs.

---

## CMS

One of the best "hallway track" / "happy hour" / "lunch table" / "expo hall" experiences about a conference is the chance to discover products that do exactly what you were hoping someone had already invented a product for.

Attendees and vendors bombarded me with Jamstack-friendly CMS names to explore:

* [Scrivito](https://www.scrivito.com/)
* [Stackbit](https://www.stackbit.com/)
* [Magnolia](https://www.magnolia-cms.com/developers.html)
* [Sanity](https://www.sanity.io/)
* [Craft](https://craftcms.com/)
* [Tina](https://tinacms.org/)
* [Kentico Kontent](https://kontent.ai/)
* [Strapi](https://strapi.io/features)
* [Prismic](https://prismic.io/)
* [Storyblok](https://www.storyblok.com/)
* [TakeShape](https://www.takeshape.io/)

I swear I'd done intensive Google searching in the space, but I hadn't heard of half of these.

That's what's so magical about conferences where you really get to interact with other people, right?

---

## Multi-CMS sites

I learned from fellow attendees that if you like one CMS's WYSIWYG-ish editor for certain types of content _(e.g. relatively artistically free homepage editing)_, but another CMS's WYSIWYG-ish editor for other types of content _(e.g. foolproof data entry for highly structured data)_, site hosts like [Netlify](https://docs.netlify.com/routing/redirects/rewrites-proxies/) can combine the two into one "web site" at the last minute.

_(The only catch being that this might make it hard to, say, feature an upcoming event on the home page.)_

---

## WYSIWYG means components

I write content for Katie Kodes by uploading plaintext files full of Markdown-formatted text into a Git repository _(or into Dev.to for my cross-posts)_.

Simple Jamstack-oriented content management systems like [Netlify CMS](https://www.netlifycms.org/) or [Forestry.io](https://forestry.io/) would facilitate data entry for "repeated, structured" content like discographies and event calendars, but they're not even close to the "WYSIWYG" experience of working in Squarespace.

Attending this conference, I learned that if I _**really**_ want to build the most WYSIWYG-like experience available, it will involve learning enough JavaScript and "web components" or "React" to build modular "chunks" that can be "dragged and dropped" into a grid.

That's a huge lift, but it's nice to know what it entails.  I suspect it'd also be insanely useful as a Salesforce developer in the era of Lightning Web Components.  I usually stay away from front-end development, but maybe this is the project to take the plunge for.  The "bell & whistle" features of CMSes like [Stackbit](https://www.stackbit.com/) and [Magnolia](https://www.magnolia-cms.com/developers.html) both depend upon a lot more front-end content rendering than I've ever bothered with for Katie Kodes.

---

## Magnolia CMS hands-on training

Although I wasn't able to attend the last hour, doing Magnolia CMS's hands-on training was where I really came to "grok" a lot of concepts.

* A lot of the "flatter" CMSes like [Netlify CMS](https://www.netlifycms.org/) help authors populate the _contents_ of text files that a static site builder can turn into HTML, with each text file representing approximately one web page _(the exception being "data"-style text files that might be repeated within a web page)_.
* More "tree-like" CMSes like [Magnolia](https://www.magnolia-cms.com/developers.html) do that, but also help authors _sequence_ such files _within_ other files, so that the "inner" files represent _ordered components_ on a page and the outer files _(or folders, perhaps)_ represent the pages themselves.

![Screenshot of Magnolia CMS hands-on training](https://katiekodes.com/images/screenshots/screenshot-music-ad/magnolia-cms-handson.png)

I don't think I'm doing this justice as I explain it, but it's a little clearer in my head.

Rather than letting a site builder like Jekyll transform a bunch of Markdown-formatted text files generated by a CMS into HTML / DOM elements for us, we wrote actual JavaScript to iterate over a JSON-formatted text file and render content from it.

The fact that the output of the CMS was a bunch of JSON-formatted text with complex nesting _(and with the ordering of elements indicating the order in which an author dragged them onto the page using the CMS)_ instead of a clump of ".`md`" Markdown-formatted files is notable.

What Magnolia still _doesn't_ do, though, is let an author make a picture "just 2 pixels bigger" on their own.  I don't think any of the static site CMSes do.  Frontpage, anyone?

---

## Bandzoogle is pretty great

A surprisingly rewarding aspect of [IRL](https://en.wikipedia.org/wiki/Real_life#Related_terminology) conferences is having the opportunity to talk to enough experts to realize that you **don't** want to work with the product being featured at the conference.

I know more Python, BeautifulSoup, and Selenium web scraping and web browser automation than I did last time I had to help make the "cloud website builder" vs. "DIY" decision.

* I'm capable of using Selenium to automate data entry of old events into a Bandzoogle page from a CSV spreadsheet.
* If it were necessary to move off of Bandzoogle, I'm capable of using BeautifulSoup to build my own data export to a CSV spreadsheet.

[Bandzoogle](https://bandzoogle.com/?memref=r418ab) is a _**great**_ site editor for musicians with a fantastic blog and wonderful support.  Squarespace and Wix and Weebly have come a long way.

Maybe I'll still bash my head against the wall hacking CMSes to build a Jamstack site, or learning Wordpress Gutenberg well enough to start over with a cleaner WP build.  Side projects can be fun.

But perhaps the biggest compliment you can give a tech event is that you **learned enough** to feel confident saying "no."

---

## Links

* Great minds think alike -- also from today: {% link https://dev.to/codegram/jamstackconf-a-virtual-conference-experience-26de %}
* [Robin Rendle](https://css-tricks.com/jamstack-news/) pointing out that the conference included the reveal of [Netlify Build Plugins](https://www.netlify.com/blog/2019/10/16/creating-and-using-your-first-netlify-build-plugin)
* I played with Gatsby:  {% link https://dev.to/katiekodes/gatsby-minimum-viable-build-3n13 %}