tl;dr there’s a Dark v2 roadmap now.
There are a number of things missing for Dark to be able to have product market fit:
- Dark lacks SDKs for 3rd party APIs
- Dark lacks a good user account/authentication story
While these are the major issues, solving these requires some more fundamental changes. As well as simply making the package manager available, we also need to improve on the tools that developers have for building packages, everything from how packages coexist with other functions, the types available to packages, and how to support collaboration on those packages.
Similarly, there is a bunch of tooling needed before we can build a good user authentication story. Dark needs the ability to define HTTP middleware (we need to decompose the existing HTTP framework into middleware), as well as better types. Each of these changes then depends on further changes — you need a good language to have good APIs.
We have a lot of information on how exactly these features need to work — Dark users have been giving us feedback for quite some time. In order to turn this feedback and these needs into actionable changes, I’ve started putting together the Dark v2 roadmap. Note that it’s early and there’s still a lot to be written.
There’s a lot to build, so specing it out in the roadmap will save a lot of time. I hope it will also allow Dark developers and potential developers to give feedback on the product direction, as well as contribute features if they like.
The roadmap is structured around identifying the problems in Dark v1 and their fixes in Dark v2. Note that I call them Dark v1 and Dark v2, but I don’t expect a hard break, it will sort of migrate it’s way there over time.
The problems and fixes are across the product. One problem is that undo is slow, another is that you can’t put a minus sign in front of an integer, another is that we need to define how namespaces will work in the package manager. The fixes range from adding tooltips in the UI, to adding a type-checker, to making the package manager public.