說說我出道後的處女做:剪貼板神器 iPaste

2015 年末,我離開了這輩子最後一家公司,成爲一名自由職業者。而 iPaste,是我獨立開發的第一款 macOS 產品。html

1.7 年過去了,在發佈新版 iPaste 時,說說這款讓我再也不青澀的做品。git

----- 長文開始警惕線;不喜請繞行 -----github

0) 起初,「貼貼板」並不算產品

若是如今作個新產品,事先必定會有充分的調研,好比用戶需求是否真實存在、市場容量、競品分析、技術可行性分析等等,而後纔會立項。web

之因此說不算產品,是由於當初作「貼貼板」時,徹底跳過了這些環節,直接開始碼;更像是個練手的項目。怎麼回事?主要是當時剛剛出來本身單幹,已經至少 3 年沒寫代碼了,作什麼領域的產品,都行,也都不行。在腦子一熱決定先作 macOS 時,腦子裏第一個冒出來的就是貼貼板這個點子,由於本身平時太須要剪貼板增長工具這類產品了。macos

咦,你可能好奇,說好的是 iPaste,怎麼變出個貼貼板?其實,這個產品就是以「貼貼板」這個名字問世的,並保持了最開始的大半年時間。2016 年 9 月底才改名爲 iPaste;這是後話,後面再提。swift

這裏衍伸出一個話題:作產品,是作本身須要的產品,仍是作大衆須要的產品?固然,若是這二者重合,最好。若是不,建議起步時選擇本身須要的產品。最直接的好處是,你本身就知道產品應該作成什麼樣子,跳過了用戶調研的環節,也不至於跑偏。安全

不過,這個方式有個很大的侷限:一般,本身的需求有限,而且會是個小點子,不利於產品作大。並且,產品作大後,就再也不是當初本身想要的東西了,又變成了作大衆需求的產品。因此,根本上是 在作本身需求的產品的時候,摸過出作產品的路子,進而推演到大衆需求。微信

這裏引用在 IndieHacker 上看到的一段話。數據結構

If you build a product for yourself…, there's probably a million others like you out there. Maybe not a billion, but unless you're a freak, there's a million.app

精準的翻譯是:一般你須要的,別人也須要的;這些「別人」,沒有千萬、也有百萬,除非你是朵奇葩。

1) iPaste 奪走個人第 1 次,一次又一次

就是這麼一個不算產品的產品,卻 讓我經歷了無數的從 0 到 1

  • 第一次學習 Swift
  • 第一次學習 macOS 開發
  • 第一次給產品起名
  • 第一次設計 Logo
  • 第一次獨立完成一個產品
  • 第一次審覈被拒(以及 N 次)
  • 第一次收到用戶付費
  • 第一次收到用戶反饋
  • 第一次收到海外用戶反饋
  • 第一次推廣
  • 第一次付費推廣
  • 第一次開源代碼給別人用
  • 第一次…

1.0) Swift 與 macOS 開發

這部分在 Mac 開發的神祕面紗:後孃養的嫡長子 裏有介紹,這裏僅簡單的說起。

對於 iPaste 而言,核心的部分是系統剪貼板。也即,可以記錄用戶曾經複製的內容,而且能 100% 準確地還原。難就難在這 100%,由於用戶可能會在任意程序中、複製任意格式的數據,如純文本、格式化文本、圖片、文件等等。

其實,我試了當時的一些競品,包含很是知名的,並無作到這一點。好比,在複製並粘貼到 Numbers 時,會有一個單元格的錯位。產品深處這樣的問題,你在他們高大上的宣傳中天然是看不到的。而 貼貼板 就作到了這一點,因此當時我還打出了「支持任意格式,不服來戰」的口號。核心的,就是將 NSPasteboardItem 中的數據,存儲爲 Data;在粘貼時,再將其寫回系統剪貼板。

不過,後來發現,某些格式仍是有問題的。好比,在 Sketch 中複製 svg 格式的圖片時,系統剪貼板中會產生 com.facebook.semaphore 這種類型。而對於這種類型 NSPasteboardItem.data(forType type: String) 這個函數會卡死 10 幾秒。我試了幾款知名的競品,也有兩樣的問題,看來確實是 macOS 系統有 Bug。不過,這種狀況仍是至關少見,在我本身用 iPaste 的一年多時間裏,僅遇到過這種狀況(別試 iPaste 了,由於已經改掉了;可是能夠試試你手上的工具😂)

再有,就是 macOS 沙盒的限制。具體到貼貼板,就是 如何將系統剪貼板中的內容粘貼到當前應用。要作到這一點,有多種方式,速度最快的,是發送 Command + V 鍵盤指令,模擬用戶按下粘貼快捷鍵。不過,在沙盒模式下,這一方式直接不幹活。

能在沙盒模式下幹活的,就使用 Apple Script 來發送 Command + V。但是,在上架 Mac App Store 時被拒。反觀全部已經上架 Mac App Store 的同類應用,都是讓用戶再從其官方下載一個所謂的插件、助手,基本都是安裝 Apple Script 來實現自動粘貼。最後,我也從了,用了相似的方式。

這裏再 吐槽一下 macOS 沙盒模式,已經裹足不前好幾年了。對於自動粘貼這樣的需求,不支持的理由無外乎是安全。但是,這樣的不做爲,直接致使用戶下載安裝一個本身不可能驗證安全的助手。在我看來,只是將安全的皮球踢給了用戶,撇清了本身的責任而已。

1.1) 獨立完成一個產品

一個產品完整的生命週期,所涉及的點是很是多的:產品定義、市場研究、競品分析、設計、開發、測試、上架、運營、推廣、客服等等。要獨自作好這些事,確實是很大的挑戰。

固然,因爲精力和能力有限,我也不可能作好全部的方面,目前主要的精力是開發和推廣。對於作很差的地方,能夠:

  • 簡單作一下,將就着;
  • 花時間學習,作好;
  • 請人幫忙作。

不一樣的事,處理的方式不一樣。

  • 好比 Logo 的設計,我目前傾向於請人作。好比 Klib 的圖標,是由 Allen 幫忙設計的。
  • 好比程序裏的圖標,我基本上是在網上免費圖標的基礎上,簡單修改下。
  • 好比推廣,很難外包給別人,只能本身硬着頭皮上。

其實,我仍是挺願意花時間折騰本身目前不擅長的事。不過,畢竟時間有限,仍是要 把時間用在本身的長處,把短處外包給更專業的人完成

另外,本身一我的作也是有好處的。好比,不須要與人商量,就減小了不少溝通成本。尤爲是各方意見不一致時,要達到最終結論,一般須要消耗大量的時間,甚至是返工並帶來額外開發成本。而一我的,則沒有這樣的問題。

在實際作事的過程當中,也養成了本身的習慣,好比:

  • 使用 Omni Focus 管理項目要作的事、測試用例
  • 在開發功能時,就完善全部單元測試、測試用例
  • 數據結構、UI、業務邏輯的開發步驟
  • 使用虛擬機來測試操做系統的不一樣版本、不一樣語言

創建這些習慣的過程是痛苦的,由於要摸索全部的可能性,摒棄不適合的,最終造成適合本身的方式。而一旦創建,會有很大的收益。在下次作相似的事情時,好的習慣會大大提升效率,避免走大的彎路。

1.2) 第一次出門吆喝

本身辛苦作出來的產品,天然是但願更多人用;能賺更多錢,固然更好。但是,酒香也怕巷子深,尤爲如今你們的注意力被各類事情分散着,要在這樣的前提下,讓更多須要的朋友知道本身的產品,是個很大的挑戰。

要增長產品的爆光,最直接的就是在媒體上報道。回過頭來看,從時間和效果上看,當時這幾個媒體仍是不錯的:

  • V2EX
    • 這裏彙集了不少願意嚐鮮的極客,他們願意嘗試那些新鮮出爐的粉嫩產品,並予以本身的確定和鼓勵。
  • 36kr Next
    • 如今,這個產品基於處於半死不活狀態,我感受。
    • 當年,在 Next 發佈貼貼板,仍是帶來了很多的流量。
  • Mac 玩兒法
    • 本身認真接觸的第一個自媒體,是 Frank 一我的作的,佩服。

而這些,所有是國內的媒體。如何在海外推廣?非常頭大。其中,我嘗試了 生平第 1 次付費推廣,是在 Two Dollar Tuesday,當時,其官方的規則是:

You discount your app to $1.99 in the App Store for 48 hour promo (Tuesday & Wednesday).

We will promote your deal via e-mail, our website, Facebook & Twitter.

We then do a revenue split after Apple's cut. On a $1.99 app, you get $1.40. So we get $0.70 to us per sale on Tuesday only. Wednesday you keep 100% of proceeds.

We have you pay us for the first 100 sales ahead of time ($70).

Finally, we have a $1,000 MAX on the amount due to us. Meaning, no matter how many copies we sell on Tuesday, you can never owe us more than $1,000.

精準翻譯過來,就是:

  • 我將應用降價爲 $1.99
  • 週二的收入,對方提成 30%
  • 對方至少收 100 份的費用,即 $70,最多收 $1000

實際的效果,在這兩天僅售出 92 份、$126,除去先前支付的 $70,還剩 $56,至關於每份 $56 / 92 = $0.6,白菜價。

因而,我以後再沒試過付費推廣…

須要注意的是,媒體的效果主要有 2 方面

  • 突擊爆光
    • 尤爲在產品發佈的時候,多家媒體同時爆光,甚至會有 霸屏 的效果。
    • 好比,當用戶在微博上看到 iPaste 的報道,可能跳過了。可若是接着又在少數派看到、在即刻訂閱上看到,就確定會加深印象。或許會生出興趣,嘗試一番。
  • 爲以後的搜索作鋪墊
    • 咱們在須要某類產品時,除了向周圍的高手求教,也可能本身去互聯網搜索。而這些媒體的報道,則會成爲被搜索到的基礎。尤爲是 權威媒體的報道,會有更高的搜索權重
    • 這裏說一個小技巧:本身在寫文章時,要「面向搜索引擎」,而不只僅是標題黨。好比,「夜深了,熄燈了,老公居然不理我,還在玩這款遊戲?!」這樣的標題,其實對於搜索引擎並不友好。對於標題這樣重要的因素,不包含產品的名字,是不能接受的。

不過,媒體資源畢竟是有限的,你總不可能每天被報道吧?在更長的時間範圍內,都要靠用戶的自發傳播,和本身的影響力。

對於口碑傳播,固然首先要靠產品的硬實力,畢竟首先產品要好,用戶才願意消耗本身品牌價值,去推薦你的產品。固然,這其中也存在必定程度的可操做性,好比在程序角度誘導用戶分享,以及分享送 Pro 之類的活動。

對於本身的影響力,就須要長期建設了。好比,我最近強迫本身每週二早 8 點在本身的「自在開發」公衆號中寫篇技術長文(包括本篇),也在本身的博客、少數派、掘金、簡書等全媒體發佈。這些文章的受衆,有可能就是我本身產品的用戶。而且,有了文章的背書,當用戶對我有更多瞭解和信任後,也就更願意嘗試個人產品。

2) 貼貼板到 iPaste 的蛻變

2.0) 那些年,我也曾青澀

對於名字,當初也是糾結了好久才定的「貼貼板」(英文 Daily Clipboard)如今來看,中文名還好,英文名就太差了些,且和中文名沒有關聯。當時,我已經開發了 iPic,想維持一個「i」系列,就直接改成「iPaste」了。

再來看看當年貼貼板的 Logo(左側):

真有種不忍直視的感受 😅

目前的 Logo(右側),是本身設計的。基本是參考系統圓形 Logo,如 iBooks、App Store;其中的 P,和 iPic Logo 中的 P 同樣;背景的深綠色,是參考系統 Time Machine,想借其穩定的意味。

其實,更名、改 Logo 的影響仍是很是大的。好比,以前全部在媒體沉澱的報道,全都無效了,須要從 0 開始積累影響力。因此,你們在給產品起名、設計 Logo 時,必定要慎重。定好了,就要堅持。

對於獨立開發者朋友,我有個小建議:保留本身程序的歷史版本。固然,我知道你確定已經用了 Git;我是說,保留能夠直接運行的版本(你肯定,20 年後,你還有能力將代碼編譯爲程序 😂)就像老照片同樣,多年之後,從新運行一下本身當年還懵懂時寫下程序,看那交互、那顏色、那不經意的跳轉,就像看老照片同樣,會有別樣的情愫

2.1) 付費下載 -> 內購

最開始,iPaste 的模式是付費之後才能下載使用。

採用這一方式的惟一緣由:實現簡單。或者說,代碼上什麼都不用作,無需區分免費版和付費後的功能限制,無需處理複雜的 In-App Purchase 集成。

不過,這一方式的缺點也很明確:限制潛在用戶嘗試 iPaste. 這部分能夠在 Mac 開發的神祕面紗:後孃養的嫡長子 裏有介紹詳細的介紹。

後來,iPaste 將付費模式調整爲免費 + 內購。從效果上看,確實明顯增長了用戶數量,用戶付費也有所增長。因此,若是你打算開發個產品,我的建議採用免費 + 內購的方式。其中,能夠試試我開源的 IAPHelper,能夠很方便地集成 In-App Purchase. 另外,內購也能夠試試訂閱。雖然說不少朋友對於訂閱還很抗拒,不過,仍是有用戶能接受,不妨考慮一下。

換付費模式,實際上是挺麻煩的事。好比,最開始已經付費購買的用戶,總不能讓其再購買一次、或者不能更新吧?要作到這一點,就要識別出以前上架 MAS 的版本,以及用戶是否從 MAS 下載的 iPaste,對於條件都知足,則自動開通高級功能。如何識別?主要是從 MAS 更新 Receipt 並解析其中的內容。

3) iPaste 的如今與未來

3.0) 工具型產品的困境

我查了下,上個版本的是 iPaste,是在去掉 9 月 26 日發佈的,幾乎都快一年了。

爲何這麼久都不出新版?

一方面,是我在忙 iPicKlib 等其餘產品。另外一方面,更重要的,是我 沒想好該怎麼改進

工具型產品很容易陷入這樣的困境:一方面,會遇到用戶增加遲緩的狀況;另外一方面,會有用戶表達「加了這個功能,我就買」這樣的意願。因而,很容易抗不住壓力,加了某個功能。且不說當初的用戶是否真的購買,久而久之,產品的功能愈來愈多,很容易變得愈來愈複雜、愈來愈很差用。用戶增加變得更緩慢,甚至流失,陷入 死循環

Word 就是個典型的例子,就像咱們熟悉的那句話:99% 的人用了 Word 不到 1% 的功能。固然,Word 依然是如今的工業標準。但與此同時,以 Markdown 爲表明的文本輕量型編輯工具,蠶食了大量本來屬於 Word 的份額。

其實,不少工具型產品變壞、變難用,很大程度是由於營收的壓力。由於工具型產品自己是極難贏利的,而不贏利又沒法養活團隊,不現實。因而,爲了贏利,產品團隊不得不加些社交、內容等元素,想辦法增長用戶粘性和互動,進而但願帶來更多轉化和商業可能性;但一般,事與願違。

怎麼破呢?簡單:別期望用工具賺大錢。不要讓團隊過於膨脹,以減小成本。出於這一點,獨立開發者、小團隊,很適合作工具型產品,由於營收壓力小,一人吃飽、全公司不餓,不至於所以讓產品畸變。

3.1) iPaste 該如何突圍

說回 iPaste,它的 核心功能就是一句話:記住用戶曾經複製的內容,而後粘貼。對於核心功能,iPaste 已經實現的很好了,甚至能夠釘住剪貼板歷史,進而使用固定的快捷鍵粘貼,大大提升效率。

那在此基礎上,還能如何改進呢?通過一年的潛意識思考和本身的實際需求,我加了 2 個功能:

  • 編輯及管理剪貼板歷史
  • 增長 Pin 歷史分組

看個操做視頻就明白了:

主要對應於我本身的幾個使用場景:

快速插入 Emoji 表情

  • macOS 系統自帶的Ctrl + Command + Space 呼出 Emoji 和符號鍵盤,問題在於:效率不高:系統列出了無數的表情,而我本身經常使用的就那麼幾個。雖然說有歷史、收藏夾分組,但每次都要手動切換,還要移動鼠標,麻煩。
  • macOS 中運行的其它程序,如微信、Telegram、Skype 等等,每家 Emoji 表情的 排列不一致、長得不同、交互也不同。每次要在不一樣的排列中找,有點痛苦。
  • 在 iPaste 增長了此功能後,我能夠按依次按 Shift + Command + VCommand + AA/B/C,快速輸入指定的 Emoji 表情。全程使用固定的快捷鍵、無需鼠標,高效、舒服

快速插入一些特殊字符

  • 好比,macOS 快捷鍵中經常使用的 等特殊字符,在回覆用戶郵件時,時不時會用到,幾乎每次都要到 Google 搜索,而後再粘貼過去。
  • 如今,我會建立一個專業的 Pin 分組,用於輸入這些特殊字符。

添加客服經常使用語

  • 好比,我常常我回複用戶的問題。而這些問題中,不少是重複的,回覆也是相似的。有了 Pin 分組功能,我能夠爲每一個產品添加經常使用的回覆語,用於在郵件中快速添加。

添加經常使用命令

  • 好比 gc master; git merge dev; gc dev; 用於切至 Git 主分支、合併、切回 dev 分支。
  • 有時,須要對命令作簡單調整,在以前的版本中,就有點痛苦。由於我須要屢次 Pin/Unpin,才能讓新 Pin 住的歷史,並使用原來的快捷鍵。提及來有點繞,用過 iPaste 以前版本的朋友,應該明白我在說什麼。

能夠看出,作出這個更新,主要仍是知足我本身的實際需求。若是剛好你也有這種癢點,歡迎試試新版 iPaste. 順便作個硬廣:含此功能的 新版 iPaste 今天剛剛上架,高級版內購限時半價,須要的朋友不要錯過。

3.2) iPaste 還能玩出什麼花

在 App Store 搜索「剪貼板」,會獲得一堆應用,這是個充分競爭的領域。那麼,iPaste 該如何定位、又能玩出什麼花樣?

首先,iPaste 的定位一直沒變:簡潔高效的剪貼板應用。

我知道,你確定以爲「簡潔高效」這話實在是被用濫了,說了跟沒說同樣。但我真的是這麼作的。

  • iPaste 的交互基於菜單,已經不可能更簡潔了。
  • iPaste 全部關鍵操做都支持快捷鍵,全程不須要使用鼠標或觸摸板。

在堅守 「簡潔高效」 這個定位和底線後,iPaste 會在繼續在易用性和效率上改進。好比,不少朋友但願能記錄更多的剪貼板歷史(雖然我目前依然以爲意義不大),而要在衆多歷史中找到須要的,搜索便成爲必然。因而,入口就是個問題,我打算 在 Spotlight 搜索中集成 iPaste 的搜索。據我所知,目前同類應用中還沒有出現此功能,iPaste 算是獨創吧。恩,有了點子公佈出來,免得後來者反而說我模仿抄襲。

另外,打算支持 CloudKit,並開發 iPaste for iOS. 恩,我知道,在 iOS 領域,剪貼板應用一樣競爭很是充分,且有 Pin 這樣的明星產品。不過,仍是有事情可作的。好比,目前我在 macOS 上設計圖片後,要發到朋友圈,須要先經過微信等方式先將圖片及文字中轉到手機,而後再發,非常麻煩。要是 iPaste for iOS 能作到 macOS 端複製、iOS 端一鍵發送,多好。

再有,基於 iPaste 還有個衍生產品:iTips,主要是 我的碎片化信息的管理,如公司發票擡頭,追了哪些美劇、分別看到第幾集,等等。目前還沒想到具體的形態,暫不展開介紹。

尾巴

連續寫了幾篇長文,感受要被掏空了。下週都不知道要寫什麼了,總不能繼續寫回憶錄吧?😂

沒辦法,只能繼續逼本身多輸入,保證每週都有乾貨,晾曬在「自在開發」公衆號。

自在開發
自在開發
相關文章
相關標籤/搜索