Code Monkey home page Code Monkey logo

Comments (3)

jancborchardt avatar jancborchardt commented on August 30, 2024

As a start, we should use simple recency as indicator. The last document you edited should move up to the top of the list – not if you only opened it though, except when it is the document you had open last when you left Litewrite. The last document open should always be sorted up top and opened when starting the app.

Regarding old documents: Yes, the list should grow infinitely. This should not introduce any loading problems as only the titles are loaded. As soon as everything is loaded though, the content first ~7 documents should be preloaded for faster access.
Docs should never ever be automatically deleted (I can’t stress this enough, even accidental deletion of any document contents would be our fault).

Thoughts on if / how to visualize the age of the documents:

  • Maybe there should be small gaps / headings in the list where the docs are from »last week«, »last month«, »last year« etc. Seems to be like a bit of a cop-out though.
  • Crazy intermittent thought: What about having variable spacing between the documents, depending on when they were last accessed? Let’s say the documents list would by default show in its height a course of a week, or a range so that a minimum of ~3 documents are always shown, whatever occurs first. This is probably just chartporn though.
  • Another interesting thing in combination with the small headings would be to change the brightness of the document title in the document list. The older the document, the brighter the type becomes (until a certain level where it is still readable). I implemented this in ownCloud for file size and date, and it proves pretty useful to get a quick feeling for where a specific file stands.

Btw, also see #25 about showing a date in the document itself.

Does this all make sense?

from litewrite.

jorinvo avatar jorinvo commented on August 30, 2024

Here is a first implementation for sorting by recency.

The thing about preloading/lazy-loading is something we should discuss in Issue #7.

And I opened a new issue for the discussion about the visualisation: #31

from litewrite.

jancborchardt avatar jancborchardt commented on August 30, 2024

Oh, nice!

The next steps are 1) specificity and 2) crazy morphing.

  1. When you just click on a document in the list, it should not move up to the first spot – because you just open and view it. Only if you edit should it move up. In fact, it shouldn’t even move up when it was the last one open before closing Litewrite – so not move up top on the next opening, but rather stay where it was. Then indeed the document list should scroll to the location of that document, if needed.
  2. Animation! Currently, the documents move in a very confusing way because they just switch places without you noticing. There should be a subtle animation which moves the just edited document from its place up top. Also moves the elements above it one element down to make room in the first spot and also to close the now empty spot below.

from litewrite.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.