关于「幕后」
我们每天会接触大量的软件、硬件,但是多数时间下,都只是以固有的「使用者」视觉去体验和评判,快节奏的模式让我们没时间体会太多背后的理念。「幕后」栏目 因此而生,我们会不定期邀请一些制作者,讲述他们在产品开发 / 制作过程中的点滴。
对于大多数开发者来说,编程最大的动力就是解决自己的需求。因为自己需要这个东西,就动手去做了。作为壁纸控的邓伟超,为了解决自己的需求,在经过仔细的调研和考量后着手设计并开发了这款 UWP 平台上的壁纸应用 MyerSplash,MyerSplash 有着非常漂亮的 UI 和美妙的交互,在 UWP 平台中这样优秀的应用可谓是屈指可数。
在正式发布 MyerSplash 之后,他在少数派 Matrix 上向大家分享了应用开发背后的故事,后来我们也专程采访了他,除了应用本身的开发之外,他还和我们讲了自己对于 UWP 平台前景的看法,以及自己今后的打算。
因 Unsplash 而起
直到有一天,在微博关注一个账户,里面推荐了一些国外的网站——基本都是高清无版权的摄影网站,在对它们进行对比后,就喜欢上 Unsplash 这个网站了。
π:向大家介绍一下自己。
大家好,我是邓伟超,是一名普通的开发者,大学毕业没多久,工作是 UWP 开发,也懂点 Android,对应用的 UI/UX 设计比较感兴趣,平时也爱折腾一些新技术和有趣的玩意儿。业余爱好是摄影和旅行,因此对图像相关的应用特别感兴趣。
π:为什么要做 MyerSplash 这款应用?
首先,我是一个壁纸控:
- 每天都想要换壁纸;
- 换一次壁纸想要手头所有设备(电脑和手机)同步;
其次,我是一个比较独特的壁纸控:
- 喜欢风景类的壁纸;
- 喜欢真实的壁纸——也就是电脑合成的可以不要了;
因此,收集壁纸这个事情一直都比较随性:
- 在上微软 Bing 发现好看的首页图就下载回来收藏;
- 偶尔去 Windows 10 Spotlight 的 Assets 目录看看是否自动下载了新的壁纸(因为 Spotlight 是能根据个人喜好推荐的,因此 「命中率」 其实非常高)。
直到有一天,在微博关注一个账户,里面推荐了一些国外的网站——基本都是高清无版权的摄影网站,在对它们进行对比后,就喜欢上 Unsplash 这个网站了。
在很长一段时间内,我都只是偶尔上 Unsplash 看看有没有新的壁纸(其实对于 Unsplash 来说,应该叫摄影作品)。直到有一天,发现了少数派推广它们开发的壁纸应用 Cuto,我才想,Cuto 的壁纸是怎么来的?是去扒网站还是有官方 API?(结果我都错了,是他们手动筛选)
最后,在五月的一个晚上,开始了一个晚上的通宵,从 0 到 0.5,MyerSplash 出来了。
这是一款「实验性」的作品
如果单纯地想在应用商店赚眼球,我大可以取一个比较粗暴直白的名字(比如 「摄影壁纸大全」),设计一个一看就是壁纸应用的图标——相信这样的话,任何路过个性化类别的用户都应该能注意到这款应用的存在。
π:你认为 MyerSplash 相较于其他壁纸应用有什么优势?
很少:
- 简单:核心功能只有浏览、下载以及分享;
- 好看好棒的 UI/UX;
「简单好看实用」这个需求,我一直都非常重视,甚至把它作为我的个人应用的首要要求:因此,在「功能牛逼」和「简单好看实用」之间选,我是毫不犹豫地选择后者。
MyerSplash 简洁优雅的 UI 设计
π:MyerSplash 为什么不支持中文?
如果单纯地想在应用商店赚眼球,我大可以取一个比较粗暴直白的名字(比如 「摄影壁纸大全」),设计一个一看就是壁纸应用的图标,相信这样的话,任何路过个性化类别的用户都应该能注意到这款应用的存在。但是我决定:
- 这款应用就叫 MyerSplash,同前两款应用 MyerList、MyerMoment 对应起来;
- 图标就跟壁纸这个类别不相关,同样地跟前两款应用的图标对应;
以上两点,好听一点说就是我「任性」,难听一点的就是我比较要「逼格」。但不管如何,产品名字和图标的选取纯粹是我自己决定的事情,可能用户也不会去要求或者建议我改个名字啥的,但是对于不支持中文这个事情,我更多的是从产品的方面考虑的:
- 首先,我认为 MyerSplash 足够简单,主要功能使用图标而非文字标识,几乎没有任何上手难度;
- 除了设置和关于,本来就没有多少文字,而且默认的设置值已经能满足大部分用户的需求了;
- 对于类别,从 Unspalsh API 的就只有英文。如果我手动翻译写死,不排除未来会有新增类别。如果是机器翻译,实在太糟糕了,而且 MyerSplash 未来会有搜索功能,Unsplash 对英文的搜索精确度绝对是比中文要高,出于这个考虑,英文应用会不会让用户更倾向使用英文作为关键字搜索?
- 我不是没有尝试做中文,只不过一方面因为 Windows 对中文语言糟糕的渲染,另一方面,一直以来英文文字在 Metro 设计里更为好看(尽管我承认,MyerSplash 里没有多少 Metro 基因,反而是有 Material 的味道),在我尝试做了中文版本后发现视觉上不太对劲,放弃中文支持了;
- MyerSplash 本身目标用户是针对国外的。因为 Unsplash 本来就是国外的摄影图片网站,因此他们的服务器自然也在国外,国内用户访问可能并没有那么快;
我一直觉得,能因为应用语言而把用户拒之门外的应用,或者因为应用语言而无法对应用上手的用户,两者或多或少都存在自身问题:对于应用(或者软件),可能是因为功能太复杂,专业名词太多。而对于用户,可能是自身英语水平不好。
但是我相信,MyerSplash 并没有那么复杂,它或许达到了一个平衡,在使用英文语言「美化」界面的同时,保持着简单易懂的操作逻辑不至于让用户上手困难。
π:很多人反映 MyerSplash 壁纸下载速度慢,你有没有考虑过通过自建服务器或 CDN 的方式来解决这一问题?
目前 MyerSplash 是这样处理应用下载的,采取后台任务下载,然后下载完毕后通过 Toast 的方式通知用户下载完成并提示下载后的目录。
对于网络不好或者实在无法科学上网的用户,我也提供了 COPY URL (复制下载连接)的方式,可以直接粘贴到浏览器或者下载工具进行下载。
不管是像 Cuto 一样手工挑选壁纸然后放到国内服务器下载还是 CDN,这样的「让国内用户也能舒畅进行应用内下载」这个需求,我暂时并没有计划。主要是出于 MyerSplash 作为一个开源免费应用,我比较希望它是小众的独特的,而且是「实验」的,这意味着我可以在它身上尝试好多大项目所不敢轻易做的效果,因此我更想把精力放在如何在应用层面上,而不是拿它去赚钱或者怎样。
开发 UWP 应用是一种怎样的体验
但是 UWP 应用开发依然有它的独特之处,那就是它的 Universal:如何构建一套 UI 去适应包括手机、电脑、平板的不同尺寸设备和能够 Resize 的窗口。
π:MyerSplash 是一个 UWP 应用,你是如何看待 UWP 应用前景的?
我希望有一天,在看到别人骂道 「Windows 10 商店里面的 UWP 应用数目少质量差」 的时候,能自豪地推荐自家的应用给他们,说:用用看,你会觉得还不错。
不敢说目前 UWP 应用都有多好,但至少是朝着好的方向发展了。
作为用户,你们可能十分抗拒 Windows 10 的各种大小更新,但是对于开发者来说,每一次大的更新,都意味着有更好的更成熟的 API 使用(特别是最近更新的 Windows 10 Anniversary update,Composition API 改进非常大,很多比如应用内的你们所认知的 Aero Glass 都可以做了)。也意味着,只要你有想法,越来越多的视觉效果都能实现,不要再把 Metro App 理解为大色块了。
当然,既然谈到 UWP App,就不能脱离 Universal 谈。Universal 意味着这个概念并不是单一类型设备所独占,IoT 设备、移动手机、电脑、平板、Xbox、HoloLens 都在 UWP 的范畴内。总体来说,UWP App 的前景我是看好的;但是若要细分说,在用户量最大的手机 + 电脑上,后者对其的推动作用显然更大。
π:UWP 的开发体验是怎样的?
我认为,各个平台的开发体验总体来说是大同小异的,但是 UWP 应用开发依然有它的独特之处,那就是它的 Universal,如何构建一套 UI 去适应包括手机、电脑、平板的不同尺寸设备和能够 Resize 的窗口。
而这个难度是十分大的,而且至今很少 UWP 能真正在性能和视觉上能把响应式 UI/UX 做得十分好,开发者们都还在不断做尝试。
另外,UWP 的开发目前也慢慢面临碎片化的问题。目前微软公开推送的 Windows 10 版本有三个:Build 10240、10586 和最近更新的 Anniversary update Build 14393,一年之内三个版本,达到 Build 14393 后才算基本「稳定」。但是作为开发者并不能随便地使用新的 API 去构建应用,因为得考虑没有升级到最新版本 Windows 10 的用户着想。
π:MyerSplash 未来会不会支持 UWP 平台之外的其它平台?
MyerSplash 只适合做 UWP,也只能做 UWP,因为:
- 在 Windows Store 以 Unsplash 为关键字搜一下,以下载 Unsplash 网站壁纸的应用屈指可数,为数不多的几个之中质量还都不好。如果你是一名 Windows 10 的使用者,同时又是像我一样的 Unspalsh 网站照片爱好者,那么我相信你会十分喜欢 MyerSplash;
- Android 的 Wallsplash 已经不错了(甚至,MyerSplash 的 UI/UX 灵感就是来源于 Wallsplash),一个平台上不需要有重复应用;
- iOS 和 Android 已经有少数派的优秀应用 Cuto 了,相比也能满足其他平台的需求了;
- 至于 Mac,交给 iOS 的开发者去想吧 :D
当然,不排除未来自己会拿 Unsplash 提供的 API 在 Android 平台上练手 Android 开发,如果有一天这么做了,我同样会将其在 GitHub 上开源。
为什么选择开源
我相信良好的技术交流氛围能给双方带来共同的进步,这是我选择开源的一个主要原因。
π: 为什么会将 MyerSplash 开源?
其实一开始我就把 MyerSplash 作为一个实验性的应用对待,去实现一些比较酷的 UI/UX,然后以壁纸应用的身份包装起来,未来 MyerSplash 也将继续走这个路线。而开源的目的,是我想让我的代码和产品更被看得透彻,希望好的,不好的方面都能得到别人的意见。
比如之前就有国外的开发者问我首页的图片点击后的 Connected 动画是怎么做的,我就直接跟他说 MyerSplash 是开源的,并扔给他一个 GitHub 地址。我相信良好的技术交流氛围能给双方带来共同的进步,这是我选择开源的一个主要原因。让别人学习,也让我认知到目前存在的问题。
因此,如果你是 UWP 开发者,又刚好对 MyerSplash 有什么很棒的想法,欢迎提出或直接实现出来。
π: 在开源环境如此恶劣的今天,你是如何看待开源的?
任何事情都是一把双刃剑,能得到利益的同时,都能带来一些负面影响。但是因为存在阴影面而选择规避它就不是一个好的选择,至少在我接触的开源项目里,技术交流的氛围都很不错。因此,在真的因为开源而得到负面影响之前,我还是想去享受目前得到的「利益」。
π:你从 2014 年就 MyerList 开始推出了一系列 Myer 应用,后续你还会继续以 Myer 推出别的应用吗?
会的。其实心里对下一个 Myer 系列的应用已经有点眉目了:至少应用名字和图标颜色组成已经基本确定下来,应用类型暂时还是想保密一下。
但是可以确认的是,它同样地是一个独特的,不是什么满足大众需求的应用。
Myer 系列
π:介绍几款你喜欢的 UWP 应用。
为避免打广告的嫌疑,有我参与的非个人应用我就不介绍啦。
- Camera 360:跟以往做 Windows Phone 版本的一样,Camera 360 做得很用心
- 穹:很好看的空气污染应用
- InstaPic:第三方 Instagram 应用
- MindApp:一款创建思维导图的应用
- Fused:双重曝光应用
(文末栏目图来自 Business vector designed by Akdesign)