Archive for the ‘Uncategorized’ Category

Willow Chat Presentation at CodeCamp

Saturday, November 1st, 2008

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

Wednesday, October 29th, 2008

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

Saturday, October 25th, 2008

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

Friday, October 10th, 2008

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

Friday, September 26th, 2008

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

Wednesday, September 17th, 2008

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.

(more…)

Integrating Orbited with Web App Frameworks

Sunday, September 7th, 2008

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.

(more…)

Contributor License Agreements

Tuesday, August 19th, 2008

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.

(more…)

Talk at OSCON 2008

Tuesday, July 22nd, 2008

A couple of members of the Orbited team are in Portland for the 2008 OSCON. Michael Carter and Jacob Rus are giving a talk on Wednesday about the recent developments with sockets in the browser and how they’ll make web app development easier and faster. Michael has written two articles for Comet Daily that describe how to use the new HTML5 WebSocket spec:

Michael and Jacob will be around after the talk to chat and answer questions.

Update: We’ve scheduled a Comet BoF for Thursday 8p-9p in room E146. Stop by to chat about anything related to Comet.

Comet for the Non-Web Programmer

Wednesday, July 16th, 2008

the revolution
Orbited 0.5 enables a software developer to create robust, performant network applications for the web. If you know one of the common web frameworks, or are already comfortable writing PHP, for example, just download the Orbited client for your preferred language and you’re good to go. However, if you’ve never done any web work before, or are fed up with the traditional approach, you can just bypass the HTTP hacks altogether and instead write your internet application the way folks have been writing network software since the 70s - with a socket.

(more…)