Show HN: Typeform alternative, turns Markdown to forms
blocks.md
blocks.md
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.
`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...
But maybe the Typeform design i not very original, too. Maybe it makes sense to use some design that is rather neutral, easy on the eye, automatically recognizable without an effort to parse.
I see a commendable humility in picking a clean, usable, not catchy rendering. What's original here is the form language, which is actually the centerpiece. And frankly, I wish the code examples were more colorful, bringing attention to the keywords and separating them from the static text runs. It would help understand the language structure easier.
1. Yeah I would say this was intentional. Typeforms are almost instantly recognizable, which is a good thing for a new product I think. I actually want to offer more than one form style though. If you look at the CSS file, everything is a variable so that I can add more styles/themes.
2. Haha you're right actually, the idea was slightly different and the name sort of stuck (it was originally blocksdb, which is worse). I don't mind blocks.md though, but marketing is definitely not my best skill.
It says Business Source License 1.1 which basically means I’m free to use as long as I don’t use it to build a competitive offering. Fair enough.
But it changes to AGPL-3.0 on 2028-07-01, what? Basically now I need to open source my entire stack that has any connection to the form? Why would you change it to a more restrictive license (for anyone not looking to build a competitive offering) after a few years?
---
Unrelated, I find the DSL increasingly unwieldy as you get to more advanced features (especially styling). Might want to consider offering a JSX/TSX alternative for more advanced use cases.
I agree it's odd that folks who use this software something that isn't a "competitive offering" may have to open-source their software stack if they upgrade to a new version in 2028. But, they will always have the option to use an older version of the software that is still covered by the BSL.
Except here thanks to the AGPL choice, it seems to be the exact opposite of an assurance: if you use this in a proprietary setting, you’re just fucked if the business is gone and the software needs patching.
This isn't like a service where they can try force you to agree to an updated EULA with some "by continuing to use this service…" crap, or a rented device like a "smart" TV that can effectively do the same by refusing to work (though technically you've already agreed to that with a "we can fuck you over at a later date" clause in previous click-through agreements.
I have nothing against AGPL, in fact if I relase anything I'll probably use it, but if I did dislike it, which some very much do, I wouldn't tough this with a bargepole even years before the change.
I'm still trying to figure out the licensing around this whole thing, so this is temporary I believe.
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.
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.
> In what sense?
You just answered your own question.
I want to see what I'm getting my self in for so that companies/entities can't trick me into filling out a questionnaire with 50 questions in that, "Will only take a minute!" It's easy to get people to get answer enough questions that they reach the point that stopping now would mean everything they've just done is a waste of their time, so they keep going. It's abusive.
Give me everything up front and let me decide if I have the time to commit to that.
Well, I answered part of it ("Fine if short form, annoying if long form") but you seemed at first to find it aggravating no matter what.
Yeah, tricking people into thinking something is short when it's actually long is obviously shitty, no matter the approach.
Not the case here though.
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. 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]}
/>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
- [ ] BananaAn actual Markdown syntax extension for forms would be interesting. [_____] for text fields?
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.
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.
You can write any components normally and pass them in to be available in MDX. You can make forms and much more
Most non technical people are comfortable writing markdown, especially when there is a rich text editor. They are not going to write JSX. Markdown is focused on the textual content, not the presentation
Yes, but he's very close to the obvious solution that will spark web 4.0.
Closest I've seen yet.
Thus, any one filling out any form, no matter how complicated the form (tax returns, electronic medical records, mortgage applications, LSATs, et cetera), could in theory type the form in a single plain text document encoded in Particle Syntax, OR use an HTML multi input form which generates that text document under the hood, or a hybrid of both, since they are isomorphic to each other.
Here's the issue:
P.S. You can just write "tahmid.hm.dev@gmail.com". Gmail spam filter is good enough to eliminate automated spam, and also nowadays verbalization provides no additional protection against email address crawlers ;). Might even be the opposite ;)
if you are small startup this is too expensive, if you are big company, you might as well built it yourself. got to be cheaper!
UPD: typeform charge more but they provide hosting and analytics, very convenient for people who don't want/cant to code anything. this library is "bring your own backend, analytics, etc.", need coding too, but prices are nearly same ballpark. too expensive.
My user test: https://www.loom.com/share/9287cfe4e7024330bfe752ef8b9ad9bd
Nonetheless great design!
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...
1. I don't understand why there's a pricing model for some CSS on forms. if I'm hosting the form & submission endpoint why do I need your backend (? not even sure what your role is here) 2. why not make it into a selfhosted typeform alternative; would be cooler than this saas bs
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.
And you think they’ll keep you as a customer if chargebacks are at all an issue for you?