公主的腿间舌奴们np肉_国产在热线精品视频99公交_公主车上荫蒂添的好舒服_公侵犯人妻中文字慕一区二区_公么大龟弄得我好舒服秀_公交车+多人+高cH文章推荐_日本熟妇另类视频在线播放

首頁(yè)

從這 3 個(gè)角度,找到提高用戶體驗(yàn)的訣竅

資深UI設(shè)計(jì)者

用戶體驗(yàn)是用戶在使用產(chǎn)品或者服務(wù)中的所有的主觀感受。因此我們?cè)O(shè)計(jì)的過(guò)程中要以用戶為中心進(jìn)行設(shè)計(jì),不能單單為了設(shè)計(jì)一個(gè)產(chǎn)品而設(shè)計(jì),只關(guān)注產(chǎn)品設(shè)計(jì)本身的功能性。

在生活中好的用戶體驗(yàn)設(shè)計(jì)的產(chǎn)品讓人使用舒適,而用戶體驗(yàn)不好的設(shè)計(jì)往往讓人很糟糕。

用戶體驗(yàn)比較好的:比如我們坐地鐵的過(guò)程中很準(zhǔn)時(shí),這就是好的用戶體驗(yàn);在吃海底撈時(shí),看到好吃的西瓜,他們會(huì)給你打包,這就是好的用戶體驗(yàn)。

用戶體驗(yàn)比較不好的設(shè)計(jì):比如在生活中有些插座設(shè)計(jì),一個(gè)兩孔一個(gè)三孔,只能一次插一個(gè),很氣人有沒(méi)有,難道上下錯(cuò)位和間距拉大有這么難嗎?再比如蚊香的設(shè)計(jì),很容易斷,每到夏天不斷幾個(gè),都不好意思!

提升用戶體驗(yàn)的方向

在產(chǎn)品設(shè)計(jì)中是否滿足用戶需求我們可以分為 3 個(gè)點(diǎn)來(lái)進(jìn)行分析,主要是有用性;易用性;滿意度。

1. 有用性

有用性就是產(chǎn)品有用的設(shè)計(jì)功能,也是產(chǎn)品基礎(chǔ)的設(shè)計(jì)原則。

對(duì)于有用性而言,我們?cè)谶@個(gè)過(guò)程可以主要在三個(gè)方向進(jìn)行把控,就是:基本需求;期望需求;興奮需求。

基本型需求

基本型需求是用戶必需需求,用戶在產(chǎn)品中認(rèn)為這是必需的功能,(這些基本需求是用戶認(rèn)為必備的,有了用戶覺(jué)得是應(yīng)該的,如果沒(méi)有這些需求,那么用戶在使用產(chǎn)品過(guò)程中間大部分會(huì)直接放棄,選擇其他家產(chǎn)品)。

比如淘寶產(chǎn)品中的訂單和商品功能就是基本型需求;微信中的聊天和通訊錄就是基本型需求;QQ 音樂(lè)中的播放頁(yè)、播放菜單就是基本需求。

期望型需求

基本型需求是用戶意愿型需求,用戶自己也不知道,但是期望獲得的功能。(這類需求就沒(méi)有基本需求那樣必備,是產(chǎn)品中期望需求體驗(yàn)越多越好,用戶越滿意,反之用戶滿意度也會(huì)下降)。

這類需求是期望型需求,也是我們產(chǎn)品競(jìng)爭(zhēng)力所在,因此往往人們?cè)谡務(wù)撃膫€(gè)產(chǎn)品好不好,通常是期望需求和興奮型需求。比如淘寶產(chǎn)品中能買到便宜產(chǎn)品,而且符合詳情頁(yè)中描述;比如微信產(chǎn)品中聊天語(yǔ)音/微信/視頻,聊天更加方便;比如 qq 音樂(lè)中的曲目和歌單數(shù)量增加,用戶就會(huì)很滿意,這也是期望需求。

興奮型需求

興奮型需求是用戶非常期望的需求。(這類需求滿意度高,有這些興奮型需求時(shí)即使不太完善,用戶也會(huì)滿意,做得非常好就會(huì)讓用戶興奮;沒(méi)有這些需求用戶也不會(huì)表現(xiàn)得不滿意)。

比如淘寶產(chǎn)品能夠更多滿足用戶多樣化的生活,各種生活服務(wù)提供給用戶;商品評(píng)價(jià)頁(yè)用戶互動(dòng),方便用戶可以熟悉產(chǎn)品好壞;比如微信產(chǎn)品中暗黑模式,滿意希望黑暗模式體驗(yàn)的用戶需求;比如 qq 音樂(lè)中單曲熱評(píng),讓我們對(duì)歌曲背后的故事,歌友的心路有了了解互動(dòng)。

此外興奮性需求在產(chǎn)品中還有一些重要的點(diǎn),比如微動(dòng)效、情感化設(shè)計(jì)等等這些都可以讓產(chǎn)品提升很大的用戶體驗(yàn),和宣傳力度,因?yàn)橛脩粼谡務(wù)摦a(chǎn)品好壞時(shí)候比較多的是說(shuō)產(chǎn)品的興奮型需求。

需求分析模型

需求分析工具 KANO 模型,主要是幫助我們直觀的了解產(chǎn)品不用類型需求實(shí)現(xiàn)程度和用戶滿意度的對(duì)比,我們了解這些需求的時(shí)候,可以讓我們更好的看到這些功能點(diǎn)有哪些影響力。

2. 易用性

易用性就是產(chǎn)品好不好用,容易使用嗎。同時(shí)我覺(jué)得在有用性上產(chǎn)品經(jīng)理需要考慮得比較多一點(diǎn),而易用性上就是我們 UI、UE 需要重點(diǎn)負(fù)責(zé)和掌握的東西。

對(duì)于易用性而言,我們可以主要在三個(gè)方向進(jìn)行把控,就是:上手快 ;操作快;負(fù)擔(dān)少。

上手快

上手快就是用戶使用產(chǎn)品容易上手,沒(méi)有啥學(xué)習(xí)成本。簡(jiǎn)單的意思就是讓用戶不怎么動(dòng)腦去想就知道下一步我要做什么,用戶操作滿足自己的心智模型。

心智模式是指深植我們心中關(guān)于我們自己、別人、組織及周圍世界每個(gè)層面的假設(shè)、形象和故事。并深受習(xí)慣思維、定勢(shì)思維、已有知識(shí)的局限。簡(jiǎn)單理解就是在使用產(chǎn)品中滿足我們對(duì)產(chǎn)品的認(rèn)知思維。當(dāng)然文中介紹的只是心智模型的很一小部分,主要是想讓大家多去了解心智模型,更好地在以后的產(chǎn)品設(shè)計(jì)中運(yùn)用它們。

比如淘寶的下單彈窗、微信的紅包、QQ 音樂(lè)的音樂(lè)播放,都是用戶容易上手,即使小白用戶在使用時(shí),根據(jù)它們簡(jiǎn)單的提示就可以操作,沒(méi)有太多復(fù)雜選項(xiàng),一目了然。

操作便捷

操作便捷就是用戶在使用產(chǎn)品中操作效率高,沒(méi)有太多干擾項(xiàng)目。(這類設(shè)計(jì)一般就是操作方便,盡可能地減少干擾項(xiàng)目,增加快捷入口等)。

比如淘寶產(chǎn)品中的物流信息,沒(méi)有太多干擾直接出現(xiàn)在訂單的頭部位置,提高用戶查看商品物流信息的操作效率,提升了用戶體驗(yàn)。比如微信聊天中的發(fā)送圖片功能,直接顯示最近圖片,快捷發(fā)送,提高用戶發(fā)送圖片的操作效率。比如 QQ 音樂(lè)的播放直接在首頁(yè)出現(xiàn),方便用戶選歌切換,操作效率高。

負(fù)擔(dān)少

負(fù)擔(dān)少通常是減少記憶負(fù)擔(dān),不讓用戶累著,為用戶分憂。

比如淘寶紅包展示就是在我的頁(yè)面里面直接顯示;比如微信錢包余額直接在錢包按鈕下方顯示,不用進(jìn)入三級(jí)頁(yè)面;比如 qq 音樂(lè)自建歌單顯示歌單數(shù)量,減少用戶記憶負(fù)擔(dān)。

3. 滿意度

滿意度簡(jiǎn)單理解就是用戶需求被滿足后的愉悅感。它是相對(duì)的概念,就是用戶需求和產(chǎn)品完成度之間的衡量。

對(duì)于滿意度而言,在產(chǎn)品設(shè)計(jì)上有很多方面,今天我們簡(jiǎn)單講一下兩個(gè)方向的把控:視覺(jué)感官的刺激;獎(jiǎng)勵(lì)。

視覺(jué)感官刺激

視覺(jué)感官刺激主要是超乎用戶想象的好看的視覺(jué)。而在 UI 設(shè)計(jì)中主要體現(xiàn)在動(dòng)效設(shè)計(jì)、插畫等等。

比如淘寶產(chǎn)品中的圖標(biāo)動(dòng)效,趣味設(shè)計(jì),提升用戶對(duì)產(chǎn)品的情感交流。比如微信聊天中的表情包功能,簡(jiǎn)單的動(dòng)作表達(dá)用戶的心理,好看又好玩。比如 QQ 音樂(lè)的加載像音符一樣有韻律地跳動(dòng)著,給用戶帶來(lái)不一樣的審美體驗(yàn)。

獎(jiǎng)勵(lì)

獎(jiǎng)勵(lì)是指用戶在完成一些操作時(shí)給予獎(jiǎng)勵(lì)的設(shè)計(jì)。超出用戶預(yù)期,帶來(lái)愉悅。

比如淘寶用戶每次下單/參加活動(dòng)獲得淘氣值,滿 1000 可以購(gòu)買 88 會(huì)員,原件 888。比如 QQ 音樂(lè)的活動(dòng)中心,用戶每日簽到累計(jì)可以獲得會(huì)員體驗(yàn)獎(jiǎng)勵(lì),更優(yōu)質(zhì)內(nèi)容的聲音享受激勵(lì)。

總結(jié)

用戶體驗(yàn)設(shè)計(jì)最根本的就是以用戶為中心進(jìn)行設(shè)計(jì),本文主要從有用性、易用性、滿意度三個(gè)維度來(lái)把控用戶體驗(yàn)設(shè)計(jì),但是在日常工作中,因?yàn)楫a(chǎn)品業(yè)務(wù)的復(fù)雜程度,我們要因地制宜地進(jìn)行設(shè)計(jì),深入挖掘我們產(chǎn)品自己的體驗(yàn)設(shè)計(jì)特色,增加自己的設(shè)計(jì)市場(chǎng)競(jìng)爭(zhēng)力。

文章來(lái)源:優(yōu)設(shè)    作者:阿韓設(shè)計(jì)

如果使用 JavaScript 原型實(shí)現(xiàn)繼承

seo達(dá)人

在這篇文章中,我們將討論原型以及如何在 JS 中使用它們進(jìn)行繼承。我們還將會(huì)看到原型方法與基于類的繼承有何不同。


繼承

繼承是編程語(yǔ)言的一個(gè)顯著特征,隨著面向?qū)ο缶幊陶Z(yǔ)言的引入而出現(xiàn)。這些語(yǔ)言大多是基于類的語(yǔ)言。在這里,類就像一個(gè)藍(lán)圖,對(duì)象是它的展現(xiàn)形式。就是說(shuō),要?jiǎng)?chuàng)建一個(gè)對(duì)象,首先我們必須創(chuàng)建一個(gè)類,然后我們可以從一個(gè)類創(chuàng)建任意數(shù)量的對(duì)象。


想象一下,我們有一個(gè)表示智能手機(jī)的類。這個(gè)類具有像其他智能手機(jī)一樣的可以拍照、有GPS定位等功能。下面是使用 c++ 來(lái)描述這樣的一個(gè)類:


class SmartPhone {

 public:

 void captureImages() {}

}


SmartPhone x;

x.captureImages()

我們創(chuàng)建了一個(gè)名為SmartPhone的類,它有一個(gè)名為capturePictures的方法用來(lái)拍照。


如果我們需要一個(gè)iPhone類,它可以捕捉圖像和一些特殊的功能,比如面部ID掃描。下面是兩種可能的解決方案:


1.將捕獲圖像功能與其他常見(jiàn)的智能手機(jī)功能,以及iPhone的特定功能一起重寫到一個(gè)新類中。但是這種方法需要更多的時(shí)間和精力,并且會(huì)引入更多的bug。


重用SmartPhone類中的功能,這就是繼承的作用,繼承也是重用其他類/對(duì)象中功能的一種方式。

這里是我們?nèi)绾螐腟martPhone類中繼承capturePictures方法,使用 c++ 實(shí)現(xiàn)如下:


class Iphone: public SmartPhone {

 public:

 void faceIDScan() {}

}


Iphone x


x.faceIDScan()


x.captureImages()

上面是一個(gè)簡(jiǎn)單的繼承示例。 但是,它表明繼承可以使我們以某種方式重用代碼,從而使所生成的程序更不易出錯(cuò),并且花費(fèi)更少的時(shí)間進(jìn)行開發(fā)。


以下是關(guān)于類的一些重要信息:


繼承該功能的類稱為子類

被繼承的類稱為父類

一個(gè)類可以同時(shí)從多個(gè)類中繼承

我們可以具有多個(gè)繼承級(jí)別。 例如,類C繼承自類B,而類B繼承自類A

值得注意的是,類本身并沒(méi)有做任何事情。在從類創(chuàng)建對(duì)象之前,實(shí)際上沒(méi)有完成任何工作。我們將看到它為什么不同于JavaScript。


大家都說(shuō)簡(jiǎn)歷沒(méi)項(xiàng)目寫,我就幫大家找了一個(gè)項(xiàng)目,還附贈(zèng)【搭建教程】。


原型是什么?

在 JS 中,所有對(duì)象都有一個(gè)特殊的內(nèi)部屬性,該屬性基本上是對(duì)另一個(gè)對(duì)象的引用。 此引用取決于對(duì)象的創(chuàng)建方式。 在 ECMAScript/JavaScript規(guī)范中,它表示為[[Prototype]]。


由于[[Prototype]]鏈接到一個(gè)對(duì)象,所以該對(duì)象有自己的[[Prototype]]引用。這就是建立原型鏈的方式。


這個(gè)[[Prototype]]鏈?zhǔn)?JS 中繼承的構(gòu)建塊。


__proto__ 對(duì)象

為了訪問(wèn)對(duì)象的[[Prototype]],大多數(shù)瀏覽器都提供__proto__屬性。訪問(wèn)方式如下:


obj.__proto__

需要注意的是,這個(gè)屬性不是 ECMAScript 標(biāo)準(zhǔn)的一部分,它實(shí)際上是由瀏覽器實(shí)現(xiàn)的。


獲取和設(shè)置原型方法

除了__proto__屬性外,還有一種訪問(wèn)[[Prototype]]的標(biāo)準(zhǔn)方法:


Object.getPrototypeOf(obj);

對(duì)應(yīng)的有個(gè)類似的方法來(lái)設(shè)置對(duì)象的[[Prototype]]:


Object.setPrototypeOf(obj, prototype);

[[Prototype]]和.prototype屬性

[[Prototype]] 只不過(guò)是一種用來(lái)表示物體原型的標(biāo)準(zhǔn)符號(hào)。 許多開發(fā)人員將其與.prototype屬性混淆,這是完全不同的事情,接著我們來(lái)研究一下.prototype屬性。


在 JS 中,有許多創(chuàng)建對(duì)象的方法。一種方法是使用構(gòu)造函數(shù),像這樣使用new關(guān)鍵字來(lái)調(diào)用它:


function SmartPhone(os) {

 this.os = os

}


let phone = new SmartPhone('Android')

在控制臺(tái)打印 phone 對(duì)象:


{

 os: "IPhone"

 __proto__{

   constructor: ? SmartPhone(os)

  __proto__: Object

 }

}

現(xiàn)在,如果我們希望在phone對(duì)象上有一些方法,我們可以在函數(shù)上使用.prototype屬性,如下所示:


SmartPhone.prototype.isAndroid = function () {

 return this.os === 'Android' || 'android'

}

再次創(chuàng)建phone對(duì)象時(shí),打印 phone 對(duì)象如下:


{

 os: "Android"

 __proto__{

   isAndroid: ?()

   constructor: ? SmartPhone(os)

  __proto__: Object

 }

}

我們可以在對(duì)象的[[Prototype]]中看到isAndroid()方法。


簡(jiǎn)而言之,.prototype屬性基本上就像由給定的構(gòu)造函數(shù)創(chuàng)建的[[Prototype]]對(duì)象的藍(lán)圖。 在.prototype屬性/對(duì)象中聲明的所有內(nèi)容都會(huì)在對(duì)象的[[Prototype]]中彈出。


實(shí)上,如果將 SmartPhone.prototype 與phone 的[[Prototype]]進(jìn)行比較,就會(huì)發(fā)現(xiàn)它們是相同的:


console.log(Object.getPrototypeOf(phone) === SmartPhone.prototype);

// true

值得注意的是,我們還可以在構(gòu)造函數(shù)中創(chuàng)建方法:


function ObjectA() {

 this.methodA = function () {}

}


let firstObj = new ObjectA()

console.log(firstObj)

這種方法的問(wèn)題是當(dāng)我們初始化一個(gè)新對(duì)象時(shí)。所有實(shí)例都有自己methodA的副本。相反,當(dāng)我們?cè)诤瘮?shù)的原型上創(chuàng)建它時(shí),對(duì)象的所有實(shí)例只共享方法的一個(gè)副本,顯然使用原型的方式效率會(huì)過(guò)高。


大家都說(shuō)簡(jiǎn)歷沒(méi)項(xiàng)目寫,我就幫大家找了一個(gè)項(xiàng)目,還附贈(zèng)【搭建教程】。


當(dāng)我們?cè)L問(wèn)屬性時(shí)這里發(fā)生了什么?

當(dāng)我們?cè)L問(wèn)一個(gè)屬性以獲取它時(shí),會(huì)發(fā)生以下情況:


JS 引擎查找對(duì)象上的屬性,如果找到了該屬性,然后返回它。否則,JS 引擎將通過(guò)查看[[Prototype]]來(lái)檢查對(duì)象的繼承屬性,如果找到該屬性,則返回它,否則,它會(huì)查找 [[Prototype]]的[[Prototype]]。 找到屬性或沒(méi)有[[Prototype]]時(shí),該鏈結(jié)束,這意味著我們已經(jīng)到達(dá)原型鏈的末端。


當(dāng)我們?cè)O(shè)置/創(chuàng)建屬性時(shí),JS 總是在對(duì)象本身上進(jìn)行設(shè)置。 即使[[Prototype]]鏈上存在相同的屬性,下面是一個(gè)例子:


function MyObject() {}

MyObject.prototype.propA = 10; // 在原型上創(chuàng)建屬性


let myObject = new MyObject();

console.log(myObject.propA); // [[Prototype]]上的屬性

// 10


myObject.propA = 20; // 對(duì)象的屬性

console.log(myObject.propA);

// 20

在上面的示例中,我們創(chuàng)建了一個(gè)構(gòu)造函數(shù),該函數(shù)的[[Prototype]]上具有屬性propA。 當(dāng)我們嘗試對(duì)其進(jìn)行讀取操作時(shí),會(huì)在控制臺(tái)中看到該值。 但是,當(dāng)我們嘗試在對(duì)象本身上設(shè)置相同的屬性時(shí);JS 使用給定值在對(duì)象上創(chuàng)建一個(gè)新屬性。 現(xiàn)在,如果我們不能直接訪問(wèn)[[Prototype]]上的屬性。


值得注意的是,普通對(duì)象的[[Prototype]]鏈的末尾是內(nèi)置的Object.prototype。 這就是為什么大多數(shù)對(duì)象共享許多方法(例如toString())的原因。 因?yàn)樗鼈儗?shí)際上是在Object.prototype上定義的。


使用原型繼承的各種方法

在 JS 中,無(wú)論我們?nèi)绾蝿?chuàng)建對(duì)象,只有原型繼承,但這些方式還有一些區(qū)別,來(lái)看看:


對(duì)象字面量

在JavaScript中創(chuàng)建對(duì)象的最簡(jiǎn)單方法是使用對(duì)象字面量:


let obj = {}

如果在瀏覽器的控制臺(tái)中打印obj,我們將看到以下內(nèi)容:


clipboard.png


基本上,所有用文字面量創(chuàng)建的對(duì)象都繼承了Object.prototype的屬性。


需要注意的是__proto__對(duì)象引用了創(chuàng)建它的構(gòu)造函數(shù)。 在這種情況下,constructor屬性指向Object構(gòu)造函數(shù)。


使用對(duì)象構(gòu)造函數(shù)

另一種不太常見(jiàn)的創(chuàng)建對(duì)象的方法是使用對(duì)象構(gòu)造函數(shù)。JS 提供了一個(gè)名為Object的內(nèi)置構(gòu)造函數(shù)方法來(lái)創(chuàng)建對(duì)象。


let obj = new Object();

這種方法的結(jié)果與對(duì)象字面量的方式相同。它從Object.prototype繼承屬性。因?yàn)槲覀兪褂肙bject作為構(gòu)造函數(shù)。


Object.create 方法

使用此輔助方法,我們可以創(chuàng)建一個(gè)帶有[[Prototype]]的對(duì)象,如下所示:


let SmartPhone = {

 captureImages: function() {}

}


let Iphone = Object.create(SmartPhone)


Iphone.captureImages()

這是在 JS 中使用繼承的最簡(jiǎn)單方法之一。猜猜我們?nèi)绾卧跊](méi)有任何[[Prototype]]引用的情況下創(chuàng)建對(duì)象?


構(gòu)造方法

與 JS 運(yùn)行時(shí)提供的對(duì)象構(gòu)造函數(shù)相似。 我們還可以創(chuàng)建自己的構(gòu)造函數(shù),以創(chuàng)建適合我們需求的對(duì)象,如下所示:


function SmartPhone(os) {

 this.os = os;

}


SmartPhone.prototype.isAndroid = function() {

 return this.os === 'Android';

};


SmartPhone.prototype.isIOS = function() {

 return this.os === 'iOS';

};

現(xiàn)在,我們想創(chuàng)建一個(gè)iPhone類,它應(yīng)該有'iOS'作為它 os 屬性的值。它還應(yīng)該有faceIDScan方法。


首先,我們必須創(chuàng)建一個(gè)Iphone構(gòu)造函數(shù),在其中,我們應(yīng)該調(diào)用SmartPhone構(gòu)造函數(shù),如下所示:


function Iphone() {

  SmartPhone.call(this, 'iOS');

}

這會(huì)將Iphone構(gòu)造函數(shù)中的this.os屬性設(shè)置為’iOS‘。


之所以調(diào)用SmartPhone.call方法,是因?yàn)槲覀冃枰?this 值以引用Iphone。 這類似于在面向?qū)ο蟮氖澜缰姓{(diào)用父級(jí)的構(gòu)造函數(shù)。


接下來(lái)的事情是,我們必須從SmartPhone構(gòu)造函數(shù)繼承方法。 我們可以在此處使用Object.create朋友,如下所示:


Iphone.prototype = Object.create(SmartPhone.prototype);

現(xiàn)在,我們可以使用.prototype為Iphone添加方法,如下所示:


Iphone.prototype.faceIDScan = function() {};

最后,我們可以使用Iphone創(chuàng)建一個(gè)對(duì)象,如下所示:


let x = new Iphone();


// calling inherited method

console.log(x.isIOS()):

// true


ES6 class

使用ES6,整個(gè)過(guò)程非常簡(jiǎn)單。 我們可以創(chuàng)建類(它們與C ++或其他任何基于類的語(yǔ)言中的類不同,只是在原型繼承之上的語(yǔ)法糖),然后從其他類派生新的類。


下面是我們?nèi)绾卧贓S6中創(chuàng)建類:


class SmartPhone {

 constructor(os) {

   this.os = os;

 }

 isAndroid() {

   return this.os === 'Android';

 }

 isIos() {

   return this.os === 'iOS';

 }

};

現(xiàn)在,我們可以創(chuàng)建一個(gè)派生自SmartPhone的新類,如下所示:


class Iphone extends SmartPhone {

  constructor() {

    super.call('iOS');

  }

  faceIDScan() {}

}

我們不是調(diào)用SmartPhone.call,而是調(diào)用super.call。 在內(nèi)部,JavaScript引擎會(huì)自動(dòng)為我們執(zhí)行此操作。


最后,我們可以使用Iphone創(chuàng)建一個(gè)對(duì)象,如下所示


let x = new Iphone();


x.faceIDScan();


// calling inherited method

console.log(x.isIos()):

// true

該ES6示例與先前的構(gòu)造方法示例相同。 但是閱讀和理解起來(lái)要干凈得多。


原文:https://javascript.info/proto...


代碼部署后可能存在的BUG沒(méi)法實(shí)時(shí)知道,事后為了解決這些BUG,花了大量的時(shí)間進(jìn)行l(wèi)og 調(diào)試,這邊順便給大家推薦一個(gè)好用的BUG監(jiān)控工具 Fundebug。

jquery,ajax請(qǐng)求并處理跨域

前端達(dá)人

自己寫了段jquery的ajax請(qǐng)求,并輸出到頁(yè)面的表格中



<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>jQuery實(shí)現(xiàn)JSONP</title>
</head>
<body>
<div id="mydiv">
    <button id="btn">點(diǎn)擊</button>

    <div id="container">
        <!--每個(gè)條目-->
        <div class="item">
            <div class="item-title">作業(yè)名字</div>
            <div>
                <span class="item-content">創(chuàng)建時(shí)間</span>
                <span class="item-content">發(fā)布老師</span>
            </div>
        </div>
    </div>
</div>
</body>
<script type="text/javascript" src="https://code.jquery.com/jquery-3.1.0.min.js"></script>
<script type="text/javascript">
    $(function(){
        $("#btn").click(function(){

            $.ajax({
                async : true,
                url : "xxxxxxxxxxx",
                type : "GET",
                dataType : "json", // 返回的數(shù)據(jù)類型,設(shè)置為JSONP方式
                jsonp : 'callback', //指定一個(gè)查詢參數(shù)名稱來(lái)覆蓋默認(rèn)的 jsonp 回調(diào)參數(shù)名 callback
                jsonpCallback: 'handleResponse', //設(shè)置回調(diào)函數(shù)名
                data : {
                    q : "javascript",
                    count : 1,
                    city:'北京'
                },
                success: function(response, status, xhr){
                    // console.log('狀態(tài)為:' + status + ',狀態(tài)是:' + xhr.statusText);
                    // console.log(response);

                    var group = response.hourly_forecast;

                    console.log(group,111111111)
                    console.log(group.length,222222222222)

                    //拼接字符串
                    var str = '';
                    //對(duì)數(shù)據(jù)做遍歷,拼接到頁(yè)面顯示
                    for(var i=0;i<group.length;i++){
                        str += '<div class="item">'+
                                '<div class="item-title">'+ group[i].date +'</div>'+
                                '<div>'+
                                '<span class="item-content">'+ group[i].hum +'</span>'+
                                '<span class="item-content">'+ group[i].pop +'</span>'+
                                '</div>'+
                                '</div>';
                    }
                    //放入頁(yè)面的容器顯示
                    $('#container').html(str);

                }
            });
        });
    });

    function handleResponse(response){
        // 對(duì)response數(shù)據(jù)進(jìn)行操作代碼
        alert("jsonp success!");
    }
</script>
</html>


jquery中ajax處理跨域的三大方式


一、處理跨域的方式:

1.代理

2.XHR2

HTML5中提供的XMLHTTPREQUEST Level2(及XHR2)已經(jīng)實(shí)現(xiàn)了跨域訪問(wèn)。但ie10以下不支持

只需要在服務(wù)端填上響應(yīng)頭:

header("Access-Control-Allow-Origin:*");

/*星號(hào)表示所有的域都可以接受,*/

header("Access-Control-Allow-Methods:GET,POST");

        

3.jsonP

原理:

 ajax本身是不可以跨域的, 通過(guò)產(chǎn)生一個(gè)script標(biāo)簽來(lái)實(shí)現(xiàn)跨域。因?yàn)閟cript標(biāo)簽的src屬性是沒(méi)有跨域的限制的。

其實(shí)設(shè)置了dataType: 'jsonp'后,$.ajax方法就和ajax XmlHttpRequest沒(méi)什么關(guān)系了,取而代之的則是JSONP協(xié)議。JSONP是一個(gè)非官方的協(xié)議,它允許在服務(wù)器端集成Script tags返回至客戶端,通過(guò)javascript callback的形式實(shí)現(xiàn)跨域訪問(wèn)。

 ajax的跨域?qū)懛ǎ?

(其余寫法和不跨域的一樣):

比如 


設(shè)計(jì)中該如何運(yùn)用材質(zhì)?

資深UI設(shè)計(jì)者

在很多設(shè)計(jì)作品中,我們不難發(fā)現(xiàn)對(duì)于材質(zhì)的運(yùn)用是十分廣泛的,合理地運(yùn)用材質(zhì)可以很大程度地提升作品的質(zhì)感、細(xì)節(jié)感!但是相反,如果使用不得當(dāng)它也可以毀掉一個(gè)原本不錯(cuò)的作品,很多人對(duì)于材質(zhì)的理解存在著一定局限性,那么本期內(nèi)容:設(shè)計(jì)中材質(zhì)有哪些運(yùn)用形式?應(yīng)該如何合理地運(yùn)用材質(zhì)?

材質(zhì)運(yùn)用的誤區(qū)

很多人對(duì)于材質(zhì)并不陌生,但是每次使用后最終結(jié)果總是差強(qiáng)人意,這里首先要說(shuō)的就是材質(zhì)運(yùn)用的幾個(gè)常見(jiàn)誤區(qū):

  • 誤區(qū)一:材質(zhì)種類用的越多越好,這是很多人容易走進(jìn)的一個(gè)誤區(qū),材質(zhì)的運(yùn)用要結(jié)合畫面整體,運(yùn)用材質(zhì)的目的是提升設(shè)計(jì)作品的出彩度,而非刻意使用,過(guò)多不同形式的材質(zhì)會(huì)使得畫面雜亂。
  • 誤區(qū)二:不了解材質(zhì)所傳遞的信息,其實(shí)不同形態(tài)的材質(zhì)所傳遞的信息是不同的,有些材質(zhì)也會(huì)存在一定的使用局限性。
  • 誤區(qū)三:一味地追求材質(zhì)表現(xiàn),而忽略了主體,材質(zhì)在很多時(shí)候只是輔助畫面,提升整體細(xì)節(jié)感的一種手法,不能因?yàn)檫^(guò)度強(qiáng)調(diào)材質(zhì)而搶了主體。

那么應(yīng)該如何合理地運(yùn)用材質(zhì)呢?

背景添加材質(zhì)

在日常工作中,背景添加材質(zhì)、肌理的手法是很常用的,但是表現(xiàn)手法上也是有所不同的,表現(xiàn)形式一:將材質(zhì)、肌理作為背景形象的一部分,也就是將材質(zhì)做得足夠明顯,這么做的目的是豐富畫面視覺(jué)層次變化,增強(qiáng)畫面整體對(duì)比,比如我們常見(jiàn)的:

通過(guò)對(duì)比不難發(fā)現(xiàn)有無(wú)材質(zhì)對(duì)于整體的影響,同樣的構(gòu)圖,沒(méi)有材質(zhì)變化的畫面給人一種很單薄、視覺(jué)形象不夠鮮明的感覺(jué),但是通過(guò)添加材質(zhì)、肌理,畫面整體的豐富度大大提升,背景畫面的變化增強(qiáng),通過(guò)材質(zhì)的變化,也使得主體的視覺(jué)形象也更加鮮明;將材質(zhì)作為背景的組成部分,一定要切記時(shí)刻圍繞主體展開,主體的位置是不可撼動(dòng)的。

表現(xiàn)形式二:將材質(zhì)、肌理作為畫面視覺(jué)中相對(duì)較弱的表現(xiàn)形式,也就是做得不明顯,縮小看幾乎沒(méi)有,正??吹那闆r下又有一定的變化,這種表現(xiàn)形式目的在于增加畫面細(xì)節(jié)感,使得畫面不會(huì)因?yàn)槿鄙僮兓燥@單調(diào),比如:

這種表現(xiàn)手法放小了看對(duì)于畫面的影響并不大,但是如果 1:1 正常比例看,有材質(zhì)的畫面會(huì)給人一種細(xì)節(jié)感豐富、畫面充滿不同層次的變化感受,這樣帶給作品更多的可塑性,使得畫面給人的視覺(jué)感受更深刻,同時(shí)也起到了一定的豐富畫面的作用。

文字添加材質(zhì)

對(duì)于在文字中疊加材質(zhì)在一些作品中是很常見(jiàn)的,同樣的文字,給予不同的材質(zhì)也會(huì)呈現(xiàn)出不同的視覺(jué)感受,更多的目的是提升文字與整體形象的契合度,增強(qiáng)整體視覺(jué)沖擊力,比如:

材質(zhì)在很大程度上可以提升文字的立體形象,使得文字在整體的視覺(jué)形象更加鮮明,但是對(duì)于材質(zhì)的運(yùn)用也要做到有所選擇,每種材質(zhì)所傳遞的視覺(jué)信息都有所不同,要讓材質(zhì)與文案、主題相契合才能將材質(zhì)的效果發(fā)揮得淋淋盡致,這一點(diǎn)很重要,比如:

這里只考慮材質(zhì)對(duì)文字的影響,首先我們解讀文字「第一戰(zhàn)場(chǎng)」,讓我們首先聯(lián)想到的就是破損、狼藉、金屬等等,那么在給這一文字添加材質(zhì)時(shí)我們就要結(jié)合主題;上面兩種的材質(zhì)分別是木紋和大理石,給人的感覺(jué)是太過(guò)干凈、簡(jiǎn)約,與戰(zhàn)場(chǎng)主題不相符,所以說(shuō)材質(zhì)使用不得當(dāng),而后面兩個(gè)的材質(zhì)分別是破損的石灰墻以及金屬,就能在很大程度上加強(qiáng)「戰(zhàn)場(chǎng)」這一主題的視覺(jué)形象,在視覺(jué)上屬于強(qiáng)調(diào)的作用。

材質(zhì)使用技巧

材質(zhì)的選擇和使用也是有一定技巧可言的,這里首先要說(shuō)下:當(dāng)我們想要使用材質(zhì)時(shí),應(yīng)該如何選擇呢?

結(jié)合整體風(fēng)格選擇,比如畫面整體偏簡(jiǎn)約、干凈的感覺(jué),我們就可以嘗試:大理石、木紋、石灰墻、花紋、木紋等等;再比如想要炫酷效果,那么我們就可以嘗試:金屬、破損墻壁、石頭等等,也就是說(shuō)盡可能讓材質(zhì)本身的風(fēng)格偏向畫面整體風(fēng)格,這樣可以讓材質(zhì)更加融合畫面,不會(huì)給人一種很突兀、刻意的感覺(jué)。

結(jié)合產(chǎn)品選擇,一切的手法、技巧都是要服務(wù)于產(chǎn)品、主體的,結(jié)合產(chǎn)品選擇材質(zhì)也是很常用的;比如一些化妝品海報(bào),我們可能用到的材質(zhì)會(huì)有:水、植物、大理石、木紋或者產(chǎn)品本身所固有的材質(zhì)等等,目的是凸顯產(chǎn)品的美觀、功效,讓用戶能夠在背景及產(chǎn)品之間產(chǎn)生共鳴、聯(lián)想,這樣也能起到對(duì)產(chǎn)品的強(qiáng)調(diào)輔助作用。

關(guān)于使用:通常找到合適的材質(zhì)后,會(huì)銳化一下,目的是增強(qiáng)材質(zhì)的質(zhì)感,然后會(huì)用不同的圖層模式去試,(一般情況下會(huì)用「正片疊底、濾色、疊加、柔光的模式」)以便找到最佳的使用形式;當(dāng)然如果只用材質(zhì)的紋理感覺(jué),不用材質(zhì)本身顏色的話,也可以去色后再去選擇圖層模式。

案例演示

結(jié)合本期內(nèi)容,做了一個(gè)簡(jiǎn)單的化妝品的海報(bào),充分利用材質(zhì)的不同表現(xiàn)形式,用分析的角度去觀察,第一步,通過(guò)運(yùn)用 C4D 軟件,做一個(gè)簡(jiǎn)易場(chǎng)景:

簡(jiǎn)易場(chǎng)景搭建完成,因?yàn)橹皇呛诎赘宓膱?chǎng)景,那么接下來(lái)就要通過(guò)分析產(chǎn)品確定材質(zhì)的選擇:

產(chǎn)品的感覺(jué)是干凈、簡(jiǎn)約的,那么就圍繞這個(gè)整體感覺(jué),展開材質(zhì)的貼合及制作,這里我選擇紋理相對(duì)不復(fù)雜的大理石為主要材質(zhì),結(jié)合用到木紋、金屬作為豐富畫面的材質(zhì):

這樣一個(gè)畫面給人的感覺(jué)是輕飄飄的,因?yàn)闆](méi)有影子,沒(méi)有將畫面做出光感的效果,而且整體缺少色感,這里我選擇把原本無(wú)色的材質(zhì)換成有色材質(zhì),目的是增加畫面整體色感,其次將投影、倒影做好,光源定在左側(cè),最終呈現(xiàn)的效果:

最終的呈現(xiàn)幾乎是用不同材質(zhì)做出來(lái)的一個(gè)場(chǎng)景,雖然這里用到了很多不同顏色的材質(zhì),但是最終用到的材質(zhì)屬性只有三種:大理石、木紋 、金屬,而且依舊貫徹干凈、簡(jiǎn)約的視覺(jué)感受,將同種材質(zhì)的不同形態(tài)運(yùn)用在一起會(huì)給人視覺(jué)聯(lián)系的作用,不會(huì)給人一種雜亂的感覺(jué)!

總結(jié)

材質(zhì)對(duì)畫面是輔助、豐富、增加細(xì)節(jié)感的作用,合理地運(yùn)用材質(zhì)可以提升設(shè)計(jì)作品的視覺(jué)層次、增強(qiáng)畫面質(zhì)感!但是不管是哪種形式的材質(zhì),都要做到切合主題,要讓設(shè)計(jì)的每個(gè)元素做到有理有據(jù),切記不要因?yàn)椴馁|(zhì)的過(guò)于凸顯而搶了主體。

文章來(lái)源:優(yōu)設(shè)    作者:

又發(fā)現(xiàn)一個(gè)!攝影師出品的免費(fèi)可商用圖庫(kù)!

資深UI設(shè)計(jì)者

大家平常都習(xí)慣去哪些免費(fèi)圖庫(kù)網(wǎng)站找圖呢?雖然有一些老牌、圖片數(shù)量充足的圖庫(kù),像是 Unsplash、Pixabay、Pexels,但后來(lái)經(jīng)過(guò)人工智能和大數(shù)據(jù)學(xué)習(xí)的搜尋工具更深得我心,也能通過(guò)算法將質(zhì)量較低、不適合使用的圖庫(kù)圖片先排除掉,大幅節(jié)省搜尋時(shí)間。如果在尋找圖片素材時(shí)想盡量避免使用和其他人重復(fù)的內(nèi)容,試試看由攝影師親自拍攝的小型圖庫(kù)或許是個(gè)不錯(cuò)的方法。

往期回顧:

本文要介紹的「DesignersPics」是一個(gè)持續(xù)更新、每個(gè)月都會(huì)加入新相片的圖庫(kù),由攝影師 Jeshu John 親自拍攝修圖,收錄各種類型的相片,包括建筑、商業(yè)活動(dòng)、概念、美食和飲料、大自然、人物、科技等等,照片數(shù)量不多,但有一定的獨(dú)特性。

DesignersPics 的相片都具有非常高的分辨率和畫質(zhì),可自由下載用于個(gè)人或商業(yè)用途,例如網(wǎng)站、投影片、包裝、標(biāo)簽、HTML/PSD 模版、T-Shirts、廣告橫幅、商店或辦公室裝飾等等,無(wú)需標(biāo)示出處來(lái)源。

DesignersPics

網(wǎng)站鏈接:http://www.designerspics.com/

使用教學(xué)

開啟 DesignersPics 從右上角的「Categories」選擇要瀏覽的相片分類,或是直接從首頁(yè)以日期方式瀏覽,網(wǎng)站亦提供搜尋功能,不過(guò)圖庫(kù)本身相片量不多,瀏覽上不會(huì)耗費(fèi)太多時(shí)間。

每張相片會(huì)有預(yù)覽圖、標(biāo)題和免費(fèi)下載的按鈕。

進(jìn)入圖片頁(yè)面,還能看到圖片尺寸、大小等等信息,點(diǎn)選「Download」就能下載取得 .jpg 格式的圖片文件。雖然 DesignersPics 沒(méi)有硬性規(guī)定必須標(biāo)示作者來(lái)源,但如果你喜歡可以協(xié)助推廣。

值得一試的三個(gè)理由:

  • 由 Jeshu John 親自拍攝,每個(gè)月都會(huì)更新加入新的相片素材
  • 相片都具有大尺寸及高畫質(zhì),免費(fèi)下載取得 .Jpg 格式

  • 可自由使用于個(gè)人或是商業(yè)用途

文章來(lái)源:優(yōu)設(shè)    作者:Pseric

用戶行為分析和以用戶為中心的設(shè)計(jì)

ui設(shè)計(jì)分享達(dá)人

用戶行為分析,認(rèn)識(shí)用戶滿足用戶最直接要求為設(shè)計(jì)中心

用戶行為分析

一、了解用戶需要什么
二、遵循用戶的習(xí)慣
1、用戶的生活背景及文化背景
2、用戶的生理狀況與需求狀況
2、以“自我為中心”的心理
二、顛覆用戶的習(xí)慣
1、改變一些有獨(dú)特性的頁(yè)面設(shè)計(jì)
2、發(fā)展中的知識(shí)和技術(shù)


用戶行為是指用戶在使用產(chǎn)品時(shí)的行為,針對(duì)網(wǎng)站而言,就是用戶在進(jìn)入網(wǎng)站后所有的操作。網(wǎng)站用戶行為分析,就是在獲得網(wǎng)站王文量基本數(shù)據(jù)的情況下,對(duì)有關(guān)數(shù)據(jù)進(jìn)行統(tǒng)計(jì)、分析,從中發(fā)現(xiàn)用戶訪問(wèn)網(wǎng)站的規(guī)律,并將這些規(guī)律與產(chǎn)品目標(biāo)及策略相結(jié)合,從中發(fā)現(xiàn)目前網(wǎng)站存在的問(wèn)題,為進(jìn)一步改善網(wǎng)站,滿足用戶需求,提升用戶體驗(yàn)提供依據(jù)。


常見(jiàn)的用戶分析內(nèi)容包含以下幾個(gè)方面內(nèi)容:

(1)用戶在網(wǎng)站的停留時(shí)間、跳出率、回訪率、新用戶、回訪次數(shù)、回訪相隔天數(shù);

(2)注冊(cè)用戶和非注冊(cè)用戶,分析二者之間的瀏覽習(xí)慣;

(3)用戶所使用的搜索引擎、關(guān)鍵詞、關(guān)聯(lián)關(guān)鍵詞和站內(nèi)關(guān)鍵詞;

(4)用戶選擇什么樣的入口形式(廣告或者網(wǎng)站入口鏈接)更有效;

(5)用戶訪問(wèn)網(wǎng)站流程,用來(lái)分析頁(yè)面結(jié)構(gòu)和網(wǎng)頁(yè)覆蓋數(shù)據(jù);

(6)用戶在頁(yè)面上的網(wǎng)頁(yè)熱點(diǎn)圖分部數(shù)據(jù)和網(wǎng)頁(yè)覆蓋圖數(shù)據(jù);

(7)用戶在不同時(shí)間段的訪問(wèn)量情況等;

(8)用戶對(duì)于網(wǎng)站的設(shè)計(jì)及字體配色的喜好程度等。


通過(guò)研究發(fā)現(xiàn),80%的用戶僅僅使用了軟件20%的功能,而那些沒(méi)用的功能不僅浪費(fèi)開發(fā)時(shí)間,也使軟件更加難以使用。一個(gè)成功的軟件應(yīng)該是簡(jiǎn)練精干的,可以單獨(dú)職能化的化解決的單個(gè)問(wèn)題,要以滿足用戶最直接要求為 i設(shè)計(jì)中心。

很多網(wǎng)站往往為了滿足不同用戶的需求而增加功能,增加的功能必然需要再界面中用視覺(jué)呈現(xiàn)出來(lái),這就會(huì)使網(wǎng)頁(yè)內(nèi)容越來(lái)越多,很多的功能摻雜在一起,如果不經(jīng)過(guò)過(guò)濾,必然會(huì)違背原來(lái)閱讀的初衷,所以每一個(gè)功能的增加都要慎重。


用戶對(duì)于互聯(lián)網(wǎng)功能需求也和對(duì)軟件的功能要求一樣。既喜歡簡(jiǎn)單的,也喜歡復(fù)雜的。而且用戶的體驗(yàn)需求也會(huì)隨時(shí)隨地的發(fā)生變化。這里的復(fù)雜不是指很難用、流程超級(jí)復(fù)雜、容易出錯(cuò)的用戶體驗(yàn),而是指豐富的功能。


首先如何讓用戶體驗(yàn)更簡(jiǎn)單呢?當(dāng)然將復(fù)雜的功能去除是最好的,如果實(shí)在無(wú)法去除某個(gè)復(fù)雜的功能,那就應(yīng)該將其隱藏。因?yàn)榇蠖鄶?shù)情況下,不常用的功能要比經(jīng)常使用的功能占據(jù)更多的空間。


真正好的用戶體驗(yàn)其實(shí)是給用戶所需的任何功能,為用戶設(shè)計(jì)一款“復(fù)雜”的產(chǎn)品,并將這款產(chǎn)品從表現(xiàn)上簡(jiǎn)化,讓基礎(chǔ)功能操作簡(jiǎn)化,給擴(kuò)展功能保留使用入口即可。這個(gè)設(shè)計(jì)思路最具代表性的例子就是Microsoft Office和Adobe

系列產(chǎn)品。

              


用戶的需求并不是一層不變的,短期內(nèi)用戶會(huì)因?yàn)槟撤N強(qiáng)烈的需求要一個(gè)產(chǎn)品。隨著市場(chǎng)和行業(yè)的不斷發(fā)展,用戶對(duì)于一個(gè)產(chǎn)品的評(píng)價(jià)也會(huì)隨之發(fā)生變化。例如肯德基剛進(jìn)入中國(guó)市場(chǎng),被人們認(rèn)為是一種的象征,小朋友以吃一次肯德基為榮。隨著經(jīng)濟(jì)條件的發(fā)展,人們對(duì)于肯德基的體驗(yàn)就完全不一樣了,熱量過(guò)高,不利于健康。這是一個(gè)很典型的對(duì)一個(gè)產(chǎn)品評(píng)價(jià)的變遷的過(guò)程。


用戶的期望值會(huì)因?yàn)橐蛩囟l(fā)生變化,有的來(lái)自外部的環(huán)境,有的來(lái)自產(chǎn)品自身,有的來(lái)自用戶成長(zhǎng)。這些影響期望值的因素都會(huì)相輔相成的影響。有的時(shí)候不是我們的體驗(yàn)或者產(chǎn)品變了,而是用戶發(fā)生了變化,所以用戶體驗(yàn)的設(shè)計(jì),除了要考慮產(chǎn)品本身以外,還要考慮用戶所需要的。


用戶通常會(huì)根據(jù)個(gè)人喜好做事,這就是習(xí)慣。習(xí)慣沒(méi)有好壞之分,關(guān)鍵要看根本的是什么。從用戶體驗(yàn)的角度來(lái)說(shuō),任何產(chǎn)品都可以分兩種:遵循現(xiàn)有用戶習(xí)慣的產(chǎn)品和顛覆用戶習(xí)慣的產(chǎn)品。


在設(shè)計(jì)網(wǎng)站時(shí)可以在技術(shù)上創(chuàng)新,在業(yè)務(wù)模式上改變,也要在以下幾點(diǎn)上遵循用戶的習(xí)慣。


生活和文化背景是必須要遵循的習(xí)慣。想去顛覆或是磨滅一個(gè)群體甚至是民族的習(xí)慣,基本上會(huì)付出慘重的代價(jià)。例如使用紅色表現(xiàn)喜慶,白色表現(xiàn)悲傷,是中華民族幾千年的一種傳統(tǒng)習(xí)慣。如果想去改變這個(gè)習(xí)慣,使用其他顏色肯定起不到好效果。比如:可口可樂(lè)官網(wǎng)就是用紅色做的主色調(diào),而紅色也與“可口可樂(lè)”品牌主色調(diào)相統(tǒng)一,點(diǎn)綴少量黃色,非常符合中國(guó)的傳統(tǒng)文化,也更容易使中國(guó)人接受。


在設(shè)計(jì)網(wǎng)站頁(yè)面時(shí),還要考慮到網(wǎng)站用戶群體的基礎(chǔ)屬性,例如年齡層、身體承受力等。可以將頁(yè)面中的文字和圖片做放大處理,使老年人可以清楚的看到內(nèi)容。比如一些老年網(wǎng)站,會(huì)采用大號(hào)字體,強(qiáng)對(duì)比色便于閱讀,而且在設(shè)計(jì)的時(shí)候也不會(huì)使用過(guò)多的色彩,雖然整體視覺(jué)可能顯得簡(jiǎn)陋不夠豐富,但是充分的考慮了老年人人群的特點(diǎn)。


人在評(píng)定事情好壞的時(shí)候,通常喜歡以自我為中心,所以用戶體驗(yàn)設(shè)計(jì)時(shí),必須滿足用戶這種需求。使每個(gè)用戶可以體會(huì)到以“自我為中心”的優(yōu)越感,這樣用戶就會(huì)成為最忠實(shí)的客戶。例如很多人沉迷于網(wǎng)游就是因?yàn)樵诂F(xiàn)實(shí)生活中會(huì)受到各種各樣的限制,而無(wú)法實(shí)現(xiàn)真正的以自我為中心,而在網(wǎng)游的世界里卻可以完全實(shí)現(xiàn)。



在設(shè)計(jì)網(wǎng)站時(shí),設(shè)計(jì)師通常會(huì)根據(jù)網(wǎng)站內(nèi)容把網(wǎng)站劃分為不同的區(qū)塊,然后在分別進(jìn)行美化。設(shè)計(jì)師在思維定勢(shì)中 自我感覺(jué)良好,一旦突破了思維定勢(shì)就會(huì)有新的收獲。作為用戶體驗(yàn)的設(shè)計(jì)師來(lái)說(shuō),有下面兩個(gè)方面可以顛覆。


 在設(shè)計(jì)網(wǎng)站時(shí),有很多頁(yè)面都具有獨(dú)特性,例如注冊(cè)頁(yè)、登錄頁(yè)和搜索頁(yè)。這些頁(yè)面用戶只會(huì)訪問(wèn)一次或者幾次,而且這些網(wǎng)頁(yè)本身也是在網(wǎng)站發(fā)展的同時(shí)逐步完善的。所以,在用戶體驗(yàn)的設(shè)計(jì)中,這些習(xí)慣就可以顛覆的。設(shè)計(jì)師可以根據(jù)個(gè)人的喜好對(duì)這些頁(yè)面進(jìn)行設(shè)計(jì)、優(yōu)化和修改,而不會(huì)影響用戶的習(xí)慣。


在網(wǎng)站設(shè)計(jì)中需要結(jié)合當(dāng)前的潮流趨勢(shì)和的技術(shù)來(lái)表現(xiàn)網(wǎng)站,這樣才能給用戶帶來(lái)全新的體驗(yàn)。頁(yè)面中流暢惡化便捷的交互應(yīng)用,可以給用戶帶來(lái)良好的體驗(yàn)。

尊重用戶秀感可以快速讓用戶接受網(wǎng)站,同時(shí)也會(huì)由于尊重了用戶的習(xí)慣而減少產(chǎn)品對(duì)用戶的刺激,會(huì)使得用戶很難成為網(wǎng)站的忠實(shí)用戶。另一方面,如果不尊重用戶習(xí)慣,用戶可能很難馬上接受。所以在用戶體驗(yàn)設(shè)計(jì)時(shí),要根據(jù)網(wǎng)站具體情況自我權(quán)衡。

最好的辦法就是在網(wǎng)站核心用戶體驗(yàn)不變的基礎(chǔ)上,增加新功能、設(shè)計(jì)風(fēng)格逐步變化、進(jìn)行網(wǎng)站整體融合。

轉(zhuǎn)自:-zhan k


2020潘通年度流行色經(jīng)典藍(lán)出爐!附配色方案

ui設(shè)計(jì)分享達(dá)人

2020潘通流行色




一覺(jué)醒來(lái),2020 年潘通年度色就這么發(fā)布了。

2020年年度潘通色:「經(jīng)典藍(lán)」

這款被命名為為「經(jīng)典藍(lán)」(Classic Blue)的色彩沉穩(wěn)耐看,雋永優(yōu)雅,按照潘通官方的說(shuō)法,「經(jīng)典藍(lán)」仿佛暮色四合時(shí)的天空,寧神靜心,讓人駐足。「經(jīng)典藍(lán)」是一種穩(wěn)固可靠的色彩,給人確信感,撫慰著每一個(gè)期待穩(wěn)定者的心靈。

為什么會(huì)選擇這樣一種藍(lán)色,潘通色彩研究所的執(zhí)行董事 Leatrice Eiseman 在潘通官網(wǎng)上,予以詳細(xì)的解釋。

解讀「經(jīng)典藍(lán)」

「我們生活在一個(gè)亟需信念和信任的時(shí)代。潘通 19-4052 經(jīng)典藍(lán) ,這種色彩正是自信和恒久的外化體現(xiàn),這種堅(jiān)實(shí)可靠的藍(lán)色調(diào),更能與人產(chǎn)生深層的共鳴,令人心安。一望無(wú)際的藍(lán)色能夠喚起人類對(duì)于廣袤無(wú)垠夜空的無(wú)限遐想,經(jīng)典藍(lán)鼓勵(lì)著我們透過(guò)顯而易見(jiàn)的事實(shí),拓展思維,放飛想象。

經(jīng)典藍(lán)敦促著我們更加深入地思考,開闊視野,進(jìn)行更加深入的交流?!?

——Leatrice Eiseman 潘通色彩研究所執(zhí)行董事

從色彩心理學(xué)的角度上來(lái)看,藍(lán)色色相本身有著信任、信念的含義,也是的色相。在此之前,潘通曾經(jīng)多次選擇藍(lán)色作為年度色, 2000 年的時(shí)候選擇天藍(lán)色(Cerulean),在 2005 年的時(shí)候則選擇了藍(lán)綠色(Blue Turquoise),2008 年的年度色叫鳶尾藍(lán)(Blue Iris),2016 年的年度色則是靜謐藍(lán)(Serenity)。

相比于這4種藍(lán)色,「經(jīng)典藍(lán)」更為沉靜穩(wěn)重,沒(méi)有一點(diǎn)攻擊性,也不顯得沉重,輕松而易于互動(dòng)。

「經(jīng)典藍(lán)」無(wú)疑是一個(gè)略顯保守,但是非常貼合當(dāng)下語(yǔ)境的色彩。它充滿了確信感,讓人覺(jué)得安全,屏蔽了焦慮。同 2019 年充滿前進(jìn)感的「活力珊瑚橙」相比,「經(jīng)典藍(lán)」更加內(nèi)斂和篤定,悄無(wú)聲息地增加每一個(gè)的信心。

除了發(fā)布這一年度色彩之外,潘通色彩研究所還專門制定了5套配色方案,這些配色方案應(yīng)該會(huì)在接下來(lái)的 2020 年,得到更加廣泛的應(yīng)用。

「經(jīng)典藍(lán)」的5套官方配色方案

沉思

這是一套舒緩的配色方案,涼爽的藍(lán)色調(diào)和同樣柔和的暖色組合到一起,給人以沉靜的感覺(jué)。


呼吸

這套名為呼吸的配色方案當(dāng)中,加入了更為經(jīng)典的黑白色,選擇了對(duì)比更加強(qiáng)烈、更加富有活力的搭配方式。這樣的色彩搭配更容易喚起觀者的幸福感,讓你的設(shè)計(jì)更加具有田園牧歌的氣息。

沙漠暮色

「經(jīng)典藍(lán)」的靈感來(lái)源之一就是夜幕降臨時(shí)的天空。而這套名為沙漠暮色的配色方案,就與此相關(guān)。充滿金屬質(zhì)感的潘通色更能夠凸顯「沙漠」的閃亮質(zhì)感,而恰為對(duì)比色的「經(jīng)典藍(lán)」讓這套配色方案優(yōu)雅無(wú)比。

異域風(fēng)情

這套配色方案比起之前的配色更加豐富,更顯混搭,仿佛加入了天然的調(diào)味料。這種健康而自我的色彩搭配方式,讓人仿佛身在異域,不同于此地的文化,迥異與此時(shí)的感覺(jué),獨(dú)特卻令人著迷。


非傳統(tǒng)

打破常規(guī)的桎梏,選擇異乎尋常的色彩搭配,而足夠傳統(tǒng)的「經(jīng)典藍(lán)」恰恰構(gòu)成了這種搭配方式當(dāng)中,作為基礎(chǔ)的底色。這套配色方案指向時(shí)尚,突破規(guī)則,如同小品,有趣而俏皮。

「經(jīng)典藍(lán)」的9套精選配色方案

為了更加方便線上的設(shè)計(jì)師來(lái)使用這些配色方案,優(yōu)設(shè)的小編從官方提供的這些配色方案當(dāng)中,精心挑選了 9 套適合進(jìn)行數(shù)字設(shè)計(jì)的配色方案,并且標(biāo)注上了相應(yīng)的 HEX 值便于精準(zhǔn)取色,請(qǐng)盡情取用:


轉(zhuǎn)自:站酷——hicatherine86 




Emscripten教程之emcc編譯命令

seo達(dá)人

語(yǔ)法


emcc [options] file ...

這個(gè)輸入文件file,既可以是clang可以編譯的C/C++語(yǔ)言,也可以是二進(jìn)制形式的llvm bitcode或者人類可讀形式的llvm assembly文件。

參數(shù)

大部分clang或者gcc的選項(xiàng)(option)都是可以工作的,比如:

# 顯示信息 emcc --help # 顯示編譯器版本信息 emcc --version

如果想看當(dāng)前Emscripten中clang版本支持的全部選項(xiàng)列表,可以直接使用命令:
clang --help.

emcc修改的或者emcc中新的選項(xiàng)列在下面:

首先是一些編譯優(yōu)化flag,它們-O0,-O1,-O2,-Os,-Oz,-O3。

-O0:
不進(jìn)行編譯優(yōu)化(這是默認(rèn)情況)。當(dāng)你剛開始移植項(xiàng)目是推薦使用它,因?yàn)樗鼤?huì)包含許多斷言。

-O1:
簡(jiǎn)單優(yōu)化。推薦你在既想縮短編譯時(shí)間又想編譯優(yōu)化時(shí)使用。它畢竟比-O2級(jí)別的優(yōu)化編譯起來(lái)快多了。它會(huì)進(jìn)行asm.js和llvm的-O1進(jìn)行優(yōu)化,它會(huì)relooping,會(huì)刪除運(yùn)行時(shí)斷言和C++異常捕獲,它也會(huì)使得-s ALIASING_FUNCTION_POINTERS=1。

想要C++異常捕獲重新可用,請(qǐng)?jiān)O(shè)置:-s DISABLE_EXCEPTION_CATCHING=0。

-O2:
和-O1類似,不過(guò)多了JavaScript級(jí)別的優(yōu)化以及一些llvm -O3的優(yōu)化項(xiàng)。當(dāng)你想發(fā)布項(xiàng)目的時(shí)候,推薦使用本級(jí)別優(yōu)化。

-O3:
和-O2類似,不過(guò)比-O2又多了一些JavaScript優(yōu)化,而且編譯時(shí)間明顯比-O2長(zhǎng)。這個(gè)也推薦在發(fā)布版本的時(shí)候使用。

-Os:
和-O3類似,不過(guò)增加了額外的優(yōu)化以減小生成的代碼體積,代價(jià)是比-O3性能差一點(diǎn)。-Os優(yōu)化會(huì)同時(shí)影響llvm bitcode 和JavaScript文件的生成。

-Oz:
和-Os類似,不過(guò)進(jìn)一步減小了代碼體積。

-s OPTION=VALUE
傳給編譯器的所有涉及到JavaScript代碼生成的選項(xiàng)。選項(xiàng)列表,請(qǐng)見(jiàn)settings.js。

對(duì)于某個(gè)選項(xiàng)的值,不僅可以直接在emcc命令行里面設(shè)定,也可以把他們寫成json文件。比如下面,就是將DEAD_FUNCTIONS選項(xiàng)的值放到了path/to/file文件里,emcc里面?zhèn)鬟@個(gè)文件的路徑。

-s DEAD_FUNCTIONS=@/path/to/file
note: 1、文件內(nèi)容可以是:["_func1","_func2"]; 2、文件路徑必須是絕對(duì)的,不能是相對(duì)的。

-g:
這是保留調(diào)試信息flag。

  • 如果只是編譯到bitcode,那就和clang和gcc中的-g一樣。
  • 如果是要編譯到JavaScript,-g就等于-g3。

-g<level>
控制打印的調(diào)試信息數(shù)量,每一個(gè)level都是在前一個(gè)level的基礎(chǔ)上編譯的:

  • -g0:不保留調(diào)試信息。
  • -g1:保留空格,不壓縮。
  • -g2:保留函數(shù)名。
  • -g3:保留變量名,與-g同。變量名一般不是必須編譯后保留的,但是如果保留了,可以推斷變量的目的,對(duì)吧。
  • -g4:保留llvm 調(diào)試信息,這是能調(diào)試的最高級(jí)別。
note:
優(yōu)化級(jí)別越高,編譯時(shí)間越長(zhǎng)

--profiling:

--profiling-funcs:

--tracing:
啟用Emscripten的tracing API。

--emit-symbol-map:

--js-opts<level>:
允許JavaScript優(yōu)化,有兩個(gè)值:
0:不允許JavaScript優(yōu)化器允許;
1:使用JavaScript優(yōu)化器。
通常用不到我們?cè)O(shè)置這一項(xiàng), 因?yàn)樵O(shè)置-O后面的level的時(shí)候,這個(gè)項(xiàng)就能順便取到一個(gè)合適的值。

note:
有些選項(xiàng)會(huì)重寫這個(gè)flag的值,比如EMTERPRETIFY, DEAD_FUNCTIONS, OUTLINING_LIMIT, SAFE_HEAP 和 SPLIT_MEMORY會(huì)將js-opts=1,因?yàn)樗麄円蕾噅s優(yōu)化器。

--llvm-opts<level>:
啟用llvm優(yōu)化。它的取值有有:

  • 0:不使用llvm優(yōu)化
  • 1:llvm -O1優(yōu)化
  • 2:llvm -O2優(yōu)化
  • 3:llvm -O3優(yōu)化

和--js-opts<level>一樣,通常用不到我們?cè)O(shè)置這一項(xiàng), 因?yàn)樵O(shè)置-O后面的level的時(shí)候,這個(gè)項(xiàng)就能順便取到一個(gè)合適的值。

--llvm-lto<level>:
啟用llvm 連接時(shí) 優(yōu)化??梢匀≈?,1,2,3。

--closure <on>:
運(yùn)行壓縮編譯器(Closure Compiler),可能的取值有,0,1,2:

  • 0:是不啟用壓縮編譯器。
  • 1:?jiǎn)⒂谩?
  • 2:?jiǎn)⒂谩?

--pre-js <file>
生成代碼前,指定一個(gè)要把內(nèi)容添加進(jìn)來(lái)的文件。

--post-js <file>
生成代碼后,指定一個(gè)要把內(nèi)容添加進(jìn)來(lái)的文件。

--embed-file <file>
指定一個(gè)帶路徑的文件嵌入到編譯生成的js代碼里。路徑是相對(duì)于編譯時(shí)的當(dāng)前路徑。如果傳的是一個(gè)目錄,則目錄下所有文件的內(nèi)容都會(huì)被嵌入到將來(lái)生成的js代碼中。

--preload-file <name>
異步運(yùn)行編譯代碼前,指定一個(gè)預(yù)加載的文件。路徑是相對(duì)于編譯時(shí)的當(dāng)前路徑。如果傳的是一個(gè)目錄,則目錄下所有文件的內(nèi)容都會(huì)被預(yù)加載到一個(gè).data文件中。

--exclude-file <name>
從 –embed-file and –preload-file后面的目錄中排除一些文件,支持使用通配符*。

--use-preload-plugins
告訴文件打包器當(dāng)文件加載時(shí),運(yùn)行預(yù)加載插件。它用來(lái)執(zhí)行諸如使用瀏覽器解碼器解碼圖片和音頻等。

--shell-file <path>
指定要生成HTML的模板文件。

--source-map-base <base-url>

--minify 0
等于-g1。

--js-transform <cmd>
優(yōu)化之前,生成代碼之后,設(shè)定這一條命令。這條命令可以讓你修改JavaScript代碼。之后,編譯器會(huì)將修改的和未修改的一起進(jìn)行編譯優(yōu)化。

--bind
啟用bingdings編譯源代碼。bingings是Emscripten中連接C++和JavaScript代碼的一類API。

--ignore-dynamic-linking
告訴編譯器忽視動(dòng)態(tài)鏈接,之后用戶就得手動(dòng)鏈接到共享庫(kù)。

--js-library <lib>
定義除了核心庫(kù)(src/library_*)以外的js庫(kù)。

-v
打開詳細(xì)輸出。
這個(gè)設(shè)置為把-v傳給clang,并且啟用EMCC_DEBUG生成編譯階段的中間文件。它也會(huì)運(yùn)行Emscripten關(guān)于工具鏈的內(nèi)部的完整性檢查。

tip: emcc -v是診斷錯(cuò)誤的有用工具,不管你是否附加其他參數(shù)。

--cache

--clear-cache

--clear-ports

--show-ports

--save-bc PATH

--memory-init-file <on>
規(guī)定是否單獨(dú)生成一個(gè)內(nèi)存初始化文件。取值包括0和1.

  • 0:不單獨(dú)生成.mem文件。
  • 1:?jiǎn)为?dú)生成.mem文件。

-Wwarn-absolute-paths
啟用在-I和-L命令行指令中使用絕對(duì)路徑的警告。這是用來(lái)警告無(wú)意中使用了絕對(duì)路徑的。在引用非可移植的本地系統(tǒng)頭文件時(shí),使用絕對(duì)路徑有時(shí)是很危險(xiǎn)的。

--proxy-to-worker

--emrun
使生成的代碼能夠感知emrun命令行工具。當(dāng)運(yùn)行emran生成的應(yīng)用程序時(shí),這樣設(shè)置就允許stdout、stderr和exit(returncode)被捕獲。

--cpuprofiler
在生成的頁(yè)面上嵌入一個(gè)簡(jiǎn)單的CPU分析器。使用這個(gè)來(lái)執(zhí)行粗略的交互式性能分析。

--memoryprofiler
在生成的頁(yè)面上嵌入內(nèi)存分配跟蹤器,使用它來(lái)分析應(yīng)用程序Emscripten堆的使用情況。

--threadprofiler
在生成的頁(yè)面上嵌入一個(gè)線程活動(dòng)分析器。當(dāng)進(jìn)行多線程編譯時(shí),使用它來(lái)分析多線程應(yīng)用程序。
--em-config

--default-obj-ext .ext

--valid-abspath path
設(shè)置一個(gè)絕對(duì)路徑的白名單,以防止關(guān)于絕對(duì)路徑的警告。

-o <target>
編譯輸出的文件格式。target可以取值為:

  • name.js:JavaScript文件;
  • name.html:HTML+js文件。把js單獨(dú)生成是為了減小頁(yè)面加載時(shí)間。
  • name.bc:llvm bitcode。這是默認(rèn)值。
  • name.o:和上面一樣。
note:
如果你用了--memory-init-file,則還會(huì)從js文件中再單獨(dú)分出一部分代碼為.mem文件。

-c
生成llvm bitcode代碼,而不是JavaScript。

--separate-asm
把a(bǔ)sm.js文件單獨(dú)生成到一個(gè)文件中。這樣可以減少啟動(dòng)時(shí)的內(nèi)存加載。

--output_eol windows|linux
規(guī)定生成的文本文件的行尾,如果是–output_eol windows,就是windows rn行尾,如果是–output_eol linux,則生成Linux行尾的文本文件。

--cflags

環(huán)境變量


emcc會(huì)受到幾個(gè)環(huán)境變量的影響,如下:

  • EMMAKEN_JUST_CONFIGURE
  • EMMAKEN_JUST_CONFIGURE_RECURSE
  • EMCONFIGURE_JS
  • EMCONFIGURE_CC
  • EMMAKEN_CXX
  • EMMAKEN_COMPILER
  • EMMAKEN_CFLAGS
  • EMCC_DEBUG

這幾個(gè)里面比較有意思的是EMCC_DEBUG。比如,如果你在編譯之前設(shè)置set EMCC_DEBUG=1,那么編譯的時(shí)候會(huì)把編譯過(guò)程的調(diào)試信息和編譯各個(gè)階段的中間文件輸出到一個(gè)臨時(shí)目錄,這算是給開發(fā)者提供一些編譯期間的幫助或者說(shuō)調(diào)試信息吧。


Emscripten主題系列文章是emscripten中文站點(diǎn)的一部分內(nèi)容。
第一個(gè)主題介紹代碼可移植性與限制
第二個(gè)主題介紹Emscripten的運(yùn)行時(shí)環(huán)境
第三個(gè)主題第一篇文章介紹連接C++和JavaScript
第三個(gè)主題第二篇文章介紹embind
第四個(gè)主題介紹文件和文件系統(tǒng)
第六個(gè)主題介紹Emscripten如何調(diào)試代碼

界面該不該加彈窗?來(lái)看高級(jí)設(shè)計(jì)師的總結(jié)

資深UI設(shè)計(jì)者

這幾天在工作中處理了一個(gè)歷史遺留問(wèn)題:彈窗適配,幾經(jīng)折騰終于落定發(fā)包。于是我也趁著這個(gè)機(jī)會(huì)把彈窗體系梳理研究了一遍。

我們常見(jiàn)的彈窗有對(duì)話框,提示框,有時(shí)候在需求溝通中經(jīng)常會(huì)聽到產(chǎn)品同學(xué)說(shuō),給這里加個(gè)彈窗,那里加個(gè)提示框吧。實(shí)際上,這個(gè)彈窗到底該不該加?這個(gè)彈窗承載的是提示說(shuō)明文字內(nèi)容,還是需要引導(dǎo)用戶下一步操作?接下來(lái)我們從彈窗的屬性來(lái)聊聊我們的彈窗到底在什么時(shí)候加比較合適?用什么形態(tài)展示體驗(yàn)會(huì)更好?

彈窗體系:模態(tài)與非模態(tài)

模態(tài)彈窗:是指在用戶任務(wù)中,終止了用戶的上一步行為。也就是說(shuō),這個(gè)模態(tài)彈窗必須要用戶操作才可以進(jìn)行下一步動(dòng)作。所以在產(chǎn)品設(shè)計(jì)中,我們通常會(huì)用模態(tài)彈窗引導(dǎo)用戶去做我們要他做的操作。

常見(jiàn)的模態(tài)彈窗有這幾種:對(duì)話框、動(dòng)作欄、浮層。

對(duì)話框:對(duì)話框主要是給用戶提供選項(xiàng)、相關(guān)的操作。另外,在一些對(duì)話框中,也可以展現(xiàn)圖片、頭像、步驟圖、其它輸入項(xiàng)等。

動(dòng)作欄:常見(jiàn)的動(dòng)作欄一般會(huì)出現(xiàn)屏幕下方,比如選擇某個(gè)內(nèi)容時(shí)候,出現(xiàn)的選擇。

浮層:彈出窗口,浮動(dòng)于頂層窗口,氣泡。

非模態(tài)彈窗:是指不強(qiáng)制用戶操作,他的作用相當(dāng)于內(nèi)容信息提示,他的出現(xiàn)不打擾用戶的當(dāng)前操作,并且有時(shí)間限制,在一定時(shí)間里能自動(dòng)消失。比如「xxx 功能已更新哦」,這種提示是不需要用戶點(diǎn)擊操作,讓用戶看到就可以了。

常見(jiàn)的非模態(tài)彈窗有這幾種:toast/hud、snackbar、notice(通知)

toast/hud:iOS 用戶更習(xí)慣于在中間感知反饋信息,通常在信息提示完 3 秒左右后會(huì)消失,安卓通常會(huì)出現(xiàn)在屏幕頂部或者下部,不會(huì)遮擋主體內(nèi)容。需要注意的是 toast 只有文字,hud 是可以帶有圖標(biāo)的。

snackbar;可以理解為加強(qiáng)版的 Toast

notice:系統(tǒng)消息、通知推送,也是不干擾用戶行為,有消失時(shí)間,是非模態(tài)的彈窗。

什么場(chǎng)景下使用什么彈框

了解完彈窗體系后,我們就可以針對(duì)具體場(chǎng)景來(lái)看產(chǎn)品同學(xué)說(shuō)加個(gè)彈窗到底合適不合適?我們可以從下面的幾個(gè)使用場(chǎng)景來(lái)看用什么樣的彈窗合適。

1. 重要打斷用戶操作

在一些重要操作,避免用戶操作失誤。不過(guò)目前很多人都覺(jué)得這類彈框有利有弊,有的地方出現(xiàn)得不合時(shí)宜,打斷了用戶的使用狀態(tài)。所以在設(shè)計(jì)這類彈框時(shí)要非常謹(jǐn)慎,得通過(guò)多研究確認(rèn)是否有必要出現(xiàn)。

對(duì)話框相對(duì)來(lái)說(shuō)比動(dòng)作欄更重要,因?yàn)樵谝曈X(jué)中心,更能強(qiáng)烈引起用戶的重視,對(duì)于十分重要的內(nèi)容需要打斷用戶上一步任務(wù)的,采用對(duì)話框的彈窗,對(duì)于不是特別重要信息露出又需要終止用戶上一步動(dòng)作的情況下,一般采用動(dòng)作欄彈框。

2. 定制化廣告彈窗

如功能更新、升級(jí)、優(yōu)惠券彈窗。這一類一般是強(qiáng)制用戶看到的,要展示出與眾不同的特色,在視覺(jué)上比較突出,會(huì)使用模態(tài)的彈窗浮層形式。

3. 給予一定提示

比如提示用戶狀態(tài)、信息、反饋,確保用戶知曉自己所處的狀態(tài),并可以做出相應(yīng)的措施。一般使用非模態(tài)的彈窗。

4. 用戶操作反饋

出現(xiàn)在用戶操作完之后的反饋,比如提醒用戶頁(yè)面正在加載中、保存成功、已刪除、已刷新等等。

可以不用彈窗的反饋例子:完成頁(yè)

比如已支付成功、下載完畢、簽到成功,這一類是告訴你上個(gè)動(dòng)作結(jié)束了,下一步不需要進(jìn)行引導(dǎo)了,這種反饋大多數(shù)都不采用彈窗形式展現(xiàn)了。

需要注意事項(xiàng)

1. 層級(jí)關(guān)系

彈框是內(nèi)容和導(dǎo)航的補(bǔ)充,用于通知、操作菜單、成功或加載狀態(tài)的 toast,他是寫在蒙層上面的一層內(nèi)容。

2. 適配方式

下面我們需要了解的是這幾種彈窗在開發(fā)那的實(shí)現(xiàn)形式。我們可以理解為 2 種形式:

一種是開發(fā)直接用系統(tǒng)的接口,缺點(diǎn)是具有不可定制,形式美觀度不夠好。

另一種是開發(fā)用代碼會(huì)單獨(dú)寫出一個(gè)模態(tài)彈框系統(tǒng),這套系統(tǒng)與整體設(shè)計(jì)語(yǔ)言具有一致性,可以復(fù)用在各個(gè)任務(wù)中,可以定制化設(shè)計(jì)。

需要注意的是,代碼寫出來(lái)的模態(tài)樣式要考慮在不同機(jī)型的適配情況,考慮不同機(jī)型的邊界。這個(gè)適配也有兩種實(shí)現(xiàn)形式,一種是固定寬高尺寸,展示在不同機(jī)型尺寸中,另一種是常用的等比例縮放。這個(gè)就需要開發(fā)與設(shè)計(jì)進(jìn)行密切的溝通,能盡量合理地在不同機(jī)型展現(xiàn)更加合適,避免出現(xiàn)極限的情況。

我們是這樣操作的,為了避免尺寸比例混亂的情況,會(huì)設(shè)計(jì)一個(gè)彈窗的寬高尺寸范圍,開發(fā)同學(xué)代碼寫出的這套彈窗的適配在各個(gè)機(jī)型中,是在一定縮放比例下,適用各個(gè)不同情況下的視覺(jué)展示。這套彈窗可以調(diào)用在首頁(yè)引導(dǎo)、升級(jí)等各個(gè)頁(yè)面的彈窗設(shè)計(jì)中。

文章來(lái)源:優(yōu)設(shè)    作者:詠舍

設(shè)計(jì)師要懂的“產(chǎn)品導(dǎo)流”背后知識(shí)點(diǎn)。

ui設(shè)計(jì)分享達(dá)人

設(shè)計(jì)師不僅要低頭畫圖,也要了解“圖”背后的邏輯和需求本質(zhì) 。嗯,下面用直白的語(yǔ)言跟大家聊一波相關(guān)知識(shí)點(diǎn)。




說(shuō)到產(chǎn)品導(dǎo)流,大家都不陌生。



身為設(shè)計(jì)師,應(yīng)該經(jīng)常聽到產(chǎn)品同學(xué)提需求:“在這里給XX功能加個(gè)入口吧”,“這個(gè)宣傳新產(chǎn)品的banner可以再大一些嗎”,“這個(gè)場(chǎng)景可以宣傳下我們的新功能誒”…


很多設(shè)計(jì)師在不了解背景的情況下往往內(nèi)心是排斥的,心想怎么老是在犄角旮旯里加這么多小廣告啊,都不關(guān)心用戶體驗(yàn)的嘛,balabala...



但是有誰(shuí)在吐槽時(shí),深究其背后的原因呢,舉起小爪子讓大牙康康。比如:什么是產(chǎn)品導(dǎo)流?為什么需要產(chǎn)品導(dǎo)流?它有哪些的形式?如何做效果好又能兼顧產(chǎn)品體驗(yàn)?zāi)兀?



最近正好在搞相關(guān)的事情,所以擼一篇文章,分享一波相關(guān)思考。





什么是產(chǎn)品導(dǎo)流? 



“產(chǎn)品導(dǎo)流”指的是:一款產(chǎn)品采用某種形式,增加對(duì)另一款產(chǎn)品/功能的曝光,使自己的用戶群體(流量)去使用或探索另一款產(chǎn)品/功能。



眉頭一緊,感覺(jué)上面的描述有點(diǎn)拗口,善良的牙嘗試著用大白話,把導(dǎo)流和被導(dǎo)流的關(guān)系,分為兩種形式解釋下:1.父子關(guān)系;2.兄弟關(guān)系。

1.父子關(guān)系


畫風(fēng)是:“爸爸,大腿借我一抱吧”,比如:“抖音”里增加“多閃”入口,“微信”里增加“微視”入口,通過(guò)自家體量大的產(chǎn)品(爸爸)給自己導(dǎo)流。



2.兄弟關(guān)系


畫風(fēng)是:“外面環(huán)境惡劣,是好兄弟,就互導(dǎo)一下吧”,比如:京東的會(huì)員可以享受愛(ài)奇藝的會(huì)員福利,同輩之間互相導(dǎo)流。



所以,這么說(shuō)就好理解什么是產(chǎn)品導(dǎo)流,和它們之間的關(guān)系了吧。






產(chǎn)品為什么需要導(dǎo)流? 


產(chǎn)品之間導(dǎo)流的目的,大致分為兩種:1.獲得新增;2.企業(yè)生態(tài)。




1.獲得新增



試想你費(fèi)勁巴拉的搞了個(gè)新產(chǎn)品,沒(méi)人知道,也沒(méi)人來(lái)用,就算你產(chǎn)品做的再妖嬈,是不是也白搭,更不用說(shuō)后續(xù)的商業(yè)變現(xiàn)之類的。


所以,這個(gè)時(shí)候如果你有一個(gè)相對(duì)成熟的產(chǎn)品(爸爸)大腿,讓它給你導(dǎo)流,實(shí)現(xiàn)一波冷啟動(dòng),是順利邁過(guò)第一個(gè)坎兒的手段。


當(dāng)然,在目前激烈的競(jìng)爭(zhēng)環(huán)境下,不僅是新產(chǎn)品需要導(dǎo)流,擴(kuò)大規(guī)模和獲得新增流量,是每一個(gè)互聯(lián)網(wǎng)企業(yè)里產(chǎn)品或運(yùn)營(yíng)同學(xué)OKR中必不可少且另他們頭禿的一項(xiàng)指標(biāo)。



所以,不管是新產(chǎn)品,還是相對(duì)成熟的產(chǎn)品,都需要通過(guò)導(dǎo)流的手段,來(lái)獲得新增用戶。





2.企業(yè)生態(tài)


“產(chǎn)品導(dǎo)流”除了為了獲得新增,還有就是為了企業(yè)生態(tài)的體驗(yàn)閉環(huán)。


做成一款產(chǎn)品的公司很牛逼,但是如果能夠持續(xù)做出一系列牛逼產(chǎn)品的公司,一定有成功的基因,或者有一套做事兒的邏輯。


比如:亞馬遜的飛輪效應(yīng),要想形成飛輪,打造自己的生態(tài),業(yè)務(wù)上就得有自己的閉環(huán),并且閉環(huán)上的每一個(gè)步驟都可以為其它步驟助力,其次就是以第一個(gè)飛輪作為根據(jù)地,拉動(dòng)周邊其它業(yè)務(wù),形成第二個(gè)或者更大的飛輪。


這個(gè)時(shí)候,就需要各個(gè)業(yè)務(wù)線之間的互通及聯(lián)動(dòng)(互相導(dǎo)流)了。






比如,阿里也是在打造自己的生態(tài),產(chǎn)品之間相互賦能和聯(lián)動(dòng),一旦建立起來(lái)這些基礎(chǔ)設(shè)施后,壁壘和護(hù)城河就非常堅(jiān)固。



整體來(lái)看,“產(chǎn)品導(dǎo)流”不僅有助于新產(chǎn)品獲得冷啟動(dòng),還有助于相對(duì)成熟的產(chǎn)品擴(kuò)大規(guī)模,同時(shí)從整個(gè)企業(yè)生態(tài)來(lái)看,矩陣產(chǎn)品的互相導(dǎo)流,協(xié)同發(fā)揮優(yōu)勢(shì),也有利于打造體驗(yàn)閉環(huán),建立企業(yè)壁壘。





產(chǎn)品導(dǎo)流的形式有哪些? 



目前,市面上導(dǎo)流形式大致有以下幾種:1.場(chǎng)景化導(dǎo)流;2.會(huì)員制捆綁;3.固定入口扶持;4.廣告位推薦。


1.場(chǎng)景化導(dǎo)流


場(chǎng)景化導(dǎo)流,翻譯成大白話就是,讓導(dǎo)流的過(guò)程更加無(wú)縫銜接。


這種做法,能兼顧用戶體驗(yàn),同時(shí)對(duì)導(dǎo)流量也更有利,一般用于“功能”層面的互通。比如,用戶正好需要XX產(chǎn)品或功能,你見(jiàn)縫插針的增加導(dǎo)流入口,同時(shí)功能和設(shè)計(jì)元素也跟母產(chǎn)品保持一致,這樣用戶不會(huì)覺(jué)得干擾或反感。


類似這種做法的產(chǎn)品比如:QQ&微云,抖音&剪映;視頻號(hào)&公眾號(hào)...


QQ&微云


我們用QQ聊天時(shí),好友之間總會(huì)有一些分享文件的行為,有“分享”就有“接收”,有“接收”就有“保存”的訴求,在這種場(chǎng)景下,QQ聊天頁(yè)面里用戶長(zhǎng)按當(dāng)前“文件”,就可以將文件保存到“微云”上。






除此之外,QQ首頁(yè)點(diǎn)擊左上角的側(cè)邊欄,能看到一列與“我”相關(guān)的功能入口,其中有一項(xiàng)是“我的文件”,點(diǎn)擊進(jìn)去后就能看到“我”在QQ里消費(fèi)過(guò)的歷史文件。


同時(shí)還有“微云”小程序的入口,點(diǎn)擊直接跳轉(zhuǎn)至微云小程序(做的很服帖,跟自體脂肪填充似的,導(dǎo)流過(guò)程不會(huì)讓用戶感到突兀)。




除此之外,微云作為基礎(chǔ)的云存儲(chǔ)能力,也在跟騰訊系的QQ音樂(lè)互通,滿足用戶將下載的歌曲保存到“微云”。





這么做,不僅滿足了QQ音樂(lè)用戶的存儲(chǔ)訴求,還提升了QQ音樂(lè)的登錄率(用戶想要使用音樂(lè)網(wǎng)盤,必須先登錄),同時(shí)增加了QQ音樂(lè)用戶粘性(用戶一旦在一款產(chǎn)品上存下自己的東西,就會(huì)存在遷移成本),最后還為微云帶來(lái)了新增用戶(更多QQ的用戶使用微云進(jìn)行存儲(chǔ)),擴(kuò)大其規(guī)模。


這樣的互通/導(dǎo)流手段,就實(shí)現(xiàn)了產(chǎn)品間1+1大于2的效果。





抖音&剪映


刷抖音的兄弟們應(yīng)該經(jīng)常見(jiàn)很多視頻下面有一個(gè)小標(biāo)簽,叫“剪映-抖音出品”(意味著博主的那條短視頻是用剪映做的)。


很多人看到好玩好看新奇的短視頻,都會(huì)覺(jué)得真香我也要剪同款,因此抖音就是這種恰到好處的投喂給你,點(diǎn)擊標(biāo)簽,直接跳轉(zhuǎn)到下載頁(yè),如果已經(jīng)安裝了的用戶,可以直接進(jìn)行剪同款。




抖音不僅送你出去,還負(fù)責(zé)接你回來(lái),一條龍服務(wù)給你安排(導(dǎo))的明明白白的。


比如,當(dāng)你剪輯完成后,就引導(dǎo)你回抖音里分享,畢竟他們不希望你剪完之后保存到本地然后美滋滋去競(jìng)品(快手之類的)分享吧。





他們的目的就是,不管你怎么折騰,也逃不出我大字節(jié)的手掌。


包括,最近的視頻號(hào),發(fā)完視頻號(hào)還能附帶公眾號(hào)的鏈接,高頻帶低頻,通過(guò)公域流量,幫助作者往私域?qū)Я鳎槺阕鰝€(gè)廣告,快去關(guān)注我的視頻號(hào):大牙兄,哈哈哈)。





所以微信現(xiàn)在的導(dǎo)流方式是:視頻號(hào)能夠鏈公眾號(hào),公眾號(hào)能夠掛小程序,小程序又能開直播,直播又能去變現(xiàn)。


整體來(lái)看,場(chǎng)景化的進(jìn)行導(dǎo)流,更適合“功能”層面的互通,滿足用戶和企業(yè)的訴求,還平衡了產(chǎn)品體驗(yàn),相對(duì)更加絲滑。





2.會(huì)員制捆綁


會(huì)員制捆綁,已經(jīng)成為互聯(lián)網(wǎng)常見(jiàn)導(dǎo)流+變現(xiàn)的方式了,指的就是用戶在你這買了會(huì)員,在別的合作產(chǎn)品里也享有它們的特權(quán)福利。利用用戶“愛(ài)占小便宜”的心理,產(chǎn)品間互相導(dǎo)流。


比如我們常見(jiàn)的方式有:88會(huì)員、聯(lián)合會(huì)員...

88會(huì)員


開過(guò)88會(huì)員的同學(xué)舉個(gè)爪!好,放下吧,反正我也看不到。


88會(huì)員算是阿里生態(tài)體系的重要布局了,也就是你開通了88會(huì)員,阿里系的很多產(chǎn)品你可以劈著叉去用,而且很劃算。


比如,餓了么會(huì)員每年108元,蝦米每年128元,優(yōu)酷每年也差不多180元,還不算其它的,這些價(jià)格在用戶心中已經(jīng)是錨定價(jià)格,加到一起怎么著也大1000了吧,跟88元一比,穩(wěn)賺不賠??!






我們來(lái)看看88會(huì)員里包含什么,各種阿里系的七大姑八大姨的產(chǎn)品都包含進(jìn)去了,從吃飯、購(gòu)物、娛樂(lè)、旅行再到看病,生活里的方方面面都包含了。





所以,我身邊的人開了88會(huì)員后,畫風(fēng)是這樣的:明明想用QQ音樂(lè)聽歌呢,不!我是88會(huì)員!我要去用蝦米!明明想用美團(tuán)點(diǎn)個(gè)外賣呢,不!我要去餓了么!明明我想去愛(ài)奇藝看看視頻呢,不!我要去優(yōu)酷看?。ú贿^(guò)他們?nèi)绻肟础暗S色長(zhǎng)裙蓬松的頭發(fā)”還是得去愛(ài)奇藝)。


可以看出,阿里用這套會(huì)員體系,把用戶死死的框在(導(dǎo)流)自己的產(chǎn)品矩陣中了,產(chǎn)品群們被自己爸爸carry的明明白白的。





聯(lián)合會(huì)員


聯(lián)合會(huì)員跟上面說(shuō)的88會(huì)員有點(diǎn)類似了,只是88是自己企業(yè)內(nèi)產(chǎn)品的互相導(dǎo)流,而很多聯(lián)合會(huì)員是跨公司,跨界整合資源。 

比如,京東的PLUS京典卡,就是跨公司跟別人合作,有和騰訊視頻、酷狗音樂(lè)、喜馬拉雅、攜程、愛(ài)奇藝的聯(lián)合會(huì)員。 





其實(shí)也能看出,京東和其它產(chǎn)品這么搞,也是對(duì)阿里系的反擊,沒(méi)有爸爸,只能兄弟之間互相導(dǎo)流,抱團(tuán)取暖,一致對(duì)外了。



3.固定入口扶持


固定入口扶持,一般出現(xiàn)在規(guī)模較大的平臺(tái)級(jí)產(chǎn)品上,它們利用自己的流量?jī)?yōu)勢(shì),在固定位置給自己的子孫/兄弟產(chǎn)品們導(dǎo)流。


扶持下一代,努力做到子又生孫,孫又生子,子子孫孫無(wú)窮盡也。



比如:淘寶、支付寶、美團(tuán),在首頁(yè)金剛位給自己企業(yè)相關(guān)產(chǎn)品導(dǎo)流,同時(shí)也補(bǔ)足/豐富自己產(chǎn)品的其它場(chǎng)景。






比如,各家的小程序,也是相對(duì)固定的入口給自己的產(chǎn)品或第三方產(chǎn)品進(jìn)行導(dǎo)流,完善自己的產(chǎn)品生態(tài)。






4.廣告位推薦


廣告位推薦的導(dǎo)流方式應(yīng)該是大家非常熟悉的了,它區(qū)別于上面的導(dǎo)流方式的核心點(diǎn)在于一般是產(chǎn)品/活動(dòng)的介紹,引導(dǎo)安裝之類的,形式大致分為:閃屏、 banner、角標(biāo)、feed流...




閃屏

閃屏指的是用戶在使用產(chǎn)品時(shí),打開的第一個(gè)啟動(dòng)頁(yè)。


用它進(jìn)行導(dǎo)流的優(yōu)點(diǎn)就是全屏沉浸展示,用戶的目光就聚焦到這里了,但缺點(diǎn)是:時(shí)間短,如果在短時(shí)間內(nèi)傳達(dá)不清晰的話,很容易一閃而過(guò),錢就白花了。



所以,閃屏的導(dǎo)流,最好找重疊用戶較高的產(chǎn)品,比如,在汽車之家閃屏投個(gè)刮胡刀啊,在親寶寶閃屏投奶粉啊之類的,用戶在短時(shí)間內(nèi)好接受好理解。


投放越精準(zhǔn),對(duì)產(chǎn)品體驗(yàn)和對(duì)廣告主的導(dǎo)流效果越好。





角標(biāo)

角標(biāo)導(dǎo)流這種形式,在電商類平臺(tái)搞活動(dòng)的時(shí)候經(jīng)常見(jiàn),各種小角標(biāo)紛紛出來(lái)拉客,角標(biāo)的著陸頁(yè)一般都是活動(dòng)H5類型的居多。




這種形式的優(yōu)點(diǎn)在于能夠一直常駐,不像閃屏,閃一下就沒(méi)了,它只要用戶不手動(dòng)關(guān)閉就一直在這杵著。


但對(duì)于設(shè)計(jì)師的挑戰(zhàn)就是,如何在小小的區(qū)域里,把被導(dǎo)流的產(chǎn)品/活動(dòng)核心利益點(diǎn)傳遞清楚,吸引用戶點(diǎn)擊。

而且,這種形式也要謹(jǐn)慎使用,如果亂八七糟的飚小角標(biāo)也挺傷害體驗(yàn)的。





Banner


Banner位的導(dǎo)流大家更常見(jiàn)了,一般都是自己家產(chǎn)品/業(yè)務(wù),夾雜著第三方廣告推廣,無(wú)限輪播著進(jìn)行導(dǎo)流,大家都太熟悉了,我就不啰嗦的說(shuō)了。





Feed流


一般資訊類或者社區(qū)類產(chǎn)品,喜歡用這種方式進(jìn)行導(dǎo)流,因?yàn)橛脩粼谄洚a(chǎn)品上的核心操作就是擼Feed。


所以,擼著擼著給用戶投喂一個(gè)通過(guò)算法推薦的廣告,然后再把廣告包裝成跟Feed內(nèi)容很相近的設(shè)計(jì),吸引(pian)用戶點(diǎn)進(jìn)去,從而進(jìn)行導(dǎo)流。


比如: 知乎、最右、百度、頭條 ...




不得不說(shuō)第二張“最右”的推薦內(nèi)容,讓我不禁撫摸了下自己的胡子。

不過(guò)除了最右給我推“大胸妹子”,百度給我推“游戲”,頭條給我推“汽車”,難道在他們的算法中,我是個(gè)油膩中年男???


看來(lái)他們的人工還不夠智能,機(jī)器還得再學(xué)習(xí)學(xué)習(xí),大牙對(duì)你萌hin失望。





總結(jié)  


總的來(lái)說(shuō),“產(chǎn)品導(dǎo)流”不僅有助于新產(chǎn)品獲得冷啟動(dòng),還有助于相對(duì)成熟的產(chǎn)品擴(kuò)大規(guī)模,同時(shí)從整個(gè)企業(yè)生態(tài)來(lái)看,矩陣產(chǎn)品的互相導(dǎo)流,協(xié)同發(fā)揮優(yōu)勢(shì),也有利于打造體驗(yàn)閉環(huán),建立企業(yè)壁壘。


形式大致分為:1.場(chǎng)景化導(dǎo)流,無(wú)縫銜接式的體驗(yàn),讓用戶在產(chǎn)品功能間絲滑的流轉(zhuǎn);2.會(huì)員制捆綁,低價(jià)獲得跨產(chǎn)品福利,利用用戶占小便宜的心理跨界導(dǎo)流;3.固定入口扶持,平臺(tái)型產(chǎn)品常用手段,豐富自己產(chǎn)品場(chǎng)景又能給自己小弟帶流量;4.廣告位推薦,靈活可配形式多變的導(dǎo)流方式(閃屏、 banner、角標(biāo)、feed流)但搞不好很傷用戶體驗(yàn)。



但是,不管什么導(dǎo)流形式,導(dǎo)進(jìn)來(lái)的用戶,只有看到滿足他們?cè)V求和預(yù)期的著陸頁(yè)才是最關(guān)鍵的,不然就算給你再大的流量入口,用戶搞不明白該走還是會(huì)走。


同時(shí),也不能為了導(dǎo)流而不分場(chǎng)景的尬導(dǎo),這樣很容易傷害原有產(chǎn)品的用戶體驗(yàn),撿了芝麻,丟了西瓜。

轉(zhuǎn)自:站酷-蘇大牙


日歷

鏈接

個(gè)人資料

存檔

新密市| 平武县| 滕州市| 淅川县| 商南县| 凌云县| 黄骅市| 大名县| 武穴市| 平武县| 武川县| 乡宁县| 长沙市| 宜宾市| 西藏| 棋牌| 九江县| 措美县| 阿合奇县| 西宁市| 青海省| 平乡县| 德安县| 邹平县| 大新县| 宝鸡市| 宜都市| 巴彦淖尔市| 隆林| 巴楚县| 龙山县| 鄂尔多斯市| 延寿县| 河池市| 靖州| 方正县| 汉阴县| 偏关县| 子长县| 石狮市| 甘南县|