随着互联网的全球化发展,越来越多的中国互联网企业和独立开发者都开始将目光投向海外市场。然而,打造一款真正的全球化社交产品,远比想象中要复杂得多。很多人以为做个全球化的社交产品就是把界面翻译成多国语言,可实际情况复杂得多。从界面适配到后端架构,从数据合规到内容审核,每一步都像是在拆炸弹,稍有不慎就会引发连锁反应。作为一个经历过全球化项目的后端工程师,尝过其中的“酸甜苦辣”,我想聊聊开发全球化社交产品时那些可能不为人知的一面。
TikTok 难民是怎么回事?
随着 TikTok 在美国面临全面封禁的威胁,大量美国等国家的用户为了对即将生效的 TikTok 禁令表达不满,故意涌向了中国社媒平台 小红书(Rednote/xiaohongshu),这些自称 “TikTok 难民”(TikTok refugee)的用户们认为,美国以用户数据安全为理由封杀他们热爱的平台并不合理,因此他们决定以注册“小红书”的形式,主动将自己的数据交给一家中国公司,他们将小红书比作为中国版 TikTok(Chinese TikTok)。
小红书该怎么办?
如果这是一事件不是小红书自身的营销所为,小红书的首席执行官(Rednote CEO)是毛文超(Charlwin Mao Wenchao),不知道最终他会对这一事件做出怎样的决策?是拒绝“难民”们的涌入还是改造自身业务和技术架构实现来适配政策迎接这波流量获取更多国外用户出海走向国际化。这其中有很多利弊是需要小红书高层考虑的,拒绝这波“难民”,错过了国际化的机会也很可惜。投入资源迎接这波用户会不会只是一个短期热点并不能持续,赔本赚吆喝?更要命的是,迎接这波用户走向国际化自己会不会成为下一个 TikTok?
做全球化产品并不简单
时下人人都在喊“产品出海”,要做国际化产品,要赚全球用户的钱。我作为一个服务端程序员,想就此谈一谈一款国际化的面向全球用户的中国 APP 在开发实现上的具体事务和难点。
做过国际化产品的尤其是从一出生就是针对全球用户业务产品的程序员应该都知道,一款真正的全球化用户在国内做起来有多“恶心”。
够喝一壶的界面适配
首先最直观的就是 App 界面上的多语言文字翻译以后的长短不一导致界面变形,阿拉伯文字还是从右往左展示的。
后端逻辑更是噩梦
最“恶心”的就是后端逻辑,内容审核要命、用户隔离逻辑要命、代码维护更要命。
内容安全审查
首先就是内容安全审查,即使有专门的各种第三方提供服务,比如网易易盾,可以提供自动的文字、图片、音视频和直播内容的合规性安全风险检测,你以为如今可以使用 AI 检测成本不说,也仍需大量的内容审查工作人员参与不同语言和形式的内容的人工审核。你发的一行文字、一张图片、一个视频,背后都有工作人员开着一个个后台窗口在不间断的审核,一旦发现违规内容,及时处理。
用户隔离逻辑
通常随着用户的使用情况,需要针对具体地域进行软隔离,比如大陆与港台互不可见,但又要做到双方无感知。并且其中可能会有业务合作的 KOL,或者一些特殊人物,比如你老板的朋友等,需要开发添加各种特殊逻辑。还有一个地区问题也是要考虑的,比如如果用户要展示自己的国旗,或者在动态中发布国旗,一些有争议的地区会有特殊处理。另外常见的还有欧美、中东等地区有几国的用户喜欢政治上互掐,为了维护互联网秩序,也需要对他们分别进行隔离。除了国家与地区的隔离,还有成年人与未成年人之间的隔离,需要对互联网上的未成年人提供保护。国际化产品,极大概率的会出现很多杀猪盘,不同国家的骗子检测也是一个挑战。
代码维护
这些隔离逻辑会使代码的编写和 APP 功能业务逻辑的实现变得复杂。一旦涉及隔离,从用户的内容信息流到各种用户的主页、个人资料、活动状态等都需要添加屏蔽过滤逻辑,随着各种“奇怪”的过滤逻辑加入进来,代码变得异常复杂,同时,有的过滤逻辑是需要调用各种服务实现的,对代码执行性能和用户体验都是极大的挑战。最恶心的是,不同业务功能,需要使用不同的隔离逻辑规则,随着业务人员的不断离职入职和业务的发展变化,会导致有的隔离逻辑不知道能不能去掉,为了各自“保命”,大家都不动原来的逻辑,只做兼容,于是这种逻辑越加越多,程序员的屎山代码也就形成了。像这种场景,你让 AI 如何取代程序员?相关阅读:AI 能否取代程序员?当 AI 说它能取代程序员时,产品经理笑了;)
再有就是有的用户在有的场景需要正常使用,有的功能不准使用,有的功能又能部分使用,这很蛋疼。比如开直播,有的国家女性在法律上是不能公开露脸的,有的功能不能在某些国家或地区开放等。像国内我们所见的某一个事件发生后,必须停止各种娱乐性的互联网内容,就是那种需要页面变灰色的时候,要保证 APP 的功能对国内用户不能用,但不能影响国外用户。
数据合规与运营
还有就是数据的存储地域,欧美用户的数据必须存在他们自己的境内服务器,要符合当地法律要求。在国内还有网警,需要备份数据定期给他们审查,这里又涉及一些企业对自身数据安全和政策合规的平衡考量。
另外,除了这些客服人员需要多语言支持,24 小时提供服务,通常是需要有人上夜班两班倒的。运营团队也要国际化,针对不同的文化开展不同的活动。
结语
对于全球化产品,每解决一个问题,新的挑战就会接踵而至。对于技术团队来说,这不仅是对编程能力的考验,更是对系统设计、问题解决能力的全方位挑战。虽然这条路注定不会太轻松,但正是这些挑战让我们加速获得成长。
最后,小红书的软件工程师和各部门工作人员们需要加班了,记得多喝水多上厕所活动活动。毕竟,再复杂的技术问题都不如照顾好自己的身体重要,我们程序员要学会在写代码的间隙,善待自己的身体。