Normal view

There are new articles available, click to refresh the page.
Before yesterdayDandy's Blog

九个月的努力

28 February 2017 at 15:10

在过去九个月里,我一直在忙着做个小项目。经常关注我动态的朋友们应该已经知道我做的是一个社交 App,但至于它是什么样的,我一直有意保密,所以真正了解细节的人屈指可数。不过随着第一个版本的开发工作即将完成,现在是时候揭开它的神秘面纱了。

在这个信息大爆炸的时代,想在网上和好友分享点东西已经有了太多选择。各种社交网络看起来似乎完全不同,有着不同的功能特色、满足着不同的需求,但实际上它们都有着一个共同点。下图右侧是常见的几款社交类 App 的界面,左侧是我将它们抽象化之后的样子,不难发现其实它们本质上其实都是一样的:上面是你的头像和昵称,然后是文字内容,或许还会有张图片。这些元素组合起来就是一条信息,把很多条这样的信息从上到下叠在一起就成为了我们熟悉的信息流。

界面抽象化之后,其实都是一样的

信息流几乎是所有社交类 UGC 产品的核心。近十年以来,互联网已经发生了翻天覆地的变化,信息流却没有过多少根本性的改变。这种信息流的优势在于可以让你在非常短的时间内快速浏览大量碎片化的信息,起初感觉挺爽的,但现在越来越多人逐渐意识到信息太过碎片化并不是什么好事。至于碎片化究竟是好还是坏,我在这里就不作评判了,不过随着 Twitter 和微博相继放开 140 字符的限制,相信答案还是显而易见的。

限制放开之后,尴尬的情况就出现了:传统的信息流并不适应较长的内容。因为它是一维的,内容只能朝着一个方向扩展,所以内容太长就会打破整体的浏览节奏。对于这个问题,通常的解决方法是在信息流里仅显示少量预览内容,点击之后才展开或跳转到新页面查看全文。当然还有更简单粗暴的解决方法:把文字都拼到长长的渣画质图片里发布,也就是我们熟悉的长微博。这些处理方法虽然能解决问题,却一点也不优雅。在我看来,要完美地解决这个问题,唯有完全彻底地重新设计一个信息流。而这,正是我在过去九个月时间里所做的。

传统信息流是一维的,只能朝一个方向扩展

我发现,信息流的长短是由两个维度决定的,分别是时间轴和内容轴。传统信息流将这两个维度压缩进一维的空间里,扩展能力自然会受到限制。毕竟在它出现的时代,我们与用户界面交互时所用的主要设备还是鼠标,而具体到翻阅网页时,则是鼠标的滚轮——只能上下滚动。虽然在移动触屏设备成为主流的今天,这个问题早已不复存在,无论是上下滑动还是左右滑动都是习以为常的操作,但信息流的设计却依然继承着 PC 时代遗留下来的传统操作习惯,未能充分利用触摸屏幕的优势。

现在,是时候改变一下了。

我发明了一种全新的二维信息流,它可以往水平和垂直两个维度扩展,横向是时间,纵向是内容。这种经过“升维”的设计完全突破了内容长度的限制。用户的发布内容显示在长度可变的卡片里,左右滑动浏览不同的卡片,上下滑动查看单张卡片的内容。

二维信息流可朝两个方向扩展,彻底摆脱单条内容的长度限制

既然有理论上可以承载无限长度内容的信息流,如何充分利用它?这就要说到我的第二大创新——模块化内容。也就是说,卡片里的所有内容都是由模块组成的,每种模块都有特定的功能,比如想发一段文字,就用文字模块;要分享一组照片,则可以用图片模块。我目前已经开发了文字、图片、视频、语音和位置模块,还有更多模块正在设计和开发中。

这些模块可以任意添加、排序及组合。每个模块也有许多可自定义的细节,比如文字的字体、字号和对齐方式,或者图片的形状和排列方式等等;当你分享所在位置时,甚至连地图的缩放比例都可以调节。

不过,要是有些时候懒得调整那么多细节,只想简单快速地分享些东西呢?没问题。我开发了一个自动排版引擎,它会分析每张卡片的内容与模块组合情况,动态计算与调整各个模块的样式、尺寸和间距等几十项参数。无论你输入的是短短几个字,还是包含许多模块的复杂内容,都能自动为你生成一张好看的卡片。

智能的排版渲染配合高度个性化的模块化设计彻底摆脱了固定格式的束缚,让你充分发挥自己的想象力,分享不拘一格。“变化”是这个 App 的核心,所以我给它起的名字就是:Vary。

Vary 卡片效果展示

Vary 是一个定位于在熟识好友间分享生活的社交网络,重点是私密和清净。在这里,没有网站链接,没有广告和软文,没有代购和营销,没有无谓的鸡汤,也没有繁重的人际关系。只是在喧闹纷乱的网络世界里,一个可以安安静静地与你在乎的、真正关心你的人分享和记录自己生活的地方。

如今的互联网世界,已经有了太多助你结识陌生人的社交产品,但专为私密好友间交流的却寥寥可数。在我看来,这很大程度上是因为普遍观点认为这种产品难以大量聚拢用户和维持活跃度,若从商业角度出发,无论是大型互联网公司还是创业公司都不太会优先考虑这种产品。然而 Vary 是我出于兴趣爱好而制作的个人作品,商业利益并不是我的首要考虑,因此在这里你会看到许多与主流互联网产品“反其道而行”的设计:使用纯数字帐号体系,只有知道这个帐号的人才能向你发送好友请求,除此之外无法通过其他途径搜索到你;只有你同意与对方成为好友后,对方才能看到你发布的卡片;不会通过匹配手机或邮箱向你推荐那些你可能认识(但永远不想加为好友)的人;你发出的评论和点赞也只有接收者可见。总而言之,一切尽在你的掌控之中。

此外,在 Vary 上可添加的好友数量是有限的,这个上限数量会随着你的使用情况逐渐增加。如果你想让更多人看到你创作的卡片,可以用内置的分享功能将卡片分享到微博、微信或者其他社交网络,也可以生成分享链接直接发送给别人。这个分享功能是开发过程中的一大技术难题,我优化与调整了无数次,才让卡片内容在不同环境里的显示都能够尽量接近原生 App 里的效果。

Vary 卡片外部分享效果

我是一个极简主义者,相信这点已在 Vary 的设计上体现得淋漓尽致。通常简化设计的思维方式是做减法,即思考现有的东西里哪些是可以去除的;而我则喜欢从零开始做加法:彻底放下成见,从根本上思考每一个元素存在的必要性。这种思维方式在 Vary 的界面、交互和功能上都有所体现,比如注册帐号时,你需要填写的东西精简到了极致:不需要任何个人信息,也不用验证激活,只要设置一个登录密码——没错,只填个密码就能完成注册并开始使用,比第三方帐号登录还方便。

同时我也在不断研究如何通过技术手段来引导交互层面的创新,例如 Vary 的 iOS App 可以检测手指接触屏幕的面积,并以此来调整卡片的滚动速度:用指尖滑动时,一次只会滚动一张卡片;整个手指贴在屏幕上滑动时,则会根据你滑动速度的惯性来连续滚动多张卡片。这听起来也许有些玄乎,却非常容易上手,也很实用。

界面设计方面,自然是我代表性的简约风格,并采用以高冷暗色系为主的纯黑白设计,除极少数 UI 元素外再无任何颜色,层次感由灰度、透明度与模糊效果来体现。我一向注重细节,Vary 的界面细节更是以艺术品的标准来要求的,每一个图标、每一帧动画都由我亲手绘制并在程序中实现,处处细节都经过反复打磨,尽可能追求完美。若从理性的商业角度出发,这种程度的追求几乎是不可理喻的,因为它的投入产出比简直惨不忍睹,但我并不在乎。

Vary 主界面

看过我个人网站的朋友们应该都知道,设计和编程是我的两大爱好,我也一直在探索如何将它们更好地结合起来。过去几年里,我每年都会彻底重新设计和开发一次我的个人主页,以展示我在过去的一年里所学会的新东西。然而 Vary 的开发,则是将过去这些经验全部整合在一起,再闭关修炼了一年多之后,才得以协调使用六种计算机语言和十余种开源框架来实现的。

经过一个多月的测试和细节打磨,目前 Vary 的 iOS 版本已经上架 App Store,同时 Android 版本正在开发中,争取六月份上线。初版仍有些不足之处,我会在后续版本中逐渐完善,希望大家多提些建议。

最后,我开通了一个微信公众号,任何与 Vary 相关的事情都可以在这里和我交流,以及提交建议和 bug 反馈等等,有问必答。我也会将 Vary 的最新动态通过这个公众号推送给大家。如果你是一位 iOS / Android / Web 开发者,有意愿参与 Vary 的开发,也可以和我谈谈。总而言之,如果你对 Vary 感兴趣,就在微信搜索 VaryApp 或者扫描下方的二维码关注一下吧。期待你的反馈。

微信订阅号 VaryApp 的二维码

闭关修炼

10 August 2016 at 15:39

最近有不少朋友来询问我的近况,好奇为什么我不像以前那么活跃了。确实,我已经足足八个月没有写博文,我的摄影网站 Camarts 最近半年都没有更新摄影作品,社交网站的动态也是寥寥可数。所以我觉得应该写篇博文,说说我最近都做了些什么,在想些什么,还有 Camarts 暂停更新的原因。

静待蜕变

五六年前我开发 Camarts 的时候,制定了现在这种以多张照片为一辑的发布方式。这些照片通常在同一个地方拍摄,或是表达相同的主题,配上一些说明文字,颇有讲故事的感觉。优点不言自喻,缺点也渐渐显现:后期需要处理大量的照片,费时费力;展示方式受到局限,不便索引;相似的照片较多,易审美疲劳等等。近一两年我的拍摄方式有了些变化,我称之为“精品化”,即每个主题仅拍摄一两张有代表性的作品,传统的发布和展示方式已不再适合。

按照原先的计划,Camarts 在连载完《西北行》系列,即 2014 年秋季新疆之行的摄影作品后,紧接着就开始发布 2015 年春季在美国旅行期间拍摄的作品。这时我才发现,Camarts 上的摄影作品以在中国拍摄的为主,在索引结构等方面对于国外的情况考虑得并不充分。这是第二大问题。

从技术角度来看,Camarts 的架构已经落后了。毕竟当初开发的时候,我只是一个 15 岁的初学者,目标仅仅是做一个类似于博客的网站,能发照片就行。虽然后来不断地迭代更新,丰富了功能,但本质依然是个基于 WordPress 的博客类网站。作为个人网站,这架构倒也不差,但用作 App 和微信机器人的后端就显得有些捉襟见肘了,扩展性也十分有限。此外还有一系列历史遗留问题,包括图片分辨率太低、EXIF 信息条遮挡照片、Logo 水印太大等等。

要想一次性彻底解决这些问题,最好的方法就是重构。具体地说,就是全部推倒重来。

那么,这么长时间过去了,为什么还迟迟不见新版的踪影呢?

因为,我现在还有更重要的事情。

一个小项目

我做个人网站的初衷,是为了综合运用和展示我的兴趣爱好。比如 Camarts 就把旅行、摄影、设计和编程很好地结合在一起。然而随着不断地学习进步,我已经不再满足于此。换句话说,就是我现在学的东西,仅用个人网站的规模已经很难体现出来了。于是我决定更上一个台阶,做一款大家每天都想用的、具有商业价值的产品。

至于做什么,我曾有过不少想法。经过长时间的思考、调查和分析,最终决定开发一个轻量化的精品社交网络,定位于熟识好友间相对私密的生活分享与交流。没有繁重的好友关系,没有无谓的广告和鸡汤文,只是一个很安静的地方,让你可以轻松地分享自己的生活给真正关心你的人,也不再错过他们的点点滴滴。

为了打造一种前所未有的使用体验,我在功能、界面和交互等方面,运用了一些在同类产品中未曾出现过的设计,希望能给大家带来一丝惊喜。至于具体是什么,我就暂时先卖个关子,目前这个项目的服务器端和 iOS app 都在开发过程中,争取在年内发布第一个版本让大家上手体验。(更新:现在已经做好,详情见文末)

虚一而静

三年前,我的学习经历和个人网站开始受到大家的关注,自此收获了许多溢美之词,颇有几分少年得志的感觉,久而久之便有些飘飘然,不知不觉就把自己放到一个很高的位置上,下不来了。尤其是刚步入二十岁时,我迫切地用过高的标准来要求自己,平添了太多压力。在这种压力的驱使下,我走了一些小弯路,经历了一些小挫折。然而,正是这些挫折才让我能够正视自己头上那些所谓的光环,放低自己,淡然虚荣,褪去轻狂和高傲,发现不足,并静下心来弥补;也不再过于刻意地追求一些暂时还不属于自己的东西,而是做好力所能及的事情,之后顺其自然。

我是个完美主义者,事事追求完美,不放过任何细节。一直以来我都引此为豪,后来发现这会让我活得很累,于是我便有意识地强迫自己去接受一些不完美,我做到了。可是有些事情确实得追求完美才能有好的效果啊!这似乎是个两难的问题,我迷茫了很久才明白——其实最重要的,并不仅仅是去接受不完美,而是一种可以判断什么时候该接受,什么时候不该的能力。知行合一,才是正解。

调整好心态,自然就有了时间、精力和心境来踏踏实实地提高自己,去发现和弥补那些很重要却被我忽略的事物,于是开始闭关修炼,首先是大量阅读,补充了一些历史、哲学、心理学、经济学、商业管理和各种与创业相关的知识;同时也更注意自己的身心健康,开始去健身房了;还接触了一些曾经不屑一顾的事物,深入体验之后才发现其实挺好的;最难能可贵的是与同龄人真正敞开心扉地交流,感受人与人之间那份简单的快乐。

在过去的六年里,我的个人主页每年都会彻底地重新设计和开发一次,今年或许会是个例外,不过我的各项兴趣爱好依然不会放弃。比如旅行,中国的每个省份都已经留下了足迹,逛得差不多了,接下来的旅行会以国外为主,尤其是北美地区;摄影方面,在作品趋向精品化的同时,开始学习和实践人像拍摄;设计方面则以用户界面和交互设计为主,保持极简风格,同时向商业项目的标准发展;编程方面,除了继续学习 iOS 开发和研究 Web 前端的新技术外,服务器端架构方面的知识也是新的挑战。

最近收到一些朋友的留言和 email,他们讲述了自己的经历和所思所想,以及了解我的故事后的感悟和改变,让我很欣慰。我才知道,原来我能给其他人带来这么大的影响。这种影响,足以让他们打破束缚,在人生的交叉路口上选择一条不同的路。虽然更多的朋友们都因为种种顾虑无法随心而行,但无论如何,我希望你们有一天也能在自己的人生之路上找到精彩,去追寻自己所想所爱。

最后附上一张去年在西藏墨脱的照片,我觉得还算切题吧,嘿嘿。
更新:上面提到的小项目即 Vary,现在已经上线,详情见《九个月的努力》

photographing-at-motuo-in-a-rainy-day
❌
❌