-
2025-01-15 18:04:31
Hello everyone, as part of the nostr:npub10pensatlcfwktnvjjw2dtem38n6rvw8g6fv73h84cuacxn4c28eqyfn34f grant I have to write a progress report for Formstr, I thought I'll use this opportunity to do a nostr blog! , Something I've been meaning to do for sometime, hopefully I don't bore you.
## Introduction
There was a lot of work ahead of us even before we got the grant, and we tried to tackle it heads on.
We completely changed the underlying mechanism of storing and fetching forms. Whereas previously a form was a kind 0 event, same as a profile event. The form is now created and responded to in the mechanism as outlined in the [Forms NIP](https://github.com/nostr-protocol/nips/pull/1190/files). This had to be done while making sure that none of the older forms broke during the process. The new specification helps streamline the forms usecase to expand to access control, private forms, upgrade to nip44 encryption.
Some of these features existed as Proofs of Concepts prior to this quarters work, the major tasks were to streamline and production-ize them, to be able to release it to the public. We were also joined by nostr:npub1vf6wyw9j38sm96vwfekwvqxucr9jutqrmwdc2qnql79a66al9fzsuvt9ys who along with nostr:npub15gkmu50rcuv6mzevmslyllppwmeqxulnqfak0gwud3hfwmau6mvqqnpfvg helped move the project along.
## How did we spend our time.
Released a major Formstr Update (16/12/204): - [Release PR](https://github.com/abhay-raizada/nostr-forms/pull/157):
This Release Contained The Following Changelog:
- Move Form Creation and Rendering to New Event
- Upgrade Response Encryption to NIP-44.
- Add Ability to create private forms.
- Add ability to send private form access as Gift Wraps.
- Create a new dashboard UI to incorporate new form types.
- Add ability to login to formstr
- Use naddr to encode form Urls instead of pubkey(centralized).
Work done to production-ize these features can be found in the following PRs:
1. [Save forms to local device automatically](https://github.com/abhay-raizada/nostr-forms/pull/176)
2. [Ability to remove participants in Access Control UI](https://github.com/abhay-raizada/nostr-forms/pull/178)
3. [Revamp Responses Page according to NIP-101](https://github.com/abhay-raizada/nostr-forms/pull/181/files)
4. [Add a "My Forms" Section on the dashboard](https://github.com/abhay-raizada/nostr-forms/pull/188)
5. [Add UI for Inserting Images](https://github.com/abhay-raizada/nostr-forms/pull/183)
6. [Using Naddr Instead of pubkey as formId](https://github.com/abhay-raizada/nostr-forms/pull/180)
In addition to these there were multiple bugfixes and patches that I've excluded for brevity.
## Major Challenges
We were in "beta hell" for a long time, even though I had finished rudimentary versions of each of the features in advance (some to test the viability of the forms NIP). Incorporating them into the running version proved to be a challenge. We realized that some of the features required major UI changes, and a lot of new features broke previously working desirable features such as NIP-04 Notifications. A lot of [work](https://github.com/abhay-raizada/nostr-forms/pull/157/commits/4ce6970b09e7728004ccdeb058efb2b58dd96ef0) like this had to be done to ensure formstr brought in new features while continuing to work exactly as old users liked it.
## What's left and what's coming?
From the wish-list items I had committed during the application a few major ones remain:
- Edit Past Forms.
- Paid Surveys.
- Support for NIP-42 Private Relays.
- Conditional Rendering of form fields
- Sections
Of these I'm happy to report that we've already begun work on conditional rendering of fields (https://github.com/abhay-raizada/nostr-forms/pull/199)
## What is de-prioritized?
Going with experiences from quarter 1, we are de-prioritizing Formstr Integrations with 3rd party services like Ollama (Self Sovereign AI) and business tools like Slack, Notion etc. We'll try to get to it, but it's less of a priority compared to other features!
## How the funds were used.
- Paying Individual Contributors for PRs submitted.
- Living Expenses