Is it for programmers? The database everywhere paradigm is pretty cool, as well as the pub/sub
Try making a collection, then using the JavaScript console to fetch it.
Then change the publication so it only publishes a few fields, then restrict it to signed in users. Easy enough
I once dragged around a box (div) while capturing the position and recording it on the database (I know… I know…) but seeing that reflected in almost realtime in another browser got a few "wow"s and then I quickly put together a replay functionality and that was enough to see eyes sparkling. It was like cupid hit them with a meteorite
Using Nightwatch to automate through an entire application so they can see how a single person can craft an entire app. After 15 seconds in they’re not entirely sure what they’re seeing; 30 seconds in there’s disbelief, but 60+ seconds onwards there’s just wide-eyed amazement.
I’m excited to be getting to the point of multi-browser ping-pong testing. That’s going to be a hell of a demo!
From nothing to accounts in 20 seconds (make sure you have your client secret/key ready to go during the demo)
Magic this in event handlers. I always take a moment to point out that Meteor just gives you that, preventing you from having to store something in the DOM or whatever
Coffeescript, less, etc without grunt or gulp
Instant CSS hot reload. Use my rahul:animate-everything package for extra oomph during demos
Database access from the console
Complete the entire demo and then point out how little server code (sometimes, none!) we wrote
Show a reasonably feature rich app like cursors and walk through how little code it took to get it to work; I like to point out that the use of the Meteor API is minimal, and what took all the effort is actually browser-specific DOM API stuff. (cube42.nl works well for this too)
When demoing to experienced developers, its usually:
ease of syncing data in multiple browsers
ease of integrating OAuth
ease of publishing mobile apps
The Meteor Day demo is probably the most concise way to present these if you can find a recording (or MDG posts the guide?). It was designed to show the best Meteor has to offer.
I have a simple app that I made for scorekeeping.
It’s always fun to show off by having some people open it on their phones and watch the data update in real time… added bonus, flick my phone into flight mode, continue to track data and when I turn flight mode off all the data syncs.
The best reaction I got was an in-house demo to a group of LAMP stack developers. These guys glaze over at the mention of MongoDB, so I decided to start with the demo and use MySQL (numtel:mysql package).
At the time we were testing MySQL migration plans and had a MySQL server in one datacentre slaving off another in the same datacentre, slaving off another in a different datacentre.
Server 1 had a remote phpMyAdmin, and server 3 had my Meteor dev server connected via numtel:mysql with a browser to render the output:
Those of you who have used the numtel:mysql package will know that it connects as another MySQL slave in order to get the replication log data. So, essentially I had four MySQL servers in a line.
I then used phpMyAdmin to alter the timestamp on a row in server 1. The change propagated across two datacentres and the Internet (to my laptop), and Meteor rendered the change before phpMyAdmin had refreshed its page. Jaws dropped. When I was asked to see how it was done (23 lines of JS) I knew they were hooked.
In an intro to Meteor talk that I did not too long ago, I did a live demo where I made a very simple chat application and encouraged others on the same network to get onto it and watching them see the real-time chat application work was very rewarding and the audience having fun helped a ton. It also showed them how easy it was to get a real time application made. That demo took about 20 minutes to do in total.
It would be a mixed audience, but mostly engineering managers / architects. Some programmers too. To keep the question general, we can specify what would impress what types most.
All it takes is opening Todos in two different browsers, making a change on one and seeing it on the other. Then I explain: “by the way, that just went from this browser, to the cloud, back to the other browser, automatically.”
Hey @cstrat, your app sounds fun and good to demo RT and the offline mode for Meteor apps.
…or, I guess you mean that your phone was simply updated from the server after reconnecting (i.e. after the flight mode off)?
Anyway, can you share the code?
@dandv I don’t think Mongol is a good example for beginners - you really need to experience the frustration of the console to appreciate it. I often compare it to Django Admin or PHPmyAdmin