Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
Org-mode on web, built with React, for mobile, synced with Dropbox, Google Drive (github.com/danielde)
438 points by moioci on July 19, 2019 | hide | past | favorite | 104 comments


Hey all, I’m the author of org-web. It was pretty cool to wake up this morning and see this on the front page (thanks moioci!). If you’re interested in taking org-web for a spin you can try it here: https://org-web.org/

There’s a sample file you can play around with there if you’re not ready to link to a sync backend yet.

Happy to answer any questions!


This is so great, thank you Daniel. This changes everything.

Next up, org-web-agenda?

Edit: Already a feature. I love it.


:)


Maybe syncing with documents hosted on private github/gitlab repositories?


I have been on the fence for using Redux in a large-scale project and I am still not convinced about its usefulness. I feel its too much code for too little gain. You have listed it as one of the tools you have used in org-web. Does it add value?


The short answer is yes it added value, but I wouldn't use it if I started on org-web today. Largely this is because of the new hooks API in React (particularly useReducer).

Redux also helped me grow a lot as an engineer. I'm sure the concepts that it builds on aren't new, but they were new to me when I first started using Redux and I now spend a lot of time thinking the way Redux taught (or forced) me to think.


Thanks. That helps. Looks like you can build a middleware using hooks alone. I found a good video from a React guru: https://www.youtube.com/watch?v=nUzLlHFVXx0. He builds a few Redux concepts in the video.


This is awesome!

FYI, it looks like the add/delete row/column buttons have their targets reversed? The button whose icon suggests "add row" adds a column, etc.


Ah that’s just a confusing icon choice on my part. I think a more custom icon could solve this problem nicely, but I did my best to stick with what Font Awesome had available. Certainly worth improving, though - thanks for the feedback!


I'm unable to login through the Google Drive link on mobile, seems the image loads butbit doesn't click through (i.e. clicking on the image does nothing).

Tried this in Firefox (with and without uMatrix and/or UBO) and Firefox Klar and Google Chrome (with JavaScript enabled).


Ah bummer, something must've broken. I'll try to check that out tonight! Thanks for the report!


Thanks. I’ll be trying this real soon now.

In the meantime, does the agenda view include something like org-agenda-files or just the visited file?


Currently its just the visited file, which is mostly a product of how I use org-mode - I've got one monolithic org file instead of multiple files. But adding support for multiple files is something I'd eventually like to tackle.


What are org files?


Plaintext files in the format for a popular Emacs plugin called Org Mode.

"Org" as in "organise". Org-Mode has a rich set of features for organising tasks/notes.


Unfortunately, no one can be told wha Org files are. You have to discover them for yourself.


The first rule of Org Files... is don't talk about Org Files?


"Org-mode is a document editing, formatting, and organizing mode, designed for notes, planning, and authoring within the free software text editor Emacs."

In case anyone else wasn't sure what this was, and isn't an Emacs user.


You can use orgmode in other editors. I use vim, for instance. (Yes, the "official" module is only for emacs, but orgmode is a format and other editors have plugins for it as well.)


The Vim addon isn't unofficial its a different program inspired by org mode that implements some of the features.

The difference between having multiple implementations of a standard and multiple similar tools is that you really can't access the same data from multiple programs or share data with users using a different app.


People who want to try out org-mode but are familiar with vim shortcuts may want to check out spacemacs, it's an emacs distribution built to be useful for vim users. That way you can try out the real org-mode.


I see a lot of spacemacs users that seem rather confused on emacs basics. Makes me think you would be better of learning emacs, adding evil to the mix. Then using a starter kit if desired.


Where does one go to learn emacs basics?


Emacs has a built in tutorial. It is advertised on the welcome screen. You may find that it is a thoughtfully constructed and actually quite helpful. You won't be able to finish it in five minutes...


The Mastering Emacs ebook.

https://www.masteringemacs.org/


You learn Emacs basics within GNU Emacs itself https://www.gnu.org/s/emacs see in the menu Help, there is Tutorial, FAQ, Info pages, everything is self contained.


Maybe vim editor would have "Org mode".

But Org file and org mode is not the same. Org files you can edit with any editor and with few macros you could speed up such editing, but functionality exists only within GNU Emacs editor, and nowhere else.


Good to know -- my vim setup has been pretty static for a decade now, I should probably take a peek to see what I can change every once in a while.


this is good info, because when I searched it was talking about Lotus so felt like I had to be in the wrong area.


This looks cool!

But could you (if you are the author?) please restrict the Google Drive permissions from “See, edit, create and delete all of your Google Drive files” to only affect a sub directory of my drive please? That’s best practice for isolation.

Thanks!


I'd recommend the author use the OAuth 2.0 scope https://www.googleapis.com/auth/drive.file ("View and manage Google Drive files and folders that you have opened or created with this app") instead of https://www.googleapis.com/auth/drive ("See, edit, create, and delete all of your Google Drive files"), if/when they get a chance to work on this.

Anyway, this is really cool and totally fills a niche for me (90% of the time I want to edit org files in Emacs on my computer, but sometimes I need remote access). So I'm really happy to see this exists.


I've created a pull request to fix this: https://github.com/DanielDe/org-web/pull/52


Yep, I should’ve done that in the first place, and it’s on my todo list, though I haven’t put many hours into org-web lately. In the meantime, you can always host the project yourself if that makes you feel a bit more comfortable about linking to GDrive (though this doesn’t solve every potential privacy issue, of course)


There is actually no OAuth 2 scope that allow only subdirectory access. App developers can either get full access, per-file access with a file picker or Application data folder access. Using Application data folder would seem to be the right choice but there is one problem: you cannot access Application data folder through Google Drive apps. Only the OAuth 2 application can access that folder. You can delete it in your Google Drive settings but you cannot see the actual files.


sqlite to the rescue?


not the author, just a non-techy person who wants to try org mode without the complexity of emacs.


A non-techy person who has heard of emacs!


"Non-techy" is Impostor Syndrome for "somewhat techy".


I think org-mode has contributed a lot to making emacs more popular (or less obscure, depending on how you see it? :) )

See this for example: https://github.com/incandescentman/Emacs-Settings


Just as a bit of encouragement, I used emacs for like 4 years knowing only 5 commands (open file, change buffers, save file, kill buffer, close emacs).

It's not that bad if you wade into it slowly.


Wow, what i timing. Just found out org-mode thanks to bumping into Orgzly [1] and proffering it more then Joplin [2] due to local directory storage (synced with syncthing [3]). As a Vim user i am now trying vim-orgmode [4] and hope to have complete self hosting synced note taking solution... i will see if org-web fit's into this somehow...

[1] http://www.orgzly.com/

[2] https://joplinapp.org/

[3] https://syncthing.net/

[4] https://github.com/jceb/vim-orgmode


The Orgzly+Syncthing is an awesome combination. Also, as alternative it is worth mentioning the Standard Notes [0], which tends to be have-it-all-as-extension [1][2] note editor - however, it lacks the org-mode.

[0]: https://standardnotes.org/

[1]: https://standardnotes.org/extensions#editors

[2]: https://standardnotes.org/demo


You may want to try out smos. It's org mode but without the emacs around it: smos.cs-syd.eu


No mention yet of the very well built iOS app beorg https://beorgapp.com/

Org-mode files are synced via Dropbox, iCloud, or WebDAV.

Having a Siri shortcut to just tell Siri to add something to my TODO list would be a nice feature. Glancing at the shortcuts API, there is an append to file feature. I might have to try to roll my own.


Beorg is awesome, I use it daily, but it's really "TODO" oriented, and not that great for editing documents.

I've often wished there was an iOS text editor that understood org format, even just basic markdown style formatting. I'm going to give org-web a go, I think it could be a good compliment to beorg.


There's inkdrop. The iOS app is pretty limited but it syncs with the desktop app and has an electron (I know, I know) app for Mac, Windows, and Linux. It's extendable with plugins. I've been using it for a couple of months and I love it.


Yes. To be honest this is all I want.


I think beorg is fantastic and I poked around with it for a while before building org-web.

Ultimately I decided to build org-web anyway because I wanted something a bit closer to the metal, in a way. My impression of Beorg was that its bit higher level, whereas org-web provides some first class support for org features while still letting you edit the raw text if you'd like to.

To be clear, I think both styles have their advantages. org-web's style isn't better, its better for me.


I’m a big fan and current user, though I’d really like to use something FOSS. And, while iOS payments are a good prompt to support the author (I’m trying to get better at donating to Free Software developers), the in-app upsells for features are pretty annoying.

That said, it’s one of the most used apps on my phone.


If you have Reminders synced with Beorg, you can tell Siri to set a reminder and it should end up in the appropriate slot in Beorg.


It is extremely naive to leave private files on public servers where one does not even know a person face to face.


looks nice! though the focus on proprietary API-based backends (?!) is a bit puzzling? how about commiting to a git repo on the web server. Running within nextcloud?


I think those are great ideas, I just haven’t gotten around to them yet. This was largely a scratch-your-own-itch kind of project for me, and I sync my org file with Dropbox, so that was my priority.


More backends have been considered: https://github.com/DanielDe/org-web/issues/5

Would be nice to see Syncthing support.


This is the problem I also have with this. Give it a git backend, and I might use it. Even an s3 backend would be ok.


Encrypt the file and throw on IPFS?


Since other people are throwing out alternatives, here's what I use:

https://dynalist.io/

I'm not affiliated, just a happy paying customer. I organize a pretty good chunk of my life in it.


I’m planning to give this a try once notes aren’t stored on dynalist servers, or are at least end to end encrypted


Fair enough. It's a small company and their ops seem competent, but yeah, I wouldn't trust confidential or sensitive information to it.


How does Org-Mode compare to modern note taking apps like Keep? How does Org-Mode handle media files?


There is no 'modern' note taking app remotely as capable as Org-Mode. That said, there's a tradeoff to be made as to use Org-Mode effectively is a project in itself (check out a couple of youtube videos on it). In my experience it's also hard to use it without being thoroughly infected by emacs/lisp envy. Whether this is a good or bad thing is a metaphysical question.


If you invest some time in it, it's way more awesome. Keep hardly scales for serious use. Handling of media files is probably editor specific.

If you use emacs, org mode is really turing complete as it basically is an extension of elisp. But if you use this post's web-based editor, it probably implements only a tiny subset of org-mode (haven't checked out in detail). Still great if you just want to jot down a notes in a file you normally edit in emacs but have just a web browser.

I would vastly prefer a way to use emacs on my computer but sync the file to google drive so I can share files between computers. That works well on the mac, but not at all on a chromebook. Maybe with Crostini it's getting better but I don't believe so. I really wish ChromeOS would allow syncing a local directory to Google drive.


Org-Mode blows away Keep, unless you are using Keep on a stylus device like a Galaxy Note and use the pen to take notes. Org mode is made to manage a large or small number of files... even source code with TODO comments can be marshaled into an agenda. I'll toss a .org file in the top level of project and commit it in git... now I have a nice file with todos, deadlines and reference material. Since it's just text, it prints nicely and is very easy to manage.

As for media files, it's hyperlinks to media files.


Org-mode mode is the best way to organize information that i’ve found that also allows me the freedom to chose where I store the information. It’s also, contrary to many services like Keep, quite future proof.


I'm pretty happy with Notion.

A note is composed of blocks, which can have child blocks and so on. This makes it much easier to organise things, compared to a typical "modern" free-form note editor.

Pros:

  - good UX
  - native synching
  - team collaboration
Cons:

  - proprietary
  - paid subscription required
  - no agenda feature
Edit: reformatting, rewording


Org mode files are just plain text, but it has syntax for linking to external files like images, and Emacs can display those images inline.


Wow this is perfect. I'm using org mode more and more for everything I do and my only concern was mobile access. Thanks so much for working on this!


Have you tried orgzly?


Awesome! Thanks for making this, and for sharing here, and for open-sourcing it! :)


Wonderful! Would love too to see NextCloud/WebDAV support added.


I am trying the interface after first login via google drive and cannot find out how to start a new document. I am not presently an orgmode user and use EccoPro on Linux.

Is there a way to create a new document in the mobile interface?


Ah, no there is not. Haven't gotten around to that yet. My primary use case here was editing existing files.


Great stuff! I was looking for something like this just a couple of days ago.


This is an incredible user interface at the first glance! Really creative!


this is really good! I'm extremely happy to see more and more people drawn to orgmode. I'm currently working on a side project that involves blogging + agenda exporting and orgmode, still too rough to share, but hopefully soon. What I might share before is the org-mode parser and htmlfier that I wrote in clojure to support my project.

Anyway, orgmode is a real time and life saver. I use it daily to manage my tasks and keep notes on meetings/1:1s. I'll definitively play with this during the weekend!


When you’re ready to share, would you kindly ping me? As a power org user and Clojure programmer I am intrigued by your description^^

My mail is in my user description.


That is not "Org-mode" as "mode" refers to editing mode within GNU Emacs software https://www.gnu.org/s/emacs -- so you either use the term wrongly intentionally to gain attention or unintentionally as you never understood the concept of integrated environment such as Emacs.

Instead you could call it Org editing or Org files or Org planning. Not a "mode".

Your web design sucks and it is not usable.

This is waste of time.


i'm a heavy emacs user but ive never been able to really grok org mode. what makes it special?


Its versatility, all within one file format.

e.g. for anyone who hasn't glanced at the Org-Mode table of contents: https://orgmode.org/manual/index.html#SEC_Contents

For managing tasks: org files can be richly structured. So you can organise a task in some nested hierarchy; or with a tag; or with some key-value property. You can also make use of the way you organise notes to quickly search for tasks. Org also provides some useful ways you can view your organised tasks.

Besides task management, it's kindof "2nd best at everything", but all within one file format.

For GTD: Org supports a workflow where you can quickly 'capture' some information; then later organise it.

Org Babel: supports running snippets of code in an org-file, outputting the results. It's more primitive than something like Jupyter, though. (But you can also re-arrange the code snippets into files, supporting a literate programming style). -- I've found this a useful tool for keeping code and notes together.

Org has some support for tables/spreadsheets. I don't use this very much. But, again, useful to be able to embed (and update) within notes.

You wouldn't start using org-mode to get all these benefits. You start using a small part of it. And then you notice some other feature of org you'd benefit from, and figure that part out.


It's just a really solid markup for large plaintext documents with automa(g/t)ic formatting and the ability to embed:

-Arbitrary code which can be executed and which can update/operate on the contents of the document

-calendars

-hyperlinks

-images and other media

-tables which can also act as spreadsheets a la Excel

It also lets you export to just about any format including HTML and pdf via TeX, and it has broad integration across emacs so you can easily invoke portions of org-mode from your other buffers/modes.

In other words it's a really flexible medium for representing and working just about anything in a plain text file. I use it as a bug tracker for personal projects, I use it for self-documenting code ("literate programming", as they say), and I use it for writing prose that I intend to export to PDF such as reports and other things because frankly org is a much saner way to write latex/xetex/whatever.


Beyond being "just" a markup, it's also a pretty decent TODO manager.


org-mode works well for me because I already use (and live in) Emacs. Since its just plain text, all the ways I'm used to manipulating text work great in org-mode too.

I also dabble with elisp a bit and that fits in nicely here too. For instance, I wrote a really simple command to "mark this todo as done and move it to the bottom of this list".


have to say, it was awesome to see org-mode and React used in the same sentence. great work.


Anyone did a comparison with orgzly+syncthing? I currently use orgzly and my only problem is that sometimes files get out of sync - I do not always have access to wifi.


As long as you only sync org-mode text files, you could install synsthing-fork and enable custom rule to sync the orgzly directory even on mobile data.


Does this work offline at all? That would be a killer feature.


In case this isn't a joke, what's keeping you from just using emacs or an org-mode plugin for your text editor?


I don't like the UX, especially in a touch environment.


Mobile support.


This is pretty impressive. I'm not a fan of the type face and some of the design decisions, but those are rather minor points. With Git it'll be amazing.


This would make sense ONLY then, when you would implement editing of Org files on Internet that connects to Emacs server.

As stand alone version this is just waste of time.


I am developing a new rich editor for web. I have heard of org mode, but I have never used it. The direction I am heading for is seamless markdown, inspired by https://typora.io/

Seeing how popular this is made me feel worried that seamless markdown may not be the right direction. What do you think is the good features markdown lacks? I know markdown doesn’t have calendar and some features, but some markdown engines support add-ons.


>What do you think is the good features markdown lacks?

Orgmode adds things like todos, timestamped entries, outlining, cross-references, show/hide sections etc, which markdown editors typically lack.


org-mode for a nice WYSIWYG, I feel, is like a Saturn V rocket for de-spidering your basement.

Works great; maybe a bit too powerful for the average use case.


Even if I am as a Emacs and org-mode user in the ballpark for people who should be interested in it, and I especially like that it seems to be mobile-first, I'm not inclined to test it. And that is for the simple reason that I don't want to send my private data to Google or Dropbox. It would be nice to see Syncthing or Nextcloud sync first, and then additionally Dropbox and Google Drive as a cherry on top.


Currently keyboard shortcut ^n is opening a new window; how do I get it to navigate to next header?


Yeah, the keyboard shortcut system is a bit buggy. I haven't put much work into it since I figure when you're at a desktop you'll be using Emacs anyway. You can, however, change the keyboard shortcuts in settings. Maybe that'll help you here?


what % of the org-mode API is currently implemented?


Author here - I’m not sure % wise, but quite a few features now have first-class support. Those that don’t simply fall back to plain text, which you can always resort to editing directly in org-web. You can see a list of the implemented features (and try them yourself) in the sample file here: https://org-web.org/


Is there support for in line images and LaTeX?

I haven’t tried org-web but this looks seriously awesome! Good work!


Not currently, no.

Thanks so much!


Looks nice!

Will there be either OneDrive or Standard Notes support at one point?

EDIT: nevermind, it's open source, so I'll look into it; maybe as an editor for Standard Notes?


amazing


I want something like this for Vimwiki. Started building it out but haven't had the time.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: