
Show HN: CrushPaper – Open-Source Workflowy and Evernote for Writers, Students - bazookajoes
https://crushpaper.com/
======
luckyisgood
Wow, you filled a huge gap I could not believe I couldn't find a solution
before, and I've searched.

All I ever wanted to do on my desktop is this:

1) Select some text on the screen 2) Have the text AND the URL to the source
copied to one place, without me having to manually copy and paste the URL.

I am a huge fan of collecting random clippings from the web. Your app saves me
just enough clicks to make it worth while.

Thank you for implementing Markdown export.

I suggest you add one feature: the ability to not have to confirm the save -
frictionless saving. Just save everything to one default place, don't have the
app ask me anything.

~~~
bazookajoes
Thank you for the suggestion and the feedback! I will do it tomorrow. I just
have to decide if it should be a separate context menu item. If you have any
other thoughts please let me know.

~~~
luckyisgood
Preserving rich formatting would also be nice.

~~~
bazookajoes
Thanks! Yes, I would like to do that too. Here is the outrageously long list
of things I want to do with CrushPaper [http://crushpaper.com/help/Future-
Enhancements](http://crushpaper.com/help/Future-Enhancements)

------
tekacs
This is nice, but the core keyboard shortcuts are (or so I find) painful and
needlessly complex to use. :/

A comparison:

Workflowy -> CrushPaper

Enter -> Alt+s

Enter -> Alt+u/b

Enter + Tab -> Alt+c

This feels like it was designed to be used with a mouse and keyboard shortcuts
inexpertly bolted on. :)

After that fix, this is a joy to use. :)

~~~
bazookajoes
Thank you for the feedback!

I think one of the major UI differences between Workflowy and CrushPaper is
that CrushPaper aims to support multiline notes and quotations. I often paste
snippets of code into CrushPaper but that does not seem to work well in
Workflowy. In Workflowy you can create multiline notes with Shift+Enter, but
then you don't seem to be able to navigate to those lines with the keyboard.

CrushPaper can definitely be changed to use Enter+Tab instead of Alt+c.

Perhaps Alt+Enter should insert a new line within a note, and Enter should
create a new note. When I experimented with that during user testing no user
guessed that it was possible to create multi-line notes.

~~~
tekacs
A few options:

\- Enter for newline and Shift-Enter for new entry (and Alt/Cmd-Shift-Enter
for new child)?

This would retain your multiline discoverability. I would be careful with Alt,
as it makes CrushPaper awkward to use on Macs, where Alt+s both sends the
keystroke and types 'ß' (German eszett) and similar issues abide for other Alt
combinations. Since you have so many Alt shortcuts, it might be worth mapping
them to equivalent Cmd shortcuts on Mac, as web apps commonly do.

\- OmniFocus/Outliner on Mac use Escape to finish editing and Enter always
makes a new entry. Escape might make an easier-to-hit-reliably edit key than
F2 (which can be hard to hit without looking/fumbling, even for a touch
typist).

~~~
bazookajoes
Thank you for these suggestions.

------
hammerandtongs
This whole area is very underserved in how people interact with their
computers, glad to see people pushing at it.

You could do worse then really digging deep into emacs org-mode and learning
it well.

It takes what you are doing to a much higher level but doesn't exist on the
web yet.

Also (as mentioned elsewhere) get yourself up here
[https://demo.sandstorm.io/demo](https://demo.sandstorm.io/demo)

~~~
WalterGR

        This whole area is very underserved in how people
        interact with their computers, glad to see people
        pushing at it.
    

This is something that I'm extremely interested in improving.

Are there any tools other than org-mode that you have your eye on?

~~~
hammerandtongs
For the particle cross section of -

outliner

org-tangle/org-babel, literate programming and/or
[http://www.howardism.org/Technical/Emacs/literate-
devops.htm...](http://www.howardism.org/Technical/Emacs/literate-devops.html)

broadly exportable format

calendar/todo/personal information management

etc etc

I'm not aware of anything else that covers that territory.

However Xiki and IPython (Jupyter now) do have some of the aspects of the
"computational document" that I think of in this broader context.

------
maelito
[https://github.com/abhshkdz/HackFlowy](https://github.com/abhshkdz/HackFlowy)
is a clone of Workflowy, unfortunately it's not being developed anymore

~~~
bazookajoes
I like that project!

I wrote most of CrushPaper before finding out about Workflowy or HackFlowy,
but I tried to take a different path from HackFlowy.

CrushPaper is hopefully easy to deploy because it is a single executable JAR.

CrushPaper is hopefully easy to contribute to because all of the server code
is in Java.

CrushPaper has unit tests. I am always surprised when people are willing to
store their information in an app that doesn't have any test coverage.

------
heliostatic
Very nice work! This feels like a great fit, product-wise, for Sandstorm. Have
you looked at what that would entail?

~~~
bazookajoes
That is a great suggestion. Thank you for pointing that out. So far I haven't
thought about that at all.

~~~
hammerandtongs
Your project seems perfect for sandstorm.

The gap between "you can run your own server" and a one click install via
sandstorm is profound.

~~~
bazookajoes
Thank you for the reinforcement!

------
walterbell
Have you considered using a CalDAV server (e.g. SabreDAV) as a backend?

~~~
bazookajoes
I haven't thought about using a CalDAV server for this at all actually. How do
you envision that working?

The backend of this is pluggable so it can use other datastores.

~~~
walterbell
[http://2doapp.com](http://2doapp.com) uses CalDav to sync task items across
iOS, Android and OSX. This works with both iCloud (Reminders) and third-party
CalDAV servers, including self-hosted [http://sabre.io](http://sabre.io).

If you sync a 2Do app instance with SabreDAV, you can see that the 2Do
developers have added app-specific fields to the standard schema, to store
text notes, audio attachments and app-specific metadata, without losing
interoperability.

CalDAV clients:
[http://caldav.calconnect.org/implementations/clients.html](http://caldav.calconnect.org/implementations/clients.html)

CalDAV libraries:
[http://caldav.calconnect.org/implementations/librariestools....](http://caldav.calconnect.org/implementations/librariestools.html)

------
litzer
Not too relevant, but the background reminds me of Github 404 page.

[https://github.com/asdflkjsad](https://github.com/asdflkjsad)

~~~
bazookajoes
I hadn't realized that. Do you think that is good or bad?

------
quadrangle
Thanks for using the AGPL

~~~
bazookajoes
You're welcome! But I have to admit that I am curious why you thank me for
that.

~~~
quadrangle
Because the AGPL is the strongest license to protect freedom by blocking the
development of proprietary derivatives.

(I'm hoping you aren't using AGPL with the intention of giving yourself an
exception and turning this into a proprietary service yourself; the guarantee
against that is accepting AGPL patches from others without a CLA — that would
assure that the whole thing is AGPL for everyone equally)

