Commit 73d115bd authored by Jonathan Wilkes's avatar Jonathan Wilkes
Browse files

remove completed projects from ideas list

parent 2ef88b20
[Purr Data as a Web App](#inject-purr-data-directly-into-the-web)
[K12 Mode](#k12-mode)
[Profile and Optimize Purr Data for Realtime Safety](#profile-and-optimize-purr-data-for-realtime-safety)
[ASCII art to Purr Data diagram conversion](#ascii-art-to-purr-data-diagram-conversion)
[Terminal REPL](#terminal-repl)
[Core Accessibility](#core-accessibility)
......@@ -65,59 +61,6 @@ the GUI framework that has a workable UX within a single browser window.
### Languages
C, HTML5, and Emscripten
K12 Mode
### Goal
Port the K12 Mode that Pd-l2ork introduced.
### Details
Currently we ship a lot of the K12 abstractions with Purr Data.
However, I never ported the special mode that starts the program up in a
"K12" mode that replaces the window/application menubar with a more
user-friendly, clickable object menu.
That mode makes it easier for beginners to get started. In porting it, we
can take advantage of the new HTML5 GUI:
* The menu itself can leverage HTML/CSS to be more responsive, autohide, etc.
* The entire K12 Mode could itself just be a web-app separate from normal
Pd app operation.
To figure out which is best, it's probably helpful to know more about the
history of K12 mode, and whether the ability to also open and interact with
normal Pd objects turned out to be an important feature.
Ivica Bukvic has a lot of experience using this mode when teaching
kids, so we can look to him for some more insight into the right path to
Either way, this feature vastly improves the usability of Purr Data for new
users, giving them a way to quickly generate sounds and experiment with the
### Challenges
A lot of the initial implementation of K12 mode was made
in the core engine in C. This will require at least reading a lot of the
source code and making sense of the changes made for K12 mode, plus possibly
refactoring some of that code so that it can be handled in the GUI instead.
On the other hand, there is a working version of the old K12 mode which can
be consulted as a reference implementation.
One additional feature is the possibility of
using a touchscreen to control the GUI while sound is being produced.
The HTML5 interface of nw.js makes this fairly straightforward to implement.
But it will take some extra work to ensure all of the common interactivity
of a Pd patch is accessible through touch.
As an additional challenge, it should be possible to edit a patch using
the touchscreen as well. K12 mode doesn't require the same UX complexity
as regular editing, so this should be doable as well.
### Languages
Javascript, C, CSS, HTML.
### Potential Mentor
Ivica Bukvic, Jonathan Wilkes
Profile and Optimize Purr Data for Realtime Safety
......@@ -185,62 +128,6 @@ keep the code maintainable and avoid insidious bugs.
Basic to advanced shell scripting, C, plus familiarity with
profiling tools like gprof and others.
ASCII art to Purr Data diagram conversion
### Goal
Make a GUI interface where the user can either type or paste in
ASCII art for a Purr Data diagram and have it converted to a floating selection
in the current Purr Data diagram.
### Details
Often Purr Data users rely on ASCII art in forums, mailing lists
and other documentation to give examples of Purr Data programs. This is
convenient because it's quicker than taking a screenshot of the Purr Data
GUI and takes up less space, too.
The ability for the user to type ASCII art into an object box and get a new
selection of a Purr Data object chain would be useful. This would let users
paste ASCII art from the mailing list directly into the interface. It would
also make it easier to create Purr Data diagrams using only the keyboard.
### Bonus Goal
Make it possible to convert a subset of Purr Data diagrams into
ASCII art.
Bonus Goal Details: Unfortunately Purr Data allows arbitrary positioning
of objects on an integer-based x/y axis. Thus, not all Purr Data diagrams
can be represented as ASCII art.
The bonus goal would add a feature to check if the currently selected Purr
Data diagram is able to be represented using only ASCII art. This could be
either a) a button that does an analysis, or b) realtime feedback to let the
user know when they have positioned an object or connection in such a way
that makes ASCII art impossible.
This is a non-trivial problem. For example, one could add a button to Purr
Data that would constrain object positioning to a predefined grid. Then one
could disallow objects to overlap with each other. Still, the connections
among the various objects (i.e., the arcs which connect the nodes) could
overlap in such a way that makes unambiguous ASCII art impossible.
### Challenges
This idea runs the gamut-- a simple GUI-side
parser for simple ASCII art is a quick exercise. Handling some of the more
complicated art with multiple and/or crossed connections is moderate. Scanning
the mailing lists for examples and covering the majority of them is hard.
Additionally, converting an existing Purr Data graphical diagram back to
ASCII art is a difficult problem. This will require reading up on the current
state of the art and comparing various approaches from other fields like
OCR and some of the current work converting Photoshop mockups to HTML pages.
However, Purr Data diagrams tend to be much simpler than arbitrary Photoshop
art, so the problem may be more tractable here than in other fields.
### Languages
Javascript if converting ASCII art to Purr Data diagram, C if
attempting to convert from graphical diagram *back* to ASCII art.
Terminal REPL
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment