Mindwave mobile EEG是一個一直以來我以爲Dev friendly作的最好的產品。
雖然開發起來依然不如Estimote,MYO之類的新Gadget那麼方便,帶maven帶gradle,但就憑這麼多年,當年的代碼在android 5.0上依然能夠跑,就足以欣喜啦。android
那究竟它能夠作什麼?EEG是啥我就不說了,見Wiki。Mindwave mobile提供的SDK基於基礎的alpha,beta數據,提供更有價值的注意力,冷靜度,甚至眨眼的數據。固然,alpha,beta也是能夠經過SDK獲取的原始數據。segmentfault
下面是官方應用的截圖。maven
這東西的開發很簡單,尤爲是android端。下載官方的SDK,把jar扔到你的項目裏,就能夠寫代碼啦。代碼也很簡單,拿到藍牙Adapter,設置一個處理事件的Handler,連上設備。ide
btAdapter = BluetoothAdapter.getDefaultAdapter(); if (btAdapter != null) { tgDevice = new TGDevice(btAdapter, handler); tgDevice.connect(true); }
在發生了鏈接事件之後,啓動設備以獲取各類類型的腦波數據。除了設備狀態轉變之外,其餘數據就都是業務數據了。其中也有兩類:設備自己的數據質量,數據自己。數據質量裏有一種很重要的MSG_POOR_SIGNAL,用來表示當前信號質量,這個數據主要用來描述EEG和大腦之間的接觸良好成都。測試
private final Handler handler = new Handler() { @Override public void handleMessage(Message msg) { if (msg.what == TGDevice.MSG_STATE_CHANGE) { switch (msg.arg1) { case TGDevice.STATE_CONNECTED: Log.i(TAG, "connected"); tgDevice.start(); break; ... } else { switch (msg.what) { case TGDevice.MSG_POOR_SIGNAL: signalTextView.setText(String.valueOf(100 - msg.arg1)); case TGDevice.MSG_ATTENTION: Log.v(TAG, "Attention: " + msg.arg1); ... }
前幾天聽到一個笑話:某工程師的妹子問他「你愛我有幾分?」,答曰「8.5分」,「你愛你前女朋友幾分?」,答曰「9分」。gradle
但不說情商爲什麼物,只緣分數還有小數點。不過從科學角度,咱們卻是能夠把注意力當作一種衡量標準。好比某PM問用戶「你愛咱們產品有幾分?」,這時,用戶的注意力就能夠當作一種比較「本質」的回答。網站
因此也許,用戶的大腦狀態能夠是另一種產品設計的基礎。例如,我但願用戶看到個人產品以後兩分鐘內都能保持高度注意力,那就能夠用這樣的技術來測試,甚至在產品設計階段作簡單的用戶調研。spa
好比下面的圖是我在寫程序時候的注意力分佈圖。若是採用WakaTime相似的技術記錄下我全部在IDE裏的操做,就可以分析出IDE裏每一個功能的使用對應個人注意力,從而對功能設計做出調整。.net
固然,根據每一條代碼對應的注意力,也許就能做爲代碼檢查的另一種依據。「糊塗的代碼」是個認真的說法。設計
做爲QS的支持者,我固然但願個人全部數據都能數據化並保存下來。Mindwave mobile給我提供了很大的便利,很容易的將我簡單的腦波數據保存下來。
具體的用處嘛,既然Apple watch都出了ResearchKit,就不用解釋啦~但另外一個可能的用處,也許就是我能夠「出賣」個人數據。好比A網站是個codeshool類的產品,產品想知道某些教學視頻到底作的好很差,有沒有趣味,做爲真實用戶的我就能夠根據需求用我真實的,具備嚴格時間戳的腦波數據來換取一部分好處。
我管它叫Cloudmind,目前是基於Leancloud+chartjs,能夠持續積累數據。但因爲沒啥內容外加代碼太慘,暫時就不扔出來啦。
關於這個功能我是認真的。因此,若是有哪一個產品想得到我使用時的腦波數據以用於產品設計,請聯繫我哈~
最後,來看看我眨眼的樣子:)