[HN Gopher] Show HN: Typeform alternative, turns Markdown to forms
___________________________________________________________________
Show HN: Typeform alternative, turns Markdown to forms
Author : darkhorse13
Score : 97 points
Date : 2024-08-31 11:19 UTC (11 hours ago)
(HTM) web link (blocks.md)
(TXT) w3m dump (blocks.md)
| bberenberg wrote:
| I feel like this falls into an uncanny valley between requiring
| the skill to cognitively model forms in your mind as text, which
| is fairly close to coding and using a form builder UI.
| tenkabuto wrote:
| Yeah, it'd be great if over time they/a community provided a
| system for visualizing the form logic and a form builder GUI so
| you can go full-circle with this (building via code and GUI and
| saving/versioning/forking forms via source).
| mx20 wrote:
| SurveyJS already has all that and uses JSON. It's also MIT
| licensed, instead of this non commercial license.
| anon1094 wrote:
| It looks interesting. Do you not have a free plan or even a
| trial?
| cpb wrote:
| It's free for local use from npm.
| mmastrac wrote:
| This style of form is aggravating to fill out, but kudos on
| making it beautiful.
|
| If you want to be kind to your users, allow them to scroll
| through the entire form, see it on one screen and ideally skip
| ahead without filling out required options but block submission.
| diggan wrote:
| > This style of form is aggravating to fill out,
|
| In what sense?
|
| I suppose for me it kind of matters how many questions are
| being asked. I'm fine with this UX if it's a specific question
| or two, but for a whole questionnaire with 14 questions or
| more, then I'd also prefer to be able to get an overview first.
| Terretta wrote:
| It's been studied that fewer people _start_ the big form than a
| multi-stage form of uncertain size but more people _finish_ it.
| rafram wrote:
| This is more like a DSL with Markdown embedded for the textual
| parts, but still cool.
|
| An actual Markdown syntax extension for forms would be
| interesting. [_____] for text fields?
| tenkabuto wrote:
| Yeah, is anyone familiar with other DSLs for form/survey
| building and logic?
|
| For my work, where we produce lots of surveys and reuse parts
| of them/run near duplicates monthly, I've been curious to see
| if there's any dual code and GUI options out there to allow for
| survey programming to be version controlled and forked, etc.
| diggan wrote:
| > Yeah, is anyone familiar with other DSLs for form/survey
| building and logic?
|
| This would be one:
| https://github.com/leemeichin/ask_awesomely
|
| That's a client library for interacting with now defunct
| Typeform I/O, so it won't work anymore. But maybe the DSL
| itself could be an inspiration, or you could wrangle a fork
| of the library to create the forms locally.
| lukasb wrote:
| Yeah I'm curious if the Markdown form syntax here is totally
| new or if other people have done something similar. I'm
| building an app that extends Markdown with Excel-like formulas
| (think function calls, not arithmetic) and have considered
| having formulas that instantiate form elements.
| verdverm wrote:
| MDX is great for this, you can intermix JS/TS, JSX, and
| Markdown
|
| https://mdxjs.com/
|
| You can write any components normally and pass them in to be
| available in MDX. You can make forms and much more
| mg wrote:
| It looks like it could be made leaner.
|
| This: name* = TextInput( | question
| = What is your name? | description =
| Let's get started with the survey. First, please tell
| us your full legal name according to your passport. )
|
| Could be just this: name* = TextInput
| # What is your name? Let's get started with the
| survey. First, please tell us your full legal name
| according to your passport.
| steve_adams_86 wrote:
| But then how would you support choices or conditions for
| example?
| notpushkin wrote:
| Maybe something like this for choices?
| fruits = MultiChoiceInput # What are your
| favourite fruits? - [ ] Apples - [ ]
| Oranges - [ ] Bananas
|
| Personally I'd prefer good old MDX though:
| <MultiChoiceInput name="fruits"
| hideIf={name.value !== "FruitLover"}
| options={["Apples", "Oranges", "Bananas]} />
| mg wrote:
| Well, you can define the syntax however you like in a new
| DSL, right?
|
| I like the syntax notpushkin proposed and would extend it a
| bit like this: fruits* = MultiChoiceInput
| # Pick two out of three fruits Fruits are
| healthy, so let's pick two fruits you will eat
| every morning for the coming week - [ ] Apple
| - [ ] Orange - [ ] Banana
| Terretta wrote:
| All such text markup DSLs were invented at least once on
| usenet.
| diamondfist25 wrote:
| This is awesome!
| vunderba wrote:
| I could definitely see this being useful if you could easily
| integrate it into a static site generator pipeline like Hugo or
| Jekyll.
| lottamus wrote:
| Looks interesting, but I'm having a hard time seeing why a team
| would adopt this over something like MDX. A comparison page
| between the two would be great!
| codersfocus wrote:
| Why are you using Paddle? Using a MoR for a product like this is
| really dumb.
|
| MoRs are common in very shady areas (gambling, adult, etc.) where
| getting credit card processing approval is difficult.
|
| Yet some marketing genius has decided he can hoodwink
| indiehackers into giving him 12% of his revenue, while also
| hurting the indiehacker's sales.
| breadwinner wrote:
| What are you talking about? Paddle charges 5% + $0.50, see
| https://www.paddle.com/pricing They handle chargeback, taxes in
| various states, etc., etc.
| j12a wrote:
| This syntax would be just nice to plug into WordPress Contact
| Form 7 plugin which is also a feasible FOSS alternative in
| itself.
| goforbg wrote:
| The telephone input takes text input?
| Esras wrote:
| If you read the parent comment here as I did originally, about
| it being text as opposed to a number field, see points 18, 19,
| 23, and 25 on
| https://github.com/google/libphonenumber/blob/master/FALSEHO...
|
| The field on the form is indeed of `type=tel`, which Mozilla
| helpfully points out has no validation (see the above
| document): https://developer.mozilla.org/en-
| US/docs/Web/HTML/Element/in...
| aimazon wrote:
| Very good work, especially for a solo developer. Feedback:
|
| 1. Design language of the forms feels too much like Typeform,
| you're a talented designer: differentiate the design to establish
| your own identity. If the forms look like Typeform, form-fillers
| are not going to investigate what form software it is and use it
| -- which was a big part of why Typeform grew.
|
| 2. The name is terrible. Blocks? The name sounds like you decided
| on it for a different project (some sort of component framework
| using Markdown?) and then reused it for this. The domain forms.md
| is available to register. Anything that include "form" in the
| name would be a significant improvement.
| Terretta wrote:
| > _The name is terrible. Blocks? The name sounds like you
| decided on it for a different project (some sort of component
| framework using Markdown?)_
|
| `forms.md` says what it is on the label.
|
| And `filldown` has a lot of extensions available:
|
| https://www.namecheap.com/domains/registration/results/?doma...
| Jonovono wrote:
| Looks nice! I was using typeform to collect surveys but found the
| UX weird so I switched to Google Forms. Found we got more
| conversions too, it's just simpler to use. The one thing missing
| was I wanted a way to redirect someone after they completed the
| form. That wasn't supported so if there is anyone else in a
| similar boat, I made this (free) service: https://www.gfrdr.com.
| dcreater wrote:
| Why is better than just a simple spreadsheet as input?
| Spreadsheets are still somehow very underrated
___________________________________________________________________
(page generated 2024-08-31 23:00 UTC)