2月 2019|sitateru tech blog

sitateru tech blog

シタテルの技術やエンジニアの取り組みを紹介するテックブログです。

2019年2月28日木曜日

デザインレビューはじめました

こんにちは、デザイナーの藤村です。デザインチームで最近デザインレビューを始めました。とても勉強になるし、やっていてデザインそのものの面白さにさらに気付かされています。チームでTryしている内容をご紹介します。

※ここで言う「レビュー」とは、リリース判断の可否を決める機能のことではなく、デザインをブラッシュアップさせるための、批評とフィードバックそのものを指しています。

開発チームの一員としてのデザイナー

シタテルの開発チームは、デザイナー1名+エンジニア数名+関係者(企画、マーケ、営業、生産など様々)という構成です。デザイナーは特定のサービスに所属しており、これまでデザインのレビューはサービスチーム内でのみ行なっていました。シニアエンジニアが実装判断した上でチームで要件定義を行い、デザイナーが仕様の叩きを作成、フィードバックをもらいながら徐々にビジュアル面を作り込んでいくという流れが主です。

開発チームでのレビューのいいところ

複数の職種で構成されているため、さまざまな視点からの批評を集めることができます。
エンジニアは機能的な破綻がないか、条件による表示を想定できているか、堅牢性を保つことができているのか、と言った視点で批評を返してくれます。お客様と向かいあっている方からは、お客様に対して自身が機能や画面説明ができるのかという視点で、マーケティング担当は有用なデータが取れるのかという視点で、それぞれフィードバックを返してくれます。

悩ましいところ

一方で、狭義の意味での”デザイン”を批評する環境がありませんでした。機能上は問題ないのに違和感がある、なんだか野暮ったい、画面を使おうとしたとき操作に迷う瞬間がある。。ちょっとした相談はデザイナー同士でしてましたが、お互い忙しそうだと遠慮してしまったり、各々がモヤモヤしながら自分ひとりで格闘していました。

デザインチームでレビューを始めた

シタテルのデザイナーは週に1回情報共有のための定例会を行なっていました。各プロジェクトの進捗を共有することを目的にしていましたが、みんなでデザイン力を上げようということで、他サービスのデザインレビューもやってみることにしました。
意見がほしいときは、以下のテンプレートを使ってGithubにissue化します。見てほしいデザイナーにアサインをして、後はみなさんの意見を待ちます。

レビューをしてみる

Zeplinにコメントをしあう形で進めました。1デザインに対して数十に及ぶ場合もありました。私自身もいざコメントをしようとすると、どこに違和感や改善点を見出したのか、なかなか言葉にすることができず思った以上に時間がかかりました。

どうしても、「こうして欲しい」という指示型のコメントになってしまうのです。「ここでは目的と違う認識をしてしまうので再考が必要だと感じました」のように、根本的な問題点を指摘するようにするには、批評者自身もそこまで潜っていかないと見つけることができないんだなと実感しました。デザインをどう見るか、焦点がどんどん精緻化していくので、とても面白く勉強になります。

3週間やってみて

デザイナー定例でみんなで振り返って以下のような感想があがりました。やってみた感覚と共に、もっとよくするためのアイディアも色々出てきました。当たり前のことなんですが、実際にやってみるって本当に大切ですね。
これからもレビューを重ねていって、私たち自身のデザインを見る目を育てながら、チームで成長できる方法をTryしていきたいと思います!

, , , , , , , , ,

2019年2月27日水曜日

シタテルウェブサイトの多言語化

こんにちは!
シタテル株式会社CTOの和泉です。

シタテルのウェブページはWordpressで運用されています。

https://sitateru.com/

なんと!今後の世界展開(あるのか!?)を目指して多言語化を行いました!!

images/image-1.png

多言語化するにあたってプラグインなど色々と調査した結果Polylangというプラグインがとても使いやすかったので紹介します。

Polylang

どんなプラグイン?

Wordpressウェブサイトの多言語化をサポートしてくれるプラグインです。

機能としては

  • ポストやページ、メディア、カテゴリ、タグ、メニュー、ウィジェットなどの翻訳
  • urlによる言語の切り替え
  • 言語切り替え機能がウィジェットやナビゲーションメニュー
  • プログラムによる言語判定
    などなど。

自動翻訳を組み込むこともできるようになっていますが、今回はすべて手動で翻訳しました。

軽く使い方

インストールはプラグインメニューから新規追加で行なえます。

images/image-3.png

が、今回はProバージョンの機能を使いたかったので、Polylangのウェブサイトからライセンスを購入し、Proバージョンのバイナリを入手して、圧縮ファイルをアップロードする形でインストールしました。

Proバージョンだと言語間でURL末尾が同じものにできるなどの追加機能があります。
ウェブサイトで使用しているJavascriptのライブラリの都合でこれが必須だったのでライセンス購入しました。

プラグインをアクティベートすると、メニューに「languages」が追加されます。

images/image-2.png

詳しい設定の仕方はこちらを参考にさせていただきました。わかりやすい!

多言語対応化WordPressプラグインならPolylangが秀逸!その特徴と使い方

Custom post type

独自の投稿テンプレートを使えるようにする「Custom post type UI」というプラグインを使っているのですが、Polylangはこれにも対応してくれています。素晴らしい!

images/image-4.png

PolylangのAPI

ページなどWordpressの機能で作られている部分は設定画面から多言語化できるのですが、シタテルのサイトではヘッダーなどテンプレートにPHPでゴリッと記載している部分もありました。その辺りはPolylangのAPIを使って言語による切り替えなどを実装することで実現できます。

PolylangのAPI

こういうのがしっかり揃っているところも、このプラグインの素晴らしいところですね。

まとめ

ということで、いくつかの候補の中からこれを選んで正解だった気がします。

今回はサービスページの英語対応をしましたが、ユーザー登録やログイン後はまだ日本語のみですので、引き続き多言語化をすすめていきます!世界中で衣服生産のプラットフォームとして、皆さんに価値が提供できるようにがんばります。ご期待ください!

, , ,

2019年2月21日木曜日

Alexaスキルを作ろう - 第2回

こんにちは。シタテルでエンジニアをしている熊谷です。

SPECというサービスのバックエンド開発などを行っています。

今回は前回の続きで、Alexaスキルの作成について書いていきます。


今回は、前回作成したスキルから呼び出されるLambdaを作成します。

まずAWSコンソールにログインして、Lambda - 関数の作成に行きます。

そこから「一から作成」、「設計図」などが選べます。

「設計図」でalexaを検索すると、
それぞれのスキルタイプに合わせたsdkが用意されています。
使用したいタイプのsdkがある場合は、それを使用しましょう。

今回はとても単純なスキルを作成したので、「一から作成」を選択します。
いろいろな言語が選べますが、今回はNode.jsで作成しました。

関数を作成すると、シンプルなレスポンスを返す関数が書かれているので、その中身を変更します。

今回作成したスキルは、「言葉を逆さまにする」です。
シンプル...!

コードを記述します。

exports.handler = async (event) => {
  const word = event.request.intent.slots.word.value;
  const response = {
    "version": "1.0",
    "response": {
      "outputSpeech": {
        "type": "PlainText",
        "text": word.split('').reverse().join('')
      },
      "shouldEndSession": false
    },
    "sessionAttributes": {}
  };
  return response;
};

こんな感じになりました。

responseの形式について、詳しくは応答の形式を参考にしてください。
「intent.slots.word」の部分の「word」は前回設定した「スロット名」に対応します。

次にこのLambdaを呼び出すトリガーを設定します。

「トリガーの追加」から、「Alexa Skills Kit」を選択して、スキルID(alexa developer consoleを参照)を設定します。

alexa developer consoleでテストしてみましょう。

前回、スキルの呼び出し名とサンプル発話を設定しました。

テスト画面で、

「<スキルの呼び出し名>を開いて、<サンプル発話>おはよう」と入力すると‥


ちゃんと逆さまにして返してくれましたね!

シンプルなスキルですが動くと面白いと思います。


今回はここまでにします。

次回は実機でのテストとスキルの公開について書ければと思います。

ありがとうございました!

, , , , , ,

2019年2月18日月曜日

Google Cloud Functionsで画像を自動リサイズする

Google Cloud Functions

こんにちは、DevOpsチームの甲斐です。
今回は、Google Cloud Functions(以下、GCF)で画像を自動リサイズする手順を紹介したいと思います。

GCFとはAWSでいうところのLambdaです。いわゆる、サーバーレスってやつですね。
最近はGCPを触ることが多いのですが、先日GCP上のWordPressのアップロード画像をリサイズするために、
GCFを使って自動的に画像をリサイズするようにしました。
AWSのLambdaも触ったことありますが、GCFのほうが手間が軽い印象を持ちました。
まだGCFをお使いになったことがない方は、ぜひご参考にしていただければと思います。

前準備

GCFを使う上で必要な環境は以下のとおりです。

  • GCPプロジェクトの作成
  • 課金の有効化
  • Cloud Functions APIの有効化
  • Cloud SDKのインストール

詳細は、以下に書かれていますので、こちらをご参照ください。
https://cloud.google.com/functions/docs/quickstart-console?hl=ja

今回の仕様

今回の仕様は以下のとおりです。

  • Google Cloud Storage(以下、GCS)の当該バケットのuploadsディレクトリにアップロードされた画像を自動的にリサイズ
  • リサイズする画像フォーマットはimage/jpegのみ
  • オリジナル画像は".orig"拡張子をつけてバックアップ
  • リサイズされた画像はオリジナルの画像と同じ名前で上書き

実装

それでは、早速実装の手順を紹介していきたいと思います。
今回はNode.js v8で書きました。それ以外にもNode.js v6, Python(beta), Go(beta)が使えます。

1. 作業ディレクトリの作成

mkdir -p gcf/convert_image
cd !$

2. npm init

npm init

3. 必要なパッケージをインストール

今回は、@google-cloud/storage(GCS関連パッケージ)とgm(画像編集パッケージ)をインストールします。

npm install @google-cloud/storage gm --save

4. コーディング

コードは以下のとおりです。
最初に少しハマったところとしては、リサイズした画像でオリジナル画像を上書きすると
再びイベントが発火されるので無限ループに陥ってしまったことです。
対策としてメタデータにコンバート済みである旨を記述し、処理の最初にメタデータをチェックすることで判断するようにしました。

'use strict';

const gm = require('gm').subClass({imageMagick: true});
const fs = require('fs');
const path = require('path');
const {Storage} = require('@google-cloud/storage');
const storage = new Storage();

exports.convertImage = data => {
  if (data.resourceState === 'not_exists') {
    console.log(`Skip because not_exists`);
    return;
  } else if (!data.name) {
    console.log(`Skip because no name`);
    return;
  } else if (!data.name.startsWith('uploads')) {
    console.log(`Skip because not uploads: ${data.name}`);
    return;
  } else if (data.name.endsWith('.orig')) {
    console.log(`Skip because original image: ${data.name}`);
    return;
  } else if (data.contentType !== 'image/jpeg') {
    console.log(`Skip because not image/jpeg: ${data.contentType}`);
    return;
  }

  const file = storage.bucket(data.bucket).file(data.name);
  console.log(`Uploaded image : ${file.name}`);

  const tempLocalPath = `/tmp/${path.parse(file.name).base}`;
  return file
    .getMetadata()
    .then(data => {
      console.log('[Check already converted or not]');
      const metadata = data[0];
      if (metadata.metadata && metadata.metadata.isConverted) {
        console.log(`${file.name} is already converted.`);
        Promise.reject();
      } else {
        console.log(`${file.name} is not yet converted.`);
        Promise.resolve();
      }
    })
    .catch(err => {return;})
    .then(() => {
      console.log('[Download file]');
      return file
        .download({destination: tempLocalPath})
        .catch(err => {
          console.error('Failed to download file.', err);
          return Promise.reject(err);
        });
    })
    .then(() => {
      console.log('[Backup a image]');
      return file.copy(`${file.name}.orig`);
    })
    .then(() => {
      console.log('[Convert a image]');
      return new Promise((resolve, reject) => {
        gm(tempLocalPath)
          .samplingFactor(2, 2)
          .strip()
          .quality(85)
          .interlace('Line')
          .colorspace('sRGB')
          .write(tempLocalPath, (err, stdout) => {
            if (err) {
              console.error('Failed to convert image.', err);
              reject(err);
            } else {
              resolve(stdout);
            }
          });
      });
    })
    .then(() => {
      console.log('[Upload a converted image]');
      const options = {
        destination: file,
        resumable: false,
        metadata: {
          metadata: {
            isConverted: true
          }
        }
      };
      return file.bucket
        .upload(tempLocalPath, options)
        .catch(err => {
          console.error('Failed to upload a converted image.', err);
          return Promise.reject(err);
        });
    })
    .then(() => {
      console.log('[Remove a temporary file]');
      return new Promise((resolve, reject) => {
        fs.unlink(tempLocalPath, err => {
          if (err) {
            reject(err);
          } else {
            resolve();
          }
        });
      });
    });
};

5. デプロイ

デプロイは以下のようにします。
今回の場合、runtimeはnodejs8になります。また、メモリやタイムアウトもオプションで設定できます。

gcloud functions deploy <name> --entry-point <entry-point> --runtime <runtime> --trigger-bucket <trigger-bucket> --region <region> [--memory <memory> --timeout <timeout>]

デプロイが完了したら、以下のコマンドで正常に登録されたことを確認します。

gcloud functions list

6. テスト

サンプル画像を当該バケットにアップロードし、正常にリサイズされることを確認します。

% gsutil cp sample.jpg gs://<bucket>/uploads/
% gsutil ls -l "gs://<bucket>/uploads/sample.jpg*"
   2601078  2019-02-14T02:37:45Z  gs://<bucket>/uploads/sample.jpg
  14583723  2019-02-14T02:37:43Z  gs://<bucket>/uploads/sample.jpg.orig
TOTAL: 2 objects, 17184801 bytes (16.39 MiB)

まとめ

簡単ですが、GCFで画像をリサイズする実装手順を紹介しました。
今回はGCSをトリガーにしていましたが、それ以外にもGoogle Cloud Pub/SubやHTTPリクエストをトリガーにすることも出来ます。
GCFの詳細については本家ドキュメントをご参照ください。

https://cloud.google.com/functions/docs/?hl=en

また、以下のGitリポジトリにGCFのサンプルプログラムがありますので参考にしてみてください。

https://github.com/GoogleCloudPlatform/nodejs-docs-samples/tree/master/functions

, , , , , , ,

2019年2月12日火曜日

半分解展研究所レポート(2019/01/18)















こんにちは、エンジニアの鶴巻です。
1月18-19日に開催された半分解展研究所のレポートを書きたいと思います。

半分解展研究所とは?

衣服標本家の長谷川彰良さんの展示会です。

100年〜200年前の衣服を半分・分解したものが「標本」として展示されています。

全ての展示品は、分解したパーツからパターンを抜き取って
縫製された試着サンプルが用意されています。

そのため、200年前の衣服を実際に着て体験することができます。

ゲストトークショーや、長谷川さんによるZOZOオーダーメイドスーツのデモもあり、情報量が盛りだくさんのイベントでした。

展示品

展示品のひとつひとつに、解説とその服にまつわる長谷川さんのエピソードが丁寧に綴られていました。洋服作りについて、ど素人な私ですが、弊社の衣服づくりのコンシェルジュである宇藤さんが一緒だったので、いろいろと教えてもらいながら展示品を楽しむことができました。

ツナギになるストームコート

こちらはストームコートの展示の説明文です。暗い写真で申し訳ないです。
説明文に掲載されている写真がストームコートで、第2次世界大戦下のイギリス軍特報バイク部隊のユニフォームとして採用されたコートです。
写真では膝丈のツナギに見えますが、下の写真がストームコートの試着サンプルです。

このロングコートが、ボタンのはめ方でツナギになり、快適にバイクを跨ぐことができるコートに変形するようです。機能性の良さにびっくりしました。

ストームコートについての長谷川さんのブログ記事はこちら

背筋が自然と伸びるフランス革命の市民の服

フランス革命を起こした市民たちの服「カルマニョール」を試着してみました。
着用前は、腕が後ろの方についていて、背中が窮屈そう、という印象。
実際に試着すると、かなりの猫背の私が自然と背中がシャキッとなりました。

とても感動したので、この日に私が着ていたコートとの比較写真を載せておきます。

わざとらしく見えるかもしれませんが、どちらも自然な姿勢です。

カルマニョールを着用した左の写真は顎が上を向いており、背筋が伸びた姿勢。
それに対し、自分のコートを着用している右の写真は顎が下を向いて、猫背に。

着用した服によって、背筋の伸ばし方が自然に変わるというのは、目からウロコな体験でした。

デモ:ZOZOオーダースーツから視る「着心地と運動量」

ZOZOオーダースーツをターゲットに、着心地と運動量を着眼点とした長谷川さんの解説とデモがありました。noteにも詳しく書かれています。

「わきの下がピタリとはまっている」ことは、腕を動かす時の着心地の良さが劇的に違うことを長谷川さんはnoteでも今回のイベントでも強く語っています。「靴紐を結ぶ動作」のデモがありましたが、「靴紐を結ぶ動作」が服に高い負荷をかけることを初めて意識しました。また、「わきの下がはまる」服として、100年前のブルックスブラザーズのモーニングのデモもありました。100年前でも人間の体は同じなので、「着心地の良さ」の原理は普遍的であることを知りました。

「わきの下がはまる」を実現するためには正確な採寸と緻密なパターン設計が必要なのだそうです。ZOZOオーダースーツは、オーダーメイドならではのポイントである「わきの下がはまる」ジャケットはつくれるのでしょうか。ぜひnoteを読んでみてください。

ZOZOSUITによって誰もが自分で「正確な採寸」ができ、それにピタリと合わせた衣服の生産ラインが確立すれば、オーダーメイドと量産というアンビバレントな衣服の製造が両立し革命的だ、とワクワクしました。(長谷川さんの展示品の説明文より、欅坂46好きが垣間見えた気がしたので、欅坂46の楽曲である「アンビバレント」という表現を使ってみました)

トークショー:「 技術職が伝えるのは 」

縫製、パタンナー、デザイナーのそれぞれのプロの技術を持つ3人の方のトークショーもありました。テーマの通り、専門性に特化した「情報発信」をしていることが登壇者の共通点です。

「なぜ発信するのか」を切り口に、モデレーターの長谷川さんがどんどん深掘りかつ直球の質問を投げかけます。登壇者の方がアドリブで答えていく緊張感とゆるさの混じったトークショーでした。

登壇者についてはこちら

「なぜまっすぐに縫う必要があるのか」「パタンナーのこだわりを知ってほしい」「技術は全てツールと考えている」の3つの言葉が特に印象に残っているので、それについて触れたいと思います。

なぜまっすぐに縫う必要があるのか

これは、縫製のプロである風間さんの「プロの定義は、まっすぐに縫うこと」という言葉への問いです。これに対して「まっすぐに縫うということは、パターン通りであるということ」というパタンナーの萩山さんの回答が印象に残っています。

パタンナーはデザイナーが意図したものを再現するためにパターンを作る。縫製者はパタンナーの意図を再現するためにまっすぐに縫う。デザイナーが目指すものを作り出すためには、パタンナーさんと縫製者の方のプロとしての技術が必要だということを改めて実感しました。

パタンナーのこだわり

「パタンナーのこだわりを買う人にも知って欲しい」

パタンナーの萩山さんは、あまり誰も発信してこなかった「パタンナーにしかわからないこと」をnoteで発信しています。パタンナーの方のこだわりは1mm以下の世界のこともあるそう。ただ、買う人はなかなかそこに気づけない。

造り手のこだわりを知ることで価格の設定の説得力にもつながる、ともおっしゃっていました。「服の見どころ・腕の見せどころ」と題して、ファッション初心者にも分かりすい解説記事をnoteに書かれています。 ファッション無知な私にとって、これから服を納得して購入するために大変ありがたい記事ばかりです。(まだ全部は読めていないです)

技術は全てツールと考えている

企画デザイナー・プランナーのうにくまさんは、「時代に合わせて持っている技術をアップデートするにはどうしたらいいか分からない」と困っているアパレル業界や工場向けに情報を発信しています。

うにくまさんはデザイン、パターン、マーケティングなど様々な方面に知見を持っている方です。「それらの技術は全てツールと考えている」という言葉が印象的でした。

おそらく縫製工場さんなどが持っている技術力も「洋服を作る」ためのツールの1つなのだと思います。シタテルが世の中に提供しようとしているのも服作りのツールで、そして自分自身の職であるエンジニアもIT技術というツールを使う仕事です。

自分はIT技術を使うことが無意識に目的になってしまうことが多く、「技術は全てツール」はハッとさせられる言葉でした。手段が目的になってしまいやすい点は、IT業界でも衣服業界でも「技術者」に共通し、それが自然と下請け体質に繋がってしまうのかもしれないと勝手に思いをめぐらせました。

まとめ

おそらく、アパレル業界の中でもマニアックな展示であり、衣服におけるそもそもの知識のない私にとって、半分解展研究所はとてつもなく情報量の多いイベントでした。私がつかみ切れたのはほんの一部分だと思いますが、知らなかったことや普段意識していなかったことに気づくことができ、とても楽しかったです。弊社の衣服づくりのプロの宇藤さんに解説してもらえたことも大きかったです。「地の目」や「トワル」など教えていただいて初めて知る言葉でした。

展示自体がリバースエンジニアリングであり、衣服づくりの「技術」に主にスポットが当たっていたので、専門的なことは分からずも、ITエンジニアを重ねて共感する部分もありました。ただ、ITの技術はハードウェアもソフトウェアもどんどん進化していきますが、洋服がソフトウェアで人間がハードウェアだとすると、人間の体は200年前と変わらない。好まれる洋服のシルエットは時代とともに変わっても、「動いた時の着心地の良さ」という普遍的な技術を、昔の服から知ることができることに面白さを感じました。

今後は衣服製作やアパレル業界の知識を増やしつつ、また長谷川さんのイベントが開催されたら足を運びたいなと思っています。
, ,

2019年2月11日月曜日

セミナーってこういう形もアリなのかと気づいた話


こんにちは!
シタテル株式会社エンジニアのいしづかです。

これまで、ぼくは社内外いろいろなセミナーに参加してきました。

新卒で勤めていた会社では出社初日からビジネスマナー研修がありましたし、本業に関わるプログラミング言語やフレームワークなどの技術的なものは今でも機会があれば参加しますし、はたまた「女性部下との接し方」みたいなやつも参加したことがありますし、そういえば速読のセミナーなんかにも行ったことがあります(身についてはいないけど・・・)。

多かれ少なかれ、ご経験があることだと思います。


これらは基本的に講師が登壇して内容を解説し、ワークを通じて体験するといった流れでセミナーが進行していきました。


もちろんコレ自体が悪いというわけではありません。
しかし、悩みとして一般論としては理解できたけれど、そこから具体に落とせず、結局セミナー前後であまり変化がないというものがありました。


それはセミナーに望むぼく自身の姿勢に大いに問題があるのは承知の上です。目的意識を持って参加してないからだ、と。
しかしながら、なかなかそこから抜け出しきれない状態にありました。


そういうご経験、ありません?(同意を求めてみる)


先日「フィードバック法」に関するセミナーを受けたのですが、その内容はもちろんですが、セミナーのやり方自体がぼくの中でかなり新鮮で、いい気づきがありました。

今回はぼくの気付きについてレポートしたいと思います。

【講師=参加者全員】伝え合う形式のセミナー

ぼくが受けたのは「効果的なフィードバック」という名目のセミナーでした。オンライン開催で、参加者は講師含めて15名です。

資料は事前に配布されており、参加者は事前に目を通しておくことになっていました。


「フィードバック」というのは自分が見知ったことについて感じたことや考えたことを相手に伝えることです。
そこにはIメッセージだのYouメッセージだのという様々なテクニックがあるのですが、今回は内容については割愛します。


このセミナーでは1名の講師がいて全体を進行していたのですが、全体を通して講師の方がしゃべっている時間はほとんど無かったというのが最大の特徴だったように思います。


具体的なシチュエーションを設定して参加者同士でワークをすることはありますが、それについて「自分はどのように感じたか」や「自分だったらどうするか」といったことをシェアし合うという形で進んでいきました。


ぼくにとってこのやり方で進んでいくセミナーはとても新鮮でした。
今まで参加したセミナーでは「なんでも当てはまる一般論」を取り扱うことが多かったですが、今回のフィードバックセミナーではすごく個別具体的なシチュエーションに対して意見を出し合うという形でした。


その中でも同じシチュエーションについて話しているのに人によって感じ方や対策が異なっているのが見えるというのがとても印象的だったのを覚えています。

「過去このような経験があったので、自分としてはこの点を重視しています」といったお話を各参加者がなさるのですが、ぼく自身が経験したことのないことを具体的に聞けるというはとてもリアリティがあって、良い追体験の機会になりました。

シェア型セミナーがおもしろいなと思った点

今回のセミナーは実際にやってみて自分たちがどのように感じたのかといった生々しい部分がしっかり活用できている点がとても良かったと感じました。


一般論的な知識については、資料を読めば大体のところは理解できます。
ぼくもセミナーでしゃべる側になることもあるのですごく反省しているのですが、書いてあることをそれらしく読むだけでセミナーやった(受けた)気になってしまうという罠にハマり続けていた部分があります。


大事なのは具体的な気づきや発見を自分の中に発生させて、それを自分で認識できたのか、という点のハズです。

今回のように、とあるシチュエーションについて自分はどう感じてどう行動しようと思うのかを考え発表しつつ他の人の話も聞くことで、単なる一般論だった知識が「経験」まで昇華されていくプロセスを体験することができたように思いました。


このやり方の一番の特徴は参加者によって得られるものが変わるという点でしょうか。
これまでの経歴によって1つのケースを見たときの感じ方も当然変わってきます。そうするとセミナー中にシェアされることも変わります。


これはメリットでもありデメリットでもありますが、現場の生の声が聞けるというのはかけがえのないものだと思うので、個人的にはそこそこ肯定派です。

自分の困りごとについて様々な意見がもらえたというのは、通常のセミナーではあまりないことだったので、とても有用でした。

まとめ

セミナーの形式にはいろいろなものがありますが、シェア会形式というのもなんかオトナな勉強の仕方みたいで、ぼくはいいなぁ〜と思いました。


特に社内セミナーとかだと、主催する人が一番やりたいと思ってる人だったりするので、一方的にしゃべって終わりってケースも少なくはない気がします。

シェア会形式だと、講師の人は進行役に徹するので、参加者が主役となってみんなで作り上げる会みたいな感じにしやすいです。


組織づくりやコミュニケーションなど、明確な答えが存在しないような話について扱うときはシェア会形式を取ってみるのもおもしろいと思います。
, , ,

2019年2月1日金曜日

衣服素人でもsitateruとMakuakeで服が作れた [仕組み編]

こんにちは、エンジニアの工です。
私が、sitateruとMakuakeを使って服を作ってみたことについてシリーズで書いていこうと思います。
プリント屋さんでTシャツを作ったことはありますが、完全オリジナルの服を作るのは初めてなので、ドキドキしました。

私が実施したプロジェクトはこちらです。













sitateru × Makuakeの連携

ご存知の方もいるかと思いますが、sitateruは、クラウドファンディングサービスMakuakeと連携して衣服生産のサポートを行なっています。
プレスリリース

仕組み

Makuakeで資金調達、sitateruで生産を行う仕組みです。
一例ですが、大まかなフローはこのようになっています。

  1. 「sitateru」を通してサンプルを生産
  2.  サンプルを撮影し、「Makuake」でクラウドファンディングを実行
  3. 支援者へのリターンとして「sitateru」で商品を量産















クラウドファンディングで資金を集めて、何かしらのサービスを使って生産するというのは、個人でそれぞれやりとりすれば実現できますが、
明示的に連携することで、それぞれのサービスがシームレスにつながって、実行者の負担を減らしてよりプロジェクトをスムーズに進められるようになっています。
例えば、 sitateruへの量産分のお支払いはクラウドファンディング支援金入金後での対応が相談できたりします。

sitateru×Makuakeで素人でも衣服生産を実現できる

ブランドを立ち上げたい、いいアイデアがあるけど..となっても
個人がオリジナルの服を作るのは、
どこから何をやればいいの..?😑
需要あるの...?😂
資金足りないし、採算とれるの...?😅
とか不安要素がたくさんです...
私もずっと服を作りたいという思いはありましたが実行できていませんでした。
この不安をMakuake×sitateruの仕組みで解決し、実際にイマジネーションを形にして服を作ることができました。

実行した流れ

私が具合的に実行した流れはこんな感じです。
  1. 企画する
  2. sitateruに相談する
  3. sitateruでサンプルを作る
  4. Makuakeに正式申し込みをする
  5. Makuakeにコンテンツを作る
  6. ファンディングページを公開する
  7. クラウドファンディングのための施策を行う
  8. ファンディング期間終了
  9. sitateruでプロダクトを量産する
  10. プロダクトを支援者に発送する

まとめ

sitateru×Makuakeで衣服素人でもイマジネーションを形にできる!

今回は仕組みについて、説明していきました!
次回から上に記載した流れを細かく書いていこうと思います!
お楽しみに👯


, , , ,