Can Coda replace a Wiki?

Indeed. What you’re suggesting (by extension) is that text is simply another form of data. And until such time as text objects are immutable and uniquely addressable, elevating the science of text-centric applications is not likely.

Optimistically, I believe Coda’s underlying architecture provides exactly this functionality; it is simply not exposed in a feature set [yet].

Crafty workarounds, while perhaps possible, and may provide some feeling of achievement, do not begin to put a dent in the deeper objectives of treating text as data and deriving all the benefits envisioned.

A key aspect of transforming text objects into first-class data citizens is the simple idea that (for example) a paragraph may possess arbitrary meta-values. And meta data about text is largely a fleeting idea and especially non-existent in previous-generation text processing tools. The “arbitrary” meta data distinction I make separates attributes like formatting indicators from descriptive attributes such as an array of inbound links to a paragraph from other documents.

Treating text as data exhumes a number of ideal benefits including, but not limited to:

  • Automated document assembly from abstract text components
  • Semi-automated introduction of atomized fragments into new documents
  • Automated classification based on meaning and attributes
  • Tagging and classification based on AI processes such as entity extraction
  • Discrete search and addressability
  • Discrete metrics and analytics
  • Discrete link creation and discovery between documents and text objects

Imagine a graph showing the relationships between documents based on user-stipulated relationships in contrast to a graph that depicts the relationships based on automatically-extracted entities, or relationships based on meaning, or encapsulated ideas.

Smart solutions depend on data. Once text is invited to the data party, the science of data can be used to elevate the science of documents.

3 Likes

@Ed_Liveikis, it’s pretty difficult to say how we’re thinking about tackling this. Ideas go through a great deal of iteration here and that’s something that I’ve loved about this company. As more is discovered during the process, the team isn’t afraid to re-evaluate, re-design, and re-engineer as more requirements float to the surface. The team also does this incredibly quickly.

Between the code, engineering, design, and usefulness for the customer, there are far more variables than what first surfaces when you’re looking at a very specific use-case in a very specific doc and first think of the feature idea. It then needs to be delivered in away that useful over hundreds of scenarios and millions of uses.

I can say that we’re working on these ideas, but things can change day to day as we hit roadblocks with certain strategies and other strategies come to light. Keep an eye on the community though because we do look here for people to beta test features when we get far enough along in the process!

5 Likes

Indeed; my advice - do not succumb to featureful fantasies commonly driven by instant gratification or the false belief that meeting specific feature requests will shore up strategic competitive advantages. Instead, focus on the underpinnings of a platform that make vast capabilities possible, leading to far greater features than first imagined. This is the development strategy that made Coda great in the first place.

7 Likes

Hi I wanted to know how did it finally go with the Super Wiki Doc…

I’m new to Coda, and not a programmer… but I quickly imagined that Coda might do for me what I think @GJ_Roelofs is proposing… If I understand well!! Which is awesome!!!

I would like to give here an outline of what I’m working on, so that I can have some feedback about it, and decide whether or not Coda is an option for this type of Wiki craziness I’m thinking of….

Is a community based visual interface for curriculum navigation and content distribution tool for a homeschooling project.

This comes from a methodology created almost 40 years ago, where all coercive control structures in education are banned, like, grades. exams, notes, classes, blackboards, homework, anything that can bring up blackmailing or compétition between students, therefore maintaining emotional balance in the relationships, and focusing in a personalized developpement, communication, relational, cognitive and self motivation skills, as the way to guide kids on how to learn to be self taught in the proces. It’s a non profit Ngo called Fundacion para la Actualizacion de la Educacion, it has 3 schools in Colombia www.face.edu.co

I graduated from this school, and also worked there for 10 years, I’ve been doing with mine and other kids an offgrid jungle based community home schooling project based on this methodology… For a long time I’ve been thinking on how to take this out of the school and share it with others… And now it has become an urgent matter!!!

So I thought of it as a Wiki type interrelated database, organized by a tag structure that can be navigated thru text, graphic or VR interfaces… As non linear guiding lines to help a student in an autonomous way to go forward in phases (grades) navigating the curriculum structure and discovering possibilities of content, exercises and tools, thru files, embedding or hyperlinks, that he can correlate with multiple languages (subjects) within the whole curriculum to help connect instances and his personal interests to enrich his skills and vision or world view … This solves the “tell me what to do” time and effort consuming task! so that a parent, tutor or a teacher, doesn’t spend time searching, looking and assigning work, but instead advises the student in the process of, looking for the right questions for him to pose, and therefore to learn by it self in the process of searching for answers.

Harvard’s project zero, has been researching and consulting, coming up with proposals that resembles a lot with ours, only that we have already almost 40 years of experience in doing it… We have a book about the scientific theory and philosophy about this alternative education proposal, but is only in spanish for the moment… this is a pdf version of the hardcover one, that I plan to translate and make an epub and a interactive Coda version of it!!!

If u got up to here! thanks for reading!!

PD: I’m a member of the board of the Ngo, and we are currently looking for help to develop this homeschooling tool.

I need this as well!!

1 Like

Hello, don’t know if this has evolved much sine the last run of comments but if @BenLee and @Al_Chen_Coda and team are still looking for feedback, all my use case would need is the same type of setup Coda are using for their formula list doc. If I could make my content display exactly like that I’d be set! Content would be managed in a table for editing and sign-off purposes and then the formula list style wiki would display approved (checkbox ticked) content from that table.
Im not aware this is currently possible, but if it is I would love to hear about it. Or perhaps Coda could let us know what they are using to achieve it? Replicating the tools Coda use themselves internally, but in exclusively using the Coda tools available would be a great starting point for most feature requests. I need the same things you need.

1 Like

This doesn’t seem like a good scenario for Coda. There are too many gotchas around pages (can’t be referenced, accessed programmatically, or even created programmatically except from within a table (a good workaround) and around canvas columns (can’t be printed or exported–except by copy and paste.). The best examples of templates, like the lovely Thumbtack research database, rely on a concierge manually managing the database and using links to various kinds of external documents as well as Coda pages. Perhaps ninety % of what’s needed would rely on Coda’s existing features. But, there are some significant gotchas that require awkward work-arounds. It’s sort of a shame–so close but not all the way–and doesn’t appear to be a significant enough priority for the Coda team. Being an app builder does seem like the priority–and they’re doing a great job on this priority. Can’t be all things to all people.

If you keep your info inside tables rather than on pages, you can go a long way.

You can reference any cell from anywhere using the @-function.

Regards
Rambling Pete

2 Likes

we have migrated some fairly large wikis to coda for an aerospace client.

once the canvas column was announced, we knew it was exactly what we needed.

we run a simple formula over the page content, looking for the @references to other rows, and use that list to manage back-links (which coda does not do out-of-the-box).

the client loved it because they could now tailor their wiki engine to suit there needs using coda.

while working on this, i was taken back to the very first wiki by ward cunningham in 1994, called the wikiWikiWeb (wiki wiki means ‘fast’ in hawaiian). it was a few dozen lines of code. but it started the wiki revolution.

so i just used that simple model to guide us in coda, and the wiki turned out extremely well, so simple, yet so powerful - which is the essence of an elegant solution.

max

5 Likes

I’ll give this a try

1 Like

Like E=mc^2? :wink:

I had not thought of doing the back-reference thing, sounds like a good idea.

P

Yep - same influence for me. Ward was a bit of a genius and he really understood the bounds and possibilities of HTTP and apparently embraced many aspects of Hypercard, an Apple R&D project almost a decade earlier.

When this thread started in 2019 or so, I was not so kind to give Coda the nod as a platform for building a wiki-like solution. Today, of course, it’s entirely possible (and proven) and if you have access to a Pack developer, almost anything is possible. I think the suggestion to drive the wiki with table-based content is also a smart approach.

Maybe I am missing something but the documentation for @ says that you can reference a table row but not a table cell. The picklist that @ generates includes rows. But, what is returned is the row and @ doesn’t appear to work like a formula so I can’t use dot notation to specify a column of the row. Also, it doesn’t appear that @ can be used with filter criteria or any other formula variable whose value contains the name of a page, table, or table row (using show column as the row name).

I also can’t see how to use @ in a formula or if an equivalent formula even exists.

Seemingly still a few speed bumps in programmability (despite many advances over N—tion and even Airtable).

i think perhaps you are missing something. or, more likely, i am not explaining my intent clearly.

in a wiki, linking to another topic is important.

in our coda wiki solution, each topic is a row in a table, with the topic content in a canvas column.

say the row has a Name column (set to the display-column). and one of the rows has the Name set to “Recursive Tessellation”.

so in any block of text anywhere in the wiki, Typing @Recursive Tessellation will generate a link to that row. clicking on that link brings up the dialog display for that row (ie the topic)

but in a wiki, the reverse-links are important also. so we have a ReverseLink column that we populate with all the links TO the topic from other topics.

we fill in those links by scanning the text of the canvas collumns, looking for the JSON codes used to format those links.

but none of this has anything to do with using @references in formulas. thats a totally different usage.

hoping i am explaining this a bit better this time

max

Fine by me.

You confirmed that @ references can bind to a row, but not to a cell.

I was just clarifying that point.

Thanks.

Ok, let me get pedantic on this one:

You can use @ to find the content of any cell. When the link is resolved, it will show the content of the display column on the page, or in the cell. Hover over the link to get a pop-up with the information of the row. Click to go a modal windo of the row. From there you can go to ither the table, or fully open the row in a window.

Therefor, bear that in mind if you design your Wiki. Also bear in mind the columns that you want to show up in the pop-up, and the sequence in which they are shown.

For example, If you want to link to a Wiki entry for Michelangelo, then make sure that the table storing the information about Michelangelo, has the name Michelangelo in the cell of the display column. If you want to reference specific topics around Michelangelo, Create rows for Michelangelo - Patrons, Michelangelo - Fine Art, Michelangelo - Inventions, etc, etc, etc.

Further Wiki-like behaviour are as follows:

  1. Any paragraph on any page can be accessed by copying that link. That link can be used using Ctr-K, to make any text snippet a hot link to that paragraph.
  2. This is an @ link to a page.
  3. This is an @ link directly to a page.

Feel free to review the dropdown menu you get when typing @ for further examples of objects that you can link to.

Regards
Piet

2 Likes

Hmmmmmm in my opinion when you reference the table row, you are already referencing all the cells/columns of that row.

The “CELL” is an evil construct thing. It’s almost 2023 and the CELL should not exist anymore

HAHA YESS thank you for sharing this

Definitely the row.

Why is cell evil?

Shouldn’t it be possible to do row.col?

  • Lewis