Drake will talk about what it takes to build, MapAttack, a truly real-time location-based geofencing game. Challenges and limitations, advantages and disadvantages will be discussed.
He'll also discuss the technology behind MapAttack, including Sinatra Synchrony for Ruby, which he built specifically for the Geoloqi's geofencing game MapAttack. He'll also cover what it took to build Geoloqi's real-time streaming API and how it can be used to bring real-time location functionality to existing applications.
Kyle Drake is a software engineer at Geoloqi. Drake helped build Geoloqi's real-time location-streaming API, and he developed the Sinatra Synchrony framework for Ruby specifically for MapAttack, a real-time location-based urban geofencing game built on the Geoloqi platform.
He also developed some of the top Facebook applications as a senior Facebook app developer at Dachis group in Portland, Oregon.
(And it's probably not why you think.)
The realtime web is just getting started and while there are clear success stories amongst some silicon valley b2c startups, how can other small startups and the rest of the mainstream web develop, scale and profit from realtime products?
Khris Loux is the co-founder and CEO of Echo - a leading provider of realtime infrastructure to major media, brands and startups. Together with ISVs they have built and shipped realtime products at scale - making millions of dollars in the process.
Khris will share insights on where the realtime web is going, the business models and techniques to get there and how to turn cutting edge technology into profit.
Khris Loux has a long history of building, running and selling successful technology startups. He works with his team at Echo to define broad philosophical models for how the web might evolve (See: Synaptic Web, Data Portability, Realtime Storytelling, Facebook Tentacles) and leads Echo in executing on its part of the future.
Echo’s StreamServer serves 1 billion search requests/realtime streams a month for major customers like Turner Sports, NBCU, UMG, ESPN/ABC/Disney, Discovery, Reuters, Washington Post, Newsweek, Showtime, Rainbow media and more.
The trouble with data is that it doesn't DO anything. Data is cold, boring, and dead. But with dnode, you can enchant your data with dark sorcery as it passes between the land of the backends and the land of the browsers.
Instead of just passing boring old data around, in dnode you can pass functions around too, and they'll be called on whichever side defined them. Plus you can pass callbacks to your callbacks. It's callbacks all the way down!
POTENTIAL BONUS CONTENT:
Bouncy is a super simple load balancer/http router that you can throw in front of your realtime app. It just works™ with websockets and other shiny new technologies. In this bonus feature I will demonstrate using bouncy to load-balance several dnode processes.
Despite the hype, the realtime web is just an extension of the age-old messaging world into the realm of the web. During this time, we're dealing with the frustrations of a transition period. We're moving from hacks to standard protocols and browser adopted technologies that will give us a more realtime web. There is a lot of confusion as people catch up on basic networking concepts and advance into messaging concepts. There is instability of platforms and libraries as standards shake out and developers actually realize the state of the art.
We're not reinventing any wheels here, or making up our own protocols or APIs (like other JS messaging libraries). We're just adapting proven solutions to a new context to solve real problems. In this talk, we'll show you a preview of NullMQ, what it can do, what it's built on. Mostly it will be a discussion.
Hopefully your mind will be blown.
The structure of web applications is changing. Requirements are changing, technologies are changing, and most importantly user expectations are changing.
Realtime is part of a larger shift in the structure and design of web applications. The old patterns we used for previous generations of applications will not hold up and we need to move on to something new.
Mikeal writes code, he used to work at Mozilla, CouchOne, and Yammer. He has a new thing he can't tell you about or else he'd have to kill you. Mikeal contributes to node.js and writes many widely used node.js modules and is the curator of NodeConf.
Derby makes it easy to write collaborative, realtime applications that run in both Node.js and the browser.
Derby includes a powerful data synchronization layer called Racer that automatically syncs data between browsers, the server, and a database. Racer supports offline usage and conflict resolution out of the box, which greatly simplifies writing multi-user applications.
Derby applications load quickly, because the same templates render both on the server and the client. Nearly all client application frameworks render solely in the browser, resulting in slower page loads. In contrast, Derby makes it simple to write applications that load as fast as a search engine, are as interactive as a document editor, and work offline.
Websites can be realtime with the magic of technologies (like node.js, websockets and more!), but the web is bigger than any single website, and the web is not realtime today.
Open protocols like XMPP and PubSubHubbub help make the web itself realtime by federating data between different entities, structures and websites in realtime.
Julien Genestoux is the founder of Superfeedr.com. Superfeedr fetches and parses RSS or Atom feeds on behalf of its users and then pushes the new entries into the feeds. It is now the leading realtime feed provider on the web and hosts the vast majority of PubSubHubbub hubs. Julien is a strong open web advocate and will push (pun intended) anyone to use standard protocols rather than custom made APIs. Before founding Superfeedr, Mr. Julien Genestoux created Jobetudiant.net, the leading job board for students in France and was named by Business Week among the 15 top young European Entrepreneurs.
In this multi-platform overview, I'll share some code to demonstrate how interactions work on each and spend most of the time digging into the flow of working with the systems on the client and server sides.
As a web developer creating a compelling experience is forefront in your mind. But if you have a companion mobile application, push notifications can be an excellent companion to your real time web application. This talk will cover how push notifications work on iOS, Android, and BlackBerry, and how to program against the different vendor's interfaces.
Adam Lowry is a co-founder and developer at Urban Airship, a fast growing startup and leading provider of messaging and content delivery services for mobile application developers. He lives in Portland, OR, drinks too much coffee, and enjoys building Python network applications.
We live on the unexplored frontier of the real-time web. Current applications inspire and amaze, but new ideas and products are still waiting to be discovered and built. Current tools make it easier to do what is already possible, but how will we accomplish what is today considered impossible?
How will we build a web-based MMORPG or a first person shooter? How will we handle data exchange when every part of our app is a collaborative experience? How will we deal with combinations of future real-time services that must all work together?
In this talk, I'll introduce some ideas that may be helpful for the next generations of applications.
Jack Moffitt is a hacker and entrepreneur based in Albuquerque, New Mexico. He has founded several start-ups built on XMPP technology including Chesspark, a real-time, multi-user gaming platform, and Collecta, a real-time search engine for the Web. Previously he founded the Xiph.org Foundation, an organization that works on building and standardizing royalty-free multimedia codecs for the Internet including Vorbis and Theora. He also created the Icecast streaming media server.
You wouldn't use a fork to eat soup, you'd use the right tool for the job.
Aaron Blohowiak, author of Transitive.io, talks about decisions that every realtime framework designer has to make, describing the advantages and drawbacks of each choice so you will be able to design or chose a framework that makes the right trade-offs for your problem.
Throw out everything you know about scaling. Real-time is a whole new ballgame. I'll cover share my in-depth expertise on how I created a highly concurrent, low-latency real-time web architecture at Flotype, with an emphasis on profiling, gathering metrics, and even some OS-level tuning.
Sridatta Thatipamala is cofounder and engineer at Flotype, specializing in scalable, high-performance real-time web systems.
I've recently started using a form of JSON-RPC over WebSockets and been impressed with how well it works. I think in the future we'll start seeing more and more applications building on top of protocols layered on top of websockets.
Future uses of websockets will be focus of this talk.
Kicksend's a new realtime filesharing and content delivery platform.
In this talk, I'm going to cover our architectural design decisions, the realtime stack we're currently using, the integration issues we faced, launching to the public and managing buzz-y marketing press for an application that's very realtime.
Couchbase Server and Couchbase Mobile both share Apache CouchDB’s web-friendly REST APIs and reliable data synchronization. This makes it easy to build traditional web apps, mobile-hosted offline-capable HTML/JS apps, and native iOS and Android apps, all based on the same data and sync layer. Even better, all of these can tap into the CouchDB _changes feed to track real-time changes to the shared data model as they flow across the network and between distributed clients.
Jens Alfke is a Mobile Engineering Peer at Couchbase, Inc. where he’s developing Couchbase Mobile for iOS. He has a long history as a Mac developer and spent 15 years at Infinite Loop working on everything from AppleScript and Stickies to iChat and Safari RSS, followed by two years at Google and RockMelt extending the Chrome browser. He’s an avid proponent of decentralized social software, despite never having managed to release any. In his spare time he pretends to be a DJ, and cuts things out of plastic with lasers.
When we say “realtime” in a web context, we generally think about Websockets or comet (long polling or streaming). Those are often the best options when a browser is involved (let alone native push on some mobile devices).
But let’s think out of the browser for one second, and review other options. Do we want all our services to talk among one other using HTTP? What about DNode, or ZeroMQ?
We will review a non-exhaustive list of some awesome tools that can help you to develop better realtime apps. Have one node handle millions of concurrent connections, hundreds of thousands of queries per second.
Moving to deployment options, we will discuss how we apply these concepts to run realtime apps at scale on dotCloud.
Half sysadmin, half developer, Jérôme is now working at the PaaS provider dotCloud, where he wears the hats of Evangelist, Support Ninja, and Ops Guru.
Before joining dotCloud, he also co-founded Enix, french provider for cloud and virtualization services since 2005. He holds a Master's Degree in Fundamental and Applied Computer Science from the University of Marne-la-Vallée in Paris, France.
When he's not hacking on his computer, he can be seen cooking, or heard playing the piano, the bass, or the theremin.
Having a good CSS architecture and workflow is incredibly rewarding and beneficial for good development, design, and business.
As continuous integration gains traction in the real world development workflow, style guides and Sass both help keep everything in check. Learn tips for smart, forward-thinking front end web development and maintainability—absolutely necessities for real-time web apps.
After introducing the basics of XMPP, I will outline the basic building blocks for node-xmpp, what aspects to pay attention to, and compare to other implementations such as ejabberd.
Astro is a young hacker with high interest in communication systems. Having helped build Superfeedr, he collected experience with high-performance near real-time message processing. He is currently affiliated with buddycloud where he builds a decentralized social networking service on top of XMPP in CoffeeScript.
Chad will introduce Twilio, a cloud communications company that enables developers to interact with telephony using HTTP APIs. He'll discuss how Twilio uses WebHooks, the grandfather of the realtime web, and how to combine them with other technologies like Pusher and Node. Chad will also demonstrate an ejabberd to SMS bridge, how Twilio Client uses WebSockets for signaling and more.
hook.io is a full-featured i/o framework built in node.js. It's goal is to lower the entry barrier for building robust fault tolerant real-time applications that communicate with multiple sources of i/o across ANY device. hook.io consists of a small core which uses node.js libraries: socket.io, dnode, forever, nconf, and eventemitter2, and then dozens of support "Hook" libraries ( like twitter, irc, email, logger, webserver, logger, webhook, twilio, etc... ). It's designed from the ground up to be as user-friendly as possible, while still building on the very robust node.js ecosystem.
At Nodejitsu, we use hook.io in production for a variety of purposes, ranging from site monitoring to evented child process communications.
The format of the talk would be highly interactive, with live demos of several real-time services. Expect to see Marak live coding for complex real-time applications in front of the audience without fear. Audience members would be able to participate live in demos through various means of i/o such as: phone calls, sms text messages, emails, webpages, rss feeds, twitter, and irc.
Marak is a founder at Nodejitsu (a node.js cloud hosting company) and the author of the hook.io framework. He has spoken at JSConf 2010, NodeConf 2010, and JSconf.eu 2011. He also writes a lot of open-source code.
Node.js provides a beautiful new platform for building realtime applications as long as you are not running on Windows.
That story is changing.
Come to this talk and see how Windows is becoming a great place for developing and deploying node.js applications, whether running on-premise or in the cloud.
Neuman is a Software Engineer at Twilio, where he works on Twilio Client which is an audio pipe from the browser to the telephone. He's originally from Melbourne, Australia and this will be his first time visiting Portland, which he only knows about from watching Portlandia. Let's keep him weirded out.
People want to build realtime-enabled web apps right now, but WebSockets aren't ready yet. Various web messaging services are being build to address this.
In this talk we'll discuss the ingredients of realtime web apps, why third-party web messaging services aren't going to help in complex scenarios, and why generalizing messaging problems is not going to work within the web context.
We'll also present the SockJS project - our attempt to help building realtime web apps. As opposed to other solutions, SockJS is not a magical black box; instead it's a robust and portable building block for web applications.
Developing on the web offers enormous potential for connecting programmers. It also presents challenges to ensuring everyone is on the same page - literally.
In this talk I'll go over how we baked collaboration features into Cloud9 including realtime code editing and chat. I'll also demo the unique way we're connecting the open-source community to foster collaboration.
Adam is the co-founder of nGenuity where he focuses on helping developers ship secure code.
For their season finale, Spike TV’s Deadliest Warrior integrated live segments of the show’s hosts, who commented on real-time poll results taken from the show’s iPhone app, Android app and website.
This dynamic approach helped land the show a Top 10 “Social TV” spot on SocialGuide.com for the night, edging out CBS social TV juggernaut Survivor.
We will talk about what this means for Network TV Industry and how Real-time will evolve the usage of your computer and mobile phone.
With html5 and web sockets, it is now possible to extend native protocols like STOMP, XMPP and AMQP all the way to the browser.
We simply use a Kaazing gateway to relay TCP traffic over web sockets to fan out the broker all the way to millions of browsers simultaneously. Messaging brokers and TCP to websockets relay gateways can also be leveraged to implement peer to peer, browser to browser capabilities.