Application Creator
Application Creator - A system for bootstrapping app development in tbDEX and Web5
57 Replies
Folks, I'm soon to publish a one-pager summary and proposed actions for next steps on Application Creator. I'll tag folks here when I do.
Until then - appreciate everyone's thoughts from the last meeting. I've put them here in raw form, and you're free to go in and edit/add points I may not have captured from you correctly: https://hackmd.io/N-GmB2rTRQ6ZEGRIzZ7-iw
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
Welcome back, y'all - and Happy New Year!
From our prior meetings, I've put together a high-level proposal for an Application Creator system. Leaving in HackMD for now to encourage comments and feedback.
By end of this week, let's get aligned on the approach and scope of work:
📃 https://hackmd.io/QW7FwsnMQbGMZxmqmcBJbg
I'll set a session for next week to walk through it and get us to Good Decisions.
@dayhaysoos-tbd @leordev @techgirl1908 @mic @moegrammer @rccola54566975 @AceKYD @blackgirlbytes @chrisgiglio @csuwildcat @frankhinek
nice - taking a look.
All makes sense to me
adding some comments to the hackmd with thoughts
Lots to flesh out but let’s not over design — we can see what works for community building and our teams, and move
Excellent @mic thanks for the swift justice
justice will be swift and severe (remember when clinton would say that?)
was a simpler time
Indeed, I agree, as I age myself into dust
another year passes
the grave comes for us all
Dark Mic in 2024 y’all 🤣
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
Love this, @blackgirlbytes.
What you’re proposing sounds like an incremental addressing of a community problem - without having to wait for a big project like Creator to be ready? Handling this in docs makes a lot of sense to me — and will lay the instructions for us to further systemize it later.
+1 from me on value for sure if DevRel team determines this is a set of docs to prioritize 🤘🏻
And @blackgirlbytes def feel free to add that in the HackMD comments or make a new section for it to denote how we can move from current state > docs > templated solutions in Creator
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
Yep it’s really a two-step question in the UX for users:
1) Language (Swift, Kotlin, JS etc)
2) Framework (choices there dependent on Language, with JS eventually having the most options)
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
Oh come on it's not that bad; just Angular, React, Vue, Next, Node, Docusaurus... 🤣
But I'm convinced community is going to be excited to take on making/maintaining some of these once we lay the pipes
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
Totally. I like the approach of:
* Sensible defaults where appropriate
* Flags and switches as CLI arguments so the entire command can be scripted without user interaction
* Prompt user for input where not previously specified, so users don’t need to consult docs to know all the switches and params
WDYT?
This is an awesome resource to explore; would ya add it to the doc in an “Implementation Considerations” section?
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
Billion percent.
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
I was just riffing with Angie - Creator or no Creator, I think setting up a repo for examples, putting a few high-res and tested ones in there, gives us a start of an App Store and we can all use that to feed contributions and tighten our community feedback loop with core dev.
Unknown User•11mo ago
Message Not Public
Sign In & Join Server To View
@kirah (tbd) has put together the beginnings of a Web5 starter in vanilla JS!
@lam.tbd Had a good point about our exploring Yeoman as an impl choice
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
And what’s the principal benefit you find @lam.tbd with generator frameworks over, say, simply grabbing example apps from an repo where these live?
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Yeah this flow of asking simple questions is A+++
So you’re proposing a couple flows? One for giving people example apps we’ve made from a repo, another for generating from scaffold using a framework like nx?
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Yes this is great exploring - want to add a section proposing this flow to the HackMD?
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Yep, top of the thread -
https://hackmd.io/QW7FwsnMQbGMZxmqmcBJbg
Oooh pinned message good call
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Really looking forward to next call on this and bringing these ideas all together to see how we phase it out.
Using a unified framework like that so devs always have the right runtime, and they’re consistent across projects and examples - is awesome. Core dev teams now looking at Hermit for that too
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Yep, containers for dev fully handle this but they can be heavy and IMO never really took off as a dev toolset
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
@lam.tbd you got the call tomorrow on your calendar? It’s on the OSS calendar and Discord events
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Added ya and @kirah (tbd)!
Summary of today's call:
Had a shorter, focused session driven towards action. @kirah (tbd)'s prototyping has already put us on a path towards the CLI, AppStore, and a "kitchensink" example for developing new apps with Web5.
The path we can go down next is expanding this out to formalize where the AppStore/example repo lives, and build out a contribution guide for adding examples to it.
This get us moving towards the more mature proposed architecture:
I'll write up some takeaways into a Milestone 0 that keeps our momentum and ask folks to make it better here:
https://hackmd.io/QW7FwsnMQbGMZxmqmcBJbg?view
Will update when that's done.
Some early thoughts and questions for folks so we can parallelize work:
* @sgm - What opportunities are you seeing in either the creator UX or the Web5 Kitchen Sink example to really give users all they need to start building their own Web5 applications, once bootstrapped with this flow in just a couple minutes?
* @lam.tbd Do you want to explore options for the CLI - ie. how we implement it as a language-agnostic system installable? Or are you more keen to continue looking at scaffolding of user apps as an approach that lives alongside the AppStore approach?
* @leordev I'm thinking the GPT elements, from your comments, continue to be in later phases?
* @leordev and @dayhaysoos-tbd - Do we have early ideas for how we put together the creator web service? I'm most useful in JavaEE if that's a factor.
* @devRel Is it appropriate at this point to focus on lifting all existing examples so they can be surfaced through the creator flow like @AceKYD demo'd today?
* @frankhinek and @techgirl1908 What features do you feel a new Web5 developer most needs from the kitchensink example? When a dev first gets that starter created for them -- what else should be on the page?
Most importantly - what do folks need from this group to make progress?
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
@kirah (tbd)'s starter demo'd today: https://github.com/kirahsapong/create-web5
GitHub
GitHub - kirahsapong/create-web5: Get started with Web5 in seconds
Get started with Web5 in seconds. Contribute to kirahsapong/create-web5 development by creating an account on GitHub.
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Yeah considering this here too. Lot of truth to that.
I'm also trying to get ahead of the problem of "we made a CLI therefore put all the business logic for it in there" and marrying ourselves to that architecture by default. If the CLI is as dumb as possible, we can center the creator logic in a service where it likely belongs and save ourselves work down the road.
But not to hold things up, like you're calling out.
Can I carve off an AI for y'all to do a timeboxed first pass at this? From above discussion, I'm having the thought that the job of a CLI is to collect user input and pass it along, and write the outputs - centering logic like interacting with the AppStore and knowing what questions to ask the user elsewhere. Would like to get ahead of that so we don't end up having all this great UX work living in something we can't port to a web interface or use effectively with non-Node appdevs.
WDYT?
I love this take because IMO the purpose of the kitchensink really is to answer the question for the dev "what do I do next, and how?". Showing the building blocks like working with DIDs and VCs - in an interactive console which proves it out, really sells that vision.
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Awesome will add it to the Milestone 0 - thank you y'all!
Thinking aloud:
Sounds like the creator UX (CLI/Webapp) would be asking the user 2 types of questions:
* Questions the system knows about
--What kind of app (from AppStore, scaffolding, or GPT)
-- Language they wanna make the app in
-- Framework they wanna use in that language
-- etc
* Questions specific to the app in question
-- Like @kirah (tbd) illustrated - "what DWN timeout do you want?" "URL to DWN server?"
So the creator UX would have to collate those in the question tree and that's why the AppStore and others would likely need a similar format including metadata behind the app so the creator system knows what it's got to ask
Fun fact I have a US patent for this kind of collated "App Creator" flow, if you can read past the legalese 😛
https://patents.justia.com/patent/11372628
US Patent for Application development interface Patent (Patent # 1...
The display of a user interface including components associated with an application may be caused. A first selection of a component from the plurality of components associated with the application may be received via the user interface. In response to receiving the first selection of the component, properties associated with the component may be...
3. ✅
4. Totally the CLI super thin, passing input to service, yeah that makes sense to me. As @dayhaysoos-tbd calls out - timing matters too, prob a lot we can do to explore the flow and learn, deliver value, using NPM as @kirah (tbd) started. Phase 1 or 2 for CLI, with earlier phases to explore and learn?
yeah starting with a create-web5 like kirahs example but with more templates/composability (or a kitchen sink?) - as a published CLI is pretty handy starting point (being able to describe your app would be even better! have it pick closest template and modify one day)
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
I set a session tomorrow w/ @kirah (tbd) on extracting out metadata and structure from examples into a common format for an examples repo. This can back the App Creator as a datastore of examples.
Open, public call to all interested
Awareness @EbonyL-tbd @AceKYD @blackgirlbytes @dayhaysoos-tbd @chrisgiglio
https://discord.gg/Pwkp5eUZ?event=1201640180063404054
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View
Awesome brainstorming session today, folks - as always I'll type up some takeaways and next steps for review.
Could I have a link to the Excalidraw itself? Might help if I can screengrab and capture from there for better res
Unknown User•10mo ago
Message Not Public
Sign In & Join Server To View