

Show HN: Enter a message, delivery at a random time up to 6 months from now - yid
http://futuremessage.me

======
ForrestN
I think this is an interesting idea with some potential. Good job building
something for people!

I'm sure you're not at this stage yet, but the best way I can add value is to
offer a few design notes as you move forward:

\- The alignment, especially around the form, is sort of wonky. "E-mail" is
separated to two lines (at least in Chrome), and the "Schedule for delivery"
button is neither left aligned or center aligned. The e-mail field is also way
longer than necessary for an e-mail address.

\- There is a bit of dissonance between the old-looking, message-in-a-bottle
font and the highly rounded edges of the forms. I'm not sure which direction
is better, but it seems like it might be better to either go for tech-looking
or aged-looking than splitting the difference in this way.

\- The background, which is a not-great quality, black and white photo of a
woman in a bikini, is distracting and strange whichever direction you go in. I
guess the beach is where you find messages in a bottle, but it just feels very
confusing and distracting from the core product.

\- The name, FutureMessage.me, made me assume that I was going to send myself
a message. If I can, and am even prompted to, send a message to someone else,
there is no future message being sent to me. I read the name like "message
me", as in "send me a message." I don't think this is a big problem, but it's
definitely not as good as it could be.

\- I was able to enter a non e-mail, "asdf asdf asdf" and schedule a message.
I wasn't given any feedback on the thanks page telling me the address, so if I
mistyped an invalid email, I might end up waiting for 6 months and not getting
anything. Would add a bit more polish to correct invalid email accounts, and
also to confirm the email on the thanks page.

\- The thanks page is obviously thrown together and doesn't make much sense. I
don't understand who the person is, and why he relates.

\- The explanatory text isn't very strong. Coming to the site, I get what it
does, but I don't understand why I would want to use it. At least for me, I
didn't have a response like "finally, I can send myself a randomly timed
message!" I think it would help if you fleshed out some ideas for usage,
something to hook me in and think "yeah, that's something I'd want to set up."

\- I'd work on the colors. The all grayscale with just the two words in fire-
engine red is sort of harsh and doesn't look very appealing.

\- The stream-of-consciousness stuff at the end is interesting, but might need
to be adapted into another form. I think you've started to reflect on what
might be interesting about your tool, but I don't think you're communicating
those reflections very well.

\- The tagline, "Messages to the Future", doesn't add much to the name. It
might be good to rewrite this.

\- Because it's so simple, there's no reason to use so much vertical space. I
should be able to use the tool without scrolling like I do now on my laptop.

\- Having the background on the wrapper and pushing the wrapper to the left
makes the grey background on the right look just like dead space. Either
center the wrapper, or find a better way of relating the backgrounds.

\- After making the more important changes, go over carefully the spacing and
padding of the different elements to make it look harmonious. As an example,
the space between the name (which shouldn't have a colon) and the tagline
doesn't look right.

Keep up the good work!

~~~
yid
Thank you SO much for the feedback...working on some of those changes right
now.

EDIT: changes are now live, thanks again!

~~~
ForrestN
Had a few extra minutes, made a mockup of the more literal approach. Needs a
lot of tweaking, and not exactly the right bottle, etc., but just something
quickly thrown together to get you thinking:

<http://forrestnash.com/mockup.png>

------
genieyclo
I dunno if this is a reliable service and how long it's been around. 6 months
is also a bit limited.

I've used futureme.org, which does work. In fact, I just got a message from
myself from 3 years ago in the last couple of weeks when I just turned 18.
Creepy to say the least, and awesome.

~~~
yid
I just set it up, and I can assure you that it's reliable (uses Mailgun for
delivery, which is top-notch). Very interesting to look at futureme.org, I
guess the difference here is that the time is chosen randomly for you, which
allows an element of chance.

------
commenter
Great idea, but not very great execution. It looks nice to use once, but
hardly will be used again until see it again. You should add some things that
will connect tha user with the site. Like "if u asked yourself a future
question, post on our wall the answers" or something not like that! Don't
limit yourself!

Make A plugin for facebook and an App for iphone. The result that the software
gives you is small, so if u build something (an app for example) that usually
gives you small result, it will fullfil your expectations. If you don't know
how to improve the design and build an app for ex, look for some technical
partner.

It really have potential. I just think that u should take care of what will
bring the user back to my app/site/whatever.

------
parrisj
This idea reminds me of ohlife. An email based journal service where every day
they randomly choose a previous entry to send you. Its a cool idea. I just
don't see how you'll get people to repeatedly visit.

------
Baadier
Interesting idea, I sent my girlfriend a soppy message for the heck of it and
I'm thinking of sending myself some tech message reminders for example re-
check this framework/site/idea/open source project in 6 months.

I'm always finding stuff that I'm interested in but don't necessarily have a
use for now or I'm interested in seeing how the project turns out in the
future, this will send me a reminder that I will actually take note of.

------
strager
What's the e-mail address the message will be sent from? I want to be sure I
receive the message; I don't want it ending up in my spam box.

~~~
yid
It's going to be from ThePast@futuremessage.mailgun.org

------
hammock
I'm using this to propose to my girlfriend.

~~~
nandemo
Using this transfer protocol is not recommended in this case.

This type of message SHOULD be delivered synchronously. In case it is
delivered asynchronously, the receiving peer MAY refuse it.

Another possible problem is that, since 6 months is a long time, you might get
time-out before the message is ever delivered.

------
fauigerzigerk
That reminds me of something I've been thinking about again and again over the
past years. Is there any reliable way to send myself a message that I would
receive, say, 40 years from today. So far I haven't been able to come up with
a good solution.

~~~
jaekwon
Pay $2000 to a local school to host a time-capsule event where all the kids
write letters to themselves for 40 years from now.

Pay another $1000 to dig a hole in the school yard and put a proper decorative
cover on the thing so people remember to dig it out when the time comes.

~~~
fauigerzigerk
That might work but it's expensive and what if the school is refurbished or
relocated or something?

------
LocalPCGuy
Pretty cool, I submitted a message for my future self.

I would add a privacy note, stating what you said here about dropping the
emails/message after sending - I couldn't find anything on there that
resembled a privacy policy.

Other thing that would make it slightly more useful, is to add the ability to
schedule it versus just random (I would keep the random choice as well, make
it the default option even.) But for it to actually be a useful tool, I think
the ability to schedule is important.

------
Emore
As a computer scientist, one wonders what kind of randomness? Is the date
picked uniformly at random, or is there a bias involved (for example, a
negative bias towards the coming days)?

~~~
yid
The exact second is picked uniformly at random using an approximation of 30
days per month. The code is:

    
    
        my $sendAt = time + int(rand()*86400*30*5) + 86400*30;

~~~
palish
You should use a Mersenne Twister rather than rand().

That rand() probably only has 32767 discrete values. So your time is quite
imprecise, in addition to being biased. (C's rand() is very biased, so if that
code forwards to rand(), then it's biased, not uniform.)

Not that it really matters much in this case.

<http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/emt.html>

[http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES...](http://www.math.sci.hiroshima-u.ac.jp/~m-mat/MT/MT2002/CODES/mt19937ar.c)

~~~
yid
Interesting, I didn't know Perl's rand() was that terrible. Hopefully, the
auto-seeding using srand will add some entropy. Also, since I'm choosing an
epoch second, the times should _hopefully_ be uniformly distributed at the
scale of days...

~~~
palish
Actually, if you seed your random number generator more than once ("re-seed"),
then you're completely destroying your entropy. Which is obviously the exact
opposite of what you're trying to achieve.

~~~
yid
Just curious...why exactly would you say reseeding adds bias? AFAIK, srand in
Perl on Linux uses /dev/urandom, which uses at least _some_ bits from the
hardware entropy pool.

Swapped out rand() for MT in any case... :)

~~~
palish
Wow, that was fast. Nice.

The truth is this: if you ever hear the phrase "re-seeding", you should
reinterpret it as "warning! danger!" because if you seed a random number
generator more than once, you destroy any entropy ('true' randomness) that
generator otherwise might've had.

When you seed a generator, you're saying "give me a queue of uniformly random
numbers. Each time I call rand(), pop one from the queue and return it."

If you re-seed, you're saying "throw that queue away; give me a _different_
queue of uniformly random numbers".

If you do that for every rand(), then you no longer have a queue of uniformly-
random numbers. You have bias.

One way to think about this is: The resulting output over time is no longer
uniformly random, because it's the first random number of every queue of
uniformly random numbers (every seed). And the first number of every seed !=
uniformly random. It wasn't designed to be.

It's both hard to understand and hard for me to explain, sorry. But if you
want to know more, feel free to ask more questions and I'll do my best.

tl;dr: if you seed Mersenne Twister (or any other RNG) more than once, you'll
be losing most of the benefits of the Twister (from a mathematical point of
view). So don't! =)

~~~
yid
I'm very familiar with MT from my PhD research :) It's a nugget of gold hidden
in a single .c file.

I asked the question in relation to the LC generators in stdlib, where it
seemed like reseeding from the (probably MT? I believe BSD uses Yarrow)
generator in /dev/urandom would actually result in more entropy than the
internal state of the LC generator in Perl/C stdlib. Totally agree with not
reseeding MT though -- I have it in a persistent FastCGI script with an
initial seed from /dev/random now.

~~~
palish
Oh, sorry... if you're asking whether it's possible to hack the "crappy
rand()" such that it has more entropy by constantly re-seeding from MT... then
I have no idea =) I just use MT itself.

------
m0tive
Reminds me of a friend's snail-based email service [1] which also had slow
delivery time.

[1] <http://www.realsnailmail.net/>

------
mreid
How does this differ from <http://futureme.org> ?

I used that service in the past to send myself a message from me pre-PhD-
completion self to my post-PhD-completion self to ask how it was. Although it
was basically procrastination at the time it was surprising and strangely
cathartic to receive an email from a very different sounding me.

------
TeMPOraL
Nice one :). Good tool to add a little randomness into life - several months
is enough time to forget about all the messages one sent to one's friends. And
then, one day, somebody gets the message and replies... :).

~~~
yid
Thanks, I'll be sure to enable replying to the originating email address... :)

------
bane
Neat take on the scheduled email idea!

( _plug_ our own Momentomail service requires you to schedule a precise
time)...random delivery might be a fun take on the idea -- surprise yourself!

------
fraserharris
With Boomerang for Gmail, you can send a message/receive at a random time. You
might want to ask them how popular it is before pushing forward.

~~~
yid
Just a side project, as far as pushing forward, I'm pretty done :)

------
tekiki
this is very interesting. we used a similar service in the past, though for a
fixed point in time (i.e., send a message to us in 3 weeks).

who are the primary users you imagine for this?

out of curiosity, are you using a system like postmark to deliver emails, or
are you handling email delivery internally?

~~~
yid
I don't really have a user demographic in mind, this was just a fun project
that was easy to set up. I'm using mailgun to deliver the mails, or rather I
will use mailgun in about a month.

------
yycom
Thinking outside the box!

echo "echo message | mail -s subject recipient" | at "now + $RANDOM hours"

------
kgen
So... what are you going to do with everyone's emails? (Besides delivering
their past messages)

~~~
yid
The delivery script drops them after sending. :) I really have no interest in
the email addresses or the messages -- this was just something I wanted for
myself, and something that is intended to be write-run-forget.

------
orofino
So how many messages have you gotten queued today?

~~~
yid
The response has been amazing! The DB currently has 153 messages, 3 hours
after launch... :)

------
Kwpolska
> And yes, it works.

[citation needed]

~~~
yid
I set up the site as a curiosity (and to use it myself), and I can assure you
that it works. It will, however, be at least 1 month till you get that
citation (but more likely several more months).

I use it to record startup and research ideas that I don't have the time to
pursue right now, but want to be reminded of in the future.

