BrowserNode — superior web technology
We're working on the products below to make web development easier, and web applications more reliable.
Contact Ivan if you are interested in a demo of the Comet server,
or want to talk about how to integrate it into an existing technology stack.
Minerva
Minerva establishes reliable two-way “Comet” (HTTP push) connections to an application server. Both client and server can send arbitrary JSON-parsable frames over the connection at any time.
Minerva was built for JavaScript-heavy websites that need to push data to users, while using the minimum amount of client and network resources. It is intended as a complete replacement (or complement) to “AJAX” requests.
Minerva does the heavy lifting required to connect any browser to a Python/Twisted server. We are exploring a variety of options to integrate it with non-Python stacks.
Benefits:
- Supports many transports: long polling, XHR streaming, IE htmlfile, Flash socket, WebSocket. Minerva automatically picks and upgrades to better transports.
- Better than “long-polling”: uses streaming connections when possible, saving bandwidth and CPU time.
- High reliability: disconnects, hung connections, and broken HTTP proxies won't destroy the connection. This means your application can assume connection reliability, even if the internet connection is unreliable.
- Supports all common browsers: IE6, IE7, IE8, Firefox 2/3/3.5, Chrome 2/3/4, Safari 3/4, iPhone, Opera 9/10
- Supports any usage pattern: high or low-volume updates, large or small message sizes.
- Extremely fast and light client code, < 8 KB compressed.
- No waiting: ~50 milliseconds from page load to a reliable connection.
- No loading spinners: connections do not show “loading indicators” in any browser.
- No memory leaks or CPU thrashing in any browser.
- Full support for both HTTP and HTTPS.
- We've thought about security: Minerva makes CSRF and cross-site data stealing impossible.
We're working on:
- Connection multiplexing: one Minerva connection can span multiple tabs/windows.
- Simple multiplexing: each tab thinks it has a connection.
- Multiplexing to save bandwidth: for example, each tab can subscribe to similar data.
Hydra
Hydra is experimental. We use it to test Minerva, and not typical web applications (yet).
Hydra is a browser automation system. It can launch any browser, and control it like a real user: by “looking” at the screen and sending keystrokes and mouse clicks. Hydra does not integrate with the browser's JavaScript environment or DOM, because such close integration can mask errors or introduce new errors. Hydra can deal with the barrage of modal dialogs browsers pop up: “restore your session?” “install a language pack?” like a real user, by dismissing them.
Besides launching and controlling browsers, Hydra includes many other features to:
- programmatically change the screen resolution
- change the network speed/latency/reliability
- change the HTTP proxy server
- upgrade or downgrade the Flash plugin
The roadmap for Hydra includes link-following and form-entry ability, as well as support for mobile browsers.
Contact us. Copyright © 2010 Ludios Networks