リリース情報(2017/8/12)

8/12にv0.8.14がリリースされました。

f:id:hyottokoaloha:20170812145747p:plain

今回の主なアップデートは

  • 設定がデフォルトになるバグの修正

です。

改善

ノートリストに、GitHubのようにチェックボックスの総数とプログレスバーが表示されるようになりました。 github.com

@XGHeavenさんありがとうございます。

Bug fix

設定がデフォルトに戻るバグを修正しました。

github.com

全てのPR

v0.8.13からv0.8.14までにマージされた全てのPRです。

デザインの変更はkazupさん、リリース作業はkohei_takataさんによるものです。

リリース情報(2017/8/10)

8/10にv0.8.13がリリースされました。

f:id:hyottokoaloha:20170810171021p:plain

今回の主な機能追加は

  • ~/.boostnotercで設定を定義できるようになる
  • Printの追加

です。それぞれ説明をします。

~/.boostnotercで設定を定義できるようになる

github.com

Preferences 以下で設定する HotKeyUI~/.boostnoterc で上書きできるようになりました。 ~/.boostnoterc の詳しい書き方については以下を参照してください。

github.com

Printの追加

印刷ができるようになります。ここからPDFエクスポートもできます。 github.com

f:id:hyottokoaloha:20170810173140g:plain

出て来た.pdfと実際のノートはこんな感じになっています。 f:id:hyottokoaloha:20170810170236p:plain

f:id:hyottokoaloha:20170810170244p:plain

改善

検索時に現在のフォルダー内から検索できるようにしました。 github.com

Snippetのdescriptionのフォントが修正されました。

github.com

Bug fix

MarkdownタブのあるSnipppetがあるとロードに失敗する問題の修正 github.com

ノートをゴミ箱に入れてもフォルダ右のカウントが減らない問題の修正 github.com

全てのPR

v0.8.12からv0.8.13までにマージされた全てのPRです。

デザインの変更はkazupさん、リリース作業はkohei_takataさんによるものです。

Boostnote vs Notes: Choosing a note-taking Tool

こんにちは、Boostnote開発者のkazupです。

案外mac純正のメモアプリからBoostnoteへ乗り換える方が多いので、今回は簡単に比較を書いてみました。

f:id:kazup_bot:20170809130148p:plain

What is Boostnote?

オープンソースのプログラマー向けノートサービスです。 markdownはもちろん、150種以上のsyntax hightlisghtに対応したsnippetの保存も可能です。

開発者向けに特化しているので、vimのキーマップが使えたり、markdown内のコードをワンタッチで保存できる等、開発者の方々が嬉しい機能が盛り込まれています。

また、evernoteからのデータ移行ツールであるever2boost等の周辺ツールも複数あり、シンプルな基盤に便利な要素が乗っかっています。

f:id:kazup_bot:20170809130241p:plain

What is Notes?

皆さんおなじみ、apple製の純正メモアプリです。Boostnoteと違い、万人誰でも楽しく使うことが出来るよう設計されています。

動作が機敏な為、ふとしたメモを残しておきたい時などに重宝しそうです。

The key differences of Boostnote vs Notes

最大の違いは、ターゲットです。Boostnoteは明確に開発者がターゲットであるのに対し、Notesは誰でも気軽に使うことが出来るよう設計されています。

例えば、NotesはPlain textのみ対応しているのに対し、Boostnoteはmarkdownとsnippetの保存が可能です。

また、カスタマイズ性にも大きな違いがあり、Boostnoteはショートカットキーやカラーテーマ、前述のキーマップ等のカスタマイズが用意されているのに対し、Notesはあくまでもシンプル且つ統一された体験を提供しています。

A comparison of Boostnote vs Notes

主な比較をまとめてみました。

Boostnote Notes
ノートのフォーマット Markdown and snippet Plain text
値段 無料 無料
データ置き場所 Local, Dropbox and Google drive Local, iCloud and Google
アプリ Windows, Mac, Linux, iOS and Android apps are coming soon Mac, iOS
メインのターゲット Developer All
カスタマイズ Color, Codeblock and Editor theme, Keymap, and Hotkey x
共有 10hz via iCloud

Wrapping it up.

以上、BoostnoteとNotesの比較でした。どちらも一見とてもシンプルに思えますが、そのシンプルさの中に実は隠された機能や仕組みがあり、比べていてとても面白かったです。

Boostnoteはより開発に特化して設計されており、何よりオープンソース!である為、是非開発者の方々に使ってもらって、カスタマイズしてもらって、あわよくばプルリクを投げて頂きたいと思っています。

冒頭でも記載したとおり、Notesから乗り換える方はとても多いので、是非周りでノートアプリを探している開発者の方がいたらBoostnoteをお勧め下さい!

また、Boostnoteのチーム版である、10hzも現在ベータ版の配布を行っていますので、こちらも是非お試しください。

リリース情報(2017/7/29 v0.8.12)

7/29にv0.8.12がリリースされました。

f:id:hyottokoaloha:20170722161853p:plain

今回の主な機能追加は

  • ゴミ箱の追加
  • ノート内検索の追加
  • ノート間リンクの追加

です。それぞれ説明をします。

ゴミ箱の追加

f:id:hyottokoaloha:20170722162059g:plain github.com

この5か月間眠っていたPRがマージされてゴミ箱が追加されました。

使い方は上のgifを参照してください。

ノート内検索の追加

f:id:hyottokoaloha:20170722162359g:plain github.com

以前から要望が多かったノート内検索を追加しました。これはCodeMirrorの公式アドオンを使用しています。

呼び出しはCtrl(Cmd)-Fでできますが、他のショートカットキーが普段使っているブラウザの挙動と少し違っているので表にまとめてきます。(CodeMirrorの挙動です)

ショートカット 機能
Ctrl(Cmd)-F 検索窓を開く
Ctrl(Cmd)-G 次の検索結果に移動する(ブラウザだとEnter)
Shift-Ctrl(Cmd)-G 一つ前の検索結果に移動する
Shift-Ctrl(Cmd)-F 現在の検索結果を置き換える
Shift-Ctrl-F/Cmd-Option-F 現在の検索結果を置き換える
Shift-Ctrl-R/Shift-Cmd-Option-F 全ての検索結果を置き換える

詳しくはこちら

あと、ついでにvimモードのpromptも追加していますのでvimキーバインドをお使いの方はノーマルモードで / と入力してもらえるとエディターの下に検索窓が出現します。 f:id:hyottokoaloha:20170722162952g:plain

ノート間リンクの追加

f:id:hyottokoaloha:20170725175327g:plain

ノート間リンクとは、[this_is_a_note](e9604016f1436fd3a3b4-536822849523c381a696)のようにしてノートにノートハッシュとともに貼ることでPreview画面でそのリンクをクリックした時にそのノートにジャンプできる機能です。

なお、ノート間リンクに使うリンクは今回追加されたInfoButtonから入手できます。 f:id:hyottokoaloha:20170725120808p:plain

※現在同じフォルダ内の移動のみの対応です。

改善

他の改善についてです。

違和感のあったCtrl-UのショートカットをCtrl-Kに変更しました。 github.com

ドラッグドロップ時の画像のリンクを ![imagename](/:storage/imagename.png) のようなものに変更しました。 github.com

Bug fix

お騒がせの画像挿入周りを修正しました。

画像を挿入してもリンク切れになる問題の修正 github.com

画像を挿入してもリンクがノートの一番下に挿入される問題の修正 github.com

windowsで画像をドラッグドロップした時に画像がリンク切れする問題の修正 github.com

全てのPR

v0.8.11からv0.8.12までにマージされた全てのPRです。

デザインの変更はkazupさん、リリース作業はkohei_takataさんによるものです。

ブログ

前回のリリースから今回までに書かれたブログです。

qiita.com

励みになります。ありがとうございます。

オープンソースプロジェクト、Boostnoteのこれまでとこれから(②これまで featuring 数字を公開編)

こんにちは、Boostnote横溝です。 次世代のデザインツールSTUDIOを作ってるふたりと福岡出張の道中なうでして、機内の中からこの記事を書いています。

このあと福岡在住のasmsuechanと合流するので楽しみ!

Boostnoteとは?

リリース以来196の国と地域へ拡がっており、直近のユーザーの海外比率は90%とグローバルなオープンソースのプログラマー向けノートサービスです。

https://boostnote.io/

Mac, Windows, Linuxで利用が可能、モバイルアプリも今夏リリースします! 世界中の開発者達と対話を行いながら日夜開発に取り組んでいます。

10hz (Boostnote Teamより改名)もリリース間際!お楽しみに。

f:id:kazup_bot:20170725181522p:plain


Global

前回の記事では、Boostnoteのこれまでを書きましたが、今回はその続き、Boostnoteの現状を公開していこうと思います。

昨年のリリース以来、おかげさまで多くのユーザーの皆さんに愛されるサービスへ育てることが出来ましたが、これは日夜開発に取り組んでくれるMaintainer達、協力してくれるコミッター達、そして多様な意見を届けてくれるBoostnoteコミュニティの力であることを毎日実感しています。

冒頭でも軽く触れましたが、直近の海外のユーザー比率は90%ほどと高い水準を維持しており、この一年ほどで198ヶ国もの国々よりアクセスを獲得しています。

では、以下より細かな数値を公開していきます。

ユーザの国別比率

f:id:kazup_bot:20170725170927p:plain

直近三ヶ月だとこのような結果になりました。 前回の記事でasmsuechanが調べてくれた、BoostnoteのGitHubレポジトリにスターをつけている人の分布とほぼ同じですね。 拡大に力を入れた国や地域は特に無いのですが、メディアの波及力や人口動態を考えると納得の結果でした。

OSの分布

f:id:kazup_bot:20170725171009p:plain

当初はMacのみリリースしていたのですが、Windowsをリリースするや否やあっとういう間に比率が増え、今ではほぼ半数がWindowsユーザーです。

また、Linux界隈でのバイラル効果は驚くものがあり、OMG! Ubuntu! に掲載された記事を皮切りに沢山の話題を呼び、徐々にLinuxの比率も高くなってきています。

ダウンロード数とMAUの推移

f:id:kazup_bot:20170725171322p:plain

後述しますが、マーケティングに一切予算を割いていないため、徐々に徐々にユーザー数が積み上がっています。

バズったり、GitHubのトレンドに載った際は局所的にユーザー数が爆増しますが、そればかり狙っても意味が無いので、本質的に何がユーザーの為になるのかを考えながら今後も改善を積み重ねていきます。

これまでに実践したこと

これまでBoostnoteは、所謂マーケティングに一円の費用もかけていません。その代わり、コミュニティと真摯に向き合うことを以前より心がけてきました。

国境をなくしたインターネットのおかげで、地球のどこにユーザーがいようと、同期・非同期問わず対話を行う事ができます。世界中に繋がる有機的なコミュニティを作ることこそが最大の優位性であり差別化要素だと確信しており、これからも最も大事にしていきたい資産です。

世界中に繋がる有機的なコミュニティを作るという、一見非効率的に思えるプロセスにおいて、私達と顧客がただのベンダーとユーザーという関係を超え、例えば翻訳の協力を申し出てくれる人が出てきたり、自発的にバグを直してくれる人が出てきたり、暖かいコミュニティが少しずつ形作られていると感じています。

前回の記事にも書きましたが、Boostnoteというアウトプットの集合体に対し興味を持った人々が集い、小さなコミュニティが徐々に作られ、やがて大きな「知の群衆(クラウド)」が形成された先にある未来は、私自身とても楽しみです。

Boostnoteを通して、共に未来をつくっていきましょう。

10hz(Boostnote Teamより改名)の近況

先週の7月19日より、事前応募を頂いた方々を対象にβ版の配布を行っています。 数千人届いているWaitingリストから選ばれし計400人へ配布が完了しており、受け取った方々はとてもラッキーです。 まだ登録していない方はこちらから

急がず焦らず、コミュニティと対話しながら良いサービスへ育てていこうと思っています。 ただの情報共有ツールを作るつもりはなく、世界を平らにする施策を年末から来年頭にかけて放つつもりですので、引き続き開発に勤しみます。


f:id:kazup_bot:20170714111428j:plain

*先日TECH LAB PAAKに立ち寄った際にBoostnoteステッカーを大量に置いてきたので、欲しい方がいればどうぞ!

*次回予告

  • Boostnoteのこれから
  • Boostnote と10hzが形作る未来

など

*Boostnote関連情報

Boostnoteのスターを調べる

今月部屋から一歩も出ずにらき☆すたを4周見たasmsuechanです。今5周目の10話です。ここではスターの話をします。

プログラマー向けノートアプリであるBoostnoteはOSSとして https://github.com/BoostIO/Boostnote に公開されています。今日はこのリポジトリにスターをつけた人の居住国をグラフにしてみます。

スターしたユーザーの居住地をグラフにする

早速ですがスターしたユーザーのlocationを集めて世界地図にプロットするとこのようになります(公開 - 現在まで)



ちょっと見にくいので棒グラフにします。



中国が一番多くてその次にアメリカ、次が日本、といった感じで50%程を占めています。にしても米中が思ったより多いです。

スターしたユーザーの取得、解析

スターしたユーザーの取得は以下のようなスクリプトからGitHubのAPIを叩いています。

Pythonである理由は全然ありません。その時の気分です。雑ですがコードはここにあります。

from github import Github
from dotenv import load_dotenv, find_dotenv
import os
import csv

load_dotenv(find_dotenv())
GITHUB_ACCESS_TOKEN = os.environ.get("GITHUB_ACCESS_TOKEN")

g = Github(login_or_token=GITHUB_ACCESS_TOKEN, per_page=100)

# Get stargazers of the repository
repository = g.get_repo('BoostIO/Boostnote')
stargazers = repository.get_stargazers()
for page_number in 50:
  for stargazer in stargazers.get_page(page_number):
    f = open('stargazers.csv', 'a')
    writer = csv.writer(f, lineterminator='\n')
    csvlist = []
    csvlist.append(stargazer.login)
    csvlist.append(stargazer.location)
    writer.writerow(csvlist)
    f.close()
    print(stargazer.location)


これでユーザーのidとそのlocationが取得できました。(csvに吐き出しました)

ですがここで問題点が。ユーザーのlocationは必ずしも自分にとって都合のいい 'Japan' や 'China' や 'America' などの形式ではないということです。人によってはもっと細かい都市(例えば'Tokyo'や'Nakano'など)を設定しています。というかむしろこっちが大多数です。

そこでこのlocationを適切に国名へと変換するためにGoogle Maps Geocoding APIを使用します。

GeocodingAPIはhttps://maps.googleapis.com/maps/api/geocode/json?address=Washinomiya+Kuki-shi&key=YOUR_API_KEYの形式でリクエストを送ることにより情報を得ることができます。

例えばパラメーターのaddressaddress=Washinomiya+Kuki-shiとしてcurlを投げると以下のようなjsonを返してくれます。

{
   "results" : [
      {
         "address_components" : [
            {
               "long_name" : "Washinomiya",
               "short_name" : "Washinomiya",
               "types" : [ "political", "sublocality", "sublocality_level_1" ]
            },
            {
               "long_name" : "Kuki",
               "short_name" : "Kuki",
               "types" : [ "locality", "political" ]
            },
            {
               "long_name" : "Saitama Prefecture",
               "short_name" : "Saitama Prefecture",
               "types" : [ "administrative_area_level_1", "political" ]
            },
            {
               "long_name" : "Japan",
               "short_name" : "JP",
               "types" : [ "country", "political" ]
            },
            {
               "long_name" : "340-0217",
               "short_name" : "340-0217",
               "types" : [ "postal_code" ]
            }
         ],
         "formatted_address" : "Washinomiya, Kuki, Saitama Prefecture 340-0217, Japan",
         "geometry" : {
            "bounds" : {
               "northeast" : {
                  "lat" : 36.107551,
                  "lng" : 139.6791901
               },
               "southwest" : {
                  "lat" : 36.0785273,
                  "lng" : 139.6443736
               }
            },
            "location" : {
               "lat" : 36.1003427,
               "lng" : 139.6614365
            },
            "location_type" : "APPROXIMATE",
            "viewport" : {
               "northeast" : {
                  "lat" : 36.107551,
                  "lng" : 139.6791901
               },
               "southwest" : {
                  "lat" : 36.0785273,
                  "lng" : 139.6443736
               }
            }
         },
         "place_id" : "ChIJfcsG4zjKGGARBnLnJiLVPM0",
         "types" : [ "political", "sublocality", "sublocality_level_1" ]
      }
   ],
   "status" : "OK"
}

ここで真ん中あたりにある formatted_arress を見てみると "formatted_address" : "Washinomiya, Kuki, Saitama Prefecture 340-0217, Japan" となっています。国名まで補完できていますね。これから不完全なlocationを国名に変換しました。この辺のコードはここに置いてあります。これもまた雑ですが。

最終的には以下のような配列になりました。これをGoogleのGeochartにプロットしたのが上のグラフです。array[0]が国名でarray[1]が総数です。(多いので一部です)

[["China", 366], ["USA", 365], ["Japan", 199], ["Germany", 103], ["France", 74], ["Brazil", 69], ["India", 67], ["UK", 59], ["South Korea", 58], ["Canada", 56], ["Russia", 45], ["Australia", 32], ["Turkey", 32], ["Spain", 32], ["Taiwan", 28], ["United States", 24], ["504-42 Yunam-dong", 22], ["Mexico", 21], ["Netherlands", 20], ["Poland", 20], ["Portugal", 18], ["Italy", 18], ["Switzerland", 17], ["Indonesia", 17], ["United Kingdom", 15], ["Vietnam", 15], ["Thailand", 14], ["Ukraine", 14], ["Austria", 11], ["Hong Kong", 11], ["Singapore", 10], ["Sweden", 10], ["Belgium", 10], ["Argentina", 10], ["Denmark", 10], ["Colombia", 9], ["Greece", 9]]

"USA"と"United Stats"があったりそういう被りは暖かみのある手作業でくっつけていきました。

ちなみにこのarrayの下の方には謎にJA甲府市やら赤坂の美容室やらの住所が出てました。謎です。

中国勢力

最近(ここ3か月程度)中国からのスターが明らかに増えています。体感半分くらいは中国の方からのスターだと思っています。これも検証してみます。

まず、3か月のうちにスターをしたユーザーを取得する必要があります。

ですが、GitHubはスターをした時間までは返してくれません。ですので少し工夫をします。

まず、 http://www.timqian.com/star-history/#BoostIO/Boostnote この便利なサービスを見て、3か月前のスター数を調べます。次にこれを現在のスター数から引きます。こうして出た値がこの3か月でついたスターの数です。

あとは簡単で、先ほど出した全体のスターしたユーザーの下からその人数を引っ張ってくれば完成です。合計1600くらいでした。

f:id:hyottokoaloha:20170719141633p:plain

これもまたグラフにしてみます。




これも一部ですが、合計1012の中で中国が27%を占めています。大きいですね。

実は中国からのスターが増えた理由には心当たりがあって、中国版Twitterのweiboのある投稿が拡散されていたからでした。

f:id:hyottokoaloha:20170719142130p:plain

これからもっと伸びてたみたいです。このおかげでGitHubのトレンドにも乗って本当に驚きました。

感想

locationを設定していない人も結構いるのでそういう人はリポジトリのdescriptionを拾って一番多い言語または英語の次に多い言語からある程度絞れそうな気もしています。

中国勢力すごいですね。個人的にはこれから中国進出したいです。

この記事を書いている間に15話まで見終わりました。

Boostnote Teamの名前を10hzに変更し、ベータ版の配布を順次行います。

f:id:kazup_bot:20170718134048p:plain

速報ですが、Boostnote Teamの名前を10hz(テンヘルツ)に変更しました。

人間が200hz~2000hzほどの周波数を使い相手と会話をしているのに対し、象は10hzほどの低周波数で会話をすることができ、とても遠くにいる仲間とコミュニケーションをとることが出来ると言われています。

私達が作っている10hzもコラボレーションツールのひとつなので、10hzを使い、遠くにいる仲間であろうとコミュニケーションを円滑に進めてほしいことから命名しました。

ロゴはイタリア人のデザイナー、feltrescoさんに作って頂きました。めっちゃかわいい!

f:id:kazup_bot:20170718105119p:plain

これから

現在数千人の方々より事前応募を頂いているのですが、本日より10hz βの配布を開始します。

https://boostnote.io/team/

本日は選ばれし200人(ランダムです)の方々に配布しますので、お楽しみに!

ただの共有ツールを作る予定は全くありませんので、これから先の開発予定も少しずつ小出しにしていきます。

というか、そもそもツールはプロセスにしか過ぎませんので、10hzの作る未来に乞うご期待下さい!