New 24-hour app coming (not so) soon: foley
First a short explanation:
24-hour apps are small, self-contained projects where I intend to create a decent, useful application in 24 hours. The concept is that:
I will think about this app a lot for a while
I will design it in my head or in written notes
I will code, from scratch, for 24 hours.
That's not one day, really, but 24 hours of work. I can't work 24 hours straight anymore.
The last time around this didn't quite work as I intended, but it was fun and educational (for me at least ;-) and the resulting app is really not bad!
So, what's foley going to be? A note-taking app aimed at students and conference public.
In your last geeky conference, did you notice everyone is using a computer?
And what are they taking notes on? Vi? Kwrite? OpenOffice? Whatever it is they use, it's not meant to be used for this purpose.
So, what will foley do different? I don't quite know yet, but I have some ideas:
A strong timeline orientation. Every paragraph will be dated.
Twitter/Identica support. Want to liveblog your notes? Just click.
-
Multimedia incorporated in the timeline.
Webcam/Audio recording synced to your notes?
Images imported and added in the timeline?
Attach files to the timeline? (Useful for slides?)
If provided with a PDF of slides, attach each slide to the right moment in the timeline
Easy web publishing: find a way to put this on a webpage easy and quick (single-click publishing is the goal)
I have only thought about this for about 10 minutes, but I see potential here.
The bad news is... I have a ton of paying work to do. So this will probably only happen in January. However, I wanted to post it so I can take input while in this planning phase.
So, any ideas?
That's a great idea! I hope you will find time to implement it!
That's a great idea! I hope you will find time to implement it!
Well, I love the enthusiasm.. but I think Tomboy already does everything you are planning :)
But I support apps wrote in Python ^_^
Well, I love the enthusiasm.. but I think Tomboy already does everything you are planning :)
But I support apps wrote in Python ^_^
I did a quick check and the only feature I see in common is "takes notes".
I did a quick check and the only feature I see in common is "takes notes".
I suggest you take a look at KeepNote:
http://rasm.ods.org/keepnote/
Maybe improve that one with those features?
I suggest you take a look at KeepNote:
http://rasm.ods.org/keepnote/
Maybe improve that one with those features?
@Thomas: sorry, PyGtk is not my thing :-(
@Thomas: sorry, PyGtk is not my thing :-(
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.
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.
And oops, was referring to Roberto, sorry.
And oops, was referring to Roberto, sorry.
@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 :-)
@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, 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 :)
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.
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 :)
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.
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.
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.