# Proposed Hallow Roadmap
Draft by David:
We can divide our focus points in Hallow and HallowCurves.
## Hallow
**What is Hallow in 1 sentence:**
Common framework for proving systems backends and circuit frontends.
### General objectives:
These are gathered from feedback from external and internal devs and users of the library.
1. Be more community oriented.
We want the users of the library to feel that the project is supported and that their
issues are answered and addressed.
2. Improve dev experience.
Many devs agree that the development experience in Hallow is pretty bad.
We should make the library more accessible without neglecting the needs of the current
users that choose it for its performance.
### Immediate Goals:
1. Integrate Plonkish backend. (after Edu's feedback, maybe fflonk or a plonkish inspired version of halo2-legacy)
2. Integrate Hallow-lib frontend.
3. **Rebrand**: Announce new name and project as independent from Zcash.
Points 1 and 2 are also a test to see if our aim makes sense.
### Long-term Goals
- Multiple backends with different proof systems (grouped in a way that makes sense):
Backends: Plonky3, (Any candidates for folding backends?),
Frontends: Chiquito, Powdr, R1CS format from Circom (https://github.com/arkworks-rs/circom-compat), Jordi's PIL, Noir
Priority could be determined according to the community needs.
---
## HallowCurves
Become easier to maintain be a friendlier environment to develop new proving systems.
Follow in the footsteps of Arkworks in that sense.
This should capture everything that is underneath Hallow (and other proving systems for that matter).
### Immediate Goals:
1. Break away from from Zcash's ff, group and pasta traits.
2. Integrate Bls12-381 and Pasta curves in HallowCurves.
In terms of performance, we get many external PRs with improvements.
In this area it may just be enough to review and keep up with these contributions.
### Long-term Goals
- Continue ZAL development, in particular support FFT.
- Support for small fields, PCS, polynomials in different crates.
---
### Ali's comments:
- Should documentation be a priority? Guides on how to build a front/backend would especially be great, allowing you to outsource that part to the community. We could also draft grants through the Acceleration Program.
- Add GKR as a priority backend? I know that a few projects are planning on using it.
- ++ on support for small curves
- Should we qualify "immediate-" "short-" and "long-term" with rough estimates, eg: ~weeks, ~weeks-months, ~months-quarters, respectively?
- It might be helpful (for us as heuristic and for Barry to get an overall sense of the future) to have a statement that begins with "By 2024 end we would like to have ..." . Eg "X production ready frontends, X backends, and an excellent documentation targeting each of our users".
- Is there a case against integrating HallowCurves under Hallow? Or is it easier for existing contributors to keep it as is?
### Edu's comments:
- From a discussion with Adria I got an important idea that I think we're currently missing. I think that a library like Hallow benefits from having an example/showcase project. For example, zcash halo2 has [orchad](https://github.com/zcash/orchard). We had the zkEVM but not any more. Having such a project is important because it validates the roadmap and justifies it. I believe we should either track some PSE projects that user halo2 and make sure our roadmap makes sense for them, or pick a few impactful external projects and make sure our roadmap is useful to them.
### Misc:
- [Scraping Halo2 forks](https://gist.github.com/adria0/8af1ad1f74caf027471b3b6f8b73de99), script by adria
- [Dev survey and initial brain storming and feedback](https://www.notion.so/Hallow-Retrospective-the-Path-Forward-and-time-boxed-dev-plan-63c73df294c441beaace8ab5231e952a)