Trello

Trello

382 Followers
Trello is a collaboration tool that organizes your projects into boards. In one glance, Trello tells you what's being worked ... more
@trello
trello.com
new york, ny
Tools by Trello
This is a community-generated profile. To edit this page claim this profile

Decisions 7

benroeder

Where we have browser support (recent Chrome, Firefox, and Safari), we make a WebSocket connection so that the server can push changes made by other people down to browsers listening on the appropriate channels. We use a modified version* of the Socket.io client and server libraries that allows us to keep many thousands of open WebSockets on each of our servers at very little cost in terms of CPU or memory usage. So when anything happens to a board you’re watching, that action is published to our server processes and propagated to your watching browser with very minimal latency, usually well under a second. Socket.IO

1 14.5K

benroeder

When the data request returns, Backbone.js gets busy. The idea with Backbone is that we render each Model that comes down from the server with a View, and then Backbone provides an easy way to:

1) Watch for DOM events within the HTML generated by the View and tie those to methods on the corresponding Model, which re-syncs with the server

2) Watch the model for changes, and re-render the model’s HTML block to reflect them

Neat! Using that general approach, we get a fairly regular, comprehensible, and maintainable client. We custom-built a client-side Model cache to handle updates and simplify client-side Model reuse. Backbone.js

1 6.2K

benroeder

We use HAProxy to load balance between our webservers. It balances TCP between the machines round robin and leaves everything else to Node.js, leaving the connections open with a reasonably long time to live to support WebSockets and re-use of a TCP connection for AJAX polling. HAProxy

1 4.9K

benroeder

We use Mustache, a logic-less templating language, to represent our models as HTML. While ‘harnessing the full power of [INSERT YOUR FAVORITE LANGUAGE HERE] in your templates’ sounds like a good idea, it seems that in practice it requires a lot of developer discipline to maintain comprehensible code. We’ve been very happy with the ‘less is more’ approach of Mustache, which allows us to re-use template code without encouraging us to mingle it with our client logic and make a mess of things. Mustache

1 4.7K

Followers 382

Juliet Semodio
Manuel Manolache
Joel Quintyn
Binh Le
Andrius Baruckis
Sule Bayraktar
ziocleto
sacha-6over6
Ali Husni
Mikhail Pavlov
Osvaldo Castellanos
Tung Le
Paula Gutierrez
Izi Aviyente
Mohamed Mostafa
Karl Green
yu yeongmin
Muhammad Adeel
Roman Glushko
dimm
KhalilouKarl
Jorge Gamito
Philip Saidely
sun-meihouwang
indeorum
Shahab Gheysari
miranda russian