Skip to main content

Ralsina.Me — Roberto Alsina's website

New 24-hour app coming (not so) soon: foley

First a short ex­pla­na­tion:

24-hour apps are smal­l, self­-­con­tained projects where I in­tend to cre­ate a de­cen­t, use­ful ap­pli­ca­tion in 24 hours. The con­cept is that:

  1. I will think about this app a lot for a while

  2. I will de­sign it in my head or in writ­ten notes

  3. I will code, from scratch, for 24 hours.

  4. That's not one day, re­al­­ly, but 24 hours of work. I can't work 24 hours straight any­­more.

The last time around this did­n't quite work as I in­tend­ed, but it was fun and ed­u­ca­tion­al (for me at least ;-) and the re­sult­ing app is re­al­ly not bad!

So, what's fo­ley go­ing to be? A note-­tak­ing app aimed at stu­dents and con­fer­ence pub­lic.

In your last geeky con­fer­ence, did you no­tice ev­ery­one is us­ing a com­put­er?

And what are they tak­ing notes on? Vi? Kwrite? OpenOf­fice? What­ev­er it is they use, it's not meant to be used for this pur­pose.

So, what will fo­ley do dif­fer­en­t? I don't quite know yet, but I have some ideas:

  1. A strong time­­line ori­en­­ta­­tion. Ev­ery para­­graph will be dat­ed.

  2. Twit­ter/I­­den­ti­­ca sup­­port. Want to live­blog your notes? Just click.

  3. Mul­ti­me­­dia in­­­cor­po­rat­ed in the time­­line.

    • We­b­­­cam/Au­­­dio record­ing synced to your notes?

    • Im­ages im­­­port­ed and added in the time­­­line?

    • At­­­tach files to the time­­­line? (Use­­­ful for slides?)

  4. If pro­vid­ed with a PDF of slides, at­­tach each slide to the right mo­­ment in the time­­line

  5. Easy web pub­­lish­ing: find a way to put this on a we­b­­page easy and quick (s­in­­gle-click pub­­lish­ing is the goal)

I have on­ly thought about this for about 10 min­utes, but I see po­ten­tial here.

The bad news is... I have a ton of pay­ing work to do. So this will prob­a­bly on­ly hap­pen in Jan­u­ary. How­ev­er, I want­ed to post it so I can take in­put while in this plan­ning phase.

So, any ideas?

Dimitris Leventeas / 2009-12-16 21:37:

That's a great idea! I hope you will find time to implement it!

Dimitris Leventeas / 2009-12-16 21:37:

That's a great idea! I hope you will find time to implement it!

John Anderson / 2009-12-16 22:50:

Well, I love the enthusiasm.. but I think Tomboy already does everything you are planning :)

But I support apps wrote in Python ^_^

John Anderson / 2009-12-16 22:50:

Well, I love the enthusiasm.. but I think Tomboy already does everything you are planning :)

But I support apps wrote in Python ^_^

Roberto Alsina / 2009-12-16 23:12:

I did a quick check and the only feature I see in common is "takes notes".

Roberto Alsina / 2009-12-16 23:12:

I did a quick check and the only feature I see in common is "takes notes".

Thomas Woelz / 2009-12-16 23:26:

I suggest you take a look at KeepNote:
http://rasm.ods.org/keepnote/
Maybe improve that one with those features?

Thomas Woelz / 2009-12-16 23:26:

I suggest you take a look at KeepNote:
http://rasm.ods.org/keepnote/
Maybe improve that one with those features?

Roberto Alsina / 2009-12-17 00:00:

@Thomas: sorry, PyGtk is not my thing :-(

Roberto Alsina / 2009-12-17 00:00:

@Thomas: sorry, PyGtk is not my thing :-(

Patrick / 2009-12-17 01:09:

Neither of the examples given sound all that similar to what Thomas described. The timeline, and making that a core thing that everything is organized around, sounds clever and unique. It reminds me of the google wave playback feature (although that doesn't work terribly well there). It might limit the usefulness of this app to specific circumstances, but often being narrow can be a good thing.

Patrick / 2009-12-17 01:09:

Neither of the examples given sound all that similar to what Thomas described. The timeline, and making that a core thing that everything is organized around, sounds clever and unique. It reminds me of the google wave playback feature (although that doesn't work terribly well there). It might limit the usefulness of this app to specific circumstances, but often being narrow can be a good thing.

Patrick / 2009-12-17 01:10:

And oops, was referring to Roberto, sorry.

Patrick / 2009-12-17 01:10:

And oops, was referring to Roberto, sorry.

Roberto Alsina / 2009-12-17 01:25:

@Patrick: yes, I intend these apps to be very narrowly focused.

For example, the video editor I did last time has only two features, really.

1) You can cut a video
2) You can paste videos together

And I have used it many times already :-)

Roberto Alsina / 2009-12-17 01:25:

@Patrick: yes, I intend these apps to be very narrowly focused.

For example, the video editor I did last time has only two features, really.

1) You can cut a video
2) You can paste videos together

And I have used it many times already :-)

sil / 2009-12-18 13:37:

Roberto, this sounds like a really cool app :-)

You might find desktopcouch (http://www.freedesktop.org/... a good choice for the back-end storage for your app -- it's a personal CouchDB for every user. If you use desktopcouch for notes storage, it'll give you a number of advantages:

Your notes can be synchronised between your computers without you having to do any work to make that happen; edit a note on one machine and the changes will be replicated to your other machines without effort.
If you're an Ubuntu One user your notes can also be synchronised with Ubuntu One, meaning that you have an offsite backup, you can synchronise notes between computers that aren't on the same LAN, and you can see your notes through the web as well as build web applications that work with the notes.
Tomboy also stores its notes, via Ubuntu One, in desktopcouch; this means that there's already a note format defined, and if you work with the same format then the two applications can work from the same notes database. This would make it easier for people to move from Tomboy to foley and not lose any of their notes at all, and you won't have to write a "Tomboy note importer" to make that happen (indeed, you won't have to do anything at all to make it happen; it'll just work). The notes format is deliberately designed to be able to have "application-specific annotations", so the timeline parts of the note can be added as foley-specific annotations and the notes will still work in other notes apps as well, so everybody wins!
Desktop Couch already has a Python library to make accessing it really easy from Python apps (I imagine you'll be building foley in pyqt :))

If you'd like to know more, the desktopcouch page linked above has documentation, including a recent article by Ars Technica about desktopcouch and how to use it (http://arstechnica.com/open..., and I'm more than happy to help out -- look me up on IRC (aquarius in #ubuntuone on irc.freenode.net) or at kryogenix.org.

Cheers! I look forward to foley coming out :)

Roberto Alsina / 2009-12-18 13:46:

Indeed this looks like a good candidate for desktopouch.

I have in fact been thinking about it for two other apps I use, a RSS reader and the one that powers this blog, which are implemented using "traditional" ORMs.

My main problems are:

1) I need to learn how to use it ;-)
2) It's not packaged for my distro (Arch)

OTOH, I am in a rather good position to fix both problems.

sil / 2009-12-18 16:20:

There was a chap on #ubuntuone earlier in the week, bravebug (who I think is https://edge.launchpad.net/..., who was looking at packaging the Ubuntu One client for Arch. (http://irclogs.ubuntu.com/2... has the discussion.) There might be some cross-over between what he's doing and what you want to do?

On the other point, that you don't yet know how to use desktopcouch...it'll take you half an hour, really. (If it doesn't, I'll improve the documentation so that it does.) I'm more than happy to help out, too; ping me for a chat :)

Roberto Alsina / 2009-12-18 21:06:

Ok, it did take a little more than half an hour, but that's because I am tired ;-)

You convinced me, whenever I write foley, it will use it.

sil / 2009-12-18 21:31:

Super duper. :) You know where I am if you want to talk it over when you get to that stage!

http://www.freedesktop.org/... is the current note format, although it's been tweaked a little since then, I believe.

Benjamin / 2009-12-18 16:26:

Asking for ideas when comments are disabled presumably isn't
intentionally ironic.

Anyway, my suggestion is strong, customizable key-bindings, preferably
with each shown in the menu/tool-tip of the functionality. I realize
this is a rather labor intensive task, but for those of us who do use
vim (or emacs) for our note-taking, anything that requires switching
from a keyboard to trackpad/mouse and back is going to abandoned
quickly.


Contents © 2000-2024 Roberto Alsina