20151024_113218

ワイガヤミーティング-自分達のことを語り合う場-

こんにちは、ギルドワークスの中村 洋です。

先日、全員鎌倉に集まり「ワイガヤミーティング」をやりました。

「ワイガヤ」とは?
立場の相違にかかわらず同じ組織に属する者たちが気軽に「ワイワイガヤガヤ」と話し合うこと。本田技研工業株式会社が提唱した言葉で、仕事・プライベートのどちらでもない職場での多人数による会話のことを指す。同社に限らず日本組織の特徴的なものともされており、仕事の仲間同士で突然発生し、周りの人たちを巻き込み進行する。テーマは会社の人間関係・仕事への不満などから、仕事とまったく関係ない話まで雑多。単なる時間の浪費か、仕事に発展的に役立つものかとの点で見解が分かれている。

コトバンク> 知恵蔵mini

なぜやったのか?

ギルドワークスは普段はリモートワークですが、2、3ヶ月に一度は合宿をやっています。その上でさらに何をやるのか?と思う方もいるかもしれませんが、このワイガヤミーティングでは自分達の話を語ることにしました。

先にあげた合宿では「ギルドワークスの事業どうしていくか?その戦略は?」「ギルドワークスが成し遂げるためにどんなアクションを取るか?」「ギルドワークスらしい新しいサービスは?」などの話がメインで、自分のことを伝え合う時間は(ドラッカー風エクササイズなどをやったものの)あまり取りませんでした

この11月でギルドワークスを立ち上げた時から2倍以上の9人になることもあり、改めて「自分のことについて伝え合う時間」が必要と考えました。

どんなことをやったの?(1日目)

週末の仕事を終えた各々が鎌倉に集結し、美味しい食事とお酒でイイ感じになった雰囲気の中、「お互いに感謝の言葉を伝える」ことをやってみました。

いきなり「みんなに感謝の言葉を言いましょう」といっても出てこないので、ちょっとしたアクティビティに仕立ててやってみました。
※参考:「感謝の言葉を伝える」ワークショップ

それぞれ手元に集まった仲間からの感謝の言葉を嬉しそうに見て、写真に撮ったり、「誰の言葉が一番嬉しいか」などを語り合っていました。
感謝の言葉

日常の現場で(仕事をやることで)「ありがとう」と言われることはあっても、「◯◯さんの△△というところ」に対して「ありがとう」と言ったり、言われることはあまりないことだと思います。
思っている以上に嬉しいものですし、意外な言葉をもらえたりするので、やってみることをオススメします。

どんなことをやったの?(2日目)

2日目は朝早くから鎌倉の宿に集まり、順番にカードを引き、そこに書いているテーマについて(5分程)しゃべるというのをやりました。
#(バラエティ番組の)「ごきげんよう」方式

「一番好きな名言」「今でも忘れない案件でカッとなった出来事」「自分のバイブル」「エモい話」「明日会社がなくなったら何をする?」といったものがテーマとして書かれていて、「そんなことがあったんだ」「そういう考えなんだ」というこれまで知らなかった多くのことを知ることができました。
20151024_113218

ひとしきり話した後は、湘南の海が見える場所で(またごきげんよう方式をやりながら)バーベキューをして、「ワイガヤミーティング」は幕を閉じました。

やったどうだったか?

やって良かった」というのが率直な感想です。

ギルドワークスでは「何をするかも大事だが、誰とするかがもっと大事」という話をしています。
その共に歩み、背中を預ける「誰か」のことを知ることで、より「正しいものを正しくつくる」ことに近づけると感じました。

こんなギルドワークスに興味が湧いた方は「ギルドワークスと組む」などを見ていただき、お気軽にお問い合わせください。

Apple_with_a_bite_taken_out_of_it

iOS9 アプリ開発でのハマりどころ

どうも、ギルドワークス 前川です。

iOS 9 公開後一月ほどたちましたが、皆さんもうアップデートされているでしょうか?OSのアップデートはワクワクして楽しい半面、やはりアプリのつくり手としては思いもよらない不具合に遭遇したりすることもあるので、なかなか困り者です。

じつは私がiOSアプリ開発をはじめて、初めて本格的なバージョンアップを体験するのがこのタイミングでして、なかなか落とし穴にハマりましたので、色々共有させていただきたいと思います。

ハマりどころ① スプラッシュスクリーンがない場合の表示崩れ

まず最初に、ひどい目にあったのが本案件、スプラッシュスクリーンがない場合の画像崩れでした。

上記Qiita記事にもあるように、iOS9 / XCode7 で起動した場合に、黒帯が出てスクリーンが表示されない、という不具合に遭遇しました。

StackOverflowなども参照した結果、どうやらiOS9よりスプラッシュイメージを適切な画像サイズにするなり、ストーリーボードを指定するなりしないと画面崩れが発生するようになったようでした(画面サイズの検知に起動時の大きさを使うようになった、という情報を見かけました)

スプラッシュスクリーンなどただの飾りと思って油断していました。。。Appleのガイドラインを守らないものに振りかかる神罰、と言った感じですね。

ハマりどころ② Bitcode問題によりiTunes Connect にアプリがアップロードできない

iOS9から新たにAppThiningと呼ばれる、アプリの最適化が導入されました。

その中にBitcodeという項目が有ります。これは、アプリの中間コード(Bitcode)をアプリケーションに埋め込んで提供することで、Appleが各CPU向けの最適化を行ってくれるものです。そしてこの機能はデフォルトでONになっています。

しかしながら、cocoapodsCarthageなどのライブラリツールで外部ライブラリを取り込んでいる場合、そのライブラリがBitCodeオプションを有効化しているか、という問題に突き当たります(そして多くの場合有効化していません)。

この結果、せっかく時間をかけてビルドしたアプリがiTunes Connectで弾かれる、という悲しい自体になります・・・

スクリーンショット 2015-10-21 21.04.31

このように数多くのアプリが弾かれてしまいました。

解決方法は簡単で、Build SettingsEnable Bitcode をFalseにすればOKです。

ただ言うまでもなく、Bitcodeオプションは今後有効になるのが標準となるべきもので、CocoapodsやCarthageでも対応が進んでいます。できるだけ早く、有効にできるようになりたいですね。

ハマりどころ③ システムフォント変更におけるUI崩れ

これは特に英語対応をしている場合の要注意項目となります。

iOS9では、英語システムフォントが Helvetica Neue からSan Francisco に変更となっています。

上記記事から分かる通り、結構サイズもダイナミックに変わる、大きめの変更です。

従って、何も考えずにシステムフォントを指定している場合、OS毎にフォントの横幅が変わり、改行などの文字崩れが起きてしまいます。

カツカツのUI設計をしていると、ここで思わぬ折り返しが発生してしまい、泣くことになってしまいます。。。

最も大切なことはOS更新時期とリリース次期をかぶせないこと

今回の最大の教訓はこれです。OSの更新時期は、こういった思わぬトラブルに加え、AppleStoreの審査待ち渋滞も数多く発生します。ですので、できるだけOSの大型更新時期と、アプリのアップデートは分けるようなリリース計画にすべきですね。(新OS対応の特急申請などは割と通りやすい印象もありますし)

ここは神様に逆らってはいけない世界。色々と智慧をめぐらせ、Appleと賢く付き合っていきましょう。

opengraph

React Native を試してみる

こんにちは、上野です。
週末開発合宿を行ってきました。
その中で React Native によるアプリ開発にチャレンジしてみました。
一部では既にReactは大変という声もあったりしますが、ネイティブアプリも作成できるツールはあまりないので結構期待しています。
(最近 Androidアプリ も作れるようになりました)

そんなわけで今回は React Native の環境構築について書いてみます。

事前準備

Macでのインストールを前提としています。

  • Xcode
    App Storeから最新版をインストールしましょう。
    Xcode をインストール後 Command Line Tools も入れてください(最新だと自動で入るようです)
  • Homebrew
    まだインストールしていない方は以下のコマンドを実行してください。

    ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

    既にインストール済みの方は以下のコマンドで最新化してください。

    brew update

React Native インストール

まずは Node をインストールしましょう。

brew install node

今回は割愛しますが Node のバージョン管理をしたい方は nodebrew を入れてください。

続いて、Watchmanflow を入れます。

brew install watchman

brew install flow

そして、react-native-cli を入れて完了です。

npm install -g react-native-cli

これで以下のコマンドが使えるようになっているはずです。

react-native

プロジェクトの作成

それではプロジェクトを作成しましょう。

react-native init [プロジェクト名]

実行すると Installing react-native package from npm… と表示され各種ファイルが生成されます。

iOSフォルダ内にある [プロジェクト名].xcodeproj を実行しましょう。
あとはシュミレータを実行するだけです。

スクリーンショット 2015-10-20 23.25.27

init で生成されたものが起動されましたね。

どんなコードかと言うと以下のような形です。
index.ios.js を開いてみましょう。

/**
 * Sample React Native App
 * https://github.com/facebook/react-native
 */
'use strict';

var React = require('react-native');
var {
  AppRegistry,
  StyleSheet,
  Text,
  View,
} = React;

var testPj = React.createClass({
  render: function() {
    return (
      <View style={styles.container}>
        <Text style={styles.welcome}>
          Welcome to React Native!
        </Text>
        <Text style={styles.instructions}>
          To get started, edit index.ios.js
        </Text>
        <Text style={styles.instructions}>
          Press Cmd+R to reload,{'\n'}
          Cmd+D or shake for dev menu
        </Text>
      </View>
    );
  }
});

var styles = StyleSheet.create({
  container: {
    flex: 1,
    justifyContent: 'center',
    alignItems: 'center',
    backgroundColor: '#F5FCFF',
  },
  welcome: {
    fontSize: 20,
    textAlign: 'center',
    margin: 10,
  },
  instructions: {
    textAlign: 'center',
    color: '#333333',
    marginBottom: 5,
  },
});

AppRegistry.registerComponent('testPj', () => testPj);

CSSも入っているのでちょっと長めですが、iOSのアプリ開発を知らなくてもこれをみればなんとなくわかりますよね。

createClass の中を修正して、シュミレータで Command+R をすると更新されます。
ブラウザで開発しているのと同じように開発できて便利ですね。
また、自動で更新するようにも変更が可能です。

いかがだったでしょうか。
React Native を使うとアプリ開発をしたことなかった人でも入りやすいのではないでしょうか。
興味を持たれた方はぜひ試してみてください。

ギルドワークスでも新しいチャレンジができるお仕事のご相談や、新しいチャレンジをしたいエンジニアと出会えることを楽しみにしています。
お気軽にお問い合わせください。

スクリーンショット 2015-10-05 23.49.38

OS X El Capitan の新機能をみる

こんにちは、うえのです。
10月1日に OS X El Capitan がリリースされましたね。
アップル信者なので、早速アップデート(人柱)をしてみましたので、今回は新機能をみてみることにします。

先に言ってしまいますが、一番大きく変わったのはパフォーマンスです。
Yosemite からアップデートした直後に一番インパクトがあったのは軽い・早いという感覚でした。

Split View

スクリーンショット 2015-10-06 0.01.20

いままではフルスクリーンにすることはできたのですが、Split View で2つまで並べて表示することができるようになりました。

最大化?ボタンを長押しし続けるともう1つのウインドウを選択できるモードになるのですが、これが意外とわかりにくいですね。
iPhone 6s シリーズの 3D Touch も忘れがちですが慣れるまでは若干時間がかかりそうですね。

ただこの機能は要するにフルスクリーンを半分ずつできるようになったよみたいな機能なので、1つを解除するともう片方はフルスクリーンモードに戻るみたいな形なのでフルスクリーンと普通のウインドウを行き来するような人にはあまり使い勝手は良くないのではと。
個人的にはおそらく使わない気がします。。。

Mission Control

スクリーンショット 2015-10-06 0.10.20

Mission Control も結構変わっています。
ウインドウの配置位置も同じような位置に表示されたり、スワイプで他のデスクトップに遷移できたりと使い勝手が向上しています。
Yosemiteでは上部のデスクトップは常に表示された状態でしたが、El Capitanでは初期は文字だけにしてスペースを確保している感じでしょうか。

カーソル

写真は撮りにくいのでつけませんが、プロジェクターに接続したりして2画面にしたりするとよくカーソルが迷子になるのですが、カーソルを左右に揺らすとカーソルが大きくなって目立つようになりました。

これも地味に便利な機能ですね。
ただ、結構小刻みに振らないと大きくならないのでこの辺りはもう少し調整できると良さそうかなと。

新しい入力方式

ことえりにライブ変換機能が搭載されました。
どんどん入力していくと自動で変換されていきます。
しかもこの変換が意外と賢いのでこれだけでいけてしまいそうです。

個人的には候補の表示とか自動変換のタイミングがちょっと気持ち悪い感じはしていますが、Google日本語入力におさらばしてもいいかもしれません。

新しいフォント

4つの新しい日本語フォントが追加されました。
クレー、筑紫A丸ゴシック、筑紫B丸ゴシック、游明朝体+36ポかな

プレゼンテーションに個性をとありますが、使うかなはなんとも言えない感じ。。。

Spotlight

スクリーンショット 2015-10-06 0.31.09

今日の天気はみたいな形の自然な言語で結果を取得することができるようになりました。
六本木の今日の天気はとかでは出てこなかったの日本語はまだまだかな?

その他

他にもメモが強化されていたり、
全く使っていませんがメールはスワイプで削除できたり、
Safariはピンを使えるようになったりもしているみたいです。

アップデートしてみて

使えなくなるアプリとかがないか結構ヒヤヒヤしていましたが、今の所大きな問題点はありません。

唯一あったのは、開発中のサービスで Ruby の Puma というGEMを入れようとしたらエラーになりましたが、回避策がありました。

一応回避策をここにも記載しておきます。

gem install puma -v 2.13.4 — –with-opt-dir=/usr/local/opt/openssl

新しいOSが出ることによって新しいUIが出てきたりと新たな体験が増えることでいろんなチャレンジができるようになりますね。

ギルドワークスでも新しいチャレンジができるお仕事のご相談や、新しいチャレンジをしたいエンジニアと出会えることを楽しみにしています。
お気軽にお問い合わせください。

https---www.pakutaso.com-assets_c-2015-06-MIYAKO85_uchiagerareta20140726-thumb-1000xauto-17338

リモートワークなのに時間がないってどういうこと?

ギルドワークスさんとパートナーとして一緒にお仕事させていただいています、木目沢(@pilgrim_reds)と申します。

ギルドワークスさんの特徴の一つに「リモートワークが可能」というのがあり、私自身もリモートワークで普段お世話になっています。作業場所は主に自宅です。

自宅で仕事していると言うと大抵、「誘惑が多くて大変じゃない?」と聞かれますが、あまりテレビ見る習慣もなく、ゲームもしないし、漫画もあまり持っていないので誘惑に負けてというのは幸いあまりありません。

むしろ、大変なのは「時間がない」ということでしょうか?
なんていうと、「通勤もないし時間なんてたっぷりあるでしょ!」と突っ込まれそうですが、実はリモートワーク特有(?)の「時間がない」問題というのがあるのです。

今回はこの問題について、『いつも「時間がない」あなたに:欠乏の行動経済学』という本を引用しつつ紹介したいと思います。

トンネリング

どこで仕事をしても当然、仕事量は変わりません。
むしろ、通勤がない分その時間まで仕事にまわせてしまうという状況も作れてしまいます。
仕事に遅れが生じれば当然、空いた時間も使って集中して取り組む必要があります。

このような時間がない状態のとき、「トンネリング」という現象が起きると上記の本では解説されています。

「トンネリング」とは時間がないなか一つのことに集中しすぎて、他のことが見えなくなる現象のことです。
会社は仕事のみをする場なのでトンネリングが起こっても問題になりにくいですが、家でトンネリングが起きると生活に多大な影響が起きます。

家で仕事をする場合と会社と仕事をする場合の一番の違いは、「生活と仕事が隣りあわせ」なことです。

そんななかトンネリングが起きると、家事をしなくなる、食事をしなくなる、深夜まで仕事してる、家族の話を聞かなくなる、部屋に引きこもる、運動しなくなる、ものを片付けなくなる・・・などなど大変な状況になります。一日家にいるのにこんな状況なかなか厳しいと思いませんか?

ジャグリング

問題はもう一つ。

トンネリングが続くと、先送りにした仕事以外のことは積み重なったり、その場しのぎで緊急に片つけた問題が、別の新しい問題を産んだりしてさらに時間がない状態になるのです。

例を挙げると、仕事に集中してお風呂を沸かすのを忘れてしまい、深夜になってトンネルから抜け出したときにやっと気付きお風呂を沸かす。そのあとお風呂に入って寝る頃にはすでにド深夜。
結果、次の日は寝不足で、パフォーマンスも落ち、失敗続きでさらに時間がなくなっていく・・・
という具合です。

緊急の課題を次から次へとなんとかやりくりしていく様子からこのことを本書ではジャグリングと読んでいます。

解決するには

本書ではこれらの問題を解決すべくいろいろな提案をしてくれています。
今回はこのなかから2つほど紹介しましょう。

トンネルの中に入れる
健康のためにジョギングの習慣を取り入れたいけど、トンネリングが続くと他のことに押しのけられ、やらなくなる。
そこでマラソン大会に申し込む。締め切りができたことで走る必要性が生まれるのでトンネルの中に入ることになり、やらざるを得なくなる。

「何もしない」という予定を入れる
時間が欠乏すると突然割り込んできた課題に対応できない。そしてさらにトンネリングにはまっていく。。。ということを防ぐため予め「何もしない」という予定をいれておく。

などなど、他にもこの本にはリモートワークのための本ではない(行動経済学という学問の本です)のですが、役に立つ情報が多く紹介されています。

リモートワークをされているみなさんにおすすめの一冊です。

この記事を読んでギルドワークスに興味を持たれた方はお気軽に【ギルドワークスに依頼する】をご覧の上、お問合せください