Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

David Glasser in Chicago - Meteor: Past, Present, & Future


Published on

David Glasser is a core developer at Meteor Development Group (see his bio at

On September 26, 2013, David was a guest at the Meteor Chicago meetup group ( He spoke about how Meteor has changed in the year since he joined Meteor in September 2012 and showed us what's on the horizon for Meteor's future.

Published in: Technology
  • I have always found it hard to meet the requirements of being a student. Ever since my years of high school, I really have no idea what professors are looking for to give good grades. After some google searching, I found this service ⇒ ⇐ who helped me write my research paper.
    Are you sure you want to  Yes  No
    Your message goes here
  • Writing essays, letters and stories increases the learning abilities of students. That's why writing is much necessary in schools and colleges. Students should not feel burden writing work and must feel that it's not something which they can't do. It can be done with little pain. Try this
    Are you sure you want to  Yes  No
    Your message goes here
  • Be the first to like this

David Glasser in Chicago - Meteor: Past, Present, & Future

  1. 1. My Year of Meteor Meteor: Past, Present, and Future David Glasser (@glasser) Wednesday, October 23, 13
  2. 2. My Year of Meteor • • September 2012: I joined Meteor Development Group • September 2013: I give this talk • Wednesday, October 23, 13 April 2012: Meteor launches publicly ???: Meteor 1.0 is released
  3. 3. Meteor, April 2012: the application platform for the rich client era • • One language • Database everywhere • Latency compensation • Wednesday, October 23, 13 Data on the wire Full stack reactivity
  4. 4. Meteor Past • Wednesday, October 23, 13 Demo time!
  5. 5. Meteor Present What we’ve done in one year Wednesday, October 23, 13
  6. 6. Sending email: September 2012 • • A simple server-side Email.send API • Implemented in my first week at Meteor Development Group • Wednesday, October 23, 13 My first project! Zero configuration needed for “meteor deploy”
  7. 7. Meteor Accounts: October 2012 • • Fine-grained user-based controls over database reads and writes • Federated OAuth login (built-in support for Facebook, Google, Twitter, GitHub, Weibo) • Secure password login • Email validation and password recovery • Wednesday, October 23, 13 Full-featured auth system Optional UI widgets implementing login, signup, password change, etc
  8. 8. Cursor deduplication: November 2012 • • Caching live updating data streams is harder than caching static data • Node’s concurrency model does not lend itself well to this • Wednesday, October 23, 13 Problem: many users subscribe to the same database query, but the live database publisher could not cache Built new concurrency primitives in order to create a live DB query cache
  9. 9. New DDP wire protocol: February 2013 • • Supporting more data types (Date, Mongo ObjectID, binary, etc) • Actually wrote a spec • The messages in the protocol better match the “observeChanges” primitive for watching a database query • Wednesday, October 23, 13 We redesigned our wire protocol based on a year of experience (Also: Improve the logic behind observeChanges to poll less often)
  10. 10. appcache: March 2013 • • Wednesday, October 23, 13 Want your app to use the HTML5 AppCache API to load faster? Just type “meteor add appcache” First major feature built entirely by an open source community member
  11. 11. Engine, a new distribution system: April 2013 • • Pin each app to a specific release • Put your own packages inside your app • Wednesday, October 23, 13 Install multiple releases of Meteor on your developer machine at once Use Node packages from npm
  12. 12. Package linker: August 2013 • • The “linker” release rethought exactly what a package is and how they depend on each other • Packages now have real namespaces • Source maps (including for CoffeeScript) • standard-app-packages • Wednesday, October 23, 13 Meteor is a collection of packages plus a build tool Weak dependencies
  13. 13. Devshop: January 2013 – tonight • • 2pm-late • Invited talks • Lightning talks • Wednesday, October 23, 13 We host a monthly devshop at our office in SF Meet other Meteor users and the core team
  14. 14. Meteor Future The road to 1.0 Wednesday, October 23, 13
  15. 15. Bug Week! • • We’re in “preview” mode • Most of our work goes into brand new packages or rewrites • Over 80 external contributors • We pay attention to our GitHub issues, but we don’t drop everything to fix them • Wednesday, October 23, 13 Meteor is an ambitious project Except this week
  16. 16. Meteor UI: A new rendering engine • • No “when the name changes, find every reference and update it” needed • Current Meteor templates rerender the entire template and use a clever “patch” algorithm to update the screen • Doesn’t work well with jQuery • Wednesday, October 23, 13 In reactive templates, you just write {{name}} and if the name changes, it magically updates So David Greenspan rewrote it
  17. 17. Galaxy: the next generation of “meteor deploy” • • “meteor deploy” has no SLA • Galaxy is an advanced version of the “meteor deploy” server that you can easily run on your own infrastructure • Auto-scaling, auto-updating • We’ve been running our own sites on it since July • Wednesday, October 23, 13 Running your app should be as smooth as developing it Enterprisey features will cost money (aka: yes, we have a business plan)
  18. 18. Oplog tailing: scaling with MongoDB • • MongoDB doesn’t actually have this operation • We fake it with polling and heuristics • Instead, watch the “oplog” for changes • A community user has a prototype implementation that performs well but doesn’t implement the full API • Wednesday, October 23, 13 The core data read operation in Meteor is “publish the results of a query and tell us when it changes” I’ve done a rough draft of a core version
  19. 19. Atmosphere in core: Third Party Packages • • You can write your own packages in your app • No supported way to share packages • Atmosphere/Meteorite: community package repository (582 packages!) • Needs a better versioning story • Wednesday, October 23, 13 Meteor is a build tool plus a set of packages Concept: Ubuntu-style packaging
  20. 20. Next stop: 1.0 • • We’d love to get there as soon as we can • Wednesday, October 23, 13 Meteor 1.0 will be a release we can feel comfortable supporting for a while We’re hiring :)
  21. 21. Thank you! • Wednesday, October 23, 13 Any questions?