Good Advice
September 13th, 2007 by Michael CarterI chatted with Rob Morris this evening via the orbited livehelp demo. He later joined us with a real irc client on freenode (you don’t actually have to use the livehelp app to talk to us. Just join the irc chat.) He had a number of questions that were particularly good, so I asked him to send me all of his thoughts / concerns about orbited in an email. Within an hour he sent me an email with a list of points, all of them very valid. The list is so great that I decided to post it here. To some extent I think you can treat the coming responses as a todo list for the Orbited development team. I’ll answer some of them in my blog, but primarily I want to make the answers more accessible directly from the orbited page.
Note that I’m not suggesting that all of these are open questions — far from it. Rather, not all of these questions have answers that are accessible without reading the mailing list archives, reading this entire blog, or talking with us directly. Without further adieu, here’s his email:
So, here are my thoughts right now. This is basically a brain dump of what my concerns are after a day of looking at and playing with Orbited.
I’m sure I’m missing obvious things, and that some of my concerns aren’t valid/relevant. Take with a large grain of salt!
Documentation Gaps
Lord knows, this is a big one, but here are 4 that jump to mind.
- You talk about lots of methods of connecting (iframe, iframe-domain, etc) but no where is there a list, with pros & cons.
- The config file is not documented that I could see. That’s kind of a must.
- Javascript how-tos related to Orbited would be very nice. Should be possible to build a nice JS library to do simple stuff. Until then, what is the domain of JS problems that a user would need to address to use Orbited in production?
- Quick overview of JSON and how you’d use it with Orbited (this is not a universal tech yet, and for those that aren’t familiar, it’s ominous and scary without an introduction).
Support Issues
- What browsers fail? (no javascript, no XSS support, IE trusted site issue… others?)
- What net connections fail? (bad/old proxies? restrictive firewalls? HTTP 1.0 only nodes in path?)
- Other failure cases for users?
- What are the server requirements? (run a dedicated orbited daemon, external port, many cheapo hosting plans don’t like this)
- How stable is the Orbited protocol? The apis? What’s the roadmap?
- How stable is Orbited itself?
- What kind of load can it take? Any metrics? X simultaneous connections on Y hardware?
Best Practices
Basically, I’d like to see a map of what a real production Orbited deployment would look like. At the least, you need to address the following:
- How best to handle authentication?
- Data scrubbing/security: <script>alert(’We have a problem’);</script>
- What’s up with the Loading… title and hourglass cursor? How do I avoid/minimize these? Leading to…
- Diff connection models, which is preferred? Why? What is required above and beyond the basic model?
- Scaling overview: what would this look like for a meebo-sized website? What would be required (broad brush strokes, discussion of issues to be addressed)?
- Failure modes: what happens when orbited dies/restarts? Is there a way to rescue the nodes? (ie track all chat messages in DB, resend state as needed, some sort of javascript reset handler for iframe?) What should I do as an orbited dev to minimize fallout from failures?
Other Issues
- You need a wiki.
- You need info about yourselves, including contact information. Anyone looking to use an open-source app is buying into not only the tech, but the team behind the tech for support, leadership, etc. At least an email address! I had to get yours from the google group.
- A list of what to use this stuff for. Chat is obvious, but you can do better than “any app that needs lots of real-time communication”. Give folks a reason to get fired up. Collaborative document editing? Games? Sports scores? LiveBlogging? What are some things you envision to get folks started using the tools?
- The Projects link in your site nav bar is broken, goes nowhere.

December 29th, 2008 at 11:33 am
More than a year after this posting, Orbited documentation is still quite poor…
January 2nd, 2009 at 2:05 am
More than a year after this posting, Orbited has been re-written from scratch 2 or 3 times, so all the documentation which was written for the first couple versions is obsolete. This is just what happens on all-volunteer open-source projects with only a few contributors.