Category: Inside

A Spring Cleaning

It’s spring, so we’re making a updates to our home page and blog.

First thing you may notice, we’ve brought our blog inside our main site.

Where the blog was originally reachable at https://blog.flybase.io, it is now https://flybase.io/blog/.

We decided to do this to make everything more unified, it seemed fitting.

We’ve been hard at work on several updates over the past month, and this is the first of a number of updates that will be getting pushed out.

This site will also be seeing a few more minor updates as well.

Introducing outgoing webhooks

Today we’re announcing outgoing webhooks – a long awaited feature that will notify your websites and apps whenever data changes occur.

This opens up a new range of possible integrations

Adding outgoing webhooks means you can get notified directly in slack or elsewhere when new records are added, when records are updated or deleted.

To create an outgoing webhook, just click webhooks in the dropdown:

Then edit the form:

Hit Save and when you save a new record with our API, we will send notifications to your webhook instantly.

We’ve got some options for how we send the data, you can have it sent using a standard form post, send as a json string using payload as the containing variable, or just send as a JSON request.

If you are sending to Slack, we automatically detect the slack url and format it accordingly so it shows up nice looking.

All outgoing webhook notifications also include two extra fields, one for event to say what happened (new record, updated record, deleted record) and a url to the record in your dashboard.

You can delete the webhook at anytime from your webhooks management page.

On Deck for This Fall

We’ve been extremely busy getting a few new features ready to roll out and I wanted to mention them here:

1. Config

This is something that was mostly internal until now, but we’re about to push our configuration manager out to all users, this will give you a new API that you can use for setting variables and retrieving them. With a simple API call, you can retrieve settings for your apps based on environment.

Example:

FlybaseRef.config_get("prod").then(function(config) {
  var welcomeMessage = config.get("welcomeMessage");
  console.log(welcomeMessage);
}, function(error) {
  console.log(error);
});

This will work on all libraries, as well as via our REST API, and all configuration settings are stored under encryption, giving you a nice secure place to store configuration variables that you don’t want to store in your code.

2. Uploads

In addition to storing data, users that have apps on paid accounts will soon be able to upload files directly to their Flybase apps and download or retrieve them at any time.

This can be used for storing images, js files, css files, html files, text files, you name it. You can even use it for hosting static websites. We’re excited about this one, and have worked hard to make it ready to fit all your needs.

3. GraphQL API

Our GraphQL Api is finally ready for public consumption after making sure all was nice and beautiful so that will be out over the next couple weeks and will give you a whole new way to handle your data.

4. Scheduled Backups to S3

We’re also going to be adding the ability to set scheduled backups of your data yourself to your own S3 buckets.

We’re big on backups, we backup everything all day using our own custom system but since we know you want to watch your data yourself, we’re going to be adding this feature so you can enter your S3 info and schedule when you want backups to happen, or even just push a button and do it yourself.

5. New Dashboard

Yes, it’s that time again, we’ve got a new dashboard ready to go, and are just finishing up a few tweaks. This will integrate nicely with all the features coming the four mentioned above, as well as a few others we’re keeping as a surprise.

At Flybase, we’re always dedicated to providing a good experience, both in terms of what we build, and also in terms of support so if you have any questions at all in regards to what’s above, feel free to reach out to us.

From Jekyll to Ghost

We’ve just migrated this blog from Jekyll where it’s been running on Github Pages for the past two years to Ghost.

We still love Jekyll, but we really like the simplicity, writing experience and speed that Ghost offers

It’s been an interesting move, and not much has changed for readers, only for us, the editors.

First of all, we’re using the same modified version of Ghost that we use for Coded Geekery, including the front matter app that we use there, this lets us keep our posts formatted mostly the same way they were in Jekyll, complete with the links in the front matter.

The links stayed the same, so no 301 (or 302) redirects were needed.

We were already storing our images on S3 so that never changed anything either.

The biggest piece was moving all our markdown files into a ghost import file. We started with the node-jekyll-to-ghost export tool, and modified it to keep the front matter in the markdown and to include support for tags, then we imported the posts into Ghost, and modified our template to work with Ghost / handlebars vs the Jekyll / liquid format previously used.

As the one who does most of the writing, I like this move. It gives us an actual CMS to use for writing and will help improve our work flow and get more articles out to you.

10 weeks of YC Startup School Founder Track

We just spent the last 10 weeks taking part in the Y Combinator Startup School Founder Track online course (aka SUS17), the end of which saw Y Combinator hosting the world’s largest startup demo day ever.

Here are some stats:

  • 13,321 startups from 141 countries applied to Startup School
  • 2,820 were selected
  • 1,584 graduated
  • 797 presented online at demo day

The experience was very positive, we came away with lessons from some of the better known people in the startup world and made contacts with several people all over.

What did the Startup School Founder Track consist of?

Startup School consisted of several pieces that came together great.

Generally, the course was very hands off, you had your video lessons to watch as you went, your chat system for networking and asking questions as needed, and the mentors and weekly checkins and office hours.

Additionally, there was no pressure to take part in “Presentation Day” or to apply for YC funding.

If you wanted, the opportunities were there, but ultimately the choice was yours.

Generally, the entire focus on Startup School was simply: continue to build and grow your product.

1. Video Lectures

The weekly video lectures were great, they hit a wide variety of topics around startups and building a business:

  • Week 1:
    • How and Why to Start A Startup By Sam Altman (YC), Dustin Moskovitz (Asana)
    • Startup Mechanics By Kirsty Nathoo (YC)
  • Week 2:
    • How to Get Ideas and How to Measure By Stewart Butterfield (Slack) and Adam D’Angelo (Quora)
  • Week 3:
    • How to Build a Great Product I By Emmett Shear (Twitch) Steve Huffman (Reddit), Michael Seibel (YC)
    • How to Build a Great Product II By Aaron Levie (Box)
  • Week 4:
    • How to Build a Great Product III By Tracy Young (PlanGrid), Jason Lemkin (SaaStr), Harry Zhang (Lob), Solomon Hykes (Docker)
    • How to Build a Great Product IV By Jan Koum (WhatsApp)
  • Week 5:
    • How to Get Users and Grow By Alex Schultz (Facebook)
  • Week 6:
    • How to Invent the Future I & II By Alan Kay
  • Week 7:
    • How to Find Product Market Fit By Peter Reinhardt (Segment) How to Think About PR By Sharon Pope (YC)
  • Week 8:
    • Diversity + Inclusion at Early Stage Startups By Kat Manalac (YC)
  • Week 9:
    • How to Build and Manage Teams By Vinod Khosla (Khosla Ventures)
  • Week 10:
    • How to Raise Money, and How to Succeed Long-Term By Ali Rowghani (YC) Jess Lee (Sequoia), Aaron Harris (YC)

Obviously, these can be more useful depending on where your startups is right now, but they hit a wide variety of topics for that purpose.

2. Mentoring

Each Startup was added to a group of about 20 to 30 and assigned to a dedicated mentor within the network of YC alums.

Ours was Anand Kulkarni, and he did a great job hosting the weekly video call & making time available in 1-on-1 office hours.

Most of these mentors are themselves actively building their second or third startup. so it’s refreshing to hear your mentor also talk about what they are encountering as they grow their startup themselves.

3. Groups

The groups were nice, they consisted of about 20-30 startups from various stages and verticals, from early stage, late stage, solo founders, etc.

I found the varying states of the startups to be nice, as the wide variety of experiences gave you a wider audience and it was nice to bounce ideas and get answers based on where your group members were at this point in time.

4. Office Hours

There was a twice weekly video call with about 20 startups and your mentor but other than that the course was at your pace.

On top of that, there were also 1 on 1 office hours with your mentor.

5. Weekly status updates

Each startup was expected to report a weekly metric in an online tool on the startup school website. For most startups this was either active users or revenue.

Defining and tracking that weekly metric was extremely useful.

There’s a whole lot of value in having a single KPI to keep you accountable & focused. We’ve been actually using Basecamp for daily and weekly checkins for the past several months already.

Since we’ve been launched for over two years, finding the right metric was easy, but some others found it harder to work with.

6. Networking

With a chat community of over 4,000 people, it was interesting to see everyone pitch in and build a nice active community that’s continued even after the school has finished.

7. Deals

Each startup was able to apply for credits from Amazon and Google, and if you asked through the YC network, ex-YC alums were happy to give you deals on their products.

8. What happens in Startup School stays in Startup School.

There was a very clear agreement to respect each other’s privacy & at no point were we pressured to talk publicly about our startup. This made it possible to talk openly during office hours & contributed to the long-term value of the Startup School network.

Wishing you and yours a Merry Christmas and a Happy New Year

As another year comes to a close, we wanted to wish everyone a Merry Christmas and a Happy New Year in 2017.

As we enter our third year of operation, we like to reflect back on the previous years and think about what we’ve done, and what we have planned for the new year and it makes us happy to think of all we’re bringing to you, our users.

We’ve seen a lot of growth as people realize what they can do with Flybase, and as we bring on our nextgen set of features, people will be able to do even more.

Manage Your Data With Indexes

We’ve mentioned before about our roll out of nextgen features, and we are
starting to roll these out now.

We’ve rolled out the queues, and now this week we’ve launched our schema builder.

This is a very basic schema builder, after you’ve added a few records to a collection, you can set rules for each field, such as
field types (number, string or mixed), index rules such as unique or required (or unique and required).

This gives you more control over your data, and also cuts down on doing things like searching to see if a record exists before adding it, now you just save it and that was it.

Some other rules will be coming shortly, followed by our new GraphQL API which is shaping up beautifully and is in testing with a few users now. Then we’ll be launching the rest of our nextgen features, but we are rolling these out one by one so that people can play with them as they roll out and not have a ton of new features hit them at once.

A couple nextgen features we’re excited about

With the NextGen release of Flybase right around the corner, there are a couple new features that have us excited.

And, they’re both kind of connected.

  1. We’re introducing a schema builder, that will let you define field types, set index types on fields such as unique, required, etc. Having indexes will let you better control your data, for example setting a field to unique will insure you don’t get duplicates, and setting a field to required is useful if you want to enforce having users authorized. You’ll be able to set this directly inside your dashboard.

  2. GraphQL, we wrote a post over a year ago about using GraphQL and Flybase together, and we’re going to actually be adding official GraphQL API support coming up soon. This will give your queries even more power!

GraphQL support is also where being able to set field types comes in handy.

There are a few other new features coming too, but those are the two I wanted to talk about first.

Who needs connection limits?

It’s June, the year is halfway done and we’re continuing to build a service that people use every day.

We’ve got lots of new things rolling out over the next few weeks, but I wanted to point out something we quietly changed a couple weeks ago.

We killed connection limits on all paid plans!

An app connection is a measure of the number of devices that are connected to your app’s database simultaneously. This isn’t the same as the total number of visitors to your site. It is any open network connection to our servers, including streaming REST API requests

First, this was easy to kill since paid plans were always burstable and didn’t actually have any hard limits on connections. So it was really not a difficult choice at all.

We still have a limit of 100 simultaneous devices on our free starter plan, but we’re happy to say there are no limits at all for simultaneous device connections on our paid plans.

With this, we’ve also changed our prices, with the Saturn plan starting at $19.99 a month, and all our other plans reflecting our pricing change as well. I think you’ll like our new prices.

Stay tuned to see what we’ve got coming this month, I promise it’ll be fun.

Hello Jekyll

This blog is in the middle of a redesign, but before we did the redesign, we wanted to move it to a different setup, previously it ran on Camel.js.

But since the Flybase home page, Docs site and various other Flybase-related projects all run on Jekyll, we decided to make the same move here as well.

Some features of Camel that we really like, such as the archives pages needed to be moved over, as well as the tags and the home page’s grouping of posts by day, but those are all in place now, and we get a nice experience for it.

The new design will be rolling out shortly, which will really make the new engine shine.

At the same time, we still use Camel on other projects such as my personal blog and will continue to do so.