References to Views as a way to emulate Embedded Db's in Notion

Quick question: if you could create a link to an App or a Type, where should a user be taken when he/she clicks the link?

Chris, astute comment as usual (and I don’t hate you, haha…need to respond to that one but I am a big fan of buttons…). Anyway, you are hitting on another need I have - more definition around those areas. Re: Apps a lot of that we covered here:

I think Types should also have some sort of Homepage. I am onboarding three new people this week, and it’s awkward to explain what a Type is without the ability to have some information around them. And I think we really need a sort of “home” of a Type where you can simply see all the Entities in a Type, period. Now, you have to fall back on the auto-generated default Table, which will actually not “follow” the Type if you move it between Apps, which I do frequently.

So yes, you are hitting on a range of needs around what I’d call “completing” the structure around all the piece of Fibery!

Thanks!

2 Likes

This is, in fact, not actually correct, and speaks to the concern I had with your original proposal. For example, you cannot link to the “network view” in Roam. Why? Because it’s… a view. Not an object. Not a “thing”. It is a view of data, with controls for adjusting that view of data, but not necessarily something you treat as data. Same seems to me to be true in Fibery. View’s are… views. They are not holders of unique content or things with entity-type properties of their own. Not to say they absolutely shouldn’t be, just that this is how they have been treated and described so far, I believe.

In Notion you also can’t link to a specific view, as far as I know. You can link to a database, but not a specific view of that DB, unless it’s embedded in a page, in which case you’re linking the page not the “view”, really. At least this is all as I understand it. And in the case of linking to DBs there are no backlinks either, AFAIK.

Anyway, all of that being said, I can see your argument for this, but… I’m still not necessarily confident it’s the right approach. Even though my (next) proposal itself seems like a bit of a workaround. Which is that unlike Views - where I am less confident that they should have e.g. backlinks, etc. - with documents I definitely think we should have a way to view backlinks, and maybe more. And so again going back to the Embed Views in Rich Text feature, you would do what you’re suggesting exactly in the way that Notion currently does: by embedding one of more views in a Document (in Fibery’s case) and using the backlinks function of the doc…

I get though that you seem to be wanting Views to really become kind of a specialized Entity in a way, or at least to get some of the overall functionality of them. I’m still unsure what I think of that, but I definitely see your proposed use case as valuable. Whether your proposed solution is the right way to accomplish it is ultimately something the Fibery team will have to determine. :smiley:

1 Like

All good points as always. To some of them:

I think you are not comparing apples to apples here, as in Roam the Views you have are sparingly implemented, and more like Whiteboard I’d argue in Fibery. In Fibery, in order to get certain breakdown of Data, like looking at different groupings like I mentioned in my example, you can’t achieve this aside from with a View. I have already 100 + views in Fibery and growing quickly, because they’re all needed. In Roam, all pieces that I think you’d compare to comments, docs, Views, Types, Apps are Pages, and thus can be linked to and fully manipulated.

I think the same is true for Notion. You are right, you would have very similar functionality with an embedded view in Notion in a page, than with your suggestion re: Embedded views in an Entity. The problem for me is, in Notion it’s much easier for me to manipulate those Pages with the views, much more freely. Key: You don’t need a Type first and all the associated overhead to make such a view. So when I create a linkable view in Notion, I make a db inside a Page, and link to the Page. Because as you point out, backlinks don’t work on Db’s. But that’s about all Notion’s missing, and I think it’s a minimal workaround to just house that db in a page named the same and you get the same effect. You get the ability I’m talking about to add more data, too - like subpages if you want to point your team to procedures in how to deal with Consultants, or Credit Cards, to keep with my example. In Fibery to do the same, I need 7 types (since I happen to have Vendors grouped in 7 multi-select Categories). You and I have chatted a lot about “Entity view Proliferation of Fields,” and unless we get Polymorphic, with each Type, you are stuck with more proliferation in Fibery. Did you see the Product Team blog post today and that set up? Michael once advised in the community that they thought teams would be OK with 15 - 20 types. There is no way I can get the same company-wide granularity I can achieve with Notion limiting to that few types. Apparently Fibery itself hasn’t come close, either! If fact, when in the post Michael said:

I get nervous when I see that Fibery itself, after 2.5 years of use, has now that much redundant data.

That might seem like a tangent, but I could easily see creating extra Types and Entities for something like internal dev teams, which I can’t represent well in a View because they are unlinkable right now. But in reality, all I have to do to represent a team is have a single-select called “Team,” in my User Type. Then create a view filtering for that. But I need to be able to link to, mention, refer to the team, build some metadata, etc. So for now, the only way to do that is create yet another Type, “Team.” and start to link that to the Users on the team to accomplish this. A lot of Overhead.

In closing this time around, I think it’s interesting to think if the Fibery team did build out more linking and meta capability in Views. Because that would give Fibery actually a superior set up to Notion, as you’d lose the Notion overhead, however small I’m claiming it is, of having to create a page to create the ability to link to a DB. I just am not sure what the problem is in being able to do more with Views. And I feel like there is a lot of upside. And in reality this is a feature that would live in tandem with your great request of Embedded Views, which I could see myself making use of a lot, for example to show inside a Sprint Entity a Kanban Board of work. But I think we are talking about two separate needs, and I hope the team will consider mine in some format as it would really help avoid workarounds that I fear will start to resemble Fibery Technical Debt.

Thanks again as always!

2 Likes

Mm, very interesting. You might be convincing me.

I’ll close my comments overall with this: I absolutely see and generally agree with the primary issue you pointed out here, and even more so with the “type proliferation” that you eventually focused a bit more on. I certainly see the latter as a bigger issue than not having backlinks in views. But most of all I was really just trying to say that your need is real, but I’m not certain your proposed solution is the best or most congruent way to handle it…

Still, as I said, you are starting to convince me a bit. As long as the UI/UX could be implemented well, it could be an interesting expansion of capability that indeed would be beyond what e.g. Notion has.

All that said, if you read through the “Fibery for Product Teams” article that was posted quite recently, I don’t think this kind of thing is going to be high on the list of things to implement. But it’s still always good to think about and discuss this stuff, and ultimately I hope a solution comes which solves at least some of these issues.

1 Like

I wanted to revise this as I had another instance when this could come in handy:

We have certain boards that we are building out, and when we make significant changes, it would be very useful if the maker of the changes could annotate for the team what he/she did to change the board. This would be a piece of cake if you could comment, or reference in another entity, like one used for “Memos,” with a reference to the Board. This way, every person coming into the Board after the changes can easily see what was done.

Without this ability, we are forced to Slack, or otherwise go outside Fibery to communicate what changed on the Board. Additionally, we lose the benefit of traceability, a huge benefit of most of the rest of Fibery, as you can’t keep a lot of what’s changed on a Board. We have many key boards that will evolve with the coming months, and it would be extremely useful to document their changes.

Thanks!

2 Likes

Would your latest need described here be actually best met by references to views? If so, what entity would you be referencing it from?

To my mind this need would be better met by the ability to comment on Views themselves, and/or add a comment to a change, like how wikis often work “Describe this change”, which would get added to the activity history (assuming a View will eventually have activity history).

2 Likes

Thanks for that!

Re: references to Views: Yes, we frequently refer to views, if I want to talk about my Epics in a Meeting, I’ll reference the table for “Epics.” Views are the only way to reference an entire Type right now - those same Epics are in fact a Type, but there is no way to reference them now.

And re: commenting on Views, yes that would be a great starting point to solve the issue of how to document updates to them. This is even more important in the case of Types. Would really love to be able to comment freely on a Type to document what’s been going on with them. This would be a great way to avoid this issue:

For example, if I want to simply add a new Status to a Type. How do I document what I did to my team? I could use a completely other, new Type I might set up just for this purpose called “Documentation,” and write a new Entity saying “In this Type, I added the new State of “Deployed” to go alongside the state of “Done” to show the absolutely final state of this work” etc. That workaround would be completely unnecessary if could comment in Types, just like in Wikipedia as you suggest this is model after.

Thanks!

1 Like

Sounds a bit as though you might find it useful to be able to add comments to the audit log.

I have noticed that the entity activity history includes entries relating to changes to the type (as well as changes to the entity content of course).

Perhaps it could be made so that users could click on (or hover over) the activity log to see any associated comments.

1 Like

I hate to say it, but in another example of disorganization here in Discourse, I realized that what we are talking about a bit is already discussed here:

The history of the Type changes looks like it’s planned. However, I’d like to be able to see that right on a Type, so I can see - on the level of the Type - all the changes that have been done. @Chr1sG when you say:

I have noticed that the entity activity history includes entries relating to changes to the type (as well as changes to the entity content of course).

Could you point out where you can see in the existing Activity Log changes to the actual Type? For example, if you add something to a dropdown?

Ultimately I still feel a big need to simply be able to go to a View, Type, or even App, and look at its changes right on that level. And also comment about what you are doing. In a sense you can do this in Notion or Coda, because they embed views, and Types for that matter via individual tables, within pages that you can comment on. Fibery’s fundamental structure is better in that it distinguishes among these items and makes them distinct, but until we can do basic things around ALL the items in Fibery (docs and Whiteboards included), like reference, comment, have history, etc. we are not really where we need to be, I think.

Thanks again!

1 Like

Would it be enough for your needs if you could literally just add an item to the Type/Entity/App activity/history as a comment? In other words you have other entries in the history view that are generated by changes, but you can also just make comments in there, and maybe correlate them by date or as a comment on a particular history entry?

I ask partly because it sounds like you might want something a bit more clearly exposed and viewable to the average non-admin.

2 Likes

I would really like to see both References and Comments available in everything in Fibery. Right now you can actually reference Docs, views, whiteboards, but none of that reference is picked up in those items. Additionally, of those items, in Docs you can reference other Entities, but in those Entities’ References, you can’t see this. So there are a lot of holes here in having this functionality work across the entire Fibery app.

I have seen frequent need for being able to comment in a view. Here is a Use Case:

I create a new board for my team, and want to write a detailed comment about what I’ve done, so they can understand the board. If I have the ability to comment on the view, I can simply make the view, tag the users in question, and they will get a notification to come see the View, and they can read on the View what I wanted to explain with my detailed comment (How to use the View, what is included, etc). And if I decide to change the View, I can write another detailed comment. This is very similar to the documentation that you’d do in Software Development!

How would I do that right now though in Fibery?

Comment in Slack to those same people to come see the View? In that case, the context is not in Fibery, and I have no documentation in Fibery about that View, why it has fields in a certain way, etc. And if I change the view and want to inform my team about these changes, then what? Another Slack comment? Meanwhile the View is changing and there is no record of the changes in Fibery itself.

I can also create a Type called “Documentation” and then create an Entity, write my notes about my view, then tag that Entity to that team, linking to the View. But this is wasteful and proliferates my Fibery with Type I really shouldn’t need.

If I could simply comment in the View, this whole Use Case is elegantly handled.

And I will add in closing that I don’t think Views, Types, Apps would need anything other than Activity Stream, Comments, and References (which are already happening in the case of Views since they are available with the “#” command).

Thanks again for the continued commentary on this subject, let’s hope the team can at least make Comments and Activity Stream universal across all “things” in Fibery!

2 Likes

As I’ve commented before, I’m not personally sure that adding comments to views is the way to go to meet your use case. Not to say I don’t get what you want, I absolutely do. And yes a dedicated feature to handle it would be nice. But… I don’t see it as such a valuable long-term use case that it needs a whole dedicated feature when otherwise commenting on a View doesn’t seem like a frequently needed thing (to me).

Instead I once again think that you could achieve exactly what you want if we had Embed Custom Views into Entity View (or Rich Text). Simply create a Doc that you call whatever you’d call the View or, alternatively, create a Type called “Dashboard Views” or something, with a big Rich Text field that you use to embed views, then write text, comment, tag people, etc. to your heart’s content.

We already know that the embedding feature is planned and will enable a tremendous number of other use cases, now including - as far as I can see - this one. Maybe I’m missing something, but doesn’t it make sense to go that route, even if it’s a little clunkier, given what it seems might be involved in adding a whole new way of interacting with Views?

2 Likes

Always great to get your commentary!

So I will add that in the last several weeks I have really been feeling that the most natural way for Fibery to evolve for our use would be for the existing “items” that live in Fibery - Apps, Types, Views, Docs, Entities, Whiteboards - to have some common traits, so they function in harmony. We refer to Views more and more in other Entities. This is because 1) you want to often talk about “Epics,” and since you can link to a View that represents all of them (the default table), it is very natural to do so. I would say this is akin to referring to a Page in Roam when you are composing copy in there. As you know, that is a big piece of Roam: you just write, and use [[ ]] to mention another Page. And in Roam, as in Notion, the Page is the only atomic “item” anyway. But you’re able to very naturally reference important parts of your work this way. You may recall I greatly miss the ability to “group” things in Fibery, via a Folder or more accessible Tagging System than we have now. The most natural way to replicate a Folder for us has been using a View.

Since Views live on their own in Fibery, and Fibery is not set up like Roam or Notion where there is just one atomic element - the Page - in which you can embed sub-elements like tables, whiteboards, etc. I think the embedding solution is unnecessarily burdensome for this Use Case I described, and many more. In the scenario you describe, if I follow correctly, you still have a View in the same sense as they exist now in Fibery, that you are embedding in that Doc or Entity, which you then comment on, etc. The thing is, in Fibery, unlike Roam/Notion, that View lives on its own - you can reference it, you have to build it more comprehensively than in Notion, where you can have one table that you simply toggle different views of with a drop down, etc.

If Fibery did not treat Views as a distinct element, that would be one thing. But the Views are showing up on their own via “#” command; they live in the left menu; you can’t have multiple versions ie different filters or sorts within one View. So the structure we have now in Fibery, as my team uses Fibery more and more, leaves us wanting to be able to have the basic ability to comment on Views, just like you can on Entities. Presumably you’ll be able to comment on Docs and Whiteboards one day, maybe even Apps (so you can document what is going on as an App evolves). So it just follows that Views should have this ability, too.

I will also add that my team used Wrike, which had a concept of a Folder to do a lot of what Views do. We also used ClickUp, which has a List to do what Views do (you can also equate a List in ClickUp to a Type). In each of these other apps, you can freely comment on those items. So obviously those Product folks in those apps felt the need to be able to comment on what is essentially a View in Fibery, because they built the functionality. I used those comments when using those two apps, and now I am feeling a lack of this ability as I try to use Views to meet the same need in Fibery.

Hope that’s helpful, and Cheers!

1 Like

You can, actually. The DB context menu lets you copy a link to a view, and it’s reflected in the URL (the v= parameter).

With Notion I have the same type of criticism: its power comes from everything being a page, potentially with context from being in a DB. But then it somewhat squanders that power by views being something special tied to a DB (thus causing headaches when wanting to change views on 100s of linked DBs, each with their own copy of the views (e.g. the daily standup meeting template has a linked db filtered to issues for that meeting)), and templates again being something special tied to a DB, and fields being something special shown before the page body, rather than being laid out in the page body like everything else.

  • every table should have a view that lists views, each view in this list should reference all the linked DBs (that are pages) that have that view (building on the table and reference paradigms).
  • same for templates.
  • fields should be laid out using Notion’s powerful layout functionality.

Removing the exceptions would make the UI simpler and consistent, and would unleash a lot of power that’s already there for the taking. E.g. easy bulk edit of templates, to name one.

I see @B_Sp as making the same type of argument for consistency in Fibery.

3 Likes

You don’t think they would also benefit from other extensions? Personally, I’d be happy if Documents supported the Workflow and Assignments extensions as well, just like entities…

2 Likes

Interesting, all three of you, @B_Sp , @jean1 , @Chr1sG . You may be convincing me.

I think the bottom line is I see several ways of accomplishing the stated goals, some more seemingly elegant for these purposes than others, but which may either be more costly to develop, or come at some cost to other advantages such as simplicity. A good example of the danger of that is ClickUp. It has a ton of power and I loved that at first, but man does it have a cluttered UI! And I think that is in part because they do try to just cram in every dang feature (while also somehow still being less flexible than Fibery and some others :grinning_face_with_smiling_eyes:).

But I digress. My point is the things you want to accomplish are totally valid, and some of them I want too. I’m just not sure what is most congruent with Fibery’s underlying approach. The more you talk about it the more I’d like to see things actually somehow get even more generalized and flexible. We have the flexibility of Types, and various kinds of Relationships. We have the flexibility of Extensions. We have Fields. We have References and Backlinks and eventually Transclusion. We have Docs (which could really just be a particular configuration of a Type?). We have Views and Charts… All these pieces that have specific functions and roles and places, but could be a bit more “unmoored” from their “anchor” of specific location/relationship/etc., i.e. rigidity.

If we could more freely combine all those things, it would be amazing. If we could have a Chart in a View in a Doc/Type, and a Field in an arbitrary place in a Doc/Rich Text even (i.e. a block-based system, with one of the block types being “field”). If the “Collections” were just a particular type of View, perhaps? If Views could have Comments and Extensions, etc, etc. It would all be really cool.

But how feasible is all that? How much work for the team? How difficult to figure out how to make it all work, nevermind doing the work itself to program it? How much more challenging to document adn communicate to prospective customers and train people, etc? I don’t know. It’s a beautiful vision of the future (and I realize that I’ve probably taken some of what you said and over-extended the idea of flexibility to make my point). For now the question is how best to implement the features you’re asking for within the framework of what Fibery Team envisions for its future, the work they already know they want to do to improve and extend it.

Given all the discussion here I would really love to see their take on all this. There are strong hints of plans for greater flexibility in the future. So what is the plan to get there? I’d love to know, even just in outline or general ideas (from the team).

2 Likes

Thank you all for the really insightful and deep discussion. I’ll try to highlight our thoughts about View/Docs in Fibery and how it will fit together in the future. Note that this is not a plan yet, just intentions.

Documents (usual or block)

Initially, when we started design Fibery, we paid less attention to documents. We were focused on flexible domain and work management, but quite quickly discovered that documents are essential. Here we had two options:

  1. Implement usual text documents (like Google Doc)
  2. Go for Blocks approach (like Notion, Coda and new Wordpress)

Both approaches have benefits and problems. Documents In Fibery are part of Types in general, so we decided to go with usual text and implemented rich edit field based on ProseMirror.

Looking back I think this was a mistake, since blocks approach is more flexible and would give us more power in terms of Entity View composition.

Blocks

Now we are thinking about Blocks addition into Entity View. Technically it should be possible to compose Entity View using any kind of Blocks (Table with related entities, Chart, native Fields, text, images, transclusions, etc). It means Block should be a first-class thing in Fibery. You may transclude or refer blocks, comment on blocks, have emoji for blocks, re-arrange them, etc.

There are many unknowns:

  • How fast Entity View will operate if there will be 20-100 blocks?
  • How it will affect Fibery complexity (conceptually)?
  • How to make transclusions usable and useful?
  • What will happen if people will add dozens of blocks with rich edit text?
  • How to marry blocks with rich edit fields like Description? In fact there will be no Description field anymore, so how to handle this via API/integrations? Should we allow Named Blocks?

As you see, there are many conceptual and technical problems. I have a feeling that they are solvable.

Is it important and when you’ll do it?

I think it is very important and to be honest this is the last missing piece in Fibery to provide unmatched flexibility (well, + automatic rules, but they are in progress).

However, this project is a very challenging and will demand a team of 2-4 developers for ~4-6 months. So far we are working on things with more dense feedback (search, sharing, etc). But I do hope will get back to this problem in 2-3 months, so in the best case it will be delivered in the end of 2021.

Our sensing of the situation may change and we may start working on it sooner, but from what we hear this is not a top problem with Fibery adoption.

5 Likes

Thanks Michael, that is very encouraging! I know it must be a big project, so I don’t expect it soon. But just knowing that Fibery is planning to head in this direction is exciting to me.

1 Like

Yes great point here Chris (sorry just catching up to some older posts I wanted to weigh in on…).

I think you and @rothnic , if I’m not mistaken, have been advocating for more unification of functionality around all of the “items” we have in Fibery. If so, this is a big ask of mine. I think all off this list:

  • Views
  • Apps
  • Types
  • Whiteboards
  • Comments (this is one seldom discussed, but of increased relevance to my team)

Had essentially most of the functionality in Entities. So you could:

  • reference one with another (via comments if they won’t all have Rich Text available)
  • Assign any of them.
  • Have use of a Date Extension where it would make sense

As for Docs, I have come to think that Docs could really just be another Type. I can’t see any particular benefit using an actual Doc over an individual Entity, other than aesthetically losing the border around the Rich Text box. But the existence of Docs as yet another item in Fibery - which is currently unevolved since you can’t reference them, comment in them, etc. - complicates my use. My sentiment here is partially influenced by Notion and how Docs and Entities are basically interchangeable, which I think works great in Notion. You simply choose do you have a “page” - a “doc” in Fibery - by simply clicking “return” when you create one, or if you have an Fibery equivalent “entity” - if you decide to add a new Page to an existing db. Notion falls down badly in the areas of Views, relations, Hierarchy view, etc. but in the case of Doc. vs. Entity I think it shows how interchangeable those can be, and Fibery is perfectly equipped to handle this because you can create such a powerful doc with an Entity. Try doing that in Wrike or ClickUp!

And I want to add that I really hope Comments become first-class citizens and get into this discussion, too. I have had several instances when I wanted to quote a comment around Fibery as liberally as I can now quote/reference an Entity. There are unanswered Comments that need to be referenced in various types of Entities to make sure they are documented - this is just one use case.

Clubhouse.io does a great job here - each Comment has its own ID, and this is a real help in referencing them across that app.

Thanks guys!

2 Likes