Skip to content

To Infinity [version 5] and Beyond!

Will Steinmetz edited this page Jan 2, 2019 · 2 revisions

In February 2018, notific8 will be 5 years old! The project originally started as jQuery plug-in. At this point in my career, it's hard to believe I used to build full web applications that weren't single-page apps. About two years into the project, I decided to rewrite it as a native JavaScript (at that time written in CoffeeScript O_O) with a jQuery wrapper.

From the start, the goal has been to keep the project as backwards compatible as possible. In addition, multiple themes have been added over time as well as refactoring out some lesser used features as modules that plug into the project.

That being said, times change. More and more we're using single-page application frameworks such as Angular, Vue, and React. We even have some frameworks that blur the lines such as Meteor. On top of that, the rise of ES2015+ and Typescript have dramatically improved our ability to write stronger, more well-written code.

That brings us to reaching version 5 at year 5. It has been a long time since the entire codebase has been reviewed and overhauled where needed. It's been a while since I've worked hard on the project but a big part of that (aside from time) is not knowing next steps. Given that I know there are people still making use of this project, I want to do my best to keep it up to date and implement better and more modern programming practices.

After a lot of thinking, here is my plan for version 5:

  • Swap the build system
  • Redefine the HTML structure of the notifications
  • Update the code to Typescript including interfaces for other Typescript projects
  • Refine the styles to match the new HTML structure
  • The ability to reuse notifications

These changes may mean that some backwards compatibility is lost. However, after 5 years, the march toward better practices will improve this project and hopefully improve the usefulness of it.

Issues will be added to the backlog and targeted to the 5.0 milestone. Some feature requests may also be implemented as part of the updates in the march toward version 5.

Clone this wiki locally