Haroenv/holmes

Fix eager.io

Haroenv opened this issue · 4 comments

Install.json didn't work yet and it probably changed.

install.json is kinda correct now, but eager.io is being discontinued for cloudflare apps. Let's see what that gives in April.

Hey Haroen,

Holmes is a lot like our app Select.js
https://github.com/CloudflareApps/Select

We based it on an open source library the CEO wrote.
http://github.hubspot.com/select/docs/welcome/

Like Holmes, Select.js has a lot of technical options that we've wrapped in an Eager init script.
https://github.com/CloudflareApps/Select/blob/master/app.js
For the non-technical user, they're only configuring the theme. This was probably our easiest app to "Eagerify" since it was just one option.

Particles is an app that also wraps an external library.
https://eager.io/app/particles
We started the project by building non-technical options in install.json. Then we consume them in the Eager init script.
https://github.com/CloudflareApps/Particles/blob/master/app.js

Our wrapper code eventually calls the Particles.js init function after we've built the options out to our liking. Giving the user a huge list of all the options Particles.js would be intimidating, so only a few are exposed. Ideally any combination of foreground and background colors looks pretty good 😄

Lastly we polished up the update logic. The Eager preview hooks allows us to call a function when a particular option is changed.
https://eager.io/developer/docs/install-json/preview
In the case of Particles.js, we wanted to make the preview as instant as the user could choose colors. The combination of simple options and instant visual feedback is what turns a technical library into an approachable app.

I think Holmes is a perfect example of a library that's solved technical feature really well! I think if you treat Holmes like a separate library that is configured by an Eager app, it'll make the separation of concerns easier to pull apart :-D

I appreciate your time reading through this. Our merge into the Cloudflare ecosystem has been a fantastic journey. I'm excited to see just how many users we can help build great websites!

Cheers,
Eric

Currently planning this in Haroenv/holmes-eager

I’m not going to bother with this anymore. Feel free to comment here if you want it.