當(dāng)你認(rèn)準(zhǔn)一件事的價(jià)值,,長期投入;隨著時(shí)間積累就會(huì)慢慢地產(chǎn)生質(zhì)變,。這些年,,我就是這樣做的——持續(xù)在設(shè)計(jì)與技術(shù)交叉領(lǐng)域投入精力。
我獲得了:能自由地,、按照內(nèi)心的想法,,創(chuàng)作軟件產(chǎn)品的能力。代碼能力對(duì)于我來說,,和設(shè)計(jì)一樣,,都是為了創(chuàng)造出好產(chǎn)品的一種手段而已。不知大家在平時(shí)工作中會(huì)不會(huì)有這樣的感覺:作為設(shè)計(jì)師,,與開發(fā)打交道,,難免覺得 ” 巧婦難為無米之炊 “ ;而作為程序員,,當(dāng)自己開發(fā)了某個(gè)工具之后,,為了追求更好的體驗(yàn),卻苦于不能「設(shè)計(jì)」,,很難發(fā)揮更多,。以下是設(shè)計(jì)與技術(shù)相互融合的案例 STATMUSE “數(shù)據(jù)可視化+聊天機(jī)器人+語音技術(shù)”產(chǎn)品上,通過AI 扮演籃球解說員,,為用戶講解各個(gè)球星歷年的表現(xiàn),;體驗(yàn)上,AI 聊天機(jī)器人更像是一個(gè)搜索引擎的升級(jí)版,,這種減輕聊天界面的設(shè)計(jì),,非常契合產(chǎn)品的調(diào)性。技術(shù)與設(shè)計(jì)的融合催生了新的體驗(yàn),。設(shè)計(jì)師認(rèn)真思考了技術(shù)的優(yōu)勢及特性,,利用設(shè)計(jì)手段把技術(shù)融入產(chǎn)品體驗(yàn)中。 再看一個(gè)設(shè)計(jì)工具的例子 Framer這些年,,我們在工作中使用的工具一直在演進(jìn):從Sketch ,、 Pixate,再到 Framer,。Framer 就是一款結(jié)合代碼與可視化實(shí)現(xiàn)的交互設(shè)計(jì)工具,。通過代碼,可以完全控制交互效果,,設(shè)計(jì)師不僅停留在畫圖的層面,,更多的可以關(guān)注到實(shí)現(xiàn)的真實(shí)效果。設(shè)計(jì)工具在進(jìn)化中影響了使用者融合技術(shù)與設(shè)計(jì),。如今,,技術(shù)的迭代速度非常快,。比如 web 網(wǎng)頁的 css 布局方式,就歷經(jīng)了 float ,、 flex ,、 grid 的進(jìn)化;移動(dòng)端 APP 的混合開發(fā)也經(jīng)歷了由 IONIC ,、 REACT NATIVE 的變遷,;機(jī)器學(xué)習(xí)也越來越普及,相關(guān)的深度學(xué)習(xí),、強(qiáng)化學(xué)習(xí),、遷移學(xué)習(xí)等,也越來越大眾,。技術(shù)的變遷,,也為用戶帶來了新體驗(yàn)。具體表現(xiàn)為交互方式的革新,、新的設(shè)計(jì)方法產(chǎn)生,。例如,語音識(shí)別技術(shù)的成熟,,對(duì)話聊天技術(shù)應(yīng)用的場景越來越多,從可視化的 UI 界面,,過渡到了語音的控制,。還有文本轉(zhuǎn)語音技術(shù)的成熟,使得用戶不想看文字的時(shí)候,,可以選擇傾聽,。人工智能滲透到各行各業(yè),人與機(jī)器如何協(xié)同創(chuàng)新,,產(chǎn)生了人機(jī)協(xié)同設(shè)計(jì)的新理念,,比如在香水瓶的設(shè)計(jì)上,通過簡單設(shè)定一些條件,,機(jī)器生成大量的參考,,然后設(shè)計(jì)師再進(jìn)一步深入設(shè)計(jì):
你認(rèn)為,人機(jī)關(guān)系變化是由 設(shè)計(jì),,還是技術(shù)帶來的,? 寧靜技術(shù)Calm Technology,倡導(dǎo)技術(shù)無縫地融入人類的生活,,而不是讓人類時(shí)時(shí)感到技術(shù)的存在,。通俗點(diǎn)來講,我們不會(huì)消失在電腦空間中,,而是電腦將消失在我們的生活,。通過智能手環(huán),,界面融入到我們生活當(dāng)中。我們需要做的可能只是晃動(dòng)一個(gè)手勢,,幾句語音應(yīng)答而已,。保持好奇心,以開放的心態(tài),,持續(xù)學(xué)習(xí),。我自己每天都會(huì)在《MIX+人工智能》更新人工智能交叉學(xué)科的習(xí)得。516人正在學(xué)習(xí)AI+泛設(shè)計(jì)雷軍在小米之前,做了10年程序員,。京東劉強(qiáng)東在一次講座上,,稱自己大三(1995年)的時(shí)候,給別人寫代碼,,一個(gè)晚上就能賺5萬……但是,,寫代碼是困難的嗎?Mixlab群里一位朋友,,學(xué)習(xí)Python,,在堅(jiān)持了2個(gè)月左右,最終放棄了,。他覺得代碼要學(xué)習(xí)的知識(shí)太龐大了,,不知如何入手,一旦有新問題解決不了學(xué)習(xí)進(jìn)度就卡在那里,,從而越學(xué)越覺得難,。我認(rèn)為,代碼最難的是邏輯,,尤其是復(fù)雜的邏輯,。引用一位Oracle程序員在Hacker News上吐槽自己工作的討論:“Oracle經(jīng)歷長期的產(chǎn)品線迭代,代碼異常龐大,、邏輯復(fù)雜,。每新增一個(gè)特性或者修復(fù)BUG,就需要大量的調(diào)試,,每天都小心謹(jǐn)慎的進(jìn)行著日常的工作”,。Oracle每次的版本發(fā)布都經(jīng)歷數(shù)百萬次的測試,工作量可想而知,。那么,,問題來了 學(xué)代碼應(yīng)該學(xué)什么 ? 試試回答以下問題,來掌握程序運(yùn)行的邏輯:01 如何通過指令給計(jì)算機(jī)安排任務(wù),?02 計(jì)算機(jī)如何按我們設(shè)定的條件執(zhí)行任務(wù),?03 計(jì)算機(jī)是如何執(zhí)行重復(fù)執(zhí)行任務(wù)的?04 計(jì)算機(jī)完成任務(wù)的時(shí)候如何反饋給我們,?學(xué)代碼有方法嗎,? 一般來說,初學(xué)者有2類:零基礎(chǔ),,指的是系統(tǒng)了解過編程語言的,;入門級(jí),會(huì)一門編程語言,,會(huì)寫一點(diǎn)點(diǎn)代碼,,但無法自己完成一個(gè)項(xiàng)目從0到1構(gòu)建的。01 最小項(xiàng)目實(shí)踐+系統(tǒng)地刻意練習(xí) 如果是零基礎(chǔ),,建議先學(xué)一門語言,,一步步來,適當(dāng)增加實(shí)踐項(xiàng)目的練習(xí),,比如DIY一個(gè)以圖搜圖引擎等類似的項(xiàng)目,。當(dāng)你學(xué)完這一階段的入門,不再是0基礎(chǔ)之后,,就可以嘗試了解各種語言的環(huán)境安裝,、最小可運(yùn)行代碼集,以及各種開發(fā)工具,,嘗試各種好玩,、復(fù)雜的項(xiàng)目了。主要通過看示例,,包括作者提供的示例代碼,網(wǎng)上文章提供的示例代碼等,;舉一個(gè)的以圖搜圖代碼示例 turicreat理解代碼里的每一句的含義,,真實(shí)的行為,就跟讀書一樣,,知道作者的核思想是什么,;比如下面這3句:04 關(guān)注輸入,、輸出的數(shù)據(jù)結(jié)構(gòu)輸入是字符串,,還是一個(gè)列表,還是一個(gè)字典?輸出的是什么也非常重要,。比如輸出的時(shí)候,,有None的可能,那下一段代碼對(duì)此輸出結(jié)果引用的時(shí)候,,就要注意啦,。 如果輸入_idea為"",輸出為None,,這個(gè)時(shí)候?qū)懘a的時(shí)候就要留意輸入跟輸出的各種可能,。 當(dāng)你掌握以上技巧的時(shí)候,就會(huì)發(fā)現(xiàn)沒必要從頭到尾全部一口氣把代碼全部學(xué)完,,需要的時(shí)候再快速翻閱文檔,,通過示例、輸入輸出,、理解功能這三個(gè)點(diǎn),,就可以現(xiàn)學(xué)現(xiàn)用啦。配合搜索引擎,,我們幾乎可以解決任何編程問題,。對(duì)于初學(xué)者來說,需要關(guān)注如何書寫優(yōu)雅的代碼,,主要表現(xiàn)在:適當(dāng)?shù)目s進(jìn)和空行;這里面的內(nèi)功修養(yǎng),,離不開設(shè)計(jì)模式(插入文章鏈接)和代碼重構(gòu),,還要有非常多的實(shí)踐與刻意練習(xí)。寫代碼是基本功,,鍛煉的是邏輯思維能力,,跟解決問題的能力。在不久的未來,,寫代碼也是可以機(jī)器完成的,。pix2code 等論文就提出了一個(gè)強(qiáng)大的前端代碼生成模型,解釋了如何利用 LSTM 與 CNN 將設(shè)計(jì)原型轉(zhuǎn)化為 HTML 和 CSS 網(wǎng)站,。學(xué)代碼,應(yīng)該更多地關(guān)注底層邏輯思維能力,。
|