11/15/2022 – BuiltOnAir Live Podcast Full Show – S12-E10
Duration: 63 minutes
Be Sure to Subscribe to the podcast!
To get all the latest videos and demonstrations from the BuiltOnAir Podcast, subscribe and get notified on our Youtube channel here and our newsletter/community here.
FULL EPISODE VIDEO
Watch the full video of the show. See below for segment details.
The BuiltOnAir Podcast is Sponsored by On2Air – Integrations and App extensions to run your business operations in Airtable.
In This Episode
Welcome to the BuiltOnAir Podcast, the live show. The BuiltOnAir Podcast is a live weekly show highlighting everything happening in the Airtable world.
Check us out at BuiltOnAir.com. Join our community, join our Slack Channel, and meet your fellow Airtable fans.
Alli Alosa – Hi there! I’m Alli 🙂 I’m a fine artist turned “techie” with a passion for organization and automation. I’m also proud to be a Community Leader in the Airtable forum, and a co-host of the BuiltOnAir podcast. My favorite part about being an Airtable consultant and developer is that I get to talk with people from all sorts of industries, and each project is an opportunity to learn how a business works.
Kamille Parks – I am an Airtable Community Forums Leader and the developer behind the custom Airtable app “Scheduler”, one of the winning projects in the Airtable Custom Blocks Contest now widely available on the Marketplace. I focus on building simple scripts, automations, and custom apps for Airtable that streamline data entry and everyday workflows.
Dan Fellars – I am the Founder of Openside, On2Air, and BuiltOnAir. I love automation and software. When not coding the next feature of On2Air, I love spending time with my wife and kids and golfing.
Show Segments
Round The Bases – 00:03:55 –
Meet the Experts – 00:48:29 –
Meet Bill French.
A longtime player in the field of data manipulation and automation, Bill is a guru in Airtable setup and backend. He uses the API and custom scripts to make tools and functionality for his clients to get the most out of their databases. One such is a project called Airborne, which allows unified search across multiple bases, tables and documents in Airtable (see link below for more details).
Industry View – 00:55:33 –
Learn all the ways you can use Airtable within the State of Airtable Industry. From pre-made bases, apps, automations, and custom bases, we’ll show you how to set up bases and get your State of Airtable organization established in Airtable.
High level discussion of where things are in the world of computing, no/low code platforms, Airtable and more. Gain valuable insights from industry veteran Bill French
Full Segment Details
Segment: Round The Bases
Start Time: 00:03:55
Roundup of what’s happening in the Airtable communities – Airtable, BuiltOnAir, Reddit, Facebook, YouTube, and Twitter.
Segment: Meet the Experts
Start Time: 00:48:29
Bill French –
Meet Bill French.
A longtime player in the field of data manipulation and automation, Bill is a guru in Airtable setup and backend. He uses the API and custom scripts to make tools and functionality for his clients to get the most out of their databases. One such is a project called Airborne, which allows unified search across multiple bases, tables and documents in Airtable (see link below for more details).
Segment: Industry View
Start Time: 00:55:33
Airtable for the State of Airtable Industry
Learn all the ways you can use Airtable within the State of Airtable Industry. From pre-made bases, apps, automations, and custom bases, we’ll show you how to set up bases and get your State of Airtable organization established in Airtable.
High level discussion of where things are in the world of computing, no/low code platforms, Airtable and more. Gain valuable insights from industry veteran Bill French
Segment:
Start Time:
Full Transcription
The full transcription for the show can be found here:
[00:01:40] Welcome back to the BuiltOnAir podcast. [00:01:43] Season 12, episode 10. [00:01:45] Good to be back with you. [00:01:47] We've got a full house with us, [00:01:48] we've got back with us, [00:01:50] Kamille, you've been out [00:01:51] for a couple of weeks. [00:01:52] Good to see you again, [00:01:53] Kamille [00:01:56] good to have you recovered from that. [00:01:59] And Alli welcome back. [00:02:02] Yep and we've got a new face with us, [00:02:05] Bill French. Welcome [00:02:07] Good to be here [00:02:08] and we've had [00:02:10] on the show a few times. At least once. [00:02:13] I think so, yes, I think [00:02:16] it's the first time [00:02:17] in this format, is that correct? [00:02:20] That [00:02:20] is correct, yes. [00:02:22] Yeah. Cool. So we did kind of a [00:02:24] one on one interview who did [00:02:25] that Kamille or Alli? [00:02:27] Alright, so if you want [00:02:30] a full in depth hour long [00:02:31] conversation with Bill [00:02:33] check that episode out [00:02:35] from an earlier season, [00:02:36] but we will learn more about Bill [00:02:38] we'll still dive into your history and [00:02:40] background, we'll do a spotlight on that. [00:02:43] So with that, I will walk through what [00:02:46] we're gonna be talking about today. [00:02:48] Should be fun [00:02:49] to learn more about Bill [00:02:51] and what's going on with him. [00:02:53] And so we always start off our show, [00:02:56] talking about Round the Bases what's [00:02:59] going on in the Airtable communities. [00:03:01] Keep you up to date on everything [00:03:02] Airtable news related, [00:03:04] then we'll do a spotlight on [00:03:06] our primary sponsor On2Air. [00:03:08] Then we'll learn more about Bill [00:03:10] and his background as an expert in [00:03:12] this Airtable community [00:03:15] and then we're just gonna kind of [00:03:17] open it up and have kind of a dialogue. [00:03:19] Bill's got lots of topics [00:03:21] he loves to talk about. [00:03:23] So we're gonna talk about a [00:03:24] few things there get kind of a [00:03:26] state of the union on Airtable [00:03:28] and and the [00:03:29] world of no code, low code [00:03:31] and computing in general, [00:03:33] we'll see what we can [00:03:35] learn from that. [00:03:36] And time permitting. We might [00:03:38] we'll also highlight our community [00:03:40] how you can join [00:03:41] and then time permitting we [00:03:42] might do another segment. We'll see, [00:03:44] we'll see how it goes. So we can kind of [00:03:47] keep it open ended. [00:03:49] So with that with Round the Bases [00:03:53] a few things going on in the Airtable [00:03:55] World last week we talked about [00:03:58] we're not gonna dive too deep into this [00:04:02] because we're gonna bring on [00:04:04] maybe a special guest later in the show. [00:04:06] But I did want to highlight last Tuesday [00:04:09] after our show, they did go live with [00:04:11] changes to attachments. [00:04:13] And so we started to see some [00:04:17] some issues pop up from the community. [00:04:20] This is one I know there was [00:04:22] at least one other, [00:04:24] probably a few more of people [00:04:25] noticing it, even though it had been [00:04:29] somewhat announced throughout the [00:04:32] previous months. [00:04:34] But so changes to attachments. [00:04:38] Now they expire [00:04:39] if you're using well it's [00:04:42] really hard to clarify this. [00:04:43] I'm gonna wait to. [00:04:45] We might have Kuovonne come on [00:04:46] who's done a lot of research on this. [00:04:48] I know Kuovonne and Bill have talked about [00:04:50] it but anything precursor [00:04:52] anybody wants to say before [00:04:53] we do a deep dive into [00:04:55] attachments? [00:04:56] Well it is [00:04:57] it isn't a topic that you can't [00:05:01] really explain in either one [00:05:03] sentence or even one paragraph [00:05:05] you know because it's so broad. [00:05:07] It covers [00:05:08] things that are going on inside [00:05:10] of Airtable as well as [00:05:11] outside of Airtable. [00:05:13] But the bottom line is I think [00:05:14] Airtable just got tired of being the CDN [00:05:17] for every image on the planet. [00:05:19] And my rough estimates [00:05:21] came up with 2.5 billion images. [00:05:24] I mean that's assuming 300,000 [00:05:27] really active customers [00:05:28] with you know x number of [00:05:30] records and images. So that CDN was big [00:05:35] And it still is big and trying to [00:05:38] get everybody off of that, [00:05:40] it was almost like a [00:05:42] crack cocaine thing. Right? [00:05:44] People got a little taste of Oh [00:05:46] man I could just host everything here. [00:05:48] All my images, all my attachments and [00:05:50] then they said come on [00:05:52] I can't afford that. Not for $25 a month. [00:05:55] So it's a mess. [00:05:57] Yeah I've mentioned on the show [00:06:00] before I'm one of the [00:06:02] four people who insist on having a [00:06:05] static generated website [00:06:07] and not use any sort [00:06:08] of traditional CMS. [00:06:10] So the problem originally with both [00:06:13] of my websites was I had [00:06:16] everything in Airtable [00:06:17] effectively as my CMS [00:06:19] and then I would export everything [00:06:21] as Json and publish everything [00:06:23] on my website. Well that meant [00:06:26] I was using the Airtable attachment links. [00:06:28] And when I first heard of this [00:06:30] change many months ago, [00:06:31] I was like, okay, [00:06:33] well I'll have to adjust my setup and [00:06:35] without going too far into it, [00:06:38] my revised methodology [00:06:39] was to just use google [00:06:40] drive and import that google drive folder [00:06:44] into Airtable still and it now it [00:06:47] gets [00:06:48] those links get exported in my Json [00:06:50] and I'm doing virtually the same thing but [00:06:53] not pointing at an Airtable [00:06:54] attachment field anymore. [00:06:56] Which is good because you could [00:06:59] get more storage [00:07:00] cheaper in google drive than [00:07:02] you can in Airtable. [00:07:05] But [00:07:07] you know, there's pros and cons [00:07:10] and we'll dive into this later. [00:07:14] Yeah. So precursor so a teaser [00:07:16] hang onto the show and we're gonna, [00:07:19] we're gonna talk more about this. [00:07:21] Lots to talk about there. So, [00:07:22] but definitely it changed last week. [00:07:26] And let's move on. [00:07:28] So there was another announcement [00:07:31] of a future breaking [00:07:32] change. I bet Bill might be [00:07:35] one of the few people [00:07:36] this actually impacts. [00:07:38] Yeah, I mean, I think one of my customers [00:07:43] from long ago in in the UK saw this [00:07:46] and immediately phoned me up [00:07:48] and said, are we impacted by this? [00:07:50] And I got to thinking about it and [00:07:53] no, um we're not passing [00:07:56] through URLs by and large. [00:08:00] Our URLs are really tiny [00:08:02] but I can see how people [00:08:04] would get stuck or get [00:08:06] captured, you know swept up into this. [00:08:10] You know we often like to use gets [00:08:14] because they're convenient. Right? [00:08:17] URL parameters are convenient and so we [00:08:19] think we're going to deal with the API [00:08:21] right through the URL and then [00:08:23] before you know it there's 75 fields [00:08:25] going across the wire and [00:08:27] they're all in the URL And yeah that's [00:08:30] that's just you being [00:08:32] painted into a corner. [00:08:34] The fact that they had to change this. [00:08:36] I'm still wondering why [00:08:38] why did they have to change this? [00:08:40] Anybody know? [00:08:41] This is the first time hearing of it. [00:08:43] I did not see this announcement at all. [00:08:46] Yeah. So this only impacts [00:08:48] if you're using the rest api [00:08:50] and probably only [00:08:51] impacts queries the filtering. [00:08:54] That's I think the only thing [00:08:56] that could maybe be [00:08:57] so they're basically putting a cap [00:08:59] at 16,000 character limits [00:09:01] in the URL length. [00:09:03] That seems that's [00:09:04] that sounds reasonable to me. [00:09:07] Not only is it reasonable [00:09:09] but you probably shouldn't be doing it [00:09:11] that way anyway. [00:09:12] Right. And I think I read it, [00:09:14] I read this really briefly it [00:09:17] The person is saying most [00:09:19] the vast majority of people [00:09:20] don't even get anywhere [00:09:21] close to 60,000. [00:09:22] And I would hope [00:09:24] because that's how do you manage that? [00:09:26] Yeah. Well the fact that they called [00:09:28] this a breaking change means that their [00:09:30] analytics probably spotted people [00:09:33] doing exactly this. [00:09:34] Yeah. Otherwise they would [00:09:35] have just changed it [00:09:36] and been quiet about it. [00:09:38] So that's my hunch. [00:09:40] Let the other people down [00:09:42] the road find this problem when [00:09:45] when and if it occurs. [00:09:46] But yeah, [00:09:47] the minute you start jamming queries [00:09:51] into URLs, you're also opening up [00:09:54] I think a security problem as well, [00:09:57] which I think I had a long debate [00:09:59] with somebody about that, you know, [00:10:01] where they said, you know, Airtable is [00:10:03] really made a mess of this because they [00:10:06] allow, you know, filter by inside [00:10:08] of queries [00:10:09] and the minute you do that you can [00:10:12] do injections and all sorts [00:10:15] and [00:10:16] yeah, what he was describing was [00:10:19] something you could do with any [00:10:21] software application on the web, [00:10:24] right? This is not an Airtable thing. [00:10:26] This is just like a bad idea. [00:10:28] Don't make it possible for people [00:10:30] to inject stuff to get data back that they [00:10:32] shouldn't see. [00:10:33] Yeah. [00:10:36] Yeah, I use post. [00:10:39] Yeah. So they so they've now implemented, [00:10:42] so the workaround is they've [00:10:44] implemented a post. [00:10:45] This didn't exist before. So this is new. [00:10:48] And so now you can do a post [00:10:50] to do your query [00:10:52] and then if you've got a really [00:10:54] long one and if you're using [00:10:56] the no Js or the javascript library, [00:10:58] they've implemented in the latest version, [00:11:02] it automatically uses post or [00:11:04] detective detects [00:11:06] if it's too long [00:11:07] then it switches to a post. [00:11:10] Yeah. So, [00:11:13] so that is a change that probably [00:11:16] doesn't impact many people. [00:11:20] Alright moving on. [00:11:22] So this week I've actually [00:11:24] started to see this creep up. This [00:11:27] issue, people are saying that [00:11:29] you can no longer embed [00:11:31] a form inside the [00:11:33] extension there's an extension [00:11:36] to embed like I frames. [00:11:38] And then there's a similar one. [00:11:40] I'll kind of combine these within notion. [00:11:43] They're saying that you used to be [00:11:45] able to embed use [00:11:47] the embed code that for a [00:11:48] view inside of notion [00:11:50] and that stopped working at some point. [00:11:52] So something's changed on Airtable [00:11:55] this one with notion [00:11:56] it looks like something [00:11:57] changed on notion side. [00:12:00] That made it not work within notion [00:12:05] but it seems like Airtables [00:12:07] changing their [00:12:09] embed ability and people are [00:12:12] starting to notice it [00:12:14] interesting. [00:12:15] That sucks. [00:12:16] Yeah [00:12:17] I just went and checked [00:12:19] my a site that I have that [00:12:21] has a lot of embedded views [00:12:22] and they all seem to be fine. But [00:12:26] I mean there's one I noticed [00:12:28] a very long time ago [00:12:30] when I try and use the [00:12:31] embed block within stacker. [00:12:34] It didn't work if you just [00:12:36] did like the share [00:12:37] link but there's if you actually [00:12:40] add slash embed into the URL [00:12:43] like it has in the actual like [00:12:45] I frame code then that did work. [00:12:48] So I don't know if maybe [00:12:49] that would be something [00:12:51] to try to try and fix this. [00:12:53] Yeah with the with the notion. [00:12:55] Yeah that's what [00:12:56] they actually said with the [00:12:57] notion they figured out [00:12:59] If you just use [00:13:00] actually with notion it's the [00:13:02] opposite. If you use the one [00:13:05] without the embed then it works. [00:13:07] But the one with the embed, [00:13:09] apparently you're not. [00:13:11] That's odd. Right? [00:13:16] All right. Uh Yeah, I have, [00:13:20] I have a client who [00:13:22] wanted to have some form [00:13:25] built for them for input [00:13:26] that needed to be embedded [00:13:28] on their website. [00:13:29] But also you could put the link [00:13:30] to the form in the body [00:13:31] of an email that they [00:13:32] sent and we went with Airtable [00:13:34] and Bill to your, something that you [00:13:37] mentioned quite frequently is, [00:13:39] you know, glue factories like Zapier and [00:13:42] Integromat now called make [00:13:43] the artist formerly known as Integromat [00:13:45] you know where you're connecting [00:13:48] to different apps together. [00:13:49] The weak point is [00:13:50] the connection in the middle. [00:13:52] So we try to keep the form in [00:13:53] Airtable and it works. [00:13:55] But if you can no longer [00:13:57] reliably embed Airtable forms, [00:13:59] that's an issue. [00:14:01] So I hope it, I hope all of the similar [00:14:04] sort of issues people are having are [00:14:07] resolved by just including the [00:14:10] slash embed at the end and not some [00:14:13] underlying issue, [00:14:14] but I do see [00:14:16] Kuovonne has said hi in the chat. [00:14:22] Yeah, the artist formerly known [00:14:24] as Integromat. That's a really good line. [00:14:27] I don't know if I came up with it. [00:14:30] I think I think Scott Rose, [00:14:32] friend of the show has said it before. [00:14:36] What's ironic about that is [00:14:38] that if you look closely [00:14:40] at some of the Integromat [00:14:42] systems that people have created, [00:14:44] you'd swear that whoever created them was [00:14:46] abusing opiates just like Prince was. [00:14:50] So there's a connective tissue there [00:14:53] somewhere. [00:14:55] There's something [00:14:57] I like what you can do in make, [00:15:01] but there's something about [00:15:03] once you start adding [00:15:05] in all the error handlers to [00:15:06] make sure it's, you know, [00:15:08] it's not going to throw [00:15:10] everything into the fire if it [00:15:12] encounters an issue. [00:15:13] The visual editor aspect [00:15:15] starts to I think become its [00:15:17] downfall. Because if you have [00:15:19] it's not even a spider web, [00:15:22] it's a, [00:15:23] it's like a shotgun blast [00:15:25] pointing to the right [00:15:26] and it just gets more and more [00:15:28] difficult for at least for me. [00:15:30] I think it's a sawed off shotgun blast. [00:15:33] Yes you have to have an error handler [00:15:36] on every single, there's no choke. [00:15:37] Yeah, it's not [00:15:39] the BBs are going everywhere. [00:15:42] Yeah, very true. [00:15:43] Yeah, I definitely am biased. [00:15:45] As most everybody knows and if you're [00:15:48] listening or you're the listener, I [00:15:53] I get really upset when [00:15:55] people abuse things like Zapier and [00:15:58] and make [00:16:00] so very true. That's another, [00:16:04] that's right, okay. [00:16:05] I'm gonna do quick two quick [00:16:08] kind of plugs off of twitter [00:16:09] and then we've got Kuovonne here [00:16:11] that's going to join us here in a second. [00:16:14] so I was, I was going through twitter [00:16:16] and Andy Cloak friend of the show he's [00:16:19] been on, he's the founder of [00:16:21] data fetcher [00:16:22] and he made an announcement that he's [00:16:24] starting to work on a second extension for [00:16:28] for charts and things inside of [00:16:30] Airtable and reports [00:16:32] so that will be interesting [00:16:35] so if you like data fetcher [00:16:37] and the work he's done [00:16:39] there and looks like he's [00:16:41] looking for people to get insights [00:16:43] for as he starts to plan that out. [00:16:45] So [00:16:46] I will be interesting to see [00:16:48] what he comes up. [00:16:49] Hopefully he's implementing that [00:16:51] using some kind of open [00:16:53] source back end [00:16:54] like chart dot Js or something. [00:16:57] I trust he is but [00:16:59] that would be very cool [00:17:01] to pull that off because wow [00:17:04] we are challenged as Airtable users, [00:17:08] it's one of the most commonly the [00:17:12] with interface designer, [00:17:14] they're sort of pushing away [00:17:15] from the need for some of [00:17:16] the extensions that are present [00:17:18] and slowly but surely they're adding [00:17:21] functionality that eliminates [00:17:23] some of the utility extensions [00:17:26] but charting is not [00:17:27] one of those or reporting in general [00:17:30] is the concept of recording, [00:17:32] reporting is not yet tackled. [00:17:34] Well I would say in either [00:17:37] of those two paths, [00:17:38] you know, one of my first posts [00:17:40] when I discovered Airtable [00:17:42] was to tell the developers [00:17:44] to stop doing charting [00:17:47] right, I mean that it's just silliness [00:17:49] every vendor tries this, they try to build [00:17:53] every possible chart feature [00:17:55] and facility into their platform [00:17:58] and it's nutty. [00:17:59] It's completely nutty thinking. [00:18:01] What they should do [00:18:02] is make it possible for anyone [00:18:04] to build any charting [00:18:06] feature into the product [00:18:08] that they should spend all their money on [00:18:11] ways to interface with all the [00:18:12] charting horizons that are out there. [00:18:15] Everything from, you know, [00:18:16] D three to chart Js to, you know, [00:18:20] quick chart that all those things [00:18:23] should be at [00:18:24] our fingertips. [00:18:25] No one should, [00:18:28] you know, actually write a stitch a code [00:18:31] at Airtable to do that. [00:18:32] Thank you Dan. I'm I'm looking at this and [00:18:38] you know, [00:18:38] obviously I haven't played with it [00:18:40] yet but you can add your own colors [00:18:42] to certain categories [00:18:44] which I have not seen a [00:18:47] web app whether it's Airtable or glide [00:18:50] or anything else that lets you do that. [00:18:52] Get the specificity of [00:18:55] this category should be yellow. [00:18:57] Yeah, it looks like [00:19:00] actually that's great. [00:19:02] And even as good as he gets at this, [00:19:05] there will be people going man, [00:19:08] but doesn't do this [00:19:09] or I can't do that. Before [00:19:11] you know it. You know, he's in the same, [00:19:14] you know corner with a can of paint [00:19:17] and it's gonna be hard [00:19:19] to keep up with that. [00:19:21] So it's a tough that is a tough [00:19:24] place to make money. [00:19:26] I never touched charts [00:19:27] when I released master calendar. [00:19:29] One of the first request [00:19:31] was can you do something similar, [00:19:33] but it pulls multiple tables into a single [00:19:35] chart and I said no, no. [00:19:39] Yeah, very true. All right. [00:19:41] One more quick announcement [00:19:42] then we'll get we'll get [00:19:44] Kuovonne on. [00:19:45] So Airtable actually put out a tweet [00:19:47] for those obviously lots [00:19:49] of lots of companies going through [00:19:52] layoffs right now. So they're keeping it [00:19:54] looks like this is managed by [00:19:56] Airtable based office. [00:19:58] So they have a base going [00:19:59] of companies that maybe [00:20:01] are hiring and kind of what's out there. [00:20:03] Most of these are tech companies. [00:20:07] You know kind of similar to Airtable [00:20:09] but if you're in the hunt looking for [00:20:12] for work in that space, [00:20:14] Airtables got a base [00:20:16] and they've got links to open [00:20:19] positions and things like that. So [00:20:22] what's what's gonna happen [00:20:24] next year when the recession [00:20:26] really seeps in or [00:20:26] they're going to expand the table limit. [00:20:29] Yeah. Yeah. We'll see if they [00:20:32] won 1 1 9 right now. Only [00:20:35] 100. So yeah, there's no [00:20:36] landing coming in 23 24. [00:20:38] So they need to probably [00:20:40] get this up to 100,000. [00:20:42] Yeah. Just [00:20:45] alright let's continue [00:20:47] our first discussion. [00:20:49] We've got Kuovonne coming on here and [00:20:51] I'm gonna go to [00:20:55] you. Hello [00:21:00] on, [00:21:05] invited me to argue with you [00:21:12] back and forth. There's even some [00:21:15] private chats that some of us are privy [00:21:17] to of Bill and and Kuovonne going at it [00:21:22] and so I thought it'd be fun [00:21:23] to bring them both on [00:21:24] and kind of continue that [00:21:25] discussion in public and [00:21:28] but I know Kuovonne [00:21:30] you've done a ton of work on [00:21:32] attachments and kind of like [00:21:34] analyzing the changes. [00:21:35] Could you give us kind of a [00:21:36] high level overview of [00:21:38] what your perspective of the changes are? [00:21:41] I mean so I've been really curious [00:21:43] about what's been happening and what was [00:21:45] going to be happening with it. [00:21:47] So first off is all of my [00:21:49] production workspaces [00:21:50] I opted out [00:21:51] and I said this is too new. [00:21:53] I don't want a working workspace, [00:21:55] a working base to be affected [00:21:57] by any of these changes. [00:21:58] But I kept one workspace [00:21:59] where I did not opt out [00:22:01] just for test purposes [00:22:02] so I can see what's going on. [00:22:04] And [00:22:06] I set up an automation [00:22:08] scripting automation to say basically, [00:22:10] okay, I've got these two [00:22:12] little placeholder [00:22:13] attachments and go grab that URL [00:22:15] see what it is, here's the timestamp. [00:22:18] And just to see how often do I get [00:22:20] new URLs [00:22:20] and when do those URLs expire. [00:22:23] And at first I was like well [00:22:25] let's do this every 15 minutes. [00:22:27] And then I'm like, [00:22:28] okay, this is not really doing [00:22:30] a whole lot. When I first started up, [00:22:31] we were still getting the [00:22:33] original dot dl dot Airtable [00:22:35] dot com attachments. [00:22:37] But then halfway through that day [00:22:39] of the eighth, I started getting the new [00:22:41] attachment field format [00:22:43] which has got the Airtable [00:22:45] user conference user content [00:22:46] URL and does not have [00:22:48] the file name at the end. [00:22:50] But those weren't expiring. [00:22:52] And one thing that I was finding [00:22:54] was that none of [00:22:55] the URLs for attachments that I got from [00:23:00] the automation script [00:23:01] have actually expired [00:23:02] yet as far as I can tell. [00:23:04] So then I also started experimenting [00:23:06] with some other ways of getting URLs [00:23:08] also I did a CSV export [00:23:10] and I don't have the exact time [00:23:12] when those expired [00:23:13] but they did expire [00:23:16] fairly shortly within like [00:23:19] probably within that day the [00:23:21] exact time not sure because [00:23:23] when I've been testing, [00:23:23] I've been testing manually [00:23:24] clicking on them. [00:23:25] And then there's all kinds [00:23:26] of weird things that you have to [00:23:28] do regarding cache because [00:23:30] if you have in the cache [00:23:32] on your local computer [00:23:33] it'll just show it up to you or [00:23:35] if you have issues of like [00:23:36] you know which server, [00:23:37] all the ways going back, [00:23:38] it still might be cached [00:23:40] on some server. [00:23:42] So or a router or somewhere around [00:23:45] those. Did that also tried [00:23:48] getting some URLs [00:23:51] through scripting extension [00:23:54] as a different way of getting it. [00:23:56] And what's interesting about that is that [00:23:59] I just looked at it just now [00:24:01] and those actually have expired. [00:24:03] The ones that got through [00:24:04] scripting extension [00:24:06] which is kind of strange. [00:24:06] So scripting extension [00:24:08] and scripting automations [00:24:10] apparently work differently. [00:24:12] The other thing that I tried was [00:24:14] I was working on a custom app and if you [00:24:16] work on the custom [00:24:17] custom extensions [00:24:19] they have new methods [00:24:21] where you can go and it says according [00:24:23] to the documentation [00:24:25] you can get a URL For an attachment field [00:24:28] that's only supposed to work in [00:24:31] the context of [00:24:32] that current logged in user. [00:24:34] And I think the reason for that is [00:24:36] the idea is it would not expire [00:24:38] after two hours. [00:24:39] So say you're using [00:24:40] that URL for that image [00:24:42] and the person might be using [00:24:44] that extension for more than [00:24:45] two hours. You want to make sure that [00:24:48] that image doesn't just suddenly disappear [00:24:50] on them. But as far as I can tell [00:24:52] that URL is the same format [00:24:55] as what scripting is giving. [00:24:56] Which is the Airtable user concept. [00:24:59] No fall at name at the end. [00:25:00] And also when I copy and paste [00:25:03] that URL into a totally different place, [00:25:07] I think it's a public URL. [00:25:10] But I'm not completely sure [00:25:12] because of the different ways [00:25:14] of going about getting [00:25:15] getting all different transformations that [00:25:19] public URL that will expire. [00:25:22] Well I don't know if it will expire [00:25:24] or not [00:25:25] but what it is I copied and pasted it [00:25:27] from one browser to a totally different [00:25:30] other browser cleared cache and it still [00:25:32] appeared and I made sure [00:25:34] that I was not logged into [00:25:36] Airtable as the same user [00:25:38] in the other browser. [00:25:39] I see. Right. Right. Yeah. [00:25:41] So I mean one of the challenges [00:25:43] here is thinking about images [00:25:46] that are flowing through the CDN [00:25:49] or the CDN as we formally know it. [00:25:52] And then the other is [00:25:53] what are the challenges [00:25:55] of testing something within the [00:25:57] context [00:25:58] of a user? So I call that [00:26:00] a security context. [00:26:02] So in any security context, [00:26:04] Airtable knows who you are, [00:26:06] you're a named user. [00:26:07] And so if you use a formula field [00:26:10] to reference the URL There's a good [00:26:12] chance you're gonna get a URL [00:26:13] And it will never expire. [00:26:14] And if for some chance [00:26:16] that it does expire it'll refresh [00:26:18] much like, you know, [00:26:20] one plus one equals two will refresh [00:26:22] in any formula. So [00:26:25] I have a sense though, [00:26:26] that Airtable said no, [00:26:27] we're not going to re compute [00:26:28] formulas for expiring things [00:26:31] internally for users who we know, [00:26:34] we're simply going to give them [00:26:36] the internal URL [00:26:36] Period end of end of story. [00:26:38] And that was really the basis for me. [00:26:40] I think back in April when we first heard [00:26:42] about this, I said [00:26:43] this is nutty thinking [00:26:45] because Airtable said specifically [00:26:48] this formula reference to any URL [00:26:51] Attachment will expire within two hours. [00:26:53] And then after that and I kept asking [00:26:57] and then? [00:26:59] And then nothing, [00:27:00] right. Nothing. [00:27:01] That formula field is going to be dead and [00:27:04] broken for all eternity. [00:27:06] Now I know better than [00:27:08] most people that eternity is a [00:27:10] long time partly because I've lived [00:27:12] almost an eternity, 15, some days. [00:27:15] But at the end of the day [00:27:17] a formula field cannot be eternally [00:27:20] broken inside the [00:27:21] platform. They would take so much [00:27:23] flack for that. [00:27:25] And so in April I predicted [00:27:27] that ain't gonna happen [00:27:28] right? [00:27:29] They're not going to expire internal URLs [00:27:31] in the formula field [00:27:32] and it's going to continue [00:27:33] to work just as it [00:27:34] always has [00:27:35] and it seems like that is [00:27:36] exactly what's happened. [00:27:37] I think what happened is [00:27:39] they started thinking that [00:27:41] through and they realize [00:27:42] yeah that's nutty thinking [00:27:45] and that's the end of it. Now testing what [00:27:49] Kuovonne you're going through, [00:27:51] I mean that [00:27:51] you're fighting a really good fight [00:27:53] trying to [00:27:53] figure out [00:27:54] what the heck is going on out there. [00:27:56] You know I don't know [00:27:58] whether it's you know [00:27:59] a noble quest or whatever [00:28:01] but yeah we want to know. [00:28:02] Enquiring minds want to know [00:28:04] but at the end of the day [00:28:05] you're dealing with [00:28:07] at least a couple billion [00:28:09] attachments [00:28:10] in CDN store or CDN servers [00:28:13] scattered around the globe [00:28:17] and that CDN is going to take some [00:28:20] time to flush. And I think the artifacts [00:28:23] that you're seeing right now [00:28:25] are probably related to the CDN [00:28:27] simply not catching [00:28:28] up. Whereas internally we're seeing [00:28:31] What Airtable intends the app [00:28:33] to do and I believe that [00:28:35] was an overnight change [00:28:37] on the 8th [00:28:37] I think on the eighth [00:28:39] they turned the switch [00:28:40] they deployed and from [00:28:41] then on the internal behaviors [00:28:44] of attachment links [00:28:46] took effect how it affects [00:28:48] the outside of Airtable, [00:28:49] I think that's still a big question mark. [00:28:52] Yeah. Well one of my big things is [00:28:55] part of the whole issue is [00:28:58] trying to provide security [00:29:00] so that people can't get [00:29:02] to attachments if they [00:29:04] no longer should have access. [00:29:08] If they leave a non expiring [00:29:11] public URL Anywhere [00:29:13] that's a security hole. [00:29:16] And [00:29:18] what do you do [00:29:20] to plug that security hole? [00:29:23] So if you have right now [00:29:25] you have [00:29:26] I'm seeing non expiring [00:29:28] what what have been [00:29:30] non expiring public URLs [00:29:32] which is what they used to be from my [00:29:34] attachments [00:29:36] and these [00:29:37] attachments [00:29:37] that security. Right [00:29:39] and these are attachments [00:29:40] presumably you created after the [00:29:42] eighth, correct? [00:29:43] What I created before [00:29:45] the eighth when I created [00:29:48] on the eighth. [00:29:50] And [00:29:52] I don't know if I created one. [00:29:54] Yeah [00:29:57] but I created it after I saw the change. [00:30:03] Right because presumably [00:30:05] anything created perhaps [00:30:07] on the 8th and prior to the [00:30:08] 8th got swept up into the CDN [00:30:11] as they always have. [00:30:13] And then if you wanted one [00:30:15] of those attachments to go [00:30:16] away you have to actually [00:30:18] ask support I think [00:30:19] you guys remember that? [00:30:21] Yeah it used to be that you [00:30:22] would have to ask support [00:30:23] and then they would go in [00:30:24] and then they would purge it [00:30:27] from your history and all of that [00:30:29] the whole field. [00:30:31] It wouldn't it wouldn't get rid of it [00:30:34] in cyberspace. [00:30:34] So if you still have the link [00:30:36] you can still get there. Yeah correct. [00:30:38] It's really kind of a fuzzy thing [00:30:40] And one client of mine [00:30:42] or not really a client, [00:30:43] it's somebody I'm very familiar [00:30:45] with went so far as to issue, [00:30:47] you know, a takedown order under DCMA [00:30:49] and they said look take that down, [00:30:52] right, we don't want that there. [00:30:53] And they gave them like [00:30:55] 10,000 image links. [00:30:57] I'm sure that the guys at Airtable [00:30:59] are going oh my gosh we gotta fix this. [00:31:01] This is like a year ago. [00:31:03] So anyway I think the [00:31:05] the CDN side will be solved. [00:31:08] But right now [00:31:09] we're on that fuzzy edge of, [00:31:11] well when was the actual CDN picking [00:31:14] that content up? [00:31:15] Because it was before the eighth, [00:31:17] it's probably A URL that the CDN [00:31:19] is going to keep until the CDN is flushed. [00:31:21] How it's being flushed. I have no clue. [00:31:23] Yeah I do have all my, [00:31:25] all of my formula fields [00:31:27] that extract the URL [00:31:28] are still working [00:31:30] and the links are still active as of [00:31:32] two seconds ago I've tested 10,000 of them [00:31:36] and they all work. [00:31:37] There's not a thing [00:31:39] I haven't found a single piece of [00:31:40] evidence either in the community [00:31:43] or on my own data that says hey this this [00:31:45] formula field is going to fail [00:31:47] to produce an image [00:31:49] or an attachment of some sort. [00:31:51] Yeah I mean but it's still here. [00:31:53] So I just went in and I just while we were [00:31:55] talking [00:31:56] created a new attachment [00:31:58] got the the URL from [00:32:00] the formula field and it works. [00:32:02] It's public [00:32:04] public and described the test scenario. [00:32:07] You went to a like incognito browser or [00:32:10] something totally different. [00:32:11] Let's do what we did [00:32:13] with the other one [00:32:14] which is let's go. Let me [00:32:16] here's the URL [00:32:21] Yeah [00:32:26] pretty good. [00:32:27] So you know this is not one taken older. [00:32:29] This is something I just [00:32:31] took during this and [00:32:33] it's there. [00:32:34] So whatever logic that they have [00:32:37] I think they're just not done [00:32:38] with the rollout. [00:32:39] I need to issue a takedown [00:32:41] notice on this because I'm in it [00:32:44] and I'm also in witness protection. [00:32:48] So this has to come down [00:32:50] here. I think one thing that [00:32:53] that I thought was strange [00:32:56] that somebody brought up [00:32:58] on the forums that they didn't do [00:33:00] a good job of [00:33:01] they definitely announced that [00:33:02] this change was coming [00:33:04] but they didn't give us specifics that [00:33:06] there would no longer be a file [00:33:08] extension on the URL Like that's pretty [00:33:11] important. I think a lot of people [00:33:12] were you know doing [00:33:13] a rejex or something to [00:33:14] extract that they didn't tell us [00:33:17] that the domain name would be changing. [00:33:19] I think they could have given more say [00:33:23] that the file name would not be in the URL [00:33:26] it was just you had to read the fine print [00:33:29] that basically said that there [00:33:31] will be nothing meaningful at all [00:33:33] in the URL itself [00:33:34] including there [00:33:35] would be no file name. Right [00:33:36] but to Dan's point [00:33:37] they did leave a lot of these [00:33:39] little edge case details out. [00:33:41] I mean this reminds [00:33:42] me of like trying [00:33:43] to figure out what's in spam [00:33:45] not the email class [00:33:47] the actual food. [00:33:49] If you read the can of spam it'll say and [00:33:52] other ingredients [00:33:53] which falls into the other [00:33:56] ingredients arena and in fact [00:33:58] nobody on the planet [00:33:59] knows exactly what's in spam perhaps. [00:34:02] And of course [00:34:04] this is very similar to rejex. [00:34:06] Nobody really knows [00:34:08] not no single person knows how does rejex [00:34:11] actually work in every case. [00:34:14] That's a mystery. [00:34:16] Airtable is kind of the same way [00:34:18] because if you look at the [00:34:20] dimensions of this problem [00:34:21] I'll bet you could line up [00:34:23] every single engineer [00:34:24] at Airtable and not a single [00:34:25] one of them would understand [00:34:27] the impact of these changes. [00:34:29] It's that big. [00:34:30] Yeah I've been getting a lot [00:34:32] of really odd emails [00:34:34] just from a couple of clients [00:34:35] here and they're saying like [00:34:37] that they can't open a pdf [00:34:39] that was emailed to them [00:34:40] or somebody emailed me [00:34:41] the other day about a form [00:34:43] they were trying to upload a [00:34:44] pdf and through an Airtable form. [00:34:46] But then when they try [00:34:48] to click on it [00:34:48] just to verify that they loaded the right [00:34:50] pdf, it was giving them [00:34:52] a warning or a broken link. [00:34:53] I haven't been able to [00:34:54] verify any of these [00:34:55] but I have been getting a lot of [00:34:57] interesting so that would [00:34:58] be that quick, you know like [00:35:00] within a couple of minutes [00:35:01] you upload and then you [00:35:02] still can't see it. [00:35:03] I haven't checked it [00:35:05] myself but I have been [00:35:06] getting a lot of really weird pdf [00:35:09] related emails recently and [00:35:11] I'm assuming [00:35:13] I mean we do have to cut [00:35:15] Airtable a little bit of slack. [00:35:16] They've only had four [00:35:17] years to figure this out. [00:35:20] I mean you know [00:35:21] I mean NASA takes six years [00:35:23] to figure some stuff out right? [00:35:25] But at the end of the day [00:35:27] this was a big big challenge. [00:35:30] So I give them a [00:35:31] little bit of wiggle room [00:35:33] on this trying to document this. [00:35:36] It had to have been a [00:35:37] nightmare. You saw what [00:35:39] we went through. [00:35:40] I mean just even two people, Kuovonne and [00:35:42] me just talking on the community [00:35:45] There's like 15 different unanswered [00:35:48] questions and every time [00:35:50] they try to answer [00:35:51] questions you get five more questions. [00:35:54] And so this just started to become [00:35:56] like this shotgun blast. [00:35:58] Well I think part of [00:35:59] it is a lot of people don't [00:36:02] understand all the different ways [00:36:04] of getting URLs. And all the like first [00:36:07] of all I thought hey it's scripting, [00:36:10] it's probably gonna work all the same what [00:36:12] however you will actually know. [00:36:13] It seems to be different [00:36:14] if it's a scripting [00:36:15] extension versus a scripting [00:36:20] automation, [00:36:22] automation [00:36:23] scripting app. There's the rest api. [00:36:26] There's automation in general [00:36:28] because you can get to [00:36:30] the attachment field and [00:36:32] display as file name [00:36:34] or display as link. And there's like many, [00:36:38] many ways. Then the C. S. V export, [00:36:40] then there's actually in addition to the [00:36:43] main URL for the attachment [00:36:45] anytime that you can go through either any [00:36:48] either form of script, [00:36:49] there's all the thumbnails [00:36:50] that you can have [00:36:51] and those are also starting to look [00:36:53] like the new format. [00:36:55] And then like I said, [00:36:57] in custom extensions, [00:36:59] there's getting the regular URL [00:37:01] and then getting the attachment URL. [00:37:03] And then there's this the [00:37:06] viewer you are else you can get [00:37:08] by pressing like control C [00:37:10] or command C when you [00:37:11] have the cell value in there. [00:37:14] Yeah, [00:37:15] but I think well, [00:37:17] and then there's also the URLs [00:37:19] that you can get when [00:37:21] you go into the browser console, [00:37:23] when you're actually [00:37:24] in Airtable and you're [00:37:26] trying to see what URL [00:37:28] is being used there. [00:37:30] Yeah. And and other no code platforms [00:37:33] suffer from the same issue and some of [00:37:35] them will get boxed in [00:37:37] just like Airtable did. [00:37:38] And I remember in 2018 asking [00:37:40] Airtable about it, I said, hey, [00:37:42] you know, these are public URLs. [00:37:44] Yeah but they're discreet, [00:37:45] you can't really figure out what they are. [00:37:48] There's no way to compute [00:37:49] that content value. [00:37:51] But yet it's still out there in the wild, [00:37:54] right? So it prevents many use cases [00:37:57] that would require things like HIPAA [00:37:59] compliance. And there's other things [00:38:01] that would also HIPAA compliance. [00:38:02] But this is a major one. [00:38:04] And I think European standards [00:38:06] for data security is [00:38:07] another. [00:38:09] Well I think that this, [00:38:10] yeah, I think Kamille you're spot on. [00:38:13] A lot of people ask, [00:38:14] well why isn't Airtable [00:38:16] becoming HIPAA compliant? [00:38:17] This is it's really hard to do [00:38:21] and this is one reason, you know, [00:38:26] and there are others [00:38:27] in Airtable as well. [00:38:28] You know, it's not sufficient to [00:38:29] say well my data is encrypted [00:38:31] so therefore I'm HIPAA compliant. [00:38:33] That's not really the answer. [00:38:35] And of course this exposure of attachments [00:38:38] is also not HIPAA compliant. [00:38:40] In fact I do not believe [00:38:42] that a two hour signed URL [00:38:44] that expires is HipAA compliant either. [00:38:46] I don't think that that completely [00:38:48] rules it out. [00:38:49] And I think it's the same for GDPR. [00:38:51] They open an office in [00:38:52] England, everybody thinks oh [00:38:54] they're gonna be G. D. P. R. Compliant. [00:38:57] No. Think again [00:38:58] there's so many kind of [00:39:00] loopholes in Airtable that you cannot [00:39:02] sustain GDPR [00:39:04] I'm going to throw out [00:39:06] something I want to hear [00:39:07] everyone's opinion. [00:39:09] Would you guys support [00:39:10] there being a toggle [00:39:12] if you add an attachment field that [00:39:14] said allow [00:39:15] links to be public at all? [00:39:17] Don't worry about expiring links. [00:39:19] It's just [00:39:20] if they don't have that check box [00:39:22] check, you have to be logged [00:39:24] into Airtable to [00:39:24] open the link [00:39:25] with no matter how you got it. [00:39:27] And you know, if you have access to [00:39:29] the base then you can see the link. [00:39:31] Yeah, basically you're saying everything [00:39:33] expires immediately. [00:39:36] Yeah. Well, well [00:39:39] it sounds like you look [00:39:42] out. Yeah, there's like [00:39:44] I'm trying to separate the access issue. [00:39:48] You know, whether or not [00:39:50] a link should be public even [00:39:51] if it expires you can have [00:39:53] a public link that's indefinite [00:39:54] or that expires in two hours. [00:39:56] But giving the users the option [00:39:58] to say should it be public [00:40:00] at all? And then just [00:40:01] say you must log, [00:40:02] you're greeted with an [00:40:03] Airtable log in screen. [00:40:05] If you try to go to that link [00:40:06] and you're not logged in, [00:40:08] I would heart that two times. [00:40:11] So I [00:40:14] sure I think one of the issues [00:40:16] that we're running into is that it's a [00:40:18] complicated thing. [00:40:19] How much more complicated [00:40:21] do we want it to be? [00:40:22] And Airtable has said that [00:40:24] they don't want to be your CDN. [00:40:27] One thing I think they do [00:40:29] is they do need to maintain [00:40:32] some option of public URLs [00:40:34] so that these URLs [00:40:35] can be used in blue factories [00:40:37] or used in scripting or whatever. [00:40:40] But the problem is then [00:40:42] you're adding this extra, [00:40:43] you know layer of well, yeah, [00:40:45] I don't want this to be [00:40:46] public but I forgot about my [00:40:48] other glue factory [00:40:50] where I think it's only internal [00:40:51] cause all I do is sending [00:40:53] this thing out to the glue factory [00:40:54] and then back to me [00:40:56] do need to be public. [00:40:58] So how do you balance out [00:41:00] how complicated the system is [00:41:02] with how secure the system is? And [00:41:05] Airtable said that they don't [00:41:06] want to be a CDN [00:41:07] that they're not in the business of [00:41:08] being a CDN so what [00:41:12] I don't see that they [00:41:13] have a business case to make it [00:41:15] public [00:41:16] like that. I would agree. [00:41:18] I think you're right that Airtable is, [00:41:21] is indicated and probably [00:41:23] rightfully so [00:41:24] that they shouldn't be your solution [00:41:26] just storing files. [00:41:28] It's not a file storage system. [00:41:31] It's just stored data which [00:41:33] may or may not include a file. [00:41:35] Well, they are a file storage system [00:41:40] not to publicly disperse it, [00:41:44] display, you know, [00:41:46] storing files for convenience [00:41:48] is different than storing files [00:41:50] as a business. Right? [00:41:52] If the convenience is I can look [00:41:54] at my record and see my [00:41:55] files, I can click on them [00:41:57] and I can see a pdf [00:41:58] or I can see an image or whatever [00:42:00] that is a convenience. [00:42:03] It's I mean it's almost like [00:42:05] a hygiene thing. [00:42:06] If you don't have that [00:42:08] in a no code database, [00:42:10] you're going to fail. [00:42:11] People will reject you. [00:42:13] They need imagery as well as video, [00:42:16] any kind of binary file. [00:42:18] So doing that in the context [00:42:20] of Airtable is a must. [00:42:22] But doing it elsewhere is [00:42:24] it's not a must [00:42:26] nor is there a business case for it. [00:42:28] Now there are apps [00:42:30] that are going to require it. [00:42:32] But I think Airtable is [00:42:34] rightful to just say [00:42:36] if you have a business requirement [00:42:38] that involves content external to Airtable [00:42:41] go build bad [00:42:44] and we'll give you limited [00:42:46] expiring access to that. [00:42:48] The other thing that I [00:42:49] wanted to point out [00:42:51] that we've been talking about [00:42:53] two hours as far as I can tell [00:42:54] from all the documentation [00:42:56] that I've read and what I've seen, [00:42:57] what they say is the URL [00:42:59] Will be valid for a minimum of two hours, [00:43:02] they don't say well valid [00:43:04] for only two hours. [00:43:06] So theoretically in these tests [00:43:08] that I've done where I've had these [00:43:10] URLs that are exposed. [00:43:12] They've been valid for days. [00:43:13] Well they were valid [00:43:14] for at least two hours. [00:43:16] But Airtable has not explicitly [00:43:18] stated a maximum length that it will be at [00:43:21] which point it will become unavailable. [00:43:24] They simply said that eventually it will. [00:43:26] I think that's to get around [00:43:28] the caching we talked about earlier. [00:43:30] If it's cached [00:43:31] and you look at it at hour four, [00:43:33] well then you don't want [00:43:35] Airtable doesn't want to be called [00:43:37] a liar because some other [00:43:38] system cached [00:43:39] even though if you did it [00:43:40] on a brand new system, [00:43:42] you can't access that link. [00:43:43] that's probably the [00:43:46] there's a legal reason for liability. [00:43:48] Probably. Yeah. Just want to say is that [00:43:51] in some of the conversations [00:43:52] we've had, [00:43:53] people have been talking about it being [00:43:54] expired at the two hour mark, which is, [00:43:58] I just think we should be a little more [00:44:00] careful in how we phrase that. [00:44:01] Sure. Alright. Bill, [00:44:02] last word and then we gotta move on. Yeah. [00:44:04] I was just gonna say they're [00:44:06] basically saying, [00:44:07] hey you better read our rules [00:44:09] carefully because [00:44:10] we're writing it like tax code [00:44:12] now right? It's so complicated [00:44:14] and complex [00:44:15] and we have to cover our butts. [00:44:17] So we're gonna write this in a way [00:44:18] that you know, [00:44:20] may or may not suit your expectations. [00:44:23] I in my view I go with [00:44:25] Kamille, shut it off, Kill it. [00:44:27] Just go all the way. [00:44:29] No more public URLs period [00:44:32] and then seek to get HIPAA [00:44:35] compliance as well as GDPR compliance. [00:44:37] Get your servers going in [00:44:39] Canada get them going in in the EU [00:44:41] and then you know, [00:44:42] every a lot of people are [00:44:44] going to be happy [00:44:45] and the rest of us will [00:44:47] just have to adapt that. [00:44:48] That's my opinion. [00:44:49] Everyone has to do what I did. [00:44:52] Sync your tables from google drive [00:44:55] figure it out, build what you need but [00:44:58] don't expect Airtable [00:45:00] to front the bill for it. [00:45:02] Awesome. Thank you. Thank you [00:45:05] Kuovonne for coming on. [00:45:06] We really appreciate it and your work. [00:45:08] I think the conclusion is [00:45:08] there's still tons of questions [00:45:11] so maybe in a couple weeks [00:45:12] a month we'll get you [00:45:13] both back on and rehash this. [00:45:16] So I'm gonna keep my base going and [00:45:20] it's gonna still generate [00:45:21] I think I have it generating [00:45:23] a new URL like every [00:45:24] six hours now. [00:45:26] And you know, [00:45:27] part of why it might [00:45:28] not be expiring is the fact [00:45:30] that I keep asking for those URLs. [00:45:33] But we'll see. But until those URLS [00:45:36] expire, I'm gonna say, [00:45:37] I don't think that [00:45:39] the rollout is complete. [00:45:40] Right? It's the Heisenberg [00:45:42] uncertainty principle, right? [00:45:43] What you're discovering [00:45:44] is a Heisenbug and the Heisenbug [00:45:46] is something that if you watch it enough, [00:45:49] you'll change this behavior. [00:45:50] And that's exactly [00:45:52] what you're doing with the CDN. [00:45:53] But until such time as somebody [00:45:56] can show me that an internal URL [00:45:58] in a formula field referencing [00:46:00] an attachment URL [00:46:02] I am not paying you know [00:46:04] for free sandwiches for your family. [00:46:06] But as soon as as soon as somebody [00:46:09] can produce that, [00:46:11] I'll pay I'll pay the debt [00:46:13] and I'm just going on [00:46:14] what the documentation says. That formula [00:46:17] will be invalid. [00:46:18] I know and I said that [00:46:19] was a nutty never gonna happen. [00:46:21] I think I'm right. [00:46:24] So far. I'm right. [00:46:25] But you know this could [00:46:27] take a while that they Airtable is [00:46:29] good at screwing things up. [00:46:31] So they may end up making me [00:46:33] send you sandwiches, [00:46:35] which I'll happily do [00:46:37] because the shit show that will happen [00:46:45] will have it after that [00:46:46] on the community [00:46:47] would be well worth sending your [00:46:48] family sandwiches. [00:46:50] It would be great entertainment [00:46:54] anyway. God bless Airtable. [00:46:56] They're doing their best, [00:46:57] they're doing their best. [00:46:59] I'm sure behind the scenes, [00:47:00] they're having some interesting [00:47:02] conversations the last week or so to see [00:47:05] everything affected. [00:47:07] But it hasn't been the huge [00:47:08] blow up that we may be [00:47:10] projected, but maybe that's [00:47:11] still to come because they're still, [00:47:13] I think until we know definitively [00:47:16] that those URLs the dl dot Airtable [00:47:20] one [00:47:21] if they either they will never expire [00:47:24] and they'll always be public in which case [00:47:26] you've got the security hole [00:47:28] sitting there [00:47:29] or they will expire and that's when [00:47:30] things are going to blow up [00:47:32] and to the former if that happens, [00:47:34] they completely failed [00:47:38] exactly [00:47:41] to make Clickbait like this. [00:47:43] Yeah, very good. [00:47:47] All right. Thanks Kuovonne [00:47:48] for coming on, appreciate it. [00:47:50] We'll have you back on in the future show. [00:47:54] All right. Why don't we move on to [00:47:57] we'll just give a quick shout out to [00:48:01] On2Air are our primary sponsor. [00:48:03] We are in the process [00:48:04] of launching a new form [00:48:05] solution. I've gone through a few times, [00:48:08] so I'm gonna skip it for this week. [00:48:09] We'll highlight it again next week. [00:48:11] But check us out. You can join our private [00:48:14] beta for our new forms solution [00:48:17] at on2air.com and try out that new form [00:48:21] product. [00:48:22] So we've got maybe [00:48:25] 12 15 minutes Bill. [00:48:27] We'd love to learn more about you. [00:48:30] I think you've got an [00:48:31] interesting story. [00:48:33] Yeah, Kuovonne, feel free [00:48:35] if you want to stick around for that. [00:48:37] I'm gonna go back to this view [00:48:41] Bill, why don't you tell us [00:48:44] how did you find Airtable? [00:48:46] How did you come into [00:48:48] this world? Yeah. Airtable. [00:48:52] Yeah. I'll try to give you the one minute [00:48:56] the it was 2018, early in 2018. [00:48:59] We just landed a contract [00:49:01] at streaming for a transit agency, [00:49:04] Los Angeles. And in the [00:49:06] process of doing that [00:49:07] we realized they really needed some [00:49:10] notifications and they needed it [00:49:12] kind of in [00:49:12] a way where they could track it [00:49:15] and kind of monitor things basically, [00:49:17] our technology runs on like [00:49:19] public transit vehicles [00:49:20] and every now and then you [00:49:21] know somebody falls down [00:49:23] and you know, [00:49:24] we need to send notifications. [00:49:25] The notifications have to go to a [00:49:28] variety of departments [00:49:30] within the organization [00:49:31] and so I grabbed Airtable [00:49:34] and I knew it had an API [00:49:36] And I knew I could jam stuff [00:49:37] into it and I knew I [00:49:38] could put clients on it [00:49:40] and they could see what [00:49:41] the heck was going on. [00:49:42] So that's how Airtable get started. [00:49:44] Was that less than one minute? [00:49:45] Yeah, it's under one minute, not bad. [00:49:48] Tell us, tell us, you know, [00:49:50] you've maybe give us [00:49:52] a little more history. [00:49:53] I mean you've been in the [00:49:54] computing world a long time. [00:49:56] You've got an interesting [00:49:57] past. Give us the cliff notes. [00:50:00] I think there's like nine [00:50:02] or 10 o's in long for me [00:50:04] because it's out there [00:50:06] it's just like an entire lifetime. [00:50:09] My earliest database [00:50:10] activities was the database [00:50:12] that I designed [00:50:14] In on a TRS 80 in 1978. [00:50:18] And that TRS 80 was tape drive [00:50:20] little tiny cassettes. [00:50:23] And it used I think [00:50:24] he used benton harbor basic. [00:50:26] One of the first basic [00:50:28] I think Microsoft was [00:50:30] involved Bill Gates might have been [00:50:33] involved with it and from there I was [00:50:36] involved in you know the CPA profession [00:50:39] so I was an auditor and I was [00:50:40] figuring out how to [00:50:42] automate the auditing of [00:50:43] municipality up in New England [00:50:46] by the way Alli. [00:50:47] It was in Maine Bangor Maine I [00:50:49] was literally working in a CPA firm [00:50:52] and automating auditing processes. [00:50:55] And those partners kept looking [00:50:57] at my hours [00:50:57] and how did you get all that done [00:50:59] in like you know 17 billable hours? [00:51:01] And I because normally take [00:51:03] 170 billable hours [00:51:05] and I said well simple, [00:51:06] I'm using computers [00:51:07] and they said what's that? [00:51:08] It goes back that far. [00:51:10] And so they immediately fired me. [00:51:13] They said oh no this is bad [00:51:14] for billable hours, we can't we can't have [00:51:16] accountants doing [00:51:18] work like this that quick. [00:51:20] I mean I call it a firing, [00:51:21] but they called it outsourcing, [00:51:23] they outsourced me to a company that was [00:51:25] probably the best move in my career. [00:51:27] ABC television, that was one of their [00:51:29] clients. They said, [00:51:30] oh these guys over at ABC, [00:51:31] they'll love you. [00:51:32] And I got over there [00:51:34] and sure enough, [00:51:35] they love me, I love their engineers too [00:51:37] they could build any computer [00:51:38] you could imagine. [00:51:39] And so that one thing led to [00:51:40] another before I knew it, [00:51:42] I was kind of working in corporate, [00:51:43] down in in Manhattan [00:51:45] and sleeping in a bunk actually [00:51:48] across from the muppets, [00:51:50] that's how I developed [00:51:52] such an affinity for the two old guys, [00:51:54] right? I was a young kid [00:51:55] at the time, but now that I'm old guy, [00:51:57] I have great affinity for having [00:52:00] bunked in near the closet [00:52:01] where they stored the [00:52:02] muppets. But long story short [00:52:06] that led me into other computing work, [00:52:09] went out of my own, [00:52:11] built a couple of database apps [00:52:14] under D Base. [00:52:15] You guys recall D Base? [00:52:16] I used one of the first [00:52:18] spreadsheets [00:52:19] which was Visicalc on the Apple, [00:52:20] Apple two c, I think it was [00:52:23] had color, wow, that was fascinating. [00:52:25] Do you guys remember when [00:52:27] TVs went from black and white to color? [00:52:28] No, nobody in this. [00:52:31] Yeah, that was a watershed [00:52:33] moment, but from their D base [00:52:36] and then Fox pro and [00:52:37] access and sequel server and [00:52:41] one thing after another, [00:52:43] I spent most of my career [00:52:45] building database like things. [00:52:47] There was one big watershed [00:52:49] event in 1980. [00:52:50] Somebody came to me and said there's [00:52:52] no way to move data quickly [00:52:55] between the desktop and [00:52:57] what was the first laptop [00:52:59] which rode on the space shuttle [00:53:01] was called the grid computer [00:53:03] and grid had this [00:53:04] crazy disk format [00:53:05] and IBM Pcs had a totally dis format [00:53:08] and so they asked me and my partner is [00:53:10] there a way that you guys could [00:53:12] figure out how to move data quickly? [00:53:13] We figured that out that worked [00:53:15] until the space shuttle didn't have grid [00:53:17] computers. [00:53:18] And then when that happened, [00:53:20] we said, what are you gonna do this [00:53:22] this little program, [00:53:23] It was called Fire file at the time, [00:53:25] which by the way that [00:53:26] proves that no coder [00:53:28] should name a product. [00:53:30] You know, Fire file. [00:53:31] That sounds like it's destroying the data. [00:53:34] NASA was comfortable with that I guess. [00:53:37] But for the rest of us we thought [00:53:39] yeah, we gotta, we gotta [00:53:40] market this somehow. [00:53:41] And then laptops were born and [00:53:43] then fire file became lap link, [00:53:45] lap link ended up being, I don't know, [00:53:48] a 25 year project of some sort. [00:53:53] So all of that was going on [00:53:55] while I was learning new [00:53:57] database systems and [00:53:58] largely most of them were no code [00:54:00] database systems. You know, [00:54:01] we think no code is like [00:54:03] oh it's the greatest [00:54:04] new thing since sliced bread. [00:54:06] No, there was no code databases long ago. [00:54:09] This is just the latest incarnation of [00:54:11] it and not a bad one. [00:54:13] I might add Airtable's pretty good. [00:54:15] Yeah, the whole history [00:54:17] of like six minutes. Yeah. And we've, [00:54:20] we've benefited, I think, [00:54:21] you know, if you've been [00:54:23] spent any time in the [00:54:23] communities, we've benefited [00:54:25] from your insights and knowledge and [00:54:28] tend to give long courses on, [00:54:31] on history of things. [00:54:33] So hopefully people take the [00:54:35] time and and appreciate [00:54:37] the effort you've put into [00:54:38] the community you've [00:54:39] definitely helped. [00:54:40] I never set out to be an expert. [00:54:43] That was all accidental. [00:54:46] I mean look at my upbringing, [00:54:49] I went to high school in New Hampshire. [00:54:53] In fact, Alli wasn't your, [00:54:56] is it your husband is [00:54:58] going to as well? [00:55:00] So I didn't learn much there. [00:55:07] I didn't learn anything there. [00:55:11] So even after that [00:55:13] I became everything was okay. [00:55:16] So if you look at a kid [00:55:18] that's struggling, [00:55:19] they'll be fine. They'll figure it [00:55:21] out. [00:55:22] Why don't we, [00:55:23] for the remaining couple minutes, [00:55:26] why don't you give us kind of [00:55:28] your predictions? [00:55:29] I know you love predictions. [00:55:31] What what do you predict for Airtable [00:55:33] for kind of this no code environment. [00:55:35] What what foresights do you have to [00:55:37] share with us today? [00:55:39] Yeah, I mean I think [00:55:41] Airtable eventually will [00:55:43] realize that it needs to be [00:55:44] more data science-y [00:55:47] which is not to say [00:55:49] that it needs to do charts better. [00:55:52] It's to say that it needs to be [00:55:54] able to process data quicker [00:55:56] and bigger chunks. [00:55:56] And so I predict eventually [00:55:59] there will be an extension language, [00:56:03] perhaps python. [00:56:06] So I think there'll be a second [00:56:08] extension language when who knows, [00:56:10] but I think there will be enough [00:56:13] pressure on Airtable [00:56:15] to process and perform [00:56:17] data calculations that don't [00:56:20] erode their server power. [00:56:22] Server power is a [00:56:24] premium at Airtable, as you all know, [00:56:26] if you just write some API stuff, [00:56:29] you can see it in the user interface. [00:56:32] All users are impacted by that. [00:56:34] I think this was understanding [00:56:36] that we came to [00:56:37] about a year and a half ago [00:56:39] when Airtable basically said that. [00:56:42] And so now we know that all APIs are [00:56:46] lockstep with the container [00:56:48] that your instance runs in. [00:56:50] Which means if you run massive [00:56:52] API activities on your data, [00:56:55] you're likely to impact all other [00:56:57] users on that instance. [00:56:58] And that's that's not [00:56:59] good. I get it. [00:57:00] I mean, that's an architectural choice, [00:57:03] its fine architecture [00:57:04] architectural choice for Airtable [00:57:06] to do. But at the end of the day, [00:57:07] somebody's gonna come along and say, [00:57:10] I got to do a lot [00:57:11] of crunching on this data [00:57:12] and I need a better way to do it. [00:57:14] I think python is probably [00:57:15] the way to do it. [00:57:16] So that's one big prediction. [00:57:18] Another is that [00:57:21] the no code contingent within Airtable. [00:57:26] Let's put it this way, [00:57:29] the code activities in Airtable, [00:57:31] they're going to triple [00:57:33] I don't see this stopping. [00:57:35] So the irony is that [00:57:37] this beautiful no code platform is [00:57:39] going to have a massive expansion [00:57:43] in coding activity within it in order to [00:57:47] satisfy customer clients. [00:57:49] I don't think they can get around it. [00:57:50] I think there will become [00:57:52] more code generators though for Airtable. [00:57:55] I think that's on the horizon [00:57:57] as the coding environment [00:57:59] becomes more complex. [00:58:00] So [00:58:01] is a code generator [00:58:02] part of the no code solution [00:58:04] or part of the code solution? [00:58:05] I'm not sure [00:58:07] right. It depends on [00:58:09] is it a glass half full or half empty. [00:58:14] Cool. Any questions for Bill? [00:58:16] We've got maybe a couple of minutes. [00:58:19] I'd love to [00:58:20] wrap up. What [00:58:21] what else do you have [00:58:22] to share with us Bill? [00:58:23] I don't have anything to share [00:58:26] because my mouse just died. [00:58:28] No, I, you know, I [00:58:30] I love the conversations [00:58:33] on the community. I [00:58:36] think, you know, [00:58:37] if somebody were to say to me well, [00:58:38] what's the one thing I should [00:58:39] learn in scripting in Airtable? [00:58:41] I would probably lean on, [00:58:43] you know, how to hash index, [00:58:45] you know, how to create hash indices. [00:58:47] You know, the second thing that [00:58:51] that really concerns me about Airtable [00:58:54] is there's no full text search [00:58:57] within it. [00:58:58] There's still, I mean to this day, [00:59:01] in 2018 I wanted to build a search [00:59:03] environment and [00:59:04] that search environment was [00:59:07] you know, based on a full, [00:59:09] you know, full text search capability, [00:59:12] those are hard to build in database [00:59:14] environments because there's [00:59:16] so many fields and so many values. [00:59:17] So now you have context [00:59:19] amongst each row, [00:59:20] each value within the row. [00:59:22] But to this day, Airtable still has not, [00:59:25] has not figured that out. [00:59:26] And I predict they won't [00:59:28] figure it out [00:59:29] if they haven't done something about it [00:59:30] by now, they do not have the [00:59:32] architecture to support a full text search [00:59:35] and I believe that it needs [00:59:37] to happen across workspaces [00:59:39] and across bases [00:59:40] there are some enterprise requirements [00:59:42] that would say yeah, we got to do [00:59:44] multiple workspaces and all tables [00:59:46] within all bases within that work space, [00:59:49] That's really a big challenge. But I think [00:59:52] eventually Airtable is going to have [00:59:54] to figure that out. Probably will be a [00:59:55] third party company that figures it out. [01:00:00] Who here is satisfied [01:00:01] with search? Raise your hand. [01:00:03] I do not see any hands. It's [01:00:09] well, I mean I can search [01:00:11] for what I want to search for. [01:00:13] I'm sure there's other [01:00:14] people that can't search [01:00:16] for what they need to [01:00:17] but my search requirements are [01:00:19] actually fairly small. [01:00:20] They're handling it in [01:00:22] in [01:00:24] in a half step, I'll say in interfaces, [01:00:27] you have greater control over what [01:00:31] is used as the name field [01:00:33] when you're displaying [01:00:34] linked records and things like [01:00:36] that. And so when you're searching [01:00:38] it searches that field. So now it doesn't [01:00:41] have to be the first field in your table [01:00:43] and the record list thing [01:00:45] on the sidebar, [01:00:46] you can show up to three fields, [01:00:47] you can search any of those [01:00:49] three fields that you're showing [01:00:52] kinda but it's, [01:00:52] you know, it's [01:00:53] it's not if you have a fourth field [01:00:55] you want to search through, [01:00:57] you got to use a formula [01:00:59] and yeah. So I think if we ask the [01:01:02] community at large, [01:01:04] you know, what's the level [01:01:05] of satisfaction? [01:01:06] I think it would be pretty poor. [01:01:08] Well, the other thing is [01:01:10] the quality of the search, [01:01:11] the better structured your [01:01:13] database is the less of a need [01:01:16] you have for a search [01:01:17] for a across all the [01:01:21] people are like, okay, [01:01:22] I know this data [01:01:23] is in this record somewhere but they've [01:01:25] got, you know, [01:01:26] stuff buried inside this text field [01:01:28] that they're trying to search [01:01:31] records. [01:01:32] Well, and Bill you mentioned earlier [01:01:35] searching across a workspace, [01:01:37] part of the reason people [01:01:39] have to split data apart [01:01:40] into multiple bases in a [01:01:42] workspace is the record limit [01:01:44] and you have to start archiving [01:01:45] your old records. [01:01:46] But if you want to find that [01:01:47] old record now, you gotta search [01:01:49] the other base and not the one that you're [01:01:50] currently looking at. And so [01:01:53] some of these [01:01:54] it's all nested together [01:01:56] all these interrelated issues. [01:01:58] If you could store everything [01:02:00] in one base you have the capacity to do. [01:02:02] So you might be able to search [01:02:04] with the current capability [01:02:06] for what you're [01:02:06] looking for. But [01:02:09] you know, that's not [01:02:10] what we have today. Yeah, when you know, [01:02:12] when most people think of search, [01:02:15] they don't think of finding [01:02:17] a specific record. [01:02:19] They think of a broader, [01:02:21] higher level search. And so you know, [01:02:24] Kuovonne what I'm saying is [01:02:26] that a lot of enterprises [01:02:28] are having a tough time [01:02:29] putting their fingers on the data [01:02:31] they need to do their job. [01:02:32] You don't have to look far [01:02:34] for articles that [01:02:35] say enterprise workers spend [01:02:37] roughly 2.9 hours a day [01:02:40] groping for information [01:02:42] in Airtable this is a problem. [01:02:45] And until such time as they cure it, [01:02:47] they're part of that problem. [01:02:50] And so I think enterprising [01:02:52] we know that Airtable cares [01:02:54] about enterprises. So [01:02:57] yeah, this search has, [01:02:58] it has to be fixed in some way. [01:03:00] I predict it won't be [01:03:01] Airtable that solves it. [01:03:03] So when you say search, [01:03:04] it sounds like what you're talking [01:03:05] about is querying [01:03:07] I findability, let's make a bigger word, [01:03:10] right? Is the information findable, [01:03:13] Right? And so if you take that at a very [01:03:16] abstract high level. [01:03:18] Yeah, I mean it's, [01:03:19] it involves a query, you know, [01:03:21] how is the query conducted? [01:03:23] I've always believed that information [01:03:25] should find us not the other way around. [01:03:27] So, you know, Airtable should [01:03:30] in some regard make it [01:03:32] easier for information to [01:03:34] be aligned with that, [01:03:35] which we think we need at the moment. [01:03:37] We need it. [01:03:38] But I think the only way to do that [01:03:40] is yet another thing [01:03:41] where Airtable kind of [01:03:42] hasn't really considered [01:03:43] much and that's real time [01:03:45] computing, real time architectures, [01:03:48] no words, sockets layer, [01:03:49] I don't know if you guys [01:03:51] have seen recently the hotwire [01:03:53] announcement or it's [01:03:55] a hot wire project [01:03:57] that's designed to make web rendering [01:04:00] instantaneous. [01:04:02] And I think we have to go [01:04:03] in that direction, [01:04:05] which means Airtable will have to [01:04:06] support sockets at some point, [01:04:09] consumers are tired of seeing html [01:04:11] rendered because it takes more than 400 [01:04:14] milliseconds to do anything [01:04:17] in rendered html on a server. [01:04:19] And we have to get [01:04:21] everything about Airtable [01:04:22] should be below the Doherty threshold. [01:04:24] If you're not familiar with [01:04:26] Doherty threshold, just look it up. [01:04:27] It's the 400 millisecond mark [01:04:30] that says any human [01:04:31] that has to wait more than 400 [01:04:33] milliseconds is going to be pissed off. [01:04:36] Right? And that's that increases [01:04:38] as we get faster and faster systems [01:04:41] and you don't think a human can really [01:04:43] understand the difference [01:04:45] between 400 milliseconds and 401. You can. [01:04:48] Your brain knows right, [01:04:50] You start to get conditioned [01:04:52] for this high performance [01:04:53] environment and the only way [01:04:55] to get out of that mess [01:04:57] is to stop rendering. [01:04:58] Just, you know, open the [01:05:01] open the developer console [01:05:03] and look at what Airtable [01:05:04] is pushing out to your [01:05:05] browser [01:05:06] Dan's smiling because he's done [01:05:09] a lot of that looking [01:05:11] and it's like holy crap [01:05:13] that's a crap ton of crap [01:05:16] Every second it's more crap [01:05:18] and more crap and more crap. [01:05:19] And the only way [01:05:20] around that is to go to something [01:05:22] like hotwire which completely changes the [01:05:25] architecture of how web app [01:05:26] should be should be rendered. [01:05:28] I think react is dead, [01:05:30] I think it's dead in the water, [01:05:31] I think it's going away, [01:05:33] I think it's over. That [01:05:34] it's 15 minutes of fame are up [01:05:36] and what's coming in after that. [01:05:39] What's what's that? [01:05:40] I said that's the only one I know Bill [01:05:42] I don't want to start [01:05:43] over. Yeah but Kamille you learn [01:05:45] to react in a hot minute. [01:05:47] Yes but I still don't [01:05:48] want to start over. [01:05:49] You need to forget it in two hot minutes. [01:05:52] And ironically Hotwire might be [01:05:54] the way to forget it [01:05:55] but Airtable will have to [01:05:57] address this because react is a bad bet. [01:06:00] It's it's not where they should be [01:06:02] betting on their architecture but anyway I [01:06:05] don't want to take too much time [01:06:07] over my limit here Dan [01:06:08] Yeah we're up on the [01:06:09] hour. We always appreciate it. [01:06:11] Thank you so much. [01:06:12] We'll definitely need to get [01:06:13] you all back on and continue [01:06:15] this conversation [01:06:17] so thank you Bill for coming on [01:06:20] and Kuovonne also thank you. [01:06:24] There we go. [01:06:25] So yeah [01:06:25] that concludes this week's episode. [01:06:28] Thank you again to Bill [01:06:30] French and Kuovonne for [01:06:31] coming on and joining with us [01:06:33] and we will see you all next [01:06:35] week. Take care.