‧
8 分钟阅读
Product Hunt AMA 回顾:嵌入、开源成功等等

Sameer Al-Sakran
‧ 8 分钟阅读

分享本文
为了迎接明天 Product Hunt 上我们嵌入版本的发布,我停下来回答了社区的问题。
我们为什么推出 Metabase 嵌入?
在过去 10 年里,我们一直致力于提供一种简单且开源的方式,让您公司中的任何人都可以自行运行报告、制作图表,并普遍能够探索和使用数据。
我们已被超过 70,000 家各种规模和类型的公司和组织使用——从财富 100 强公司到当地排球俱乐部。
分析是一项多人游戏,虽然分析师、数据科学家和其他数据艺术从业者是重要参与者,但我们始终相信,普通上班族应该能够自己获得他们所需的信息。我们发现,越来越多的公司使用我们向客户(而不仅仅是员工)提供数据和分析。我们一直致力于让这变得更容易、更快,并将结果称为“Metabase 嵌入”。
在此过程中,我们通过帮助数百家公司在其产品中嵌入分析和报告学到了很多。这通常不仅仅涉及一两个图表或仪表板,而是让您的客户能够对他们在您的应用程序中生成的数据运行自己的报告。
那么为什么选择 Product Hunt 呢?虽然你们中的许多人已经在嵌入式分析方面取得了令人难以置信的成就——例如创造优质体验、解锁新的收入来源和差异化您的产品——但我们知道仍有大量团队在从零开始构建分析方面面临挑战。通过在 Product Hunt 上发布,我们旨在传播 Metabase 嵌入如何消除这种痛苦并帮助更多公司为其用户提供无缝、自助式分析的信息。
AMA 细分
在您看来,一个开源项目的成功由哪些指标来定义?
“我想说,如果你想建立一个庞大且不断增长的开源项目,最重要的目标是让核心用户群体(最好是快乐的)不断增长。反过来看,你还需要跟踪安装数量,以及尝试使用你的人数(来自下载量或 Docker Hub 拉取量)。GitHub 会公开其中一些指标,Docker Hub 会公开另一组,你可能还想在自己的服务器上托管发布,以便在那里获得准确的计数。
如果你是一个应用程序,那么某种(可选加入的)前端客户端跟踪也是理想的,这样你就能了解人们在应用程序中到底在做什么。”
如果今天从头开始构建这个产品,你会怎么做?
“最直接的事情是,由于 NLP 基本是一个已解决的问题,我们将大量依赖自然语言进行查询(注意:我们现在正在使用我们的“Metabot”来实现这一点)。
从更宏观的角度来看,我会在更早的时候构建至少一个 Metabase 的“预览”付费版本并进行验证。创建一个成功的开源项目很难,创建一个商业软件公司也很难,两者兼顾则更加令人恼火。我认为,理解你将如何商业化(即:测试方法并验证它们)是你需要在早期阶段就真正理顺的事情。我们很幸运,我们早期的一些重大押注最终奏效了,但这些也可能很容易失败。”
当我想到开源分析时,我想到的是 Plausible。您能帮我理解您是如何定位自己的,相对于他们而言?”
“Metabase 位于数据库之上,允许您对数据库中的数据运行查询、制作图表、仪表板、设置警报等。Plausible(以及 Google Analytics、Mixpanel 等)是前端库、存储和更简单的查询工具的组合,用于进行所谓的“事件”或“使用”分析。将其视为一个相当专业的用例,而使用 Metabase,您可以随意切割和分析您拥有的任何数据。”
在这个多人游戏中,您认为人工智能在分析中扮演什么角色?
“目前,它就像分析部门里那个粗心大意的实习生,他的工作需要经过三次核对。”
在几个基础模型世代之后,我认为它最终应该能取代人类分析师在“我有一个问题”->“这是答案”的循环中,并且可能也能解决“这东西令人困惑,你能深入研究一下发生了什么吗?”这类问题。”
您的嵌入产品的主要区别是什么?我为什么要选择它而不是其他竞争对手?
“从根本上说,我认为我们是所有替代方案中最懒惰的选择。如果您在整理面向客户的模式应该是什么样子方面做了一些前期工作,那么您可以在一两周内将产品呈现在客户面前。大多数人都在为像素而烦恼,完全忽略了数据结构,而我们认为(并鼓励您在产品中)反其道而行之。”
在构建 Metabase 嵌入时,您最大的“顿悟”时刻是什么?
“一个给定客户能否成功交付产品、交付需要多长时间,以及他们的客户是否使用应用内报告,往往取决于数据模式以及应用程序的普通用户是否理解他们所看到的内容。分析师或数据工程师经常为其他数据从业者设计模式,却不真正理解应用程序普通用户的心态。”
您计划如何在多租户设置中支持客户驱动的自定义分析,而不会使共享数据库过载?
“数据库(或数据仓库)负载不是我们要在 Metabase 本身解决的神奇问题。在某些时候,您需要弄清楚要公开哪些数据集、您期望用户提出哪些特定形式的问题、行级每客户数据控制的索引模式等等。”
在非常低的规模下,让客户访问应用程序数据库可能是有意义的。但在任何实际的客户量下,您*确实*应该为服务面向客户的分析专门配置一个单独的数据库。缓存会在一段时间内帮助您,但从长远来看,这是一条死胡同。
我们强烈建议将应用内分析视为面向客户的功能。对于面向客户的功能,性能非常重要,您应该优化数据库架构以支持这一点。这几乎肯定意味着要脱离您的主应用程序数据库,并创建更密切地映射您客户对应用程序中对象的看法的自定义表。”
您如何看待在开源代码上构建业务?您是否觉得您“损失”了自托管版本的收入?或者说,增加的曝光度“值得”吗?这样表述是否正确?优点和缺点是什么?
“从根本上说,你放弃了构建成本高昂的软件,以换取增加的曝光度、愿意投资于你的项目并提供帮助(代码或其他方面)的第三方,以及增加的信任。”
这是一个难以平衡的方程式,历史上,大多数人都是负面的。
开源为我们在可信度、热衷于项目工作的优秀工程师以及曝光度方面带来了很多。让这一切奏效的一件事是,我们从一开始就对我们要销售什么有一个相当清晰的愿景。我确实认为你必须要么完全致力于开源,要么完全不开源。我还没有看到很多在两者之间犹豫不决的人(尤其是在早期)成功。如果你是开源还是闭源(例如,关于用户功能请求、支持等),有很多关键的早期决策你应该采取截然不同的方式。”
如果我内部构建面向客户的分析,有哪些特别具有挑战性或棘手的问题?
“我在另一个评论中提到,从‘我只添加这个图表’到意识到你需要处理通用查询是复杂性最大的飞跃。”
另外两个主要挑战是:正确呈现给最终用户的数据模式,以及确保整个体验性能足够好,不至于惩罚用户。”
构建分析时最大的难题是什么
“最大的难题是,通常在添加一两个图表后,您就开始收到客户关于他们需要什么数据的请求。这些请求通常非常不同,而且都‘紧急’。在某个时候,您需要接受您需要构建一个通用的查询界面,这往往会带来复杂性和麻烦的巨大飞跃。”
结束语
AMA 到此结束。我很荣幸能回答大家的问题并分享更多关于 Metabase 嵌入的信息。如果您想帮助更多构建者、创作者和产品经理发现嵌入是最佳选择,请在 Product Hunt 上支持我们。