docrastinate

118 views
Skip to first unread message

Melvin Carvalho

unread,
Jun 26, 2012, 10:49:28 AM6/26/12
to unhosted
I'm really enjoying the docrastinate app

http://docrastinate.com/

The only thing I would say is that the headings black on black I find a little bit difficult to see.

Given that almost always only use 1 machine the localstorage sync is a great feature.

I suppose if I was more mobile, then sharing across devices would be really useful.

One thought that struck me is that eventually each of the 3 'panes' (tabs?) could be a separate entity in it's own right.  Some you could share, some private, some public.  But right now docrastinate does everything I need.

I could just shove in some .js to change the heading colors.

Anyone else use this awesome app?

PS we also need to turn docrastinate into a verb!  'Docrastinate it!'  :)

elf Pavlik

unread,
Jun 26, 2012, 11:23:42 AM6/26/12
to unhosted
Excerpts from Melvin Carvalho's message of 2012-06-26 14:49:28 +0000:
> PS we also need to turn docrastinate into a verb! 'Docrastinate it!' :)
➜ whois docrastinate.it
Domain: docrastinate.it
Status: AVAILABLE

Melvin Carvalho

unread,
Jun 26, 2012, 11:28:04 AM6/26/12
to unho...@googlegroups.com
On 26 June 2012 17:23, elf Pavlik <perpetua...@wwelves.org> wrote:
Excerpts from Melvin Carvalho's message of 2012-06-26 14:49:28 +0000:
> PS we also need to turn docrastinate into a verb!  'Docrastinate it!'  :)
➜ whois docrastinate.it

Nice find

"Just.docrastinate.it!"  :D
 
Domain:             docrastinate.it
Status:             AVAILABLE

Jan-Christoph Borchardt

unread,
Jun 26, 2012, 5:28:37 PM6/26/12
to unho...@googlegroups.com, Melvin Carvalho
Hey Melvin, cool you like it! It was born out of the need for having
multiple documents next to each other and is mainly just a personal
hack. I’m actually working on another text app which focuses more on
distraction-free writing.

The typeface is that dark by design because once you know it, these
headers would be obtrusive when more visible.

If you like it, I just added a Flattr button to the app, and you can
also flattr it directly at:
https://flattr.com/thing/665327/Docrastinate

(Flattr folks: is there a dark theme for the button? It’s pretty
intrusive so I reduced the opacity but it still looks weird.)

Cheers!

Melvin Carvalho

unread,
Jul 7, 2012, 6:27:12 AM7/7/12
to Jan-Christoph Borchardt, unho...@googlegroups.com
On 26 June 2012 23:28, Jan-Christoph Borchardt <h...@jancborchardt.net> wrote:
Hey Melvin, cool you like it! It was born out of the need for having
multiple documents next to each other and is mainly just a personal
hack. I’m actually working on another text app which focuses more on
distraction-free writing.

The typeface is that dark by design because once you know it, these
headers would be obtrusive when more visible.

If you like it, I just added a Flattr button to the app, and you can
also flattr it directly at:
https://flattr.com/thing/665327/Docrastinate

(Flattr folks: is there a dark theme for the button? It’s pretty
intrusive so I reduced the opacity but it still looks weird.)

Cheers!

I've been thinking about an idea for porting this great app to a slightly more structured format in the RWW.

Here's a rough sketch of my thoughts.  If i get time ill try and build a working demo:

1 Model
========
 
Items that need to be modelled:
 
1.1. Pane (URI, title, body)
1.2. User (URI)
1.3. Data Store (URI)
 
In line with web arch, anything important has a URI (note that this is a more general solution then remotestorage, presently).  In addition a pane has 2 text fields, each with a title and a body.
 
2 Controller
===========
 
The idea is to load and save the data model into the data store.
 
The current 'autosave' style model where everything is dumped to localhost and then synced with a remote storage is neat, mainly because 'it just works'.
 
The two features we need are 
 
2.1 Load on startup
2.2 Sync to localstorage
2.3 Sync to remoteStorage
 
3 View
======
 
Can more or less be kept the same.


Feedback welcome!

 

Michiel de Jong

unread,
Jul 7, 2012, 6:44:40 AM7/7/12
to unho...@googlegroups.com, Jan-Christoph Borchardt
we have all of this (soon ready to launch) in
http://remotestoragejs.michiel.5apps.com/example/docrastinate/

it will store e.g. the 'projects' pane on
{baseUrl}/documents/notes/projects as a json-ld object like:

{
@type: 'https://remotestoragejs.com/spec/modules/documents/text,
title: 'projects',
content: (the pane content)
}

i had a bit of trouble deciding whether it should be called 'content'
or 'contents' and whether to use https in the @type URI


On Sat, Jul 7, 2012 at 1:27 PM, Melvin Carvalho

Melvin Carvalho

unread,
Jul 7, 2012, 7:01:37 AM7/7/12
to unho...@googlegroups.com, Jan-Christoph Borchardt
On 7 July 2012 12:44, Michiel de Jong <mic...@unhosted.org> wrote:
we have all of this (soon ready to launch) in
http://remotestoragejs.michiel.5apps.com/example/docrastinate/

it will store e.g. the 'projects' pane on
{baseUrl}/documents/notes/projects as a json-ld object like:

{
  @type: 'https://remotestoragejs.com/spec/modules/documents/text,
  title: 'projects',
  content: (the pane content)
}

i had a bit of trouble deciding whether it should be called 'content'
or 'contents' and whether to use https in the @type URI

awesome!
 

Melvin Carvalho

unread,
Jul 7, 2012, 7:57:15 AM7/7/12
to unho...@googlegroups.com, Jan-Christoph Borchardt
On 7 July 2012 12:44, Michiel de Jong <mic...@unhosted.org> wrote:
we have all of this (soon ready to launch) in
http://remotestoragejs.michiel.5apps.com/example/docrastinate/

it will store e.g. the 'projects' pane on
{baseUrl}/documents/notes/projects as a json-ld object like:

{
  @type: 'https://remotestoragejs.com/spec/modules/documents/text,
  title: 'projects',
  content: (the pane content)
}

i had a bit of trouble deciding whether it should be called 'content'
or 'contents' and whether to use https in the @type URI

You're probably correct with 'content' as exemplified by :

http://sioc-project.org/ontology#term_content
 

Melvin Carvalho

unread,
Jul 7, 2012, 7:58:26 AM7/7/12
to unho...@googlegroups.com, Jan-Christoph Borchardt
On 7 July 2012 13:57, Melvin Carvalho <melvinc...@gmail.com> wrote:


On 7 July 2012 12:44, Michiel de Jong <mic...@unhosted.org> wrote:
we have all of this (soon ready to launch) in
http://remotestoragejs.michiel.5apps.com/example/docrastinate/

it will store e.g. the 'projects' pane on
{baseUrl}/documents/notes/projects as a json-ld object like:

{
  @type: 'https://remotestoragejs.com/spec/modules/documents/text,
  title: 'projects',
  content: (the pane content)
}

i had a bit of trouble deciding whether it should be called 'content'
or 'contents' and whether to use https in the @type URI

You're probably correct with 'content' as exemplified by :

http://sioc-project.org/ontology#term_content

Tip: when looking at naming here is a great way of seeing what other people have done:

http://labs.mondeca.com/dataset/lov/search/#s=content
 

Michiel de Jong

unread,
Jul 7, 2012, 8:57:01 AM7/7/12
to unho...@googlegroups.com
On Sat, Jul 7, 2012 at 2:58 PM, Melvin Carvalho
<melvinc...@gmail.com> wrote:
> Tip: when looking at naming here is a great way of seeing what other people
> have done:
>
> http://labs.mondeca.com/dataset/lov/search/#s=content

ah thanks! good resource

Melvin Carvalho

unread,
Jul 12, 2012, 4:53:57 AM7/12/12
to unho...@googlegroups.com, Jan-Christoph Borchardt
On 7 July 2012 12:44, Michiel de Jong <mic...@unhosted.org> wrote:
we have all of this (soon ready to launch) in
http://remotestoragejs.michiel.5apps.com/example/docrastinate/

it will store e.g. the 'projects' pane on
{baseUrl}/documents/notes/projects as a json-ld object like:

{
  @type: 'https://remotestoragejs.com/spec/modules/documents/text,
  title: 'projects',
  content: (the pane content)
}

i had a bit of trouble deciding whether it should be called 'content'
or 'contents' and whether to use https in the @type URI

When running my own version, I'll just make a *slight* change, in that I'd like to store my data encrypted.  This way, I can access it, for example, from an internet cafe, and I'll know it's 100% safe.

I think it's just a case of adding a single function.  It doesnt seem to be AGPL, so I could just maintain that feature in my local branch?  If anyone else was interested, I could publish the source tho ...
 

Melvin Carvalho

unread,
Jul 12, 2012, 12:55:10 PM7/12/12
to unho...@googlegroups.com, Jan-Christoph Borchardt
On 12 July 2012 10:53, Melvin Carvalho <melvinc...@gmail.com> wrote:


On 7 July 2012 12:44, Michiel de Jong <mic...@unhosted.org> wrote:
we have all of this (soon ready to launch) in
http://remotestoragejs.michiel.5apps.com/example/docrastinate/

it will store e.g. the 'projects' pane on
{baseUrl}/documents/notes/projects as a json-ld object like:

{
  @type: 'https://remotestoragejs.com/spec/modules/documents/text,
  title: 'projects',
  content: (the pane content)
}

i had a bit of trouble deciding whether it should be called 'content'
or 'contents' and whether to use https in the @type URI

When running my own version, I'll just make a *slight* change, in that I'd like to store my data encrypted.  This way, I can access it, for example, from an internet cafe, and I'll know it's 100% safe.

I think it's just a case of adding a single function.  It doesnt seem to be AGPL, so I could just maintain that feature in my local branch?  If anyone else was interested, I could publish the source tho ...

Hmmm re encryption: just read this:

the UK will send its citizens to jail for up to five years if they cannot produce the key to an encrypted data set.

http://falkvinge.net/2012/07/12/in-the-uk-you-will-go-to-jail-not-just-for-encryption-but-for-astronomical-noise-too/
 

Melvin Carvalho

unread,
Oct 2, 2012, 7:45:37 AM10/2/12
to unhosted
Just a note on this.  I found a really useful technique that an apply to all unhosted apps.

Firstly I tend to host the .js on my own machine for speed and security, as I'm sure many here do for testing.

I was inspired by a comment from richard branson:

http://biz30.timedoctor.com/richard-bransons-six-secrets-to-productivity/

“I have always lived my life by making lists: lists of people to call, lists of ideas, lists of companies to set up, lists of people who can make things happen. Each day I work through these lists, and that sequence of calls propels me forward.”

By applying a simple apache serveralias directive you can send all subdomains to the same place

So now I can have many lists running docrastinate:

shopping.do.me
tasks.do.me
today.do.me
someday.do.me
work.do.me

etc. and can make them up on the fly.  The magic of localStorage means that each subdomain maintains its own lists and I didnt have to write any additional code!

Niklas Cathor

unread,
Oct 2, 2012, 7:59:29 AM10/2/12
to unho...@googlegroups.com
I suspect, as soon as you sync with remotestorage, the notes will
overwrite each other.

>
> --
>
>
>

☮ elf Pavlik ☮

unread,
Oct 2, 2012, 8:03:43 AM10/2/12
to Melvin Carvalho, unhosted
Excerpts from Melvin Carvalho's message of 2012-10-02 11:45:37 +0000:
nice one!
it sounds interesting to have some sort of /misc path where you can have your localstorage simply syncing without any modules to remote storage and just makes a subpath per domain /misc/today.do.me /misc/work.do.me etc...

Michiel de Jong

unread,
Oct 2, 2012, 8:26:08 AM10/2/12
to unho...@googlegroups.com, Melvin Carvalho
On Tue, Oct 2, 2012 at 2:03 PM, ☮ elf Pavlik ☮
<perpetua...@wwelves.org> wrote:
> it sounds interesting to have some sort of /misc path where you can have your localstorage simply syncing without any modules to remote storage and just makes a subpath per domain /misc/today.do.me /misc/work.do.me etc...

that's the opposite of what we want. it would lock all your data into
the '*.do.me' walled garden.

Melvin Carvalho

unread,
Oct 2, 2012, 8:29:21 AM10/2/12
to unho...@googlegroups.com

Thanks for the heads up.

At the moment the sync part is not as mission critical for me as it may be for some, as I do most of my work on one machine.  I really do love having it so easy to fire up new task lists at will tho.

Obviously, still just at proof of concept stage, to do anything more sophisticated I'd probably have to do more testing or write a bit of helper code ...
 

>
> --
>
>
>

--




Melvin Carvalho

unread,
Oct 2, 2012, 8:36:59 AM10/2/12
to Michiel de Jong, unho...@googlegroups.com
Makes sense.  But in my case I'm syncing to a domain that I own.  So if storage moves I can repoint it.  Sort of the freedombox paradigm.

Jan-Christoph Borchardt

unread,
Oct 2, 2012, 8:39:24 AM10/2/12
to unho...@googlegroups.com, Melvin Carvalho
Docrastinate is limited on purpose. Hacking domains and in effect
making the data either overwrite each other or not portable is not
really a way to go there. Best just wait for http://litewrite.net to
get remotestorage.
> --
>
>
>

☮ elf Pavlik ☮

unread,
Oct 2, 2012, 8:46:21 AM10/2/12
to Michiel de Jong, unhosted, Melvin Carvalho
Excerpts from Michiel de Jong's message of 2012-10-02 12:26:08 +0000:
well if i want to do it this way - why not? also with apps like seven20 i can move my data to wherever i want to + most likely i will clone apps anyways and run them from domains i like so no problem with locking here

i don't say about doing it INSTEAD of modules but as COMPLEMENTARY option... functionality of 'just sync my local storage' seams to me rather practical and i believe straight forward to implement?

Jan-Christoph Borchardt

unread,
Oct 2, 2012, 9:21:17 AM10/2/12
to unho...@googlegroups.com, Pavlik
Even if it’s possible, we shouldn’t really endorse or do it as it
creates walled data gardens. We have modules exactly so this doesn’t
happen.


On Tue, Oct 2, 2012 at 2:46 PM, ☮ elf Pavlik ☮
<perpetua...@wwelves.org> wrote:
> Excerpts from Michiel de Jong's message of 2012-10-02 12:26:08 +0000:
>> On Tue, Oct 2, 2012 at 2:03 PM, ☮ elf Pavlik ☮
>> <perpetua...@wwelves.org> wrote:
>> > it sounds interesting to have some sort of /misc path where you can have your localstorage simply syncing without any modules to remote storage and just makes a subpath per domain /misc/today.do.me /misc/work.do.me etc...
>>
>> that's the opposite of what we want. it would lock all your data into
>> the '*.do.me' walled garden.
> well if i want to do it this way - why not? also with apps like seven20 i can move my data to wherever i want to + most likely i will clone apps anyways and run them from domains i like so no problem with locking here
>
> i don't say about doing it INSTEAD of modules but as COMPLEMENTARY option... functionality of 'just sync my local storage' seams to me rather practical and i believe straight forward to implement?
>
> --
>
>
>

☮ elf Pavlik ☮

unread,
Oct 2, 2012, 9:40:37 AM10/2/12
to Jan-Christoph Borchardt, unhosted
Excerpts from Jan-Christoph Borchardt's message of 2012-10-02 13:21:17 +0000:
> Even if it’s possible, we shouldn’t really endorse or do it as it
> creates walled data gardens. We have modules exactly so this doesn’t
> happen.
gosh! i think we may need to start addons.remotestorage.io ;D

Melvin Carvalho

unread,
Oct 2, 2012, 10:36:15 AM10/2/12
to unho...@googlegroups.com, Pavlik
On 2 October 2012 15:21, Jan-Christoph Borchardt <h...@jancborchardt.net> wrote:
Even if it’s possible, we shouldn’t really endorse or do it as it
creates walled data gardens. We have modules exactly so this doesn’t
happen.

Small point.  Walled gardens are all about telling you what you CANT do.

Free software is about the freedom to inspect, correct, improve and connect.   Adding features is not creating a walled garden. 

BUT I'm 100% behind the importance of compatibility.  If you want to use the remote storage logo you should play by the remote storage rules, so that the users get a consistent experience, rather than chaos.
 


On Tue, Oct 2, 2012 at 2:46 PM, ☮ elf Pavlik ☮
<perpetua...@wwelves.org> wrote:
> Excerpts from Michiel de Jong's message of 2012-10-02 12:26:08 +0000:
>> On Tue, Oct 2, 2012 at 2:03 PM, ☮ elf Pavlik ☮
>> <perpetua...@wwelves.org> wrote:
>> > it sounds interesting to have some sort of /misc path where you can have your localstorage simply syncing without any modules to remote storage and just makes a subpath per domain /misc/today.do.me /misc/work.do.me etc...
>>
>> that's the opposite of what we want. it would lock all your data into
>> the '*.do.me' walled garden.
> well if i want to do it this way - why not? also with apps like seven20 i can move my data to wherever i want to + most likely i will clone apps anyways and run them from domains i like so no problem with locking here
>
> i don't say about doing it INSTEAD of modules but as COMPLEMENTARY option... functionality of 'just sync my local storage' seams to me rather practical and i believe straight forward to implement?
>
> --
>
>
>

--




Jan-Christoph Borchardt

unread,
Oct 2, 2012, 10:44:28 AM10/2/12
to unho...@googlegroups.com, Pavlik, Melvin Carvalho
Bottom line: If I see Docrastinate – or any unhosted web app for that
matter – I want it to display my notes (or respective other module),
always the same ones. Not use a different module or data set of which
the management is intransparent to me. If you want to have more notes
than the 3 offered by Docrastinate, it’s the wrong app for you. Don’t
shoehorn it into something it’s not made for. (If anything, rather
than subdomains there should be something like a groups dropdown in
the app. If you want to do that, go nuts with the code:
https://github.com/jancborchardt/docrastinate )

Litewrite will solve all your problems. Just chill. And contribute:
https://github.com/litewrite/litewrite
> --
>
>
>

Jan-Christoph Borchardt

unread,
Oct 2, 2012, 10:46:55 AM10/2/12
to unho...@googlegroups.com, Pavlik, Melvin Carvalho
Oh and btw on the point of »free software«: We are _not only_
concerned with software freedom, but especially data freedom and to
that extent the freedom of the people to be in control. This is only
possible if it’s transparent to them what happens with their data.

See also: »Freedom 4: The freedom to use the program effectively,
efficiently and satisfactory.«
http://jancborchardt.net/usability-in-free-software

Melvin Carvalho

unread,
Oct 2, 2012, 11:12:59 AM10/2/12
to Jan-Christoph Borchardt, unho...@googlegroups.com, Pavlik
On 2 October 2012 16:46, Jan-Christoph Borchardt <h...@jancborchardt.net> wrote:
Oh and btw on the point of »free software«: We are _not only_
concerned with software freedom, but especially data freedom and to
that extent the freedom of the people to be in control. This is only
possible if it’s transparent to them what happens with their data.

See also: »Freedom 4: The freedom to use the program effectively,
efficiently and satisfactory.«
http://jancborchardt.net/usability-in-free-software


Totally agree.  I think data freedom is paramount.

I'm a productivity junkie so just wanted to share something I found very helpful in my day to day life.

I'm really looking forward to litewrite, taskboard and all these other projects. 

 

Melvin Carvalho

unread,
Oct 2, 2012, 2:06:58 PM10/2/12
to unho...@googlegroups.com, Pavlik
On 2 October 2012 16:44, Jan-Christoph Borchardt <h...@jancborchardt.net> wrote:
Bottom line: If I see Docrastinate – or any unhosted web app for that
matter – I want it to display my notes (or respective other module),
always the same ones. Not use a different module or data set of which
the management is intransparent to me. If you want to have more notes
than the 3 offered by Docrastinate, it’s the wrong app for you. Don’t
shoehorn it into something it’s not made for. (If anything, rather
than subdomains there should be something like a groups dropdown in
the app. If you want to do that, go nuts with the code:
https://github.com/jancborchardt/docrastinate )

Litewrite will solve all your problems. Just chill. And contribute:
https://github.com/litewrite/litewrite

I understand and respect that.  Thanks for an awesomely useful and fast app.

The only really useful change I've made is

document.title = document.domain;

To label the tabs.  I guess I'll just keep that in my local copy if you dont want this developed further.
 
--




Reply all
Reply to author
Forward
0 new messages