[[!meta copyright="Copyright © 2007, 2008 Free Software Foundation, Inc."]]

[[!meta license="""[[!toggle id="license" text="GFDL 1.2+"]][[!toggleable
id="license" text="Permission is granted to copy, distribute and/or modify this
document under the terms of the GNU Free Documentation License, Version 1.2 or
any later version published by the Free Software Foundation; with no Invariant
Sections, no Front-Cover Texts, and no Back-Cover Texts.  A copy of the license
is included in the section entitled
[[GNU Free Documentation License|/fdl]]."]]"""]]

# How cool it would be if the email becomes similar to snail mail?

## Let see how the snail mail works

* You write the letter with a pen and paper
* You write the "To" address
* Post it -> Put it in a Post Box

## How Email works

* You have your email client (and there comes the limitation, you can't use
  your favourite editor)
* Fill in destination email address 
* Send it (May be a send button or a keyboard shortcut)

## What are the problems 

If you want to use a wordprocessor for sending email, it should implement a
feature like mail merge, suppose it doesn't have such a feature then? You copy
and paste it to your email client and if it doesn't support HTML? Well you have
work arounds for all these, but how cool it would be if you have something like
this:

* You create a file, use any wordprocessor or text editor.
* Right click and see the properties
* Set the "To" field
* Drag it to the Post Box icon on your panel next to Trash

## How can we implement it?

An SMTP translator which uses extended atributes 

## Comments

IRC Logs about the discussion on #hurd

<!-- That smileys are rendered the wrong way below is a ikiwiki bug.  -->

>>>>>>> 5384ccd0a47e900fbdae993143110538248517a2:emailfs.mdwn

    <manuel>j4v4m4n: isn't the HHG a good enough libtrivfs tutorial?
    <manuel> the problem I have with mail, blog, ..., translators is that you want to save mails before sending them, so you can't edit directly into the translator
    <j4v4m4n> manuel, may be we want a simpler one, all of us are beginners except AB
    <manuel> they're not stream-based so unless you save it into memory and wait for "sync" to send mails, it doesn't seem well suited
    <manuel> who's AB?
    <j4v4m4n> manuel, create any file with your favourite editor and copy it to the directory where SMTP translator is sitting 
    <j4v4m4n> manuel, Anand Babu
    <manuel> sure, but how is that better than sending it via the "mail" command then?
    <manuel> except it's less hype, of course.
    <j4v4m4n> manuel, http://savannah.gnu.org/users/ab
    <j4v4m4n> manuel, it would be cool :-)
    <manuel> still not convinced :)
    * schlesix (n=thomas@xdsl-81-173-230-219.netcologne.de) has joined #hurd
    <j4v4m4n> manuel, set up SMTP translator on the desktop and may be add it next to the Trash :-) 
    <j4v4m4n> manuel, have a nice postbox icon
    <j4v4m4n> manuel, drag your files to it
    <j4v4m4n> manuel, it would be closer to the real world and snail mail
    <bvk> j4v4m4n: To whom do they go?
    <manuel> bvk: the file must be preformatted, probably
    <j4v4m4n> bvk, in snail mail you will write to address on top of the envelop, right?
    <manuel> j4v4m4n: yeah well, it could make sense in a desktop envronment
    <j4v4m4n> bvk, here we can have it as the first line of the file
    <manuel> not sure
    <bvk> j4v4m4n: i never used snail :(
    <j4v4m4n> manuel, that is what I have in mind
    * j4v4m4n like snail mail that email
    <manuel> bvk: you never sent a mail via snail mail?! :)
    * j4v4m4n like snail mail more than email
    <bvk> manuel: nope :( whats that btw?
    <j4v4m4n> manuel, or why not have it as the file property itself??
    <bvk> manuel: you know its first time i hear it *snail mail* :((
    <j4v4m4n> bvk, the normal mails which a postman delivers :-)
    <j4v4m4n> manuel, you create a file text, open document or whatver format
    <manuel> j4v4m4n: I'm quite sure it'd make things more complicated in the end, using file properties, dragging files etc.
    <j4v4m4n> manuel, righ click and see properties and set the to field
    <bvk> Oh, these english words... :X
    <j4v4m4n> manuel, we can use the xtended atributes
    <j4v4m4n> manuel, which really showcase the power of hurd
    <j4v4m4n> manuel, it becomes closer to the real world
    <bvk> actually, is X working on hurd?
    <j4v4m4n> bvk, well it used to work and the new Xorg release has som
    <j4v4m4n> bvk, well it used to work and the new Xorg release has some broken packages
    <j4v4m4n> bvk, if you use an old snapshot repository it will work (xorg 6.9)
    * marco_g (n=marco@gnu/the-hurd/marco) has joined #hurd
    <marco_g> hi
    <j4v4m4n> marco_g, hi
    * bvk watching MIT lecture video on 'structure and interpretation of computer programs'
    <manuel> bvk: yeah, X was ported on GNU/Hurd five-six years ago or so
    <j4v4m4n> manuel, see http://hurd.in/bin/view/Main/EmailFS
    <j4v4m4n> manuel, add your comments, if you like
    <manuel> j4v4m4n: how would you convert the .odt to a mail?
    <j4v4m4n> manuel, attachment
    <manuel> with an empty mail?
    <manuel> that won't get through *most* spam filters :)
    <j4v4m4n> manuel, or may be convert it to HTML
    <manuel> well converting it to text or HTML would require a set of rules to convert from any format to text/HTML, like a2ps has (some sort of mailcap file)
    <j4v4m4n> manuel, it can be flexible, a parameter to the translator as to what should be done with each formats
    <manuel> and there's no convenient way to convert ODT to text AFAIK, you need to use ooffice with a batch program, which you need to provide too
    <manuel> well that's really complex
    <j4v4m4n> manuel, well how will you send me a CD by post?
    <j4v4m4n> manuel, or say a bed?
    <j4v4m4n> manuel, courier or parcel, right? so attachment is fine
    <manuel> sure but you'll add a note saying "this is a bed from Praveen"
    <ness> why not add a note to such a mail
    <ness> you could even move multiple files simultaneously to the mail translator
    <manuel> hm
    <manuel> so how is the translator supposed to know that all the files I move are to be sent in a single mail and not on separate mails?
    <manuel> and how'll you be able to add a note to such a mail? I mean, of course you can set it on the xattr but that's quite strange (the attachment is supposed to be an attr of the mail, not the other way) and not convenient at all
    <manuel> I'm quite sure using a MUA is still easier
    <ness> you could move a complete directory to the mail trans
    <ness> (and the desktop icon can do this transparently)
    <manuel> hmm so you have to create a directory, write a text file on it (with a special filename, I guess, since you could also have text files as attachments) and add the attachments to the directory
    <manuel> and then drag & drop it
    * manuel thinks things are getting more and more complicated :)
    <ness> the special file name or attribute thing is right
    <ness> but you not necisirily need to create a dir
    <ness> s/necisirily/necessarily/
    <ness> you just drag 'n' drop multiple files to the icon
    <manuel> and how is the translator supposed to know they are dragged at the same time and not one after the other?
    <ness> I do not know if it is viable
    * antrik (n=olaf@port-212-202-210-130.dynamic.qsc.de) has joined #hurd
    <manuel> AFACS, dragging multiple files just make the desktop issue multiple rename()
    <moritz> manuel: however the desktop handles that - it would be a rather easy thing to fix, i guess.
    * schlesix has quit (Remote closed the connection)
    <manuel> moritz: how is the desktop supposed to handle that?
    <moritz> if this mail translator approach, is primarily to be used in desktop environments, one could implement the whole thing on the desktop environment layer, not with Hurd translators.
    <moritz> manuel: i think it would be rather easy for the desktop to distinguish between actions like "ONE file is dragged" and "MULTIPLE files are dragged".
    * schlesix (n=schlesix@xdsl-81-173-230-219.netcologne.de) has joined #hurd
    <manuel> oh yeah, but then you loose the transparency, and there's no point in making it a translator. I think we agree on that :)
    <moritz> i see rather little point in making it a translator anyway, since only god knows wether we have similar concept to translators in hurd-ng.
    <manuel> yeah sure, but praveen wasn't planning it for HurdNG AIUI
    <moritz> in that case it would probably be toy project. fine.
    <moritz> i need to do some maths.  see you.
    <manuel> hmm well, you can't write anything else than toy projects, then
    <ness> moritz: you shouldn't be too sure about success of ngHurg
    <ness> it is an experiment
    <antrik> sdschulze: ping
    * antrik has quit (Remote closed the connection)
    * antrik (n=olaf@port-212-202-210-130.dynamic.qsc.de) has joined #hurd
    * bddebian (n=bdefrees@71.224.172.103) has joined #hurd
    <j4v4m4n> manuel, This is a lot of input, let me sink these all first :-)
    <bddebian> Heya folks
    <schlesix> heya bddebian!
    <j4v4m4n> it is ofcoures a "nice to have" feature. 
    <j4v4m4n> These are quite intersting inputs as well
    <bddebian> Hi schlesix
    <j4v4m4n> manual in the real wprld how will you send multiple things, say you want to send a CD and a bed
    <j4v4m4n> manuel, you will package it (files) and then one parcel containing all these things (folder) 
    <manuel> j4v4m4n: well you want to make sending emails easier than sending real mails :-)
    <j4v4m4n> manuel, it won't substitute MUAs
    <j4v4m4n> manuel, we need it as the backend
    <diocles> geekoe: You asked about GFS yesterday; well, glibc compiled. :) I've not done much more after that.
    <antrik> regarding mail translator: take a look at Plan9, they have been doing it for years
    <j4v4m4n> manuel, sorry not MUA I meant MTA
    * syamajala (n=syamajal@c-24-147-61-120.hsd1.ma.comcast.net) has joined #hurd
    <manuel> ah yes sure, but MUA will still be easier to use afaics
    <j4v4m4n> manuel, people who are used to Windows say GNU/Linux is tough to use
    <j4v4m4n> manuel, but when they start with GNOME or KDE they don't have any issues
    <j4v4m4n> antrik, that is a great info I will look into  it
    <j4v4m4n> manuel, sorry not MUA I meant MTA
    * syamajala (n=syamajal@c-24-147-61-120.hsd1.ma.comcast.net) has joined #hurd
    <manuel> ah yes sure, but MUA will still be easier to use afaics
    <j4v4m4n> manuel, people who are used to Windows say GNU/Linux is tough to use
    <j4v4m4n> manuel, but when they start with GNOME or KDE they don't have any issues
    <j4v4m4n> antrik, that is a great info I will look into  it
    <ness> j4v4m4n: they do it quite differently
    <manuel> this doesn't answer to the basic question: how is it better than what we have now
    <j4v4m4n> manuel, it is different, better is always debatable
    <j4v4m4n> manuel, GNOME might work for but some doesn't use X at all 
    <j4v4m4n> manuel, whether it is good will be depending on the implemetation
    <Jeroen> people who used to GNU/Linux say Windows is tough to use
    <Jeroen> +are
    <unlink> GNU/Linux is at least tougher to say
    <Jeroen> no, people have less experience with GNU/Linux
    <manuel> "to say", Jeroen
    <j4v4m4n> manuel, better and easier are always relative
    <j4v4m4n> manuel, there a lot of people still using mutt when you have thunderbird
    <manuel> well because they have reasons to say mutt is easier than thunderbird
    <Jeroen> the only thing is that you've to learn a few shortcuts when you want to use mutt, you can't just click around
    <j4v4m4n> manuel, exactly
    <j4v4m4n> manuel, consider this, you want to send a document across to someone
    * Blackmore has quit (Read error: 104 (Connection reset by peer))
    * koollman has quit (Remote closed the connection)
    <j4v4m4n> manuel, now you open a MUA add the attachment send it
    * koollman (n=samson_t@gsv95-1-82-233-13-27.fbx.proxad.net) has joined #hurd
    <j4v4m4n> manuel, if you just have to drag it to an icon, would that be easier?
    * Casanova (n=prash@unaffiliated/casanova) has joined #hurd
    <j4v4m4n> manuel, chmod +to:manuel@somehost doc.pdf ; cp doc.pdf postbox/
    <Jeroen> yeah
    <Jeroen> chmod is for setting permissions...
    <j4v4m4n> manuel, I am not sure how to set xattr
    <manuel> well, setfattr
    <Jeroen> well
    <j4v4m4n> manuel, ok
    <Jeroen> how do you type your subject?
    <Jeroen> and there message itself?
    <Jeroen> s/there/the/
    <Jeroen> how do you encrypt+sign it with pgp?
    <manuel> j4v4m4n: well the problem is still the same you know. OK for to/subject : they'd be extended attributes. but how do you type the message itself?
    <antrik> I don't think using xattr for such stuff is a good idea
    <antrik> after all, it's not a property of the document
    <j4v4m4n> antrik, we can use it only on a particular directory  on which our translator sit
    <j4v4m4n> manuel, create a folder
    <manuel> that'd mean mkdir message; ln -s doc.pdf message/; cat >message/message <<EOF; setfattr -n to -v mmenal@hurdfr.org; setfattr -n subject -v document; mv message postbox
    <antrik> the reason why having translators for such stuff is that this way you have a generic service for sending mail, whether you use it through a special UI (MUA), directly with file commands, from a script, or from some other program that just sends mails as a side functionality
    * mheath has quit (Connection reset by peer)
    <j4v4m4n> manuel, that looks scary :-(
    <manuel> not sure it's easier than "mutt; m; mmenal@hurdfr.org; document; >typing the message<; a; doc.pdf; y"
    <antrik> manuel: it is easier in some situations
    <antrik> (and again, I would not use xattr for such stuff)
    <j4v4m4n> manuel, now how do you use mutt on GNOME?
    <antrik> in fact, Plan9 explicitely does *not* have any xattr and stuff
    <manuel> antrik: well xattr on the directory that represents the message is not illogical
    * mheath (n=mheath@c-67-182-231-23.hsd1.co.comcast.net) has joined #hurd
    <j4v4m4n> antrik, may be we can think of some other way if you don't wanna xattr
    <manuel> j4v4m4n: well I just used the CLI because it's easier to describe, but try to explain the steps in a GUI and you'll see it's the same problem
    <j4v4m4n> manuel, right click on desktop -> create folder -> drag the files to the folder -> set attributes to the folder-> drag it to postbox
    <j4v4m4n> manuel, it is quite logical step
    <manuel> sure, but how is it easier than click on the MUA icon -> create mail -> drag the files to the mail window ; type the attrbutes + contents ; click on send mail
    <manuel> looks quite similar to me :-)
    <j4v4m4n> manuel, or if you already have the folder just drag it
    <kilobug> a POP or IMAP translator would be more useful IMHO (but well, I didn't read all the backlog, so I may be off topic)
    <j4v4m4n> manuel, you don't have a MUA here :-) just files and folders
    <kilobug> to read mails, I mean
    <j4v4m4n> kilobug, that is even easier IMAP->mabox and then mboxfs
    <manuel> j4v4m4n: well you have a MUA : that's the translator
    <j4v4m4n> kilobug, mboxfs is already available
    <j4v4m4n> kilobug, I think someone already wrote IMAP to mbox as well but couldn't find it
    <kilobug> j4v4m4n: well, imapfs could work both way, writing changes on the imap server too ;)
    <antrik> manuel: the difference is not how it is used; the difference is how it is implemented
    <antrik> manuel: if you have a generic mail translator, you have most functionality already there with the file manager; all you need to add is some scripts for better comfort
    <antrik> j4v4m4n: the way I would do it (and I guess Plan9 does, though I haven't checked) is either having a file in the mail directory with the headers, or a subdirectory with a single file for each header (probably the latter)
    <j4v4m4n> antrik, that would make it too complicated IMHO, it would be close to how it is for snail mail
    <antrik> j4v4m4n: I don't see how this would be more complicated than xattr
    <j4v4m4n> manuel, you can write your own scripts to automate it for whatver way you want
    * azor (n=azor@62-43-135-201.user.ono.com) has joined #hurd
    <manuel> antrik: having the functionality in the filesystem is useful because programs can use this functionality without patching; the protocol to use the mail translator is so specific that you either need to be a real user (but then a MUA is a lot more useful) or have a patched program (but then you could use a lib)
    <j4v4m4n> antrik, right clicking a file and setting u p to and subject seems easier that creating more files
    <antrik> j4v4m4n: I don't think so. maybe it is in gnome, but than I'd consider it a shortcoming of gnome
    <antrik> j4v4m4n: in shell "cat foo@example.invalid headers/to" is about as simple as you can get
    <manuel> >
    <antrik> erm... I mean echo
    <antrik> and >, yes
    <antrik> sorry
    * yoj (n=jao@200.163.8.72) has joined #hurd
    <manuel> "echo foo@example.invalid > headers/to" is not easier than "setfattr -n to -v foo@example.invalid" AFAICS.
    <antrik> echo foo@example.invalid >headers/to
    * yoj (n=jao@200.163.8.72) has left #hurd
    * yoj (n=jao@200.163.8.72) has joined #hurd
    <kilobug> manuel: it is a tiny bit if your "foo@example.invalid" is the output of a command, mycomplexcommand > headers/to is a bit easier than setfattr -n to -v `mycomplexcommand`
    <kilobug> manuel: but it's the same for a value you type directly
    <antrik> manuel: objectively it is not simpler, but it uses a generic mechanism users now well, instead of obscure xattr stuff
    <antrik> know well
    <j4v4m4n> antrik, ok we can think of that, but how about a desktop user?
     abeaumont andar antrik arnau azeem azor 
    <j4v4m4n> antrik, he has to use more clicks and more head aches
    <j4v4m4n> antrik, just right click and add to address and subject just you write on the envelop
    <kilobug> j4v4m4n: that's good ! it makes him buy more medicine, drug corporations will sponsor you then !
    * kilobug runs away
    * j4v4m4n chases kilobug 
    <j4v4m4n> kilobug, better way would be making outlook run on GNU :-) 
    <marco_g> Or GNU on outlook \o/
    * yoj (n=jao@200.163.8.72) has left #hurd
    <kilobug> this channel is becoming insnae :p
    <j4v4m4n> kilobug, or is it the members ?? :-)
    <marco_g> I agree with kilobug, we should stop those weirdos here :-/
    * whr` (i=whr@acy238.neoplus.adsl.tpnet.pl) has joined #hurd
    <antrik> hm... anyone have the marcus quote at hand?
    <j4v4m4n> i got to go as well
    <j4v4m4n> bye
    <kilobug> bye j4v4m4n

## Interesting??

Join the project  -- Add yourself to the list below

* [[Praveen A]]