benhmoore / Knwl

Find Dates, Places, Times, and More. A .js library for parsing text for specific information.
MIT License
5.29k stars 214 forks source link

Project Future #97

Open benhmoore opened 8 years ago

benhmoore commented 8 years ago

Hello, everyone. First off, I would like to express my gratitude to all who have contributed to Knwl.js; this project wouldn't be the same without you. Looking ahead, however, a few things need to be addressed.

I wrote the base framework for this project many years ago, and I did so while also in the midst of becoming comfortable with Javascript, and, as such, the initial design of the program was sporadic; it was more of an experiment in personal interests than a project with a definitive usecase. Since then, and through many refinements and evolutions, Knwl.js has developed into a program that functions decently on a restricted number of datapoints. For certain use cases, these limitations are not an issue; however, in more cases than not, the inflexible methods by which Knwl.js functions inhibit the potential uses of the program.

Knwl.js works by referencing a limited dictionary of terms and combinations of terms, which, when found in a body of text, trigger certain methods to run a hard-coded, systematic scan through the text for related information. This static, unchanging nature lends itself to Knwl.js' inability to adapt and evolve independently. In order to combat this issue, a new version of Knwl.js was developed to support plugins. The update allowed developers to create parsers for specialized tasks as needed and somewhat mitigated the rigidity of Knwl.js. Unfortunately, when a foundation is faulty, anything built atop will achieve nothing more than instability, and I am afraid this is the case with Knwl.js.

The framework that Knwl.js has been built upon serves its purpose adequately; the project was built to be a simple, plug and play parser built in javascript; however, for the reasons stated prior, I do not believe there is potential for further growth in its current implementation. For this reason, I see little reason to continue attempting without facing the original problem: a static, pre-defined dictionary-dependant parser.

Knwl.js has a special place in my heart as a project I conceived very early on. If you use this project, do not worry: it will not be going away; however, though I will monitor pull-requests and merge as the community suggests, I will no longer be actively writing for the project.

In a word, I am giving this project back to you, the people who made it so great in the first place. I am open to any suggestions or comments you may have. I would like to do what is best for all of you.

Thank you, Ben