The Changelog: Software Development, Open Source - Discover Meteor.js (Interview)
Episode Date: May 29, 2013Adam Stacoviak and Andrew Thorp talk with Sacha Greif about his new book Discover Meteor, Meteor.js, sustaining open source and more....
Transcript
Discussion (0)
Welcome back everybody. This is The Change Log. We're a member supported blog and podcast that covers what's fresh and what's new in open source.
You can check out the blog at thechangelog.com and our past shows at 5by5.tv slash changelog.
And this show is hosted by myself, Adam Stachowiak, and Andrew Thorpe.
Hey, man.
Hey, how's it going?
It is an awesome, awesome day, man.
You can tune in live to this show every Tuesday at 5 p.m. Central Standard Time
right here on 5 by 5.
And this is episode number 91, and we're joined by Sasha Grief,
a fantastic, when I say fantastic, I mean in all caps, interface designer, as
well as a guest contributor to the changelog. And I guess now, Sasha, we can add Hacker
to that list as well, right? So welcome to the show.
Hey, guys. Hi.
So we got Sasha Grief on the call here. You've written a book on something really cool, man.
What did you write this book on?
So I've co-written a book on Meteor, a JavaScript framework.
And Meteor kind of, Meteor orcly, came onto the scene about a year and a half back, which
is a fun little rise for that framework. But before we dive deep into the show, why
don't you give the listeners a mention of whom you are?
What do you do?
Sure.
So right now I'm living in Japan, in Osaka, Japan.
And I mostly work on my own projects, such as the book.
But before that, I used to do a lot of freelance design work.
So mostly UI design, web app design. And I worked for companies such
as Hipmunk, Ruby Motion, and also Code Academy. So a lot of startups and a lot of people in the
tech world. But actually, even before that, my main background is computer science.
So, yeah, I kind of have a weird background where I was first more of a coder than designer,
and then now back to being a bit of a coder.
I see the history I know of you is mostly in the design side.
Yeah, well, I have always...
When I say computer science, I went to college to study that.
And if you've studied computer science, you know it has nothing to do with the web.
And it's really different from what we do day to day.
So I didn't really enjoy that that much.
And this is why I went on to work on the web.
And the part I liked the most
about that was design. So I've kind of always followed my interest or tried to, and it's just
see where it takes me, basically. Yeah. Yeah. So you, you do bring up something good that when you
are a computer science student, and it's, I mean, I was a computer science student um and it's i mean i was a
computer science student in college it's a great thing but what we tend to do now uh there's there's
kind of these two different paths you can take and well there's a million different paths you can take
you know cue the music but when when we graduated uh when i graduated you could either kind of go
like the more traditional route or this kind of like emerging web technology route.
And so that kind of gets us to where we are now.
And so with one of the big new emerging, I don't know if you would call it a technology, but the framework of Meteor, very exciting.
It's a very neat project.
I got involved very early on.
And by involved, I mean I joined the mailing list.
So why don't you give us kind of an overview, Sasha, of what Meteor is.
Yeah, why don't you give us an overview of what is Meteor.js?
Okay, so Meteor.js is a framework built on top of Node.
And it's really a full stack framework. So it takes care of the
server side and the client side. And it's made by a couple guys in San Francisco. So the company
itself is Meteor. It's their whole product. And it's interesting for a few reasons, because first of all, it's entirely JavaScript since it's Node.
So personally, I really like that you don't need any context switching between Ruby and JavaScript or PHP and JavaScript.
And the other thing is it's reactive and real-time. So what that means, being reactive, is that any change to the data in the database will automatically get reflected in the user interface in the browser.
And Meteor takes care of keeping all that in sync for you.
And real-time means that these changes happen instantly, which is also pretty cool. Yeah, so being on the web and when you're talking about state and different things like
that, it's really cool to see something like Meteor that you have.
It almost seemed like it was a pipe dream for a long time.
And I think Node.js, obviously, is something that's made this possible.
But it almost seemed like to be able to write code on the server and on the front end, you know, in terms of web development was a pipe dream for a long
time, right?
So this is something that comes along that, you know, Node comes along and then Meteor
comes along.
And this is the reason why I, you know, like I signed up on the mailing list so fast was
because it seemed like this, what I always, you know, thought of and you heard people
talk about as this pipe dream was starting to come to fruition.
And that was people will essentially have to learn one language to be able to write an entire stack on the web, right?
And that's really cool.
So for somebody like you – so we thought, Sasha, that you had more of a design background, but you've kind of blown the top off of it.
But no, so for somebody who does tend to do more design work on the web, this is a great entry point, right?
Because you no longer need to learn all these different technologies to be able to do your own side project or your own gig.
This is just one technology that you can learn in the sense of JavaScript, one language that you can learn to be able to do a whole project.
So is that one of the probably most exciting things about Meteor, would you say?
Yeah, I think it's really exciting and really important because we do this stuff all day.
So for us, it becomes second nature to make Ruby and JavaScript play nice and stuff like that.
But for someone who's new, they'll be like, okay, why do I have to learn two languages just to do what I want to do?
And that's also the reason why I think Meteor is going to be really interesting for people like front-end engineers, designers, people who already know
the syntax of JavaScript but want to start their own side project or startup or whatever
and don't want to learn yet another language just to have a database and have user accounts
and all that.
So what does Meteor look like for things like databases and and that side of things how does
Meteor handle those problems so Meteor works with MongoDB and it's it's very tightly integrated
so it's not that easy to swap in another database but people are working on that right now. And, yeah, because Meteor kind of replicates a subset of your database on the client,
so in-memory in the browser.
And this way you can have very fast access to the data,
and you don't need to go back to the server every time.
So, yeah, you use the MongoDB API both on the client and the server, basically.
So there's a lot of tools that I think came out, you know, before Meteor.
Well, I don't know if they came out before Meteor, but they were, you know, different solutions to different problems.
Like, I think one of them was called Lawnchair.
And it was a, I think it was a, it was, and I don't know if an implementation is the right word,
but it was kind of built around this idea of the CouchDB or the NoSQL kind of stuff.
And it was in local storage.
It was like a simple JSON database, right?
When these tools came out and then Meteor came out after that,
did Meteor use a lot of these tools
or did they rebuild all these things from scratch, I guess is my question.
You'd have to ask the Meteor guys themselves, but I think they built a lot of it from scratch.
I'm pretty sure they did.
Yeah, they did. I just wanted to get you to say that.
Okay.
I think they did anyway as well. And that's one of the things that is almost refreshing because right now it seems like the trend in open source and the trend – I don't even know if it's open source.
Just the trend in development.
I mean Adam and I work in a 9-to-5 together.
I don't know if a 9-to-5 is the best way to put it.
It seems to be a lot more than that.
But we work on our day-to-day or our real
full-time job together.
Even as not an open-source
project, the trend is to leverage all
the other tools that are out there. That's what makes open-source
beautiful. But it's almost refreshing
with something like Meteor when they
say, obviously,
MongoDB, it wouldn't make sense
for them to write their own database. But
wherever possible, let's build our implementation of the solution so that we can make sure it all works together.
And that's refreshing, I think.
I'm excited to see that.
You just hope that it doesn't, you know, create even more options for newcomers to have to figure out what to use.
But, no, it's definitely something that's exciting.
Yeah, I agree.
And I think, you know, having more options, I agree, it can be a problem.
But Meteor is in a space, you know, it's not like one more front-end JavaScript framework.
It's really a thing in itself.
And I don't see many other frameworks like it.
Yeah.
How does it differ from, I think, what is the other, there's another big node framework.
I think it's called Express.
I have never used it.
Have you ever used it?
No, I haven't, so I don't want to say something wrong.
But, yeah, I don't think it's quite the same thing.
Yeah, I don't think it is either.
It would be interesting to actually not be an idiot on the subject myself
and actually be able to clarify.
But, hey.
I guess the closest competitor is called Derby.
They're the ones who do the most similar thing.
Derby.
Yeah.
I haven't heard of that one.
I have not either.
We'll have to reach out to those guys.
Somebody should write Discover Derby.
Right.
Yeah, they should.
Yeah, they should.
They should.
Well, then it's kind of neat.
I was hoping maybe you can share your thoughts on this and maybe just kind of glean into how you got into Meteor. But there's these seven principles of Meteor. It's data on the wire, one language, database everywhere, and a number of other cool buzzwords that are really meaningful to developers. But what was it that got you into Meteor? How did you discover it and then ultimately write a book about it. So it's kind of a funny story because the original reason I learned Meteor was to build
a sidebar.
So sidebar is a site.
It's a very simple site, actually.
It's a list of the five best design links of the day.
So you wouldn't think you would need Meteor to build something like that, like a plain
HTML file
would do just as well. But originally, my idea was to do something more like a Hacker
News for designers. And when I had this idea, I started looking around for frameworks and
existing open source apps, and I couldn't really find anything. So I started working
on my own. And I actually didn't do that I actually hired
I looked for someone to hire or work with on this project and the guy I ended up finding was a Node.js
developer so we worked on that for maybe about a week and then another friend told me about Meteor
and said it was really cool and he had just met the guys because he's in San Francisco.
And they were a great team.
So, I mean, since I wasn't the one doing any of the coding at that point,
I said, hey, sure, I'll pass the information along.
So I sent the link to my coder friend and he said, oh, Meteor looks really cool.
Let's use that for the project.
And like one week later, I started
not hearing back from him anymore. And I guess he got busy. So yeah, I had this brand new
meter app and no coder anymore. So I said, okay, well, I'll see what I can do by myself.
And I guess a couple months later, I wrote a book.
So Sidebar, you can check it out at sidebar.io.
It's cool, right?
It almost looks like Hacker News, right?
Obviously, you picked similar colors, and it's like a beautiful version of Hacker News.
And it doesn't seem to have as much of the negative comments on it, so I like that too.
It's also down to constraints too. It's got five links a day. You're also pulling in some cool people, not so much cool people, but good designers, known designers that either are establishing their own tribe or have their own tribe that they're sharing one good design link per day. I guess the question is, not long before that,
maybe about six or seven months before that,
you built the Toolbox.cc, which probably isn't in a similar space,
but it's about sharing images and links.
Why did you decide to, or I guess,
is there any plans to go back to the Toolbox.cc
and rebuild this with Meteor?
You know, it's like you're reading my mind, because I'm actually thinking that it would
be a very cool project to do just that.
Yeah.
Because the toolbox is built on WordPress, but it doesn't use any of the features like
comments or anything.
So yeah, it would be pretty easy to build in Meteor, and I was thinking it could make
for a good screencast or tutorial.
Or another book.
Or another book.
WordPress to Meteor. I mean, that's your title right there, right?
Yeah, exactly.
So now that we kind of know what Meteor is and talked about a couple of the projects, why don't we move on to the book?
Discover Meteor was written by you and another guy. Who was the other guy that that wrote if you want to introduce him okay so the other guy is tom coleman and i feel like you
should say the book was written by tom coleman and another guy because he actually has a much
better credentials than me at least in the meteor community because he's the main guy maintaining Meteor, right? Which is the third party package manager for Meteor.
And apart from that, he also has the router package, like one of the main router packages
for Meteor and a couple other open source Meteor projects.
So yeah, he's a really smart guy.
And I feel like outside of the Meteor team, he's one of the people who know the most about Meteor.
So you and him get together.
How did you guys meet and decide that you were going to write a book together?
So we started working together on Telescope.
So Telescope is the open source app that I ended up building with Meteor in order to build Sidebar.
So I decided to make it open source and I went looking for people to help me with the process.
And Tom was probably the most helpful person.
He helped me a lot with the more intricate parts of Meteor.
And we just connected and we started working together on this.
And eventually, we felt that we learned so much building Telescope
that it just made sense to write a book.
So a little side note, it's not easy to find Telescope.
I don't know if there's another URL besides the T-E-L-E-S-C dot P-E.
But if you check it out, and I wanted to just mention this,
those are probably the two coolest buttons that I've seen on the web
are the Try Demo and Fork on GitHub buttons on Telescope.
Thanks.
I love them.
So Telescope is a project that was actually before Discover Meteor.
And when you guys were writing Discover Meteor, you essentially recreated a smaller version of Telescope for the book.
And that's kind of the whole book, right?
You kind of a tutorial type book that takes you from zero to deploy of this other app.
Exactly.
So Telescope is a social news app,
so basically a Reddit or Hacker News clone.
And the app you're building in the book
is a smaller, lighter version of it called Microscope.
And so it's also a Hacker News clone,
but with a few less features compared to Telescope.
Gotcha. So who would you say is the target audience for the book, Discover Meteor?
So I like to say there's like three target audiences.
The first one, and I guess the easiest one to reach, would be existing Meteor developers.
And so far we've had a really good reception with them.
But the second much bigger audience is just developers in general. So I believe there's
a lot of interest for Meteor out there. And even people who are Rails developers or PHP developers,
since they all already know JavaScript, probably, getting started with Meteor is not a huge leap for them.
And I guess the last audience, which might be even bigger,
is just people who don't see themselves as programmers at all.
So designers, maybe people who, you know,
marketing people who want to learn to code, business people.
And maybe Meteor is still a little bit young for them,
but I believe eventually it will become a pretty good option,
you know, as their first programming environment.
So the book would be very appropriate for them too.
Yeah, I'm about halfway through the book right now,
and I intend to write up on it on the changelog when I'm finished.
So far, I'm really enjoying it. It's been a great book so far.
Is the book itself written in Meteor?
Yeah, you could say that.
So when you buy the book, you get access to the online version of the book, and that is a Meteor app.
So the reason we did that, first of all, we couldn't find any other good solution to restrict access to only people who have bought the book.
So we had to create our own.
And we picked Meteor.
First of all, if we didn't pick Meteor, people would ask us, oh, you're writing a book about
Meteor, why didn't you pick Meteor for the app?
So that was a big reason.
And also, although right now there's like no real need for Meteor in that app,
eventually we'd like to add things like maybe real-time annotations or maybe showing you who else is reading the book at that time.
And using Meteor gave us the freedom to, in the future,
maybe add a lot of cool features like that.
Yeah, real-time annotation would be cool.
You would think just because it's hard as an author, right?
So you know Meteor.
You know core principles and software design, software development. So it's hard, I think, to kind of, like, reach the gamut of everybody
because you might, you know, assume some gaps in knowledge
that are probably assumptions we shouldn't make.
So something like real-time annotation seems like it would be really cool
for people to be able to, like, if they have no knowledge of programming at all
or if they have, you know,
no knowledge of JavaScript, then they can, you know, some people can start conversations around
pieces that might not make sense or, you know, might help clarify it and then, you know,
potentially even get back into the book through another distribution of it. That'd be pretty neat.
Yeah. And so what we've done now is we have discussed comments in the sidebar, which is not as good as annotations on the actual text, but you can already see people talking to each other and answering each other's questions.
So that's pretty cool.
So how has the popularity of this gone for you?
What have been the channels that you've kind of pushed this out through?
I guess the main channel was just our mailing list.
So for the past four months, basically ever since we had the idea for the book,
we started collecting emails and wrote a blog on discovermeteor.com.
And apart from that, the Meteor guys have helped us a lot with promotion, like featuring the book on their blog and in their mailing list.
We also had a lot of great reviews on sites like DailyJS, InfoQ, and a few others.
So yeah, I guess all that together ended up being a pretty good source of sales.
And I think we just crossed like 1,000 sales, I think.
Wow.
Oh, wow.
That certainly shows there's definitely an audience there for sure.
I mean, obviously, there's a media audience.
But just in general, it shows the – I mean, you've only released it, too, about what, three or four weeks ago at the most?
Yeah, three weeks ago.
Yeah, that's insane.
That's pretty crazy but uh you wrote a i mentioned the first part of the show that you were also a guest contributor on the changelog so for those tuning in uh sasha's actually written on the
changelog he wrote a post called six months with meteor why the future of the web is real time and in there you made a
very a very bold statement i would say i would hope that maybe you can back up here on on the
show you said the future is okay you said the future is real time and uh there was a lot of
conversation about that on hacker news when we posted this link to there and i think that was a
pretty dramatic day for the change law too because this
post brought in i don't even can you remember the number but it was like like 15 000 visits that day
alone or something like that so a lot of conversation on hacker news around uh you know
these types of statements and just using media in general so what do you say when people ask you
why the future of the web is real time yeah first Yeah, first of all, you got me scared, Derek,
because I didn't remember what statement I made.
No, I wasn't going to throw you under the bus.
Don't worry.
Okay, so, okay.
The reason I said that is if you look at your computer,
almost everything is real-time.
Maybe not real-time in the sense of things happening in real-time, but real-time in the sense that
you don't need to refresh Windows to see changes, and there's not this idea of page requests.
So the example I always give is if you open the same window on your Mac or Windows, whatever,
or rather the same directory into Windows, and you delete a file from one of these Windows,
it will also be deleted from the other one.
You don't need to refresh the window.
There's no refresh button on the desktop.
So why should it be different on the web, right?
And I think the only reason it's different
is because of technical limits that were there up to now.
But as these limits go away, I think more and more web apps and websites will move to
a real-time model.
And again, I'm not saying real-time in the sense of, oh, every update is happening one
millisecond after it happens, but more in the sense of not having to refresh the page.
Right.
Real-time in the sense that you're not having to initiate to fetch the data to update the state of what you're looking at, right?
Exactly, yeah.
So the page itself is in charge of keeping itself up to date.
And on that note, you also said thinking in real time also influences your coding style.
What did you mean by that?
Okay, so this has to do more with reactivity.
So Meteor uses reactive programming, which means there's no callbacks or very few callbacks. And basically, every variable, if a variable changes,
it will be re-evaluated automatically
without you needing to do anything about it.
So, I mean, it can be very powerful,
and it can be also very dangerous and very tricky.
So, to give you a practical example,
if you have your user object,
and that user object is reactive,
anytime you change a property of the user, like their email or whatever,
it will trigger a recomputation of that variable anywhere where it's used. So if you're using that to check permissions in your router filter, for example,
that will rerun even if the variable that you changed on the user
actually has nothing to do with that.
So these kinds of tricky things that you need to learn.
And I don't think it's any better or any worse than the traditional way.
It's just a different way of thinking and of coding.
You bring up a good point,
and this is just maybe a side note that I wanted to ask you.
Are you, how close to actual the Node.js community
has the Meteor community gotten you?
Not very close at all, I think.
Well, you brought up something interesting
when you said that there aren't many callbacks in Meteor.
And if you've, and this is maybe a little rabbit hole so stick with me but if you've
gotten into the node.js community at all and you've kind of got on the mailing list or gone to any of
the uh you know chats that people talk about it there's this debate that comes up often and it's
about you know pipes and streams and callbacks and this and that and you know what's the right
way to approach these solutions.
And I was wondering, and maybe you haven't really heard anything about it,
but have you heard that in the Meteor community,
all that kind of a debate with that type of stuff?
No, I'm pretty sure that Meteor is different,
and if you don't like that way of doing things,
you probably would not be using Meteor because that's their whole,
one of their main selling points is reactivity,
and it's hard to dissociate that from Meteor.
So it is what makes Meteor Meteor.
Right, exactly.
It's a secret sauce, man.
Cool.
No, yeah, the book Discover Meteor, again, it's a very, very good read.
It's not too difficult or too long, but it's definitely not one sitting.
So I find myself with far less time to read than I had before my wife and I had our first son, obviously.
And I've been able to step away from the book and come back, and unfortunately I was hoping to finish it much quicker than I did.
But one thing that I think is a good thing to say about it is that I was able to step away and come back and not feel like I had lost too much time, not feel like I was too overwhelmed with the amount of gap that I had spent. Uh, that's not a, that's not a sentence,
the amount of time that I had spent away from it. So, uh, again, I mean, I guess that's just me,
another way for me to say it's a, it's a, another way for me to be a fan boy of it and say,
it's a great job. Thanks. That's great. And I'm glad you say it's a, you didn't read it in a
single sitting because we had a testimonial from someone who said something like, oh, this book is so great. I just read it in two hours.
And we're like, yeah, I'm not sure that's good.
Well, especially, I mean, the way you, I mean, that also brings up a different subject too, which is the way you slice up the book too. The way you can buy it is much different than, let's say, a different book.
And I believe you even have a blog post about the pricing trilogy and all that.
Maybe we can talk about that a bit.
But if you go to discovermedia.com slash packages, you've got it sliced up into just the book,
which is $39, and you've got the full edition, which has members area, code, live instances,
and screencasts, and all these other goodies that you're packing into this.
And that's the Red Giant package at $89.
And then you get this forthcoming or coming soon edition, the premium edition.
So, I mean, if you're sitting down in two hours and reading this,
then that's probably not the best way to do it.
But what brought on this, I guess guess type of way to release a book um so it's
actually a pretty common way of releasing books i think at least uh maybe not for programming books
but for you know design books or business books and i feel like the main guy who's doing that is
nathan barry who actually just came out with his third book. And every time he launches books, he has this system with three plans, three packages.
And the first one will usually be, you know, priced well.
I mean, not cheap, but not too expensive either.
Then there's a middle one that's priced a little bit higher.
And then the top one is priced usually like really expensive and he
prices his top package at 250 dollars and we did 159 so what i learned from him and he's been very
open with his sales number is that the top package even though it will sell less in quantity in
revenue it will bring in a lot more revenue
than all the other packages combined
just because it's so much more expensive
so I felt that we weren't sure at all
if people would buy the top package
especially since it doesn't actually exist yet
but we didn't want to miss that opportunity and we wanted to see if there was a market there.
So we decided to make the effort to come out with these three packages rather than a single price point.
So have you – I don't know if you're willing to even disclose this, but have you had many sales on the premium edition?
So, yeah, surprisingly, we did.
So I think that the revenue breakdown is about the same for each package.
So meaning we made almost as much with the top one as the other two ones.
And I think if the top one was actually available at launch, we would have made even more.
This is the third project in a row, I think, where I've noticed a little funny nugget on
the products webpage that we've looked at.
And on this one, I see codename Red Giant for the full edition and codename White Dwarf
for the premium edition.
It's kind of neat.
Yeah, it's the life cycle of a star.
So I guess the next step is a black hole.
Yeah, I don't know if you should do that one
yeah it's not that appealing uh andrew you're so you're so cunning my friend so cunning so where
do you get the reviews from typically for this that that are on your uh that are on the site
do you go out and ask people to write reviews or are these have these been just submitted at, uh, the will of the readers?
Um, so some of them we've asked, so, uh, daily JS info queue, uh, a few reviews. Yeah. We,
we asked because obviously before you launched, nobody knows you. So no, people are not going to
come out of the blue and review your book. Uh, but other than that, uh, it's, uh, people just
have been reviewing the book.
Some of the reviews are actual reviews people did on their blogs,
some are quotes, and we also have a lot of tweets.
So the tweets are all spontaneous.
We don't plant fake tweets.
So I'm going to butcher his name because I've never actually known how to say it,
but the founder of Meteor is it Matt DeBergolis?
DeBergolis?
How do you say that?
DeBergolis?
DeBergolis.
So he wrote a review for you and it seems like that would be a good thing that maybe
the Meteor community itself or the Meteor team are embracing this.
So what is it?
What kind of response have you gotten from them for writing this?
Oh, yeah, we've gotten a great response.
I mean, first of all, we released the book in San Francisco at a release party,
and I think over 120 people from the local community came.
So, I mean, that was our first indicator that people in the Meteor community were really looking forward to the book.
And yeah, I mean, all the feedback we got from them was really good.
And even like, well, actually, the feedback we got the most was, oh, I wish I had this six months ago.
Yeah, not bad.
I mean, it's starting at the, I think what is probably the easiest way to learn anything is by doing.
And you've got the screencast to go with it.
And I guess depending upon the package you actually get when you get the book.
But, I mean, you can start the bite off as much as you like.
But it's learn by doing, which has been said many, many times.
And that's the best way I know how to learn.
I mean, that's how I learned for myself even, of course.
So actually, maybe I can talk about that a little.
Yeah.
This inspiration for the book structure was the Rails tutorial by Michael Hartle.
Hartle, yeah.
And that's how I learned to code in Rails. And yeah, what I really like with that book
is that you were building an actual real
thing.
It wasn't just theory.
It wasn't just a syntax.
It was,
uh,
getting something out the door.
I think what you were building with Rails tutorial was like a,
a Twitter clone.
Is that right?
Yeah.
Yeah.
So what was it that I can't,
and you may have already said this,
but telescope is, let me make sure I have this
right telescope is kind of the the social news app part and then you're actually using telescope
for sidebar is that right yeah so which part of in the process of this creation of this
you know set of tools did you decide this is what makes sense to do for the book?
Well, first of all, we knew we wanted to reuse the idea of Telescope because this way it's in the continuity of what we were doing,
and also people can maybe transition from Microscope to Telescope
if they want to contribute to the open source project.
So it was just all tied into a single app idea, I guess.
But also, like, it's actually a pretty good concept
just to learn a language,
because you got user accounts, you have comments,
and you also have a bit of the real-time aspect with real-time voting.
So it just made sense to keep working on the same Hacker News clone idea for the book.
Have you actually, you said that it would almost be able to encourage somebody moving in,
actually contributing to Telescope.
Have you noticed an increase in popularity in Telescope since this?
Not really, because I think at this point,
people who already knew Telescope,
or rather experienced meteor coders already knew Telescope,
and new meteor coders are maybe not at the point
where they would feel comfortable contributing yet.
But in the long term term i definitely expect it to
help telescope yeah gotcha so telescope itself has uh you know almost a thousand stars and 250
forks so it seems like it in and of itself is a pretty popular project that you're working on
yeah and i just wish i had more time to work on it, but it's pretty popular.
So it's still fairly young, so I don't know how many of those forks are actually being used in production somewhere,
but it's definitely amazing to see all the interest and what people are doing with it.
So you say Telescope is in beta.
What makes it in beta, and what's kind of the goal to get it out of beta?
So there's a few features that I'd like to add, like a search and also just cleaning up a lot of the code well for example we learned a lot writing the book and you know we had to really
think hard about which patterns are best to to build microscope so i would like to re-inject
those patterns into telescope to make sure both code bases are coherent so ideally telescope would
be just like a bigger more complex version of microscope but with all the same things in the same places.
So that's something I need to do.
And also just there's quite a few bugs to fix and, you know, things that work, but not as well as they should.
So it's more of a general, yeah, polishing up of the project.
With all these different projects that you got going on, where do you find yourself spending the majority of your time?
So for the past month, it was definitely the book.
I had a very bad habit in the past, or I guess I still do, but I'm trying to improve it,
is just being too unfocused and jumping from project to project.
So it has some good sides, like some good points,
because first of all, well, it's fun to do,
and you get to meet a lot of people and learn a lot of new things.
But in the end, I feel like if you really want to achieve something,
you need to focus all your energy on one project. So for the past month, I a sidebar on hold like i didn't add new
features to it i put telescope on hold uh same with folio and all my other projects and just
focused on the book speaking of folio i exchanged a tweet with you uh thinking the deep parts of
last night as i was trickling away to bed but i was was kind of laughing, I guess, in a happy way, I guess, as a friend might do to another friend.
But you were like, I guess you didn't introduce Folio, but Folio is this community where designers can submit themselves
and people who would like to work with freelance designers can come and request projects and mention projects.
And it kind of goes out to this I guess curated list of
available designers based on you and you've got this somewhat big I guess waiting list of people
waiting to get into as designers into into folio yeah so I used to have like you know maybe 10
people a week applying so that was okay but you for some reason, maybe I got some links or whatever.
Now I have a 250 people waiting list.
Also because for the past, like I said, three or four months,
I was just focused on the book and didn't check that waiting list too much.
So now I have people who have been waiting for like two months
to have their account approved.
And your response back to me was, yeah yeah sometimes i wish the site was less popular yeah
yeah i really do sometimes well maybe you know that's i guess it's kind of like the the fun part of success sometimes is once you get so far and that kind of goes back to what andrew mentioned is
is how do you decide on what to spend your time on is it this kind of even trickles into the blog post
you mentioned too which uh or i mentioned earlier that you wrote about the pricing trilogy which was
if you're trying to maximize revenue that was a different case here but are you are you motivated
by community involvement are you motivated by uh you know pursuing your interests or is it
what is it that kind of interests or is it, what
is it that kind of drives you? Is it monetary? Are you monetarily driven?
Um, I'm pretty sure I'm not monetarily driven because if I am, I'm doing a pretty bad job
at it. Um, but yeah, I would say it's my interest. Um, it's very easy for me to get interested in a new thing and
have new ideas so um yeah usually i you know i get this idea and then i will start working on it
and maybe you know do a photoshop mock-up and then say hey that's pretty cool and you know just do it
or at least like i mean that's i think that's really important it's really important to be
able to do that but you also need to limit yourself like i said so yeah it's hard to find the
right balance between you know never doing anything else besides your nine to five and then
launching a new thing every week because it's just so fun right so we talk about a topic we
like to talk about a lot on the show is, you know, open source sustainability. Right. And with Telescope, you have it, you know, it's obviously an open source project that codes on GitHub. When you froze to write this book, you said you froze development on Telescope. Did you actually, you know, like make an announcement that you were not going to develop on Telescope? Did you actually freeze development, or was the community still working on it behind you?
No, the community is still working.
I didn't do any official announcement.
It's more than before I would respond to pull requests
or bug reports in a couple hours,
and now it's like a week or soon.
Yeah, I did want to mention too that you've been very responsive
and you said, so you're in Japan, so you're in Japan time right now.
Is it 7.39 a.m. there?
Yeah, it is.
And it's 5.39 p.m. here.
It's impressive.
Has there been any, you know, I don't want to say that most developers are in the U.S. because I don't think that's necessarily true.
But I would think that a lot of the people who are working on, you know, Telescope and working with you and want to, you know, maybe talk to you about the projects you're working on.
Have you noticed any kind of like, you know, a barrier with time being a problem at all? Not really. It's usually okay because the time difference is big enough that when it's morning for me,
it's still day on the West Coast and early evening on the East Coast,
so I can always find the time.
And in a weird coincidence, Tom is in Melbourne, Australia,
so we only have one hour of time difference, which is very convenient.
Yeah.
Yeah.
So to kind of get back to what I wanted to ask before with open source sustainability, to do a project like Telescope, which I think is a very – I don't know.
I don't have the word for it, but it's a big project, right?
It's something that – and it's almost limitless, right, how big this project can get.
Have you experienced any kind of like burnout with working on this?
You said that you like to start things but sometimes maybe have a problem finishing them.
I don't know if you said that.
I don't want to put words in your mouth.
But have you noticed with Telescope, like have you gotten tired of working on it at all have you decided to like you know take a break from it just because of
you know the the everyday answering pull requests and stuff has gotten old to you at all
well i think that's definitely a risk but it hasn't happened to me and i think that's because
i'm using telescope for sidebar so basically every time i want to improve sidebar i have to improve telescope first so i
think that was a pretty like i didn't really plan it out too much that way but in retrospect i think
that was a good choice because otherwise it's true that i would probably have less motivation
to work on telescope and risk burnout a lot more. Gotcha.
I think Sidebar is a really neat project.
And I think just kind of to add to what you're talking about, Andrew,
about sustaining open source, I think it's a trend if you go back and rewind through the past few shows.
When we talked about this, there's been some sort of personal gain,
whether it's forwarding interest or forwarding interest or forwarding,
you know, income or whatever it might be. But, you know, in Sasha's case, sidebar
is his motivation. And you do get some money from that. I believe you have sponsors and you're still
growing this. I'm sure you have, you know, some sort of plan in terms of how you'll make money
from it. But that's, it's kind of neat how, like you said, it was sort of accidental in a case
where you didn't really purposely set it up like that, but how it filters back into open source.
I think if we look at the community and just kind of be more mindful of that, that as we see personal projects spruce up like Slideboard.io and what that could mean for a micro framework that pops out of this, written in Meteor in this case, telescope.
And then it's just really neat
how open source becomes a bit easier to sustain.
So there's a post on the changelog ages ago
that Wynn written about the top 10 ways
basically to get us to cover open source
or I can't remember exactly what the title was nowadays.
Why I'm not using your open source project.
Yeah, exactly.
And we get people asking us all the time,
like, you know, just solving a problem in open source.
It's the same as, you know, startups, I guess, in a sense.
Like, if you're just trying to solve a startup problem,
not so much solve your own problems,
it's going to be kind of hard to sustain that, you know?
But in your case, you've got a personal gain to it
and you started it and the community has adapted to it and has done it as well so they're helping
you push it forward but every as you'd mentioned every new thing you want to add to sidebar
goes into into telescope first yeah and in the beginning i was really you know hoping telescope
would get big and people would contribute and i wouldn't have to code anymore on it.
Nice. Has that happened?
No, not at all. And so now I have more of a long-term view.
I mean, people say that it takes like three years to build a company to the point of profitability, I think.
And I kind of have the same view for Telescope,
so I'm using it.
If other people are using it, it's great.
If not, it's no big deal.
I'll just keep improving it,
and hopefully one day it will get to the point
where it doesn't make sense not to use it.
So let me ask you a question.
When I kind of first, I don't know,
this question has come up in a lot of different areas, not just with Meteor, but I think this is one that you've probably had to solve or that you've had to leverage Meteor to solve, and that's the idea of SEO and indexing your website and stuff like that.
How does Meteor handle that, and have you actually had to kind of solve that problem for Telescope and Sidebar?
So Meteor has a package called Spider Rebel that does that,
and it uses PhantomJS.
So basically when Googlebot fetches your site,
it will run PhantomJS and give the result to it.
So it works pretty well.
I do have to confess that I have not actually activated the package on sidebar because I think I just moved servers and installing PhantomJS is kind of a pain.
So, yeah, I mean, that's a downside. Obviously, I'm looking forward to the day
where Meteor does real server-side content rendering. But until then, I guess it's a
good enough fix.
So Meteor has kind of their own little hosting platform, right? You can deploy your apps
to Meteor's servers. But I imagine you're not doing that with
sidebar since you just said you've you've changed them so at least you've moved off of it but
have you used the Meteor servers and what are you using for yours?
So yeah the Meteor servers are very convenient because you can deploy with just one line of
one command line but yeah it's not meant for production use or any serious use.
It's pretty slow and doesn't hold that well under traffic.
But you know it's free, so you can't really complain.
I guess for me a better alternative is Heroku.
So I've tested Telescope on Heroku a lot,
and I think it went up to about 150 concurrent connections,
which, I mean, that was like on a free Heroku
dyno, so again, it's not that bad. And for Sidebar,
I'm using DigitalOcean, which is really cheap and
really, really fast, so I really recommend them.
And for the Meteor books books, uh, I mean,
discover meteor app, we're using a EC2. So the, the book itself, and to go back to your book,
discover meteor, I forgot to ask you earlier, the, the art on the website is a beautiful book. It's a pretty popular style for your e-books.
But that leads me to the question,
is there ever going to be a print version of this book available?
Yeah, you know, I really don't know.
What we've been saying is that we'll consider that
once Meteor stabilizes at 1.0,
because until then it doesn't really make sense to come out with a book
if the framework itself is going to change next week.
So obviously, we're going to keep the online version, PDF, EPUB,
all that up to date with the changes of Meteor.
But after that, maybe. Who knows?
I will say, though, though that personally i don't think
like i wouldn't use a paper version of the book because i think it's uh inferior to the digital
version uh first of all we're talking like about the you know using the the app of the book in a more interactive way with annotations and stuff. So even now, for example, we have links to code commits.
So every, like, maybe two or three times per chapter, we have a code commit of the app
at that stage.
And we also link that commit to a live instances of the app.
So those are things that would obviously not be as easy to do with a physical book.
I don't think Meteor handles the physical book part yet.
Yeah, it wouldn't be real-time and reactive.
So I want to give a shout-out to a project that I actually covered on the changelog
a while back, and I don't know if you've ever heard of it. It's just a Meteor.sh. Have you heard of it? Meteor.sh? Is it Meteoric.sh?
No, Meteor.sh. So it's a little shell script that you can actually set up a Meteor server and deploy
Meteor apps to it. And it's kind of shocking how easy it is to set up a Meteor server and actually deploy your code to it.
It's a little shell script that you can check out.
We'll put the link to the repo in the show notes, but that was one of my first kind of, I don't know if the exposure or experience is the right word but uh when i saw the meteor.sh i think that's when i
decided you know what this is something that actually uh has a shot to take off and go
somewhere because um before that you know you i don't know you hear about a lot of stuff and it
seems like meteor is one of the ones that is just blowing up in popularity and growing um
but no matter how much it grows i think one of my biggest pet peeves – and let me know what you think about this.
Why is the mailing list email still so ugly?
Do you mean the Google Group's email or the –
No, no, the actual updates that come out from the team.
They're just the text and it's so bad.
Yeah, I don't know. I don't think they have a, well, I'm not sure. I don't think they
have a designer like working on their stuff too much. So yeah, I'm trying to tell you
that you should, uh, you should get involved and help out with that. Yeah. If I had more
time, just another thing to work on.
So for those of you that have kind of listened to the show and newcomers alike, we kind of asked the two questions at the end of every episode.
The first one is for a call to arms.
So with the book Discover Meteor, you might not have necessarily a call to arms as far as, I guess, you would like for people to just buy the book.
That could be your call to arms for that.
But what about with Telescope? What are some features or just what would you like to see the community kind of rally around and do for the project Telescope?
That's a great question.
So I've actually set up a telescope instance to talk about telescope.
So meta.telesc.pe.
It's a very hard URL to say.
Yeah, it sure is.
Using a dot in place of the O in telescope.
But anyway, so yeah, we use this board to just track new features and what we want to work on.
So you can head there and take a look.
And in general, I guess it's not even, you know, developing new features as much as just using the project.
Because I believe the only way people are going to be motivated to contribute to Telescope is if they're using Telescope for their own project, right?
Like I am.
So yeah, I would encourage people to just think of cool users that they could come up
with for Telescope.
For example, we have one guy doing a Telescope for the Meteor community in brazil um another friend did uh use telescope to set up a a board for um google io
i think just to to centralize info about that so yeah think of a topic that you you like and that
you're interested in and see if you can use telescope to just create a community around that
and yeah i think that it's something that can
definitely um i think that there's no limit right to what communities could benefit from this and
we've had it's interesting we've had a few different this is adam this is almost like an
ongoing theme we have of we're bringing on projects that uh you can I don't know what the best way to put it is, but you can use these projects to almost build a community around the project itself.
We did that with Discourse.
We did that last week, and now we're doing that with Telesco.
That's kind of a weird coincidence that we're bringing on these projects that you can use the project to
talk about the project itself inception just like that so yeah it's inception of hacking so
sasha our last question and and this just gives you kind of a chance to
give a shout out to anybody you want but who would you say is your programming hero? Oh, that's a hard one.
Programming hero.
Well, I guess I could say Tom Coleman,
but that would be cheating.
Yeah, that's really hard.
I guess you could say your design hero too
because you've kind of spread the gamut of both realms.
So I guess my
programming hero or i guess one of them would be john racing um because like jquery is what really
got me into javascript and without that i guess i wouldn't be doing any meat here and design hero
um that's another really hard one there's so many um
well i guess not so much a person but dribble like i guess dribble is my design hero because
that's what pushed me to to really improve my game and and um try and and you know do better than
what i was doing we which was pretty crappy.
So I guess Dan Cederholm's not your hero, but the community that he's helped develop over there.
Sorry about that, Dan.
Yeah, sorry, Dan.
That means tell my hero to go.
No cookies.
That's awesome, man. Dribbble is a fun community.
I can imagine, too, because, you know, each shot you put out, I mean mean you're pretty popular on on dribble as well
but um it just goes to show that each new shot you put out if you're always trying to improve
from the shot beforehand how that plays into how you become a a better designer and i know that
you use that uh community as a show and tell but also as a way to take that criticism, so to speak, and improve upon that.
Yeah, I think that's the key to becoming a better designer and a better coder, too.
Absolutely.
Well, Sascha, we definitely want to thank you for coming on the show today.
I mean, it's wild just having, I guess, known you for the last little bit this year, just
meeting up on the industry and then coming back here on the change law, just getting to know you a bit better.
As Andrew mentioned, I was wrongfully assuming that you came from's why your, um, your writing is so informed because,
you know, you're, you know, you don't just like whimsically write onto your blog. You seem to
have this, um, sort of, I guess, backing. I'm not really sure. Maybe it's, maybe it's just, um,
assurance of what you're writing about, uh, even if you're not exactly sure what you're writing about even if you're not exactly sure
what you're writing about but you kind of have
this stance about you so
but yeah definitely thank you for coming on the show
and thank you for writing the book
for Meteor I think that's
super awesome and thanks so much for giving us
access to it we'll definitely
share our thoughts on it as well and
be sure to plug it on the changelog
but
cool thanks for having me it was a lot of fun.
Yeah, man.
So we tune into this.
We broadcast the show live every Tuesday at 5.
So if this is your first time listening, next week, set your watch.
We will broadcast live next week as well right here on 5x5.
You can go to 5x5.tv slash live to tune in.
Or if you want to read about different posts, as I mentioned,
Sasha guest changelogged, if that's a term, on the changelog.
You can go to thechangelog.com to read more.
We've got tons of writers and cover all the topics of open source.
So without further ado, that is the show.
So let's say goodbye.
See you all later. you