‧
8 分钟阅读
Product Hunt AMA 回顾:嵌入、开源成功等等
Sameer Al-Sakran
‧ 8 分钟阅读
分享本文
为迎接明天 Metabase 嵌入式版本的产品发布,我来到 p/ama 回答社区的提问。
我们为什么要发布 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,你可以对你拥有的任何数据进行切片和骰子。”
在您看来,AI 在这场多人游戏中扮演着什么角色?
“今天,分析部门里那个极度懒散但工作需要三审三校的实习生。
在几代基础模型之后,我认为它应该能够取代人类分析师在‘我有一个问题’->‘这是答案’的循环中,以及可能在‘这个东西很令人困惑,你能深入了解一下发生了什么吗?’的问题中。”
您的嵌入式产品的主要区别是什么?为什么我应该选择它而不是其他竞争对手?
“根本上,我认为我们比所有其他选择都更‘懒惰’。如果你花一点时间来梳理客户可见的模式应该是什么样的,你可以在一到两周内向你的客户展示一些东西。大多数人都在像素上纠结,而完全忽略了他们数据的形状,而我们认为(并在产品中引导你)应该反其道而行之。”
在构建 Metabase 嵌入式版本时,您最大的‘啊哈’时刻是什么?
“我发现,一个给定的客户能否成功发布,需要多长时间,以及他们的客户是否使用应用内报告,很大程度上取决于数据模式以及应用程序的平均用户是否理解他们正在查看的内容。分析师或数据工程师经常为其他数据从业者设计模式,而并不真正理解其应用程序的普通用户的思维方式。”
在多租户环境中,您打算如何支持客户自定义分析,而不会使共享数据库过载?
“数据库(或数据仓库)的负载不是我们将在 Metabase 本身解决的神奇问题。在某个时候,你需要弄清楚要公开哪些数据集,你期望用户提出的具体问题类型,逐个客户数据的索引模式,等等。
在非常低的规模下,让客户访问应用程序数据库可能是合理的。但对于任何实际的客户数量,你**真的**应该提供一个专门用于服务客户分析的独立数据库。缓存可以在一定程度上帮助你,但从长远来看是死胡同。
我们强烈建议将应用内分析视为面向客户的功能。对于面向客户的功能,性能非常重要,你应该优化数据库模式以支持这一点。这几乎肯定意味着要离开你的主应用程序数据库,并创建自定义表,这些表更贴合你的客户对应用程序中对象的思考方式。”
您如何看待在开源代码的基础上构建业务?您是否觉得您“损失”了自托管版本的收入?还是说增加的曝光度“值得”?这是正确的思考方式吗?有哪些好处和坏处?
“从根本上说,你是在放弃构建成本很高的软件,以换取增加的曝光度、会投资你的项目并提供帮助(代码或其他)的第三方,以及增加的信任度。
这是一个难以平衡的等式,历史上,大多数人都亏本。
作为开源项目,我们在信誉、吸引有才华的工程师为项目工作以及广泛的曝光度方面受益匪浅。其中一个让这一切奏效的原因是,我们从一开始就对要销售什么有一个相对清晰的愿景。我认为你必须要么完全致力于开源,要么完全不这样做。我没见过多少在两者之间摇摆的人(尤其是在早期)成功过。如果你是开源与闭源(例如,关于用户功能请求、支持等)有所不同,你需要在早期做出很多关键决策。”
如果我在本地构建面向客户的分析,有哪些特别具有挑战性或棘手的事情?
“我在另一条评论中提到,从‘我只是添加这个图表’到意识到你需要处理通用查询,这是复杂性最大的飞跃。
另外两个主要挑战是正确设计你呈现给最终用户的数据模式,以及使整个体验足够高效,不至于让你的用户感到痛苦。”
当您尝试构建分析时,最大的麻烦是什么?
“最大的麻烦是,通常在添加了一两个图表后,你就会收到客户关于他们需要什么数据的请求。这些请求差异很大,而且都很‘紧急’,这种情况极其普遍。在某个时候,你需要接受你需要构建一个通用的查询界面,这通常会导致复杂性和麻烦的巨大飞跃。”
结语
AMA 到此结束。我非常享受回答您的问题并分享更多关于 Metabase 嵌入式版本的信息。如果您想帮助更多构建者、制作者和产品人员发现嵌入式是最佳选择,请在 Product Hunt 上支持我们。