Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DoneJS Dashboard #1121

Open
moschel opened this issue Oct 17, 2018 · 3 comments
Open

DoneJS Dashboard #1121

moschel opened this issue Oct 17, 2018 · 3 comments
Labels

Comments

@moschel
Copy link
Contributor

moschel commented Oct 17, 2018

This is a proposal/idea for a slightly different direction with DoneJS.

TLDR

Developers really like games, and they really like points. I wonder if we can build a dashboard into DoneJS development that incorporates all the best technical aspects of the Bitovi checklist, and codifies many of the best practices that CanJS/DoneJS encourage. Some things might be checked programatically - modlets, test files, demo pages, components, etc. Some things might require the user to fill out forms or check binary boxes.

The problem

  • Development can be boring. No framework that I'm aware of does a good job of making UI development fun through some other mechanism than seeing the visual progress.
  • DoneJS is opinionated about best practices, but doesn't enforce that guidance

The solution

We could make a comprehensive dashboard similar to the Vue Dashboard, a central hub for their app, which maybe produces a JSON file to persist information.

The dashboard could take on a different form for different lifecycles of an application: planning, development, QA, production.

At each stage, it could provide:

  • a checklist for things they should accomplish
  • tools for organizing components
  • an overall app score, maybe it breaks down into different components: maintainability, performance, scalability
  • a "risk audit" that gives the top ~3 risks that should be addressed

I think the primary goal of this platform would be to make UI development feel more fun and sticky. It could use components of habit formation to help devs feel incentivized to come back. It would help form habits by giving some visual feedback as certain tasks are accomplished.

The secondary goal (maybe even a phase 2) would be to create useful tools that make development more efficient.

For example, if I'm assigned the item explorer, I use this dashboard to "create" a new component, go through a component checklist, use a code audit tool to provide suggestions for improvement, etc.

@matthewp
Copy link
Contributor

I like this idea a lot. I would de-emphasize the game aspect of this, personally. I don't see it as much of a game as validation (for yourself and your bosses) that your application is in good shape.

I like the idea of running the generators through some UI a lot as well. Cool idea.

@matthewp
Copy link
Contributor

matthewp commented Nov 14, 2018

@moschel We talked about this with DoneJS contributors. We like this idea a lot, but it's also quite a big project. Is there an MVP of this that would be a little easier to accomplish but still solve your core goal? With the idea of course that if the MVP is successful that more can be added to later.

@moschel
Copy link
Contributor Author

moschel commented Nov 14, 2018

Yes, definitely. I think we can lay out a simple MVP that adds value with just a sprint or two of work.

I think we'd need a "discovery phase" with a designer in order to properly set goals, prioritize features, sketch designs, and create an MVP scope.

My suggestion if there's interest in this idea, is to prioritize a 2 week discovery phase with a designer.

In my opinion, the goal of the MVP would be to create an automated checklist, displayed in a web app UI, that uses some script to audit an app codebase and provide a checklist of best practices. It could have a "score" and suggest what they should prioritize next. We could start with just a few things and expand it over time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants