Add more detail to diagram creation tool

master
Tait Hoyem 2 years ago
parent 9281216c93
commit 75d627626f

@ -176,8 +176,86 @@ I would have multiple services, and would price them differently depending on my
* Most expensive option
* Allows further development of the web tools for our own good.
* Opens some position for semi-skilled collage/uni students.
### Cost and Copyright
4. Generic Tool Access (added on 2022-02-03):
* Give access to tools to create a massive amount of diagrams standard to any university experience.
* Allow it to be styled somewhat for convenience of the professor.
* Sell the university this tool as a "generic" diagram creation tool. It should then include everything from a Gantt Chart to a timing diagram to a pie/bar chart to plot graphs, etc.
* This allows me to sell it to them as a tool for the professors, instead of specialty transcribers.
* Upsides for them:
* Have all diagrams for the students accessible *by default*. A teacher need only "export as ..." some accessible format for any student entering the class.
* The above looks great on their reputation.
* Even in the case they decide not to share any of the slides with the public (see next section), it helps the most people.
* Downside for them:
* Proffs need to learn a new tool (this could be a HUGE change for them, so it would need to be a *very* gradual adoption).
* Cost is higher than Microsoft/Apple's "free" editor tools.
* They may already pay for enterprise MS licenses and don't think it's worth it to add more cost to something which may not work.
* Including almost all diagram types imaginable is a *HUGE* task, and this cannot be understated.
* Make each diagram a *SEPARATE* program/page as much as possible. Make them independent enough that a new format can be added to one tool fairly easily, but not at scale; it's not necessary to have that level of abstraction.
* Have a few tools/libraries for high-level manipulation of certain types of formats, for example:
* A library to manipulate the PIAF version of a diagram, options might include: force capitalization, allow more colors than white/black, change font size. All of which would have warnings saying this is not recommended unless you understand the student's accessibility needs very well.
* A library to easily create audiograms. This could be useful for a clock timing diagram, some charts, etc.
* Formats available, for more generic diagrams; obviously specialized diagrams will not have very many output options due to their complexity/inaccessibility across more than one or two formats.
* HTML/SVG with/without JS (without is EPub compatible)
* Audiogram
* PIAF (microcapsule paper) diagram
* Plain text
* R output may be useful (?)
* Spoken (would require some kind of vocalizer commercial license)
* Each type of diagram simply needs a converter created for it called `DIAGRAM-TYPE_TO_FORMAT-TYPE` and it should become automatically available.
* Language possibilities:
* Rust (Desktop)
* Rust (WebAssembly?: Desktop/Mobile web)
* JS (Desktop/Mobile web)
* Swift (Mobile native)
* Java (Mobile native)
* Rust (mobile native? on Android?)
* I would prefer Rust (with some exceptions, like the audiogram tool, which is easier in shell script due to its simplicity) for the following reasons:
* If I change any type information, it stops me from leaving errors in the program. The compiler is very opinionated.
* Easy to implement tests and compare previous outputs to current ones to see if they are still a match after refactor.
* Dependency management is included for free.
* Public place to share code/libraries
* Gives me many options as to where to run the binaries: I think you can compile to ARM (iOS), WebAssembly and native x86-64 for Windows/MacOS/Linux support. I want tools to be universal, so this is the risk I take.
* Offer things for the following disabilities/accessibility needs:
* Dyslexia -- dyslexic fonts
* Blindness -- tactile/digital/audio formats
* ADHD -- plainer formats to have less distraction
* MacOS users -- No MS product involved, no proprietary formats. (Or at least the option to have a non-proprietary format.) Especially useful in design/business.
* Linux users -- No MS product involved, no proprietary formats. (Or at least the option to have a non-proprietary format.) Especially useful in I.T.
* Anything else -- Having alternate formats easily available to you as a professor allows new ways of teaching. Perhaps they decide learning from audio is better for a certain thing they are creating, they can just do it... no extra work required.
### 10.1 Interface
What will this look like, let me dream for a second here:
* When editing diagrams themselves, have a simple and advanced mode:
* Advanced mode is for CS-related courses where the professor is already familiar with code in some way, it offers access to low-level details of converted diagrams, and even allows overrides if the professor thinks they can create something better.
* Simple mode will be like such:
* Options like: "License", "Copyright owner", "Year" and "Watermark" will be filled in from default settings and/or clock.
* Start with a visual representation of the graph: (possibly accessible) SVG.
* Allow editing of this graph from the graph itself. Have add, delete and edit buttons all over just like a WYSIWYG graph editor.
* Allow editing using keystrokes for efficient use by people who want to learn more advanced tricks.
* Allow editing of the graph (by opening a ```<summary>```) with plain text. Show a JSON representation which can be edited directly. Have appropriate warnings, etc.
* At the bottom, have a "download/save as ..." all format options window.
* Save to the cloud unless otherwise stated in the institution policy.
* User management:
* Show each diagram made; allow tagging, directory structure
* Edit email/payment info/default license
* Refer a collegue
* Show usage stats over time/this month
* "Create a diagram" button
* Institutional management:
* Show how much each instructor/transcriber uses the tool.
* Overall stats
* Edit payment info/contact email
* 24/7 support line (may be up to an hour for help in the first few years)
* "Create a diagram":
* When pressing this button, go to a page which shows a "directory" of sorts with different kinds of diagrams.
* Evnetually will be big enough for a search function.
* For example: Computer Science, Electrical, Statistical, etc.
* Once clicked there, there may be sub-categories until you get to a diagram you want.
* This will open the diagram creation screen whereby you will see what is described above.
### 10.2 Cost and Copyright
So here's my plan for sticking to "free culture" licensing while still maintaining profit:

Loading…
Cancel
Save