闭关 60 天后,我发布了 iPaste,也许是剪贴板界的一股清流 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
爱意满满的作品展示区。
quietjosen
V2EX    分享创造

闭关 60 天后,我发布了 iPaste,也许是剪贴板界的一股清流

  •  
  •   quietjosen
    atjason 2017-09-19 07:34:19 +08:00 6141 次点击
    这是一个创建于 2951 天前的主题,其中的信息可能已经有所发展或是发生改变。

    iPaste,既是我的第一个 App,也是到目前为止最后一个;为什么呢?

    先前,iPaste 只活跃于 Mac 电脑中;

    现在,我把它带到了 iPhone 手机上。

    0) 缘起:我为什么要做 iPaste for iOS?

    2017 年 7 月 21 日,我正式入坑 iOS 开发

    要学一门新的编程语言,最好的方式是:边学边用。而纵观我当时已经做的产品(KlibiPiciPic MoveriPasteiTimeriHosts),iPaste 最适合练手 iOS 开发:产品本身边界清晰,已经有了 macOS 版、可以练习 iOS & macOS 间的数据同步。总之,简直太适合了;于是,就有了你即将看到的产品。

    其实还有别的原因。虽说市面上已经有不少剪贴板应用,但还真没有我特别满意的。如果你了解我之前已经做的产品,就会发现 我特别偏好小巧、简洁的应用,不喜欢在小小的应用里塞很多功能;不需要的功能总在碍眼,还让交互变复杂,不爽。

    那么,到底我对剪贴板有什么需求,又会把这款应用做成什么样子呢?且往下看。

    1) 我对剪贴板的需求

    电脑端 (Mac) 和手机端 (iPhone) 各有不同,下面分别介绍。

    1.0) 电脑端的剪贴板

    主要有以下三类需求:

    粘贴最近复制的内容

    • 比如,最近在邀请大家参与 iPaste for iOS 的 Test Flight 测试时,我需要从邮件、聊天工具等地方复制呢称、邮箱,然后统一到开发者后台填写。
    • 有了 iPaste,我可以在一个应用中集中复制,然后在后台统一粘贴;无需在应用间频繁切换。

    粘贴非常常用的内容

    • 比如,在开发过程,有些我常用的命令,如:
      • git co master; git merge dev; git push; git co dev;
    • 在 iPaste 中,我可以把它 Pin 起来,从而使用固定的快捷键粘贴。比如按下 Command + Shift + V 显示剪贴板历史、按下 A 粘贴。

    粘贴时不时用到的内容

    • 比如 Emoji 表情。
    • 虽说微信、Telegram 等客户端都有 Emoji 插入的面板,但内容、排列各不相同。而实际上,我常用的 Emoji 表情并不多。
    • 在 iPaste 中,我会把这些常用的表情都放到一个分组中,实际的快捷键顺序是:按下 Command + Shift + V 显示剪贴板历史、按下 Command + A 显示分组、按下 A/B/C/… 粘贴。

    除了上述三类使用场景,还有一个通用的需求:高效。从前面的图可以看出,不同类型的历史都可以通过 纯快捷键 快速插入,实际使用效率很高,感觉也很爽。

    1.1) 手机端的剪贴板

    手机端我最常用的需求是:

    粘贴时不时用到的内容

    • 比如已有产品的技术支持。
    • 由于我有多款产品、每个产品经常收到用户重复性的问题,如:
      • 为什么使用 iPic 上传 png 图片后变为 jpg 格式(因为微博不支持 png 格式)
      • Klib 是否会支持导入生词本并导出至 Anki (会)
    • 如果是在电脑上,即使没有 iPaste,我依然可以从之前回复过的邮件、聊天记录里复制粘贴,还能忍。
    • 但在手机上,搜索起来很麻烦。如果要手动打字,那更要了亲命;更别说插图了。
    • 有了 iPaste for macOS & iOS,我会先在 iPaste for macOS 上整理常用的问题及回复(毕竟电脑上操作效率高),添加到 iPaste 分组中(一个产品对应一个分组)。这些分组及记录会自动同步至 iPaste for iOS 中,我就可以很轻松地在手机端复制,然后粘贴至微信等聊天工具中。
      • 用户看到我码这么多字、还回复这么快,会觉得我很诚恳…

    另外,在通知中心添加 iPaste 小组件后,可一键复制之前的历史、或者 Pin 中固定的内容,然后快速粘贴到第三方应用中。

    其实,还有个需求;虽然目前的 iPaste 还没来得及实现,不过可以先简单说下。比如在做运营时,我会先设计一张图及对应的文案,然后发朋友圈。目前,必须先通过 AirDrop、微信等工具,先将图片保存到手机中、同步文案,然后在手机微信中手动发朋友圈。整个过程很麻烦。

    在今后的 iPaste 中,可以在电脑端先后复制图片和文案后,在手机端选择,然后一键分享。

    2) iPad 专有玩法:拖拽

    苹果在 iOS 11 中大大增加了多任务能力,其中一项就是可以在程序间互相拖拽内容。结合 iPaste,还可组合中更多的玩法。

    • 拖拽任意内容至 iPaste,自动保存
    • 从 iPaste 中拖拽至你的应用,自动插入

    比如,比如你在 iPad 上写作,左侧分栏是你心爱的 Markdown 编辑器,右侧分栏是待命的 iPaste,可随时将 iPaste 中记录的常用片断拖拽至左侧编辑器,如联系方式、微信中的打赏二维码、等等。

    注:这需要较新的 iPad、并升级至 iOS 11,以支持多任务。

    3) 多端同步,免费

    上面介绍的使用场景,隐含了一个前提:电脑端和手机端同步剪贴板历史。

    在实际的开发过程中,这部分非常复杂,几乎一半的时间都花在这上面。为了解决同步的数据合并等问题,真是没少掉头发。

    从商业的角度,这几乎是最适合收费的点;市面上类似的软件,无一例外在这点上都是收费的。但从用度的角度上,是件很难受的事:我在电脑端要同步到云端,收费?好,我升级。然后在手机上发现还没有同步下来。定睛一看:原来手机端还要再收费?!从开发者的角度,我当然理解这是合理的,毕竟每个平台都花了时间开发。但实际感受,真的不舒服。


    想了又想,我还是决定:使用 iPaste,在任意数量的 iPhone、iPad、Mac 间同步,免费


    技术上多说一点,云端是 使用苹果自家的 iCloud 进行同步

    • 对用户是透明的,也即 你不需要在 iPaste 中做任何设置,就可以同步。前提是你在各个设备上使用相同的 iCloud 账户登录,但实际上这几乎是必然的。
    • 关于数据安全,你绝对可以放心。除了你自己,包括开发者、乔布斯在内的任何人,均无法看到你的剪贴板信息。
    • 关于 同步速度快的时候,小于 2 秒。几乎,你在电脑上复制一段话,2 秒内就会同步至手机端。慢的时候,可能会超出你的耐心了。虽然我使用了后端同步、数据压缩等方法,但毕竟核心层面依然依赖于苹果的服务器,我自己实在无法给出承诺。
      • 如果你对电脑端与手机端共享剪贴板的实时性有要求,建议还是使用苹果自家的 Handoff 功能,虽说在手机端总会卡一卡,但总体还是可用的。

    4) 付费模式

    前面既然提到了付费与免费,这里就敞开说一说钱的事。

    花了这么多时间做产品,自然是想赚点生活费的(手动二哈)。那付费模式怎么定呢?这是我非常头痛的事;之前也在群里跟用户一直聊过这事,一直也没定下来。

    简单比较下不同的付费模式。

    • 付费下载
      • 这个模式开发成本为 0,也即什么都不用做,只要在后台设个价格就可以了。
      • 但,却是非常危险的,因为需要付费才能下载、才能试用,这会挡住很多可能对 iPaste 感兴趣、需要先试一试才能知道自己是否需要的朋友。
      • 对于名气比较大的开发者、团队,可以采用。但对于名不见经传的自己,胆还没这么肥,只能放弃了。
    • 免费试用 + 过期收费
      • 软件可以免费下载,全功能使用一段时间(如 30 天)。过期后,如果不付费,则功能极度受限(几乎残废)、数据变为只读。
      • 比如,貌似 Omni Focus 就是采用这种模式,过期后只能查看任务,不能添加新任务。
      • 这种模式会让用户觉得很压力,觉得开发者很强势。
    • 免费 + 内购模式
      • 软件可以免费使用部分功能,内购后解锁全部功能。
      • 这一模式很常见,主要的问题是:升级之前,无法体验。
    • 免费 + 试用 + 内购模式
      • 在「免费 + 内购」模式的基础上,增加了试用功能。也即,可以在充分体验后,再决定是否升级。
      • 这种模式,对用户最为友好,但对开发者最不友好。因为在代码里加各种限制,还要记录用户是否选择试用,等等。就像是一件漂亮完整的衣服上,打了很多补丁。既增加了开发成本,还感觉很难受。
      • 最终,我采用的是这种方式。死磕自己,愉悦大家。

    到底哪些功能免费、哪些收费呢?这里罗列一下:

    • 免费版电脑端支持 1 个分组,手机端不支持。

    发布期间,高级版 限时 6 折:手机端¥ 12,电脑端¥ 30

    尾巴

    闭关 60 天,终于奉上了我的第一款 iOS 作品。

    以及 iPaste for macOS 2.0:

    (下载后,还请顺手评个分,同样期待你的使用体验)

    这只是开始。有了这个新技能,以后会有更多精彩的 iOS & macOS 双平台应用,敬请期待。如果你有什么想法、需求,也欢迎联系我:iToolinbox#gmail.com 静候佳音。

    号外:我有每天写博客的习惯。如果你感兴趣,可以瞧瞧从 7 月 21 日开始的博客:https://atjason.com 这里,你可以了解 iPaste 从概念到诞生的全过程,最鲜活、最真实的过程;艰难与欣喜,尽在其中。

    29 条回复    2017-09-22 15:10:51 +08:00
    brightguo
        1
    brightguo  
       2017-09-19 07:39:12 +08:00
    给力给力,加油~~
    sofs
        2
    sofs  
       2017-09-19 07:44:18 +08:00 via Android
    更正:乔布斯已经不是人了。lz 能保证包括开发者和厨子都不能访问到数据么?
    a87150
        3
    a87150  
       2017-09-19 07:46:35 +08:00 via Android
    就是把东西存进去要用的时候复制粘贴?这东西居然要开发 60 天。
    heidour
        4
    heidour  
       2017-09-19 08:12:16 +08:00 via iPhone
    本来啧啧赞叹,看到后来对“ 3 ”这个数字表示失望
    quietjosen
        5
    quietjosen  
    OP
       2017-09-19 08:23:12 +08:00   1
    @sofs 恩,简单了解下 iCloud 的运行机制,便知此言不虚。
    BlackBerry
        6
    BlackBerry  
       2017-09-19 08:38:25 +08:00
    并不需要剪贴板
    Efraim
        7
    Efraim  
       2017-09-19 09:00:42 +08:00
    有用户体验的开发者
    zddhub
        8
    zddhub  
       2017-09-19 09:05:18 +08:00 via iPhone
    iOS 版还没上架吗,在 App store 上搜不到
    quietjosen
        9
    quietjosen  
    OP
       2017-09-19 09:10:52 +08:00
    @zddhub 美区可以,中区应该是服务器还在更新。麻烦通过链接打开吧: http://www.dwz.cn/iPaste
    quietjosen
        10
    quietjosen  
    OP
       2017-09-19 09:11:20 +08:00
    @Efraim 哈哈,被发现了
    hester
        11
    hester  
       2017-09-19 09:35:52 +08:00
    已经完全不需要这种 app 了,因为已经有太多类似的 app 了。
    Send-anywhere 与 备忘录 完全胜任,而且还有 Pin 等等一大票的类似 app。
    如果是免费的,我或许会考虑~
    caiyue1993
        12
    caiyue1993  
       2017-09-19 10:18:01 +08:00
    不容易,同为 iOS 开发者支持一下。有个问题,作者是全职做独立开发吗
    Wichna
        13
    Wichna  
       2017-09-19 10:37:22 +08:00
    支持优秀的独立开发者
    quietjosen
        14
    quietjosen  
    OP
       2017-09-19 10:46:00 +08:00
    quietjosen
        15
    quietjosen  
    OP
       2017-09-19 10:46:06 +08:00
    @Wichna 谢谢支持。
    xratzh
        16
    xratzh  
       201-09-19 11:32:11 +08:00
    买了,但是感觉用不着,楼主出个 apple 套餐倒还好。
    quietjosen
        17
    quietjosen  
    OP
       2017-09-19 11:40:22 +08:00
    @xratzh 这也太实在了吧…目前仅有一款 iOS App,Apple 并不支持 iOS 与 macOS App 一起出套餐。
    xratzh
        18
    xratzh  
       2017-09-19 13:05:05 +08:00
    @quietjosen 兑换码
    quietjosen
        19
    quietjosen  
    OP
       2017-09-19 13:15:32 +08:00
    @xratzh 用兑换码实现套餐?操作成本太高。
    Niphor
        20
    Niphor  
       2017-09-19 14:09:51 +08:00
    就差个 Win 的客户端了
    also24
        21
    also24  
       2017-09-19 14:28:33 +08:00
    @Niphor #20 同…… 目前我最大的痛点就是无法在 Win 上同步剪贴板给 iPhone,mac 和 Win 之间 handoff 目前已经基本可用了
    also24
        22
    also24  
       2017-09-19 14:29:12 +08:00
    哇擦,打错了…… 更正:是 mac 和 iPhone 之间 handoff 目前已经基本可用了
    newbieo0O
        23
    newbieo0O  
       2017-09-19 14:40:48 +08:00
    这图标真的丑,找个设计师做个吧
    quietjosen
        24
    quietjosen  
    OP
       2017-09-19 14:55:14 +08:00
    @also24 应该有同类软件可以实现 Win 剪贴板同步的,你找找吧。
    quietjosen
        25
    quietjosen  
    OP
       2017-09-19 14:55:29 +08:00
    @newbieo0O 你说的对
    RqPS6rhmP3Nyn3Tm
        26
    RqPS6rhmP3Nyn3Tm  
       2017-09-21 07:26:32 +08:00 via iPad
    找个设计师做个图标吧,这种一个圈里面一个字母的太多了,根本不知道应用是干什么的
    就算是圈里面放个「贴」也比「 P 」好,个人愚见
    quietjosen
        27
    quietjosen  
    OP
       2017-09-21 08:33:31 +08:00
    @BXIA 考虑到国际化,「贴」不行哎…主要是 macOS 已经是这样的图标了,所以…要改一直改。
    m4j0r
        28
    m4j0r  
       2017-09-21 09:32:07 +08:00
    很好的设计
    quietjosen
        29
    quietjosen  
    OP
       2017-09-22 15:10:51 +08:00
    @m4j0r 指的是?交互?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     939 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 31ms
    UTC 19:21 PVG 03:21 LAX 12:21 JFK 15:21
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86