Introducing Postmile, an open source collaboration tool in Node.js

952 views
Skip to first unread message

Eran Hammer-Lahav

unread,
Aug 31, 2011, 10:59:48 AM8/31/11
to nod...@googlegroups.com

Over the past few months, I had the pleasure of being part of an exciting experiment at Yahoo! called Sled.

Sled was a collaborative list making tool with a strong focus on life events and collaboration between friends and family. Planning a party, a house move, getting ready for a new baby, planning a trip, organizing a junior soccer league, or preparing for a marathon, are some of the areas Sled was focused on. We also found it really useful for building Sled itself, keeping track of issues and assignments.

There is a lot we don’t know about how to make our daily lives more productive and organized, and how to collaborate better. What we do know is that the wide range of tools and services available to us are, generally speaking, not very helpful. Everything is either too limited or too complicated. Usually too complicated. We know what doesn't work, but figuring out what does requires experimentation.

Sled was developed as a virtual startup at Yahoo!, using open technologies and the freedom to experiment. As is often the case with startups and experiments, we have been constantly evaluating the product and its fit within our existing and future roadmap, and have made the decision to discontinue the project (shutting down sled.com at the end of the week). But our story doesn't end there.

We built Sled on an entirely open stack, using open source tools (Node.js, MongoDB, Express, Socket.IO, Jade) and open standards (JS, HTML5, OAuth 2.0). We have relied and benefit from a vibrant community of amazing developers and we want to give something back. One weak area for the community is the availability of fully-baked, showcase applications written in Node.js.

Instead of following the typical industry path of discontinued products, we have decided in the experimental spirit of Sled to release the entire project under an open source license using a new name: Postmile. This means anyone will be able to grab the code and run the entire service, back and front, exactly as it was hosted on sled.com (including the soon to be open sourced iPhone app we never got to release).

We hope you will find Postmile helpful, fun, and an insightful resource for the kind of projects you can build with Node.js today. Check it out at http://j.mp/postmile. You can use Postmile as a back-end API server for building new list-based products (to-do apps, simple project management tools, bug tracking), as a list making tool for your friends or your company, or just as a useful example to grab code from.

At Yahoo!, we are super excited about Node.js and it is already part of our standard infrastructure in many areas. For us, Node.js is not just a cool new toy to play around with but a strategic investment. We have a growing internal Node.js community and at least a dozen Node.js opportunities we would love to talk to you about. Some are:

Yahoo!’s Mobile and Presentation Services team is looking for a principal software development engineer to work on adding core functionality to Node.js. This is a great opportunity for someone with strong kernel and sockets development experience to help take Node.js to the next level as the backbone of Yahoo!’s hosted services infrastructure. http://j.mp/ocqsj3 or contact @olympum.

The User Intent and Experience group is looking for a front-end engineer to join Yahoo!'s innovation track to work on Search Direct and new products. You will work closely with user experience designers, product managers, and other engineers in an agile, highly collaborative team,  developing everything from proof of concept to production systems, both client-side and server-side. http://j.mp/poLgwy or contact @Fabian_Frank.

The Communications Experiences team (think highly scalable experiences used by 300+ million users around the globe) is looking for an architect to lead the development of new unique communication experiences across our entire product portfolio. If you have experience with C++, Audio/Video streaming, REST based service APIs, and of course Node.js, you'll fit right in. http://j.mp/qrGfSF

Check out Postmile at http://j.mp/postmile and let us know what you think @postmile!


EHL

http://hueniverse.com / @hueniverse / @eranhammer

Fernando Correia

unread,
Sep 1, 2011, 9:41:20 AM9/1/11
to nodejs
On Aug 31, 11:59 am, Eran Hammer-Lahav <e...@hueniverse.com> wrote:
> One weak area for the
> community is the availability of fully-baked, showcase applications written
> in Node.js.

I'm learning Node.js and this scarceness of complete sample
applications surely makes that a lot more painful than it had to be.

I intend to take advantage of the release of Postmile to get my
understanding of the platform to another level.

Thank you so much for sharing.

Christophe Eymard

unread,
Sep 1, 2011, 11:35:53 AM9/1/11
to nod...@googlegroups.com
Is there any way to log into the service without having to enter Yahoo/Twitter/Whatever credentials ?

I don't have any of those, and am not planning on creating them either...



--
Christophe Eymard 
(+34) 63 389 98 18 
(+34) 93 390 61 47 
christop...@ravelsoft.com 
http://www.ravelsoft.com/


Aviso Legal: El contenido de este mensaje de correo electrónico, incluidos los ficheros adjuntos, es confidencial y está protegido por el artículo 18.3 de la Constitución Española, que garantiza el secreto de las comunicaciones. Si usted recibe este mensaje por error, por favor póngase en contacto con el remitente para informarle de este hecho, y no difunda su contenido ni haga copias.

Legal Notice: The information transmitted is intended only for the person to whom or entity to which it is addressed and may contain confidential and/or privileged material. Any review, retransmission, dissemination or other use of, or taking of any action in reliance upon, this information by persons or entities other than the intended recipient is prohibited. If you received this in error, please contact the sender by e-mail reply or by phone and delete all copies of the material.

Mentions Légales: Ce message et toutes les pièces jointes sont confidentiels ou même couverts par le secret professionnel et transmis à l'intention exclusive de leurs destinataires. Toute modification, édition, utilisation ou diffusion non autorisée est interdite. Si vous avez reçu ce Message par erreur, merci de nous en avertir immédiatement soit en répondant à ce courrier, soit par téléphone. RavelSoft décline toute responsabilité au titre de ce Message s'il a été altéré, déformé, falsifié ou encore édité ou diffusé sans autorisation.





--
Job Board: http://jobs.nodejs.org/
Posting guidelines: https://github.com/joyent/node/wiki/Mailing-List-Posting-Guidelines
You received this message because you are subscribed to the Google
Groups "nodejs" group.
To post to this group, send email to nod...@googlegroups.com
To unsubscribe from this group, send email to
nodejs+un...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/nodejs?hl=en?hl=en

Nicolas Chambrier

unread,
Sep 1, 2011, 2:02:47 PM9/1/11
to nod...@googlegroups.com

I'm planning to rewrite 301.tl which represents a fully working (prod server's latest uptime is around 3 months), basic (simple URL shortener), and open source application fully written in node.js but still full of bad practices as it was my pet project for learning ;-)

Le 1 sept. 2011 17:36, "Christophe Eymard" <christop...@ravelsoft.com> a écrit :
> Is there any way to log into the service without having to enter
> Yahoo/Twitter/Whatever credentials ?
>
> I don't have any of those, and am not planning on creating them either...
>
> *
> *
> *
> *
> --
> *Christophe Eymard*

Eran Hammer-Lahav

unread,
Sep 1, 2011, 2:10:39 PM9/1/11
to nod...@googlegroups.com, christop...@ravelsoft.com
Right now you can only login with those three providers. It is trivial to get a test account on Twitter and almost as easy to get an application registered with them. Are there other providers you would like to see? I'm thinking of adding GitHub support because I want to create a new client focused on bug tracking (which we found postmile to be really good at with a small team).

EHL

Tauren Mills

unread,
Sep 1, 2011, 5:25:21 PM9/1/11
to nod...@googlegroups.com
Kudos for open sourcing this! Fully-baked sample apps are non-existent
in the node world, so this will be of tremendous value to the
community.

It's not clear if you intend to keep working on the project or not,
but if you decide to add other authentication methods, you should
check out EveryAuth:
https://github.com/bnoguchi/everyauth

I just spent a total of 30 seconds looking at the project and it isn't
clear what module dependencies it has. The package.json file lists no
dependencies. I saw *.jade files, so I'm assuming it is a dependency.
And you are using MongoDB, so there's probably some dependency for it.
Would it be possible to provide a dependency list?

Thanks again!
Tauren

Eran Hammer-Lahav

unread,
Sep 1, 2011, 5:36:46 PM9/1/11
to nod...@googlegroups.com
My goals in getting this open source (beside the obvious desire to see something I have worked on for a year not get dumped) were to provide a fully-baked and easy to install node application, as well as to continue working on this for fun. I think this could be a really great tool for small teams to deploy and I am also hoping to get a public copy running somewhere as a working demo.

One of the things on the top of my todo list is to make this installed via npm and to merge to the npm configuration of the two servers into one file. If you want to see what this uses, check out api/package.json and web/package.json. These are still two separate applications.

The package.json file in the root directory was a bad commit from testing some nko stuff :-)

I am looking for others to join and help out writing new clients and making this a better tool. There are already 32 open issues listed...

Hope this helps.

EHL

Lucas Gonze

unread,
Sep 1, 2011, 5:51:31 PM9/1/11
to nod...@googlegroups.com
Adding OpenID, email, and password-based authentication would be a natural thing to do with the release of source code.

Sri

unread,
Sep 1, 2011, 9:50:47 PM9/1/11
to nod...@googlegroups.com
As a programmer not very familiar with the Node universe, thanks for sharing this app on GitHub. It will help me learn a few things for sure! :-)

Two days ago, I released a real-time, agile project collab tool -- Review19 -- developed on Google App Engine, Python, Channel API and HTML5/JQuery/CSS. 

Yesterday Google massively increased cost of running on App Engine by introducing a new pricing model. Most users are seeing a 3-10x increase. Some even higher.

Although this won't effect me too much right now, it still convinced me to avoid vendor lock-in. That's what drove me here to Node. Specifically SocketIO. Will redo my app in Node! :-)

Getting my hands dirty and trying to build a web app with ExpressJS, SocketIO.

For me, at the very least its good to have your code available as a reference. ;-)

Eran Hammer-Lahav

unread,
Sep 2, 2011, 12:50:21 AM9/2/11
to nod...@googlegroups.com
Doing password-based authentication is not trivial given the number of attacks you need to protect against. This was an important design decision.

As for OpenID... should not take you long to find out how I feel about it (and my 4 years effort to see it die).

EHL

Dick Hardt

unread,
Sep 2, 2011, 12:47:45 PM9/2/11
to nod...@googlegroups.com

On 2011-09-01, at 9:50 PM, Eran Hammer-Lahav wrote:

> Doing password-based authentication is not trivial given the number of attacks you need to protect against. This was an important design decision.
>
> As for OpenID... should not take you long to find out how I feel about it (and my 4 years effort to see it die).

Winning friends and influencing people here as well Eran? ;)

I would agree with the password-based authN.

I think the OpenID support would be useful for picking up Google hosted accounts -- but OpenID 2.0 has failed as being a widely adopted ID standard.

-- Dick

Eran Hammer-Lahav

unread,
Sep 3, 2011, 2:20:19 PM9/3/11
to nod...@googlegroups.com
I just can't understand why anyone would still bring up OpenID at this point...

As for Google, why not just use their OAuth 2.0 implementation? :-)

EHL
Reply all
Reply to author
Forward
0 new messages