Willow Chat Presentation at CodeCamp

November 1st, 2008 by Adrian Weisberg

The Silicon Valley CodeCamp is next weekend (Nov 8 & 9). On Saturday Michael Carter is presenting on “WillowChat: Out-of-the-Box Comet Webchat,”, which is powered by Orbited and js.io.

Orbited.TCPSocket support for js.io joined by Lightstreamer TCPSocket

October 29th, 2008 by Michael Carter

The Orbited Project always strives to push the boundaries of bi-directional web technology, and then roll our advances back into standards. The Orbited.TCPSocket is a prime example — initially it was our internal standard, the separation between protocol and transport. The js.io project is targeted against the TCPSocket API instead of being built directly into Orbited because we always hoped to provide the widest range of integration. For this reason, I’m excited to announce that Lightstreamer will be joining Orbited and Sproket.Socket in supporting the js.io.TCPSocket API. This means that you will be able to swap Orbited out for Lightstreamer in any applications that depend on js.io, including applications developed against the js.io.WebSocket implementation for future-proof compliance with the HTML5 standard.

Our Ancestor’s Secrets: WebSocket Article and Panel

October 25th, 2008 by Adrian Weisberg

Michael just wrote an article on WebSocket for the Silicon Valley Web Builder blog. He talks about his experiences explaining WebSocket to developers, and how we can “recover our ancestor’s secrets” of good architecture.

Michael is on the WebSocket, Comet, HTML 5, and web standards panel that SV Web Builder has organized for October 29th. The panel also includes Alex Russell, Dion Almaer, Ted Goddard, John Fallows, and Kevin Nilson. It’s all going down at the Google headquarters in Mountain View. The event is free if you register online.

Announcing Orbited 0.7.0

October 10th, 2008 by Michael Carter

Today marked the release of Orbited 0.7.0, along with the first 0.7.0 tutorial over at CometDaily. Thanks to everyone who helped with the release.

A couple of new features include:

  • Embedded Stomp broker via MorbidQ. Now you put stomp:// urls in the [listen] section of the configuration
  • Reworked startup api for easier use with outside projects like WillowChat.
  • Improvements to the IRC client (via js.io)
  • Increased stability for Connection handling when the page is reloaded navigated away from then returned to
  • Various small bug fixes
  • See the commit logs and timeline

Django + Orbited 0.6.x Tutorial

September 26th, 2008 by Adrian Weisberg

Dark Porter posted a tutorial on using Orbited with Django. Michael Carter linked to it on Comet Daily, and said:

Obviously it makes sense to migrate to separate processes for a high-concurrency production deployment, but this method is perfect for developing applications and deploying small to medium instances.

The tutorial uses a different technique than the STOMP method I described. Dark Porter takes advantage of the fact that Django and Orbited are both written in Python, and puts everything in one process, including a custom threaded TCP server.

Heartbeats Handle Dropped Connections and Timeouts

September 17th, 2008 by Adrian Weisberg

The 0.6.1 release of Orbited adds a feature called heartbeats that improves dropped connection handling and also decreases reconnects due to timeouts. Dropped connection handling is important because it affects the user experience of a web application. Heartbeats are better than the previous solution of reconnecting at a fixed interval because they do a better job at a lower network cost.

Dropped Connections

A web application can’t prevent most dropped connections. It can only handle them in the best manner possible. Dropped connections are a problem because unless there’s some notification mechanism, the browser won’t automatically try to reestablish the connection. Furthermore, the user will think that the application is operating in a connected state, and won’t realize that they are missing messages.

Read the rest of this entry »

Orbited 0.6.1

September 13th, 2008 by Adrian Weisberg

0.6.1 is a maintenance release that fixes a number of small problems. Everyone is encouraged to upgrade. 0.6.1 also adds a new feature that’s been under development for awhile called heartbeats, which improve dropped connection handling and reduce timeouts. I’ll be writing a post on that shortly.

If you’re using a version of Orbited lower than 0.6.x, this is a great time to make the change, because 0.6.0 marked the change from alpha to beta, with the corresponding stabilization in API and core functionality. Remember to stop by the mailing list, IRC channel (#orbited on freenode or use the LiveDemo), and Trac system to participate in the development process and/or get help with Orbited.

Integrating Orbited with Web App Frameworks

September 7th, 2008 by Adrian Weisberg

The simplest Orbited architecture is to have Orbited proxying messages between the TCP server and the browser using socket connections. Many people, however, choose to use web application frameworks like Django or Ruby on Rails because they helpfully abstract away certain cumbersome tasks. You can easily connect Orbited and frameworks using message queue brokers, and the 0.7 release will feature an integrated basic broker.

Read the rest of this entry »

Contributor License Agreements

August 19th, 2008 by Adrian Weisberg

Michael and I have recently formed a nonprofit corporation to manage Orbited and related projects such as js.io. One of the main reasons for the nonprofit is so that contributors can sign a Contributor License Agreement (”CLA”) with an appropriate legal entity. The CLAs will protect users of the open source software projects managed by the nonprofit, and are a good reminder to think about intellectual property.

Read the rest of this entry »

Orbited 0.6.0

August 18th, 2008 by Adrian Weisberg

Orbited 0.6.0 has been released. See the announcements in the Google group and on Comet Daily. Work is now underway on Orbited 0.7.0, which will add two new features: stream multiplexing and integrated message queue (STOMP) server capabilities.