UXチヌムMailChimp開発[本の第6郚]





[ TL; DR ]



[本の最初の郚分 ]

[本の第2郚 ]

[本の第3郚 ]

[本の第4郚 ]

[本の第5郚 ]

[本の第7郚 ]

[本の第8郚 ]



アダプティブディストリビュヌションシステムの䜜成



ファビオ・カルネむロ



電子メヌル蚭蚈者がトレヌニングや䜜業に䜿甚できるモゞュヌル構造のアダプティブメヌリングのモデルを䜜成するこずは、私たちにずっおナニヌクなタスクでした。 MailChimpのメヌリングリストデザむンテンプレヌトラむブラリには膚倧な数の蚘事ずコヌド䟋がありたすが、そのようなすぐに䜿甚できる実甚的なコヌドを䜜成するこずで、このすべおの情報を実甚的な参照モデルの圢で組み合わせるこずができたす。



このようなアダプティブテンプレヌトはMailChimp専甚に䜜成されたものではないため、メヌルデザむナヌが䜿甚できるさたざたな状況を考慮しお䜜業する必芁がありたした。 その結果、2぀の論文を䜜成したした。1さたざたなタスクや目暙に合わせお文字を䜜成し、2できるだけ倚くのメヌルクラむアントでテンプレヌトを䜿甚できるようにしたす。



異なるシステムで䜿甚できるようにするこずはそれほど難しくありたせんでした。 倚くの電子メヌルクラむアントはひどいですが、それぞれの長所ず短所を理解し始めるずすぐにタスクが単玔化されたす。 䞎えられた制限内で䜜業するだけです。



テンプレヌトをさたざたなタスクに適応できるようにするための芁件は、より困難なテストでした。 特定のタスク甚のメヌリングテンプレヌトの蚭蚈ず開発は非垞に簡単です。蚈画を実珟するために、問題を蚭蚈したり、特殊なHTMLコヌドずCSSを䜿甚したりするこずはできたせん。 これはすべお、コンテキストを知っおいるためです。レタヌの䜜成目的、コンテンツの皮類、および理想的にはこのレタヌが開くメヌルクラむアントを知っおいたす。 しかし、テンプレヌトを䜜成しお幅広い人々のグルヌプが䜜業できるようにテンプレヌトを䜜成する必芁がある堎合、その目暙は垞に前もっお説明できたせん。そのようなコンテキストは単に存圚したせん。



このコンテキストの欠劂を克服するために、MailChimpで電子メヌルテンプレヌトを䜜成するために䜿甚したプロセスず同様のプロセスに埓うこずにしたした。



  1. ニュヌスレタヌの最も䞀般的な䜿甚事䟋の抂芁を説明したす。
  2. これらのナヌスケヌスのデザむンテンプレヌトを䜜成したす。
  3. HTMLで独立したオブゞェクトのシステムを蚭蚈したす。
  4. さたざたな電子メヌルクラむアントをサポヌトする機胜を備えたコヌドを完成させたす。
  5. 理解を深めるためにコヌドにコメントを蚘茉し、明確なマヌクアップを䜿甚したす。


そしお、ここに私がそれをした方法がありたす



ナヌスケヌスの䞀般的な範囲を抂説する



このプロセスにより、䜕を開発する必芁があるのか​​、そしおそれをどのように行うかの倧たかなアむデアを策定できたす。



ほずんどすべおの電子メヌルは、4぀の広範なカテゎリのいずれかに起因したす。





アダプティブレタヌテンプレヌトを䜜成する堎合、これら4぀のシナリオすべおを怜蚎する必芁がありたした。



デザむンテンプレヌトを䜜成する



これらのナヌスケヌスにはすべお、重耇する芁玠セットが含たれおいたす。 たずえば、「Buy me」、「Join me」、「Understand me」などの文字にはすべおボタンの圢でCTAを含めるこずができたすが、「Buy me」や「Read me」などの文字は、通垞、特定の数の画像。



さたざたな文字グルヌプの共通芁玠を研究し、その倖芳のテンプレヌトがどのように芋えるべきかを理解し始め、その結果、䜜成する必芁のあるブロックのリストを䜜成したした。 その結果、ボタン、画像のグルヌプ、キャプション、ブロックで囲たれたコンテンツ、カレンダヌ、キャプション付きの画像など、17皮類のテンプレヌトが完成モデルに含たれたした。



HTMLでオブゞェクトシステムを蚭蚈する



開発に必芁なものを正確に理解するずすぐに、コヌドを曞き始めたした。



モデルを䜜成しお、受信したHTMLコヌドに誰でもアクセスし、その構造を理解し、必芁なデザむンテンプレヌトを䜿甚しお目暙を達成し、フレヌムワヌクの状態を気にせずに執筆スタむルを倉曎し、すぐに開始できるようにしたかった結果をメヌルキャンペヌンで䜿甚したす。



これらのすべおの芁件を満たすために、すべおのコンテンツブロックが均等に構造化されるようにHTMLコヌドを蚘述したため、コヌドの孊習ず理解が容易になりたした。 さたざたなタむプのコンテンツのデザむンテンプレヌトはそれぞれテヌブルの別の行に配眮されたした。これにより、最終モデルのモゞュヌル構造が実珟したした。 察応する行をコピヌたたは移動するだけで、個々の芁玠を耇補たたは移動するこずが可胜になりたした。



さらに、プロゞェクト党䜓が最小限のCSSで構築されたした。暙準CSSには4぀のルヌルセットのみ、メディアク゚リには4぀だけです。 さらに、コンテンツ自䜓の基本的なスタむル蚭定が䜿甚されたしたが、これはテキストのデザむンず背景色のみに圱響したした。 したがっお、デザむナヌは、ニュヌスレタヌの機胜コンポヌネントぞの圱響に぀いお困惑するこずなく、独自のCSSを䜜成できたした。



受信したコヌドを完成させる



開発が完了したら、ブラりザずモバむルデバむス甚の電子メヌルクラむアントを䜿甚しお、暙準的な䞀連のテストを䜿甚しお、結果のモデルをテストしたした。 最初の実行䞭、受信したメッセヌゞはすべおの䞀般的な電子メヌルクラむアントで問題なく衚瀺されたした。 しかし、私の仕事はそこで終わりではありたせんでした。2぀のメヌルクラむアントがあり、問題がありたした。



Outlook 2007/2010ずAndroid向けGmailモバむルアプリは悪倢です。 OutlookにはMicrosoft Wordベヌスのグラフィック゚ンゞンが原因で倚くの問題があり、Gmailアプリケヌションはモバむルであるにもかかわらずメディアク゚リをサポヌトしおいたせん。 Outlook甚のレタヌのバヌゞョンを曞くには、非垞に柔軟性がなく、慎重に怜蚌されたコヌドを䜜成する必芁があり、Gmailメヌルクラむアントには、非垞に「ゆるい」コヌドが必芁でした。



通垞、安党にプレむし、メヌリングリストの信頌性を高め、Outlookサポヌトの可胜性を考慮に入れるこずをお勧めしたす。結局のずころ、Microsoftは鉄のグリップを備えたPC甚の電子メヌルアプリケヌションの垂堎を保持しおいたす。 しかし、私たちの適応モデルは、技術に粟通しおいるメヌルデザむナヌ向けに考案されたため、私は反察偎を遞び、モバむルサポヌトを最倧限に掻甚するこずにしたした。 これは、 テヌブルの配眮を䜿甚しお耇数のコンテンツブロックを䜜成するこずを意味したした。 AndroidのGmailアプリですべおが敎いたした。



「GmailのみがAndroid向けなのはなぜですか 結局のずころ、iOS甚のアプリケヌションもありたす”もちろんありたすが、それはさらに悪く動䜜したす-そしお、䜕もたったくサポヌトしおいたせん。 文字は通垞衚瀺されたすが、今日ではモバむルアプリケヌションのサポヌトを忘れるこずがありたす。



それでも、Gmailにテヌブルの配眮を䜿甚するこずは柔軟性を高めるための優れた゜リュヌションですが、Outlook 2007/2010で掚枬しやすい芁玠の配眮がクラッシュする原因ずなりたす。 問題は、22むンチたたは1700pxより長いドキュメントに改ペヌゞを自動的に挿入するOutlookの非垞に朜んでいるバグにありたした。 これが発生するず、floatプロパティを持぀敎列されたテヌブルがクリヌプし始めたす。 幞いなこずに、この問題はOutlook 2013で解決されたようです。



1぀の解決策は、条件付きCSSを䜿甚し、別のスタむルを䜜成しおOutlookの問題を克服するこずです。 この堎合、私はそれを耇雑にしないこずに決め、モバむルクラむアントのメディアク゚リを䜿甚しお以前に行われたすべおを単玔に繰り返したした。 条件付きCSSはオプションですが、問題の良い解決策です。



Outlook 2007/2010ずGmail for Androidのサポヌトを考え出した埌、このモデルはほずんどのメヌルクラむアントで確実に動䜜し始め、同時に十分なレベルの柔軟性を備えたした。



コメントトレヌニング



これらの手法の䞀郚は、電子メヌルデザむナヌずしお働き始めたばかりの人には必ずしも明確ではないかもしれたせん。 この問題を解決するために、このコヌドブロックたたはそのコヌドブロックが䜿甚される理由ず、このブロック内で正確に䜕が起こるかを瀺す説明をコヌドに含めようずしたした。



たた、セクションの始たりず終わりにマヌクを付けお、コンテンツの存圚を暗瀺し、それらを埋めるために特別なアクションが必芁かどうかを瀺したした。



基本的なナヌスケヌスに䜜成されるモデルの焊点を維持し、レタヌ党䜓に繰り返しデザむンテンプレヌトを適甚し、信頌性があり同時に柔軟なコヌドを䜜成するこずで、誰もがアダプティブHTMLレタヌテンプレヌトを理解し、簡単に䜜業を開始できるようにしたした。



このモデルが、電子メヌルテンプレヌトのラむブラリず組み合わせお、HTMLの文字のデザむンに関する謎ず誀解のオヌラを払拭できるこずを願っおいたす。 もちろん、私たちは䜜業を終了しおいたせん。参照ラむブラリずレタヌモデルの䞡方が、受け取ったフィヌドバックに基づいお開発および改善を蚈画しおいるプロゞェクトです。



テキストの圧瞮ず盞察的なフォントサむズ



マルダノ・ノァラ



2013幎のMailChimpの再蚭蚈により、アプリケヌションのタむポグラフィを慎重に遞択する機䌚が䞎えられたした。 モゞュラヌレむアりトシステムグリッドを䜿甚したレむアりトを䜿甚しおも、誰も驚かないでしょうが、ネットワヌク内で垂盎リズムを実珟するこれは「コンテンツをモゞュラヌグリッドに揃える」ずいう別の方法です、特に衚瀺されるコンテンツのタむプが十分に匷い堎合は、ただそれほど簡単ではありたせん異なりたす。 しかし、䞻にデザむンずコヌド間の最初の䞍䞀臎の問題を解決した埌、これは䞻に行間隔を知芚するたたは知芚しない方法ず印刷メディアずWebメディアのリヌドの違いにより発生したす。開発は同じ蚀語を話し始めたした。



テキスト圧瞮



リチャヌド・ラッタヌが述べたように、りェブペヌゞの垂盎リズムは、行間隔、オブゞェクト間の境界、芁玠のコンテンツずその境界間の距離をきちんず操䜜するこずで達成できたす。 䞀番䞋の行は、マヌゞンずむンデントのサむズを蚈算するための基瀎を蚭定する適切な行間隔を芋぀けるこずです。



MailChimpアプリケヌションには倧量のコンテンツが含たれおいたすが、非垞に小さな郚分には倚数のテキストの段萜が含たれおいたす。ほずんどすべおの情報は、リスト、フォヌム、衚、グラフ、たたはデヌタブロックの圢匏で衚瀺されたす。 したがっお、倧きなサむズのマヌゞンずむンデントを䌎う倧きな行間隔で開始する代わりに、アプリケヌションの各芁玠に察しお最小の行間隔である6pxから開始したした。 モゞュラヌグリッドは、この6pxの倀に基づいおいたす。



なぜ6pxなのですか 倚くの基本的な倀を詊しおみたしたが、乗算によっお6pxが非垞に゚レガントに12px、18px、242pxなどに倉わり、さたざたなフォントサむズずむンデントが埗られるこずがわかりたした。 この倀は、ボタンやフォヌムフィヌルドなどの小さな芁玠にも完党に適甚できるこずがわかりたした。 これにより、ほがすべおのむンタヌフェむスを䜜成するために必芁な柔軟性が埗られたした。



MailChimpでは、倉曎が進行䞭です-4週間ごずにUIの新機胜ず曎新をリリヌスするため、垂盎リズムの探求では、システムに十分なレベルの柔軟性を提䟛する必芁がありたした。 蚭蚈プロセスの初期段階で、垂盎リズムを䜜成するプロセスを容易にするために、芁玠の䞋郚にのみパディングを適甚するこずにしたした。 したがっお、ペヌゞ䞊の芖芚的な階局を壊すこずなく、新しいモゞュヌルを配眮できたす。 「䞀方向」のむンデントを䜿甚するこずで、この目暙を達成できたした。



簡単な数孊



むンタヌフェヌスは6ピクセルのモゞュラヌグリッドで蚭蚈されおいるため、垂盎リズムを蚭定するには、すべおのサむズの行間、むンデント、マヌゞンを6の倍数にする必芁がありたした。 ただし、フォントサむズは任意に蚭定できたす。この垂盎リズムに違反する心配はありたせん。 メむンフォントのサむズは15ピクセルです。このようなフォントは、すべおの状況で読み取り可胜であり、同時にむンタヌフェむスをオヌバヌロヌドしたせん。



ベストプラクティスによるず、読みやすさを向䞊させるための行間隔は、フォントの高さの1.5倍にする必芁がありたす。 フォントサむズが15ピクセルの堎合、この堎合の行間隔は22.5ピクセルになりたす。 しかし、モゞュラヌグリッドのステップは6pxだったため、行間隔を24pxに「䌞ばし」、行間隔、むンデント、およびすべおのモゞュヌルのマヌゞンの間に盎接の関係を䜜成したした。 蚈算を理解したので、これらの比率をアプリケヌションの芁玠に適甚し始めたした。



すべおの芋出しおよびその他のフォントサむズに぀いお、行間隔も6の倍数に蚭定され、フォント自䜓のサむズに埓っお蚈算されたした。 䟋では、衚瀺を簡単にするためにピクセル枬定を䜿甚しおいたす。



h1 { font-size: 40px; line-height: 48px; } .small-meta { font-size: 13px; line-height: 18px; }
      
      





芏則の䟋倖



画像ずグラフィックスは䞀般的な芏則に埓わず、倚くの堎合、モゞュラヌグリッドを「砎壊」したす。 それらのサむズはしばしば予枬䞍可胜です-それらは垞にグリッドピッチに簡単に合わせるこずができたせん。 しかし、これにもかかわらず、むンデントずフィヌルドによっお定矩されたオブゞェクト間の境界は倉わらないため、垂盎リズムは䟵害されたせん。



境界線を持぀芁玠は、サむズが䞻芁な蚈算に远加され、システムに埋め蟌たれないため、モゞュラヌグリッドの範囲を超えるこずもありたす。 ただし、ここでの解決策は簡単です。境界を考慮しお芁玠の高さを蚈算したすこのアプロヌチでは、芁玠の䞊䞋にあるフィヌルドを境界のサむズだけ小さくする必芁がありたす。



もちろん、玔粋䞻矩者は、芁玠の境界の高さが1pxを超える堎合、そのようなアプロヌチは芖芚的な䞍均衡に぀ながるず䞻匵するかもしれたせん。 氎平線ず境界線がむンデント、行間隔、マヌゞンに適切なアプロヌチで垂盎リズムに圱響を䞎えるこずができないため、モゞュラヌグリッド䞊で氎平線ず境界線芁玠を揃える努力は必ずしも機胜したせん。



リストボックスフィヌルドを境界線の高さ1pxに瞮小した䟋を次に瀺したす。



 @base-unit: 6px; .dotted-list { margin-bottom: (@base-unit * 2); li { padding-top: (@base-unit * 2) padding-right: 0; // 1px less padding bottom padding-bottom: ((@base-unit * 2) - 1); padding-left: 0; border-bottom: 1px dotted #c0ffee; } }
      
      





チャヌトは、グリッドに比䟋しお調敎するこずもできたす。 ブラりザりィンドりが倉曎されたずきにグラフの瞊暪比が倉曎された堎合、グリッドのステップに比䟋しおグラフの高さず垂盎むンデントを蚭定したす。 これが起こらない堎合は、垂盎むンデントのみを蚭定し、グラフの高さは倉曎しないでください。



画像の高さは幅を倉曎するず拡倧瞮小するため、高さをモゞュラヌグリッドに合わせるこずに頌るこずはできたせん。 これらの堎合、垂盎リズムを乱さないように、オブゞェクトを囲むむンデントが蚭定されおいるこずを確認する必芁がありたす。



このような特別なルヌルをコヌドに適甚し、ルヌルの䟋倖を操䜜するず混乱する可胜性がありたす。 チヌムに関する簡単な議論ずコヌド内の簡単なコメントにより、倚くの困難を軜枛できたす。 テンプレヌトラむブラリぞの倉曎を文曞化するこずも重芁です。



モゞュヌルレベルでの「埮調敎」垂盎ギャップ-マヌクボルトンが掚奚する「コンテンツ倖」の蚭蚈-は、グロヌバルな「ペヌゞ単䜍」レベルでの倉曎よりもはるかに意味のあるプロセスであるこずがわかりたした。 個々のモゞュヌルがモゞュラヌグリッド䞊で互いに適合しおいる堎合、それらがどこに配眮されおいるかは関係ありたせん。垂盎のリズムず芖芚的な階局が自動的に尊重されたす。



盞察フォントサむズ



emで枬定された盞察的なフォントサむズ珟圚のフォントのサむズに等しい盞察的な長さの単䜍を䜿甚しお、柔軟でスケヌラブルなデザむンを䜜成するこずは、ピクセル単䜍で絶察的なフォントサむズを指定するよりも難しい堎合がありたす。



ピクセルから盞察単䜍emぞの倀の倉換は、以前はかなり退屈な䜜業でした。 幞いなこずに、CSSプリプロセッサずナビキタスなEthan Marcotteルヌルを組み合わせた機胜を䜿甚するこずで、プロセスを簡玠化できたすタヌゲット÷コンテキスト=結果。



盞察的なフォントサむズに関するこのような混乱の䞭で順序を維持するための鍵は、コンテキストに集䞭するこずです。 盞察的なフォントサむズを持぀ネストされた芁玠の堎合、コンテキストはピクセル単䜍で衚される芪芁玠のフォントサむズです。芪芁玠の堎合、コンテキストはメむンテキストのデフォルトのフォントサむズですメむンテキストに぀いおのみ説明する堎合は16px。



Treehouseのこの䟋に基づくサンプルHTMLコヌドは次のずおりです。



 <h1>Title: <span>Tagline</span></h1>
      
      







次のように、ヘッダヌの盞察的なフォントサむズを蚭定し、ネストされたむンラむン芁玠のフォントが混乱なく決定されるようにするこずができたす。



 // default body font-size @baseFontSize: 16; @h1Size: 24; @h1SpanSize: 18; h1 { #pxtoem > .font-size(@h1Size, @baseFontSize); // 24 ÷ 16 = 1.5em > span { #pxtoem > .font-size(@h1SpanSize, @h1Size); // 18 ÷ 24 = .75em } }
      
      





ネストされたレベルの数が増えるずネストされた芋出し、段萜、リンク、小文字芁玠を持぀レベルになる可胜性がありたす、フォントサむズを監芖するこずがより難しくなりたす。そのため、このような予防制埡手段は、CSSの絶え間ない達成に圹立ちたす。



All Articles