Replies: 4 comments 10 replies
-
Well, if Collett would be 100% compatible with or is able to import NovelWriter's projects, I'm all for it. I'm willing to test, provide bug reports, and demand 😄 features. Is it on Launchpad? Python has its limitations - notably performance. C++ might be a way to implement features which you've refused because they would be too much of a performance hit, or were only able to implement in a way which isn't optimal, because of, again, performance. While you've been able to deal with python's performance issues in such a way I never managed to notice them, I can imagine continuing work with Collett might be a relief and would allow you to implement some features (fully) which would simply cripple NW's performance. I'm all for it. That being said... would it be an option to rebuild those parts where performance really matters - such as when the user is typing, and widgets you want to rewrite - in C++ and leave the rest in python? Or would this complicate matters unreasonably? Regarding the shared code: how about putting it in a library instead of making it a separate application? That way both NW and Collett can link it and have the desired features. That way people wouldn't need to change applications for story analysis. |
Beta Was this translation helpful? Give feedback.
-
Does “rich text app” mean a move away from markup input and display, or is it more about dialog highlighting and displaying spelling errors? I assume that the peculiar, IDE-like way of working with metadata inserted into the content is preserved, isn't it?
I have some experience with this kind of thing with yWriter (which is proprietary and closed source, but has a workable XML file format). All kinds of analysis, editing, and conversion tools can be implemented as Python scripts or applications, also in the form of LibreOffice extensions. In my case, the basis was a self-written Python library with modules for reading and writing the yWriter file format. Based on this, I was able to realize lightweight applications with a tkinter GUI, for example a relationship grid with editing option and a timeline viewer Not for yWriter, but for my own program, I have a word count statistics visualization that is based on a derived data model. A data model completely with Python data types is essential here, so the file read/write methods can also be included with LibreOffice macros, for example. I'm not showing this because I want to do something similar for novelWriter, but to illustrate the potential of the open source community. Experience has shown that this is not so promising for writing programs because the circle of users does not overlap much with that of programmers. However, novelWriter may have a better chance of attracting computer-savvy writers as it reflects the way programmers work. If novelWriter is to be open to such contributions from third parties, then a library that is not interwoven with the GUI framework would be helpful. I have already provided one or two Python tools for novelWriter (does anyone use them at all?). In doing so, I have reconstructed the novelWriter read and write operations and adapted them to the yWriter data model. Of course, this is not very future-proof, and I don't plan to keep the Python packages up to date. As practical as the novelWriter file format may be for users, the mixture of plain text, XML, JSON and markup/YAML files is quite cumbersome for programmers to handle. That's why I think, regarding the community idea, of course, a centrally maintained library would be essential. |
Beta Was this translation helpful? Give feedback.
-
I'm onboard with the idea for a separate program to handle the analysis. My one concern is mainly that with a separate program, it might introduce some friction in the process. Though it doesn't exist yet, my two cents is that it would be cool if there was a path setting in NW and Collett that could be set to the analysis program so it could be automatically brought up with a hotkey or UI button. The most I'd be able to contribute would be issue reports and feedback as I'm currently in the process of porting a lot of my ongoing fanfic writing into NW and running analysis on that. Maybe that's a unique enough perspective, I dunno. |
Beta Was this translation helpful? Give feedback.
-
I had a hostile encounter with Scrivener's rich text editor, which is why I kept researching other writing software and ended up using novelWriter. If not for novelWriter, I would probably write in VSCode. I personally am in no need of a rich text editor anymore (well, that's my opinion now 😄), but I'll be following the development of Collett, curious about and trusting in a solid rich text implementation. I could contribute to Collett the same as for novelWriter - German translation, and colors if it needs any. |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
Uh oh!
There was an error while loading. Please reload this page.
-
It's been nearly 7 years since I first started working on novelWriter, and by now it is a reasonably feature complete piece of software for writing novels. Sure, there are many features that can and will be added, but as a tool for writing novels using plain text, I think it is more than usable for the task. I use it myself for all my projects.
Where it is lacking is in taking advantage of the meta data it holds to provide analyses of your projects. The recent addition of story structure comments, originally proposed in #1769, adds to this.
In parallel with novelWriter, I've been working on a sister app that is a rich text editor. That project has been abandoned and restarted countless times because I've been experimenting with both similar and very different concepts than novelWriter's. I think now that I've arrived at making it as similar to novelWriter as reasonable, around a rich text editor instead. I will divide my time between the two code bases moving forward.
The rich text app is named Collett (after a Norwegian author). It is actually simpler to develop in the sense that it doesn't need any of the complex formatting features and conversions needed in novelWriter since the formatting is applied directly to the text. The Collett code base is written in C++ for better performance, since I want to customise a lot of the basic features in the Qt library.
One issue this raises is that I don't really want to invest a lot of time implementing graphical story analysis tools in novelWriter. I do plan to revamp the Outline View, but maybe not much beyond that. I'm considering instead to make an analysis tool as a completely standalone companion app to both novelWriter and Collett. That way I don't have to implement this twice, and each app can focus more on the writing process itself.
I haven't landed on the technology for such a tool, but I'm leaning towards QML-based with either a C++ or Python backend. Probably a mix of both with C++ for the active backend and Python for project serialisation/communication since data processing is much simpler in Python than in C++.
I'm making this post both to hear what the usual suspects here think, and to check if there are people who'd want to contribute to any of these projects in one way or another.
Beta Was this translation helpful? Give feedback.
All reactions