投稿者: Neil Lock

  • 私たちがEDDからFreemiusに移行した理由

    私たちがEDDからFreemiusに移行した理由

    When Page Builder Sandwich was launched in 2016, we were using Easy Digital Downloads. In 2017, we moved to Freemius. Here’s why we switched:

    EDDとは何か、そしてなぜ私たちがそれを選択したのか?

    Easy Digital Downloads(EDD)は、WordPress向けの人気のあるセルフホスト型eコマース/WooCommerceの代替プラグインです。初期設定のままではEDDを使ってWordPress製品を販売することは実質的に困難ですが、Software Licensing拡張機能を使えばプラグインの販売に最適なシステムになります。この拡張機能はライセンスキーの生成と認証も処理してくれました。

    EDDはまた、顧客がウェブサイトから直接製品を購入できるようにしながら、ログインして購入履歴を確認できる専用のアカウントページも提供できたため、非常にうまく機能しました。

    Since it worked well, and since we’re a big fan of Pippin Williamson, this was Sandwich’s first option.

    Freemiusと比較してどのように機能し、いつ移行したのか?

    2016年、Freemiusのリード開発者兼共同創設者であるVova Feldman氏からFreemiusの概要を説明するメールが届きました。そこには、単なるeコマースソリューションにとどまらず、アナリティクス&インサイトソリューション、マーケティングオートメーションツール、そして顧客がWordPressダッシュボードから直接問い合わせできる組み込み型サポートツールなどの機能を提供していると書かれていました。

    当初、私たちは分析データに興味があったため、Freemiusの機能の1つである「Freemius Insights」のみを利用していました。これのおかげで、当時ユーザーが私たちのプラグインをアンインストールする共通の理由を把握することができました。

    また、顧客向けの簡単なアンケートを通じて、よりデータに基づいた意思決定を下すのにも役立ちました。例えば、ユーザーがプラグインをアンインストールしようとすると、簡単なフィードバックフォームがポップアップ表示され、アンインストールを選んだ理由を尋ねます。これらのフィードバックは、顧客のニーズを理解するのに役立ちました。

    この取り組みの中で、ユーザーは有効化した後に何をすればよいかわからないためにアンインストールしていることが判明しました。そこで、アンインストール率を下げるためにウェルカム画面とチュートリアル動画を追加するだけで済みました。とても簡単でした。

    アナリティクスにとどまらず、FreemiusプラットフォームはWordPress製品をより効果的に販売するためにすぐに使えるように構築されていました。

    メリットとデメリットを検討した結果、私たちは2017年1月にFreemiusへ移行しました。その理由は以下のとおりです:

    Freemiusを使うと、顧客はWordPressダッシュボード上で直接製品を購入できる

    Instead of being redirected to an external website, Freemius allows customers to purchase straight from their WordPress Dashboard. This made huge impact on sales of course! Generally, the fewer things the user has to do to purchase something, the more likely it is that they actually make the purchase.

    EDDでは、Sandwichに興味を持ったユーザーはページ作成の作業を中断し、外部のウェブサイトに移動してライセンスキーを購入する必要がありました。最終的に購入に至るまでに、何度もクリックし、さらに多くの気が散る要素を経験することになっていました。

    それに対して、Freemiusなら顧客はSandwichを試用しながら、自分自身のWordPressダッシュボードから直接購入できます。購入のために別のサイトへ移動する必要はありません。

    その利便性のおかげで、顧客にとって購入手続きが10倍スムーズかつ簡単になり、売上の大幅な増加につながりました。

    開発者たちもあなたの成功に尽力してくれる

    Freemiusを使った製品販売は無料ではありません。売上ごとに、決済および処理手数料に充てられる少額の手数料が収益から差し引かれます。それが彼らのビジネスモデルです。

    しかしここで注目すべき重要な点は、彼らのビジネスモデルがあなたのWordPress製品の成功を中心に回っているということです。

    Vova氏と彼のチームは非常に親身になってくれます。収益を増やす方法やプラグインを改善する方法、Freemiusを有利に活用する方法について、彼ら自身のヒントやコツを教えてくれました。彼らの惜しみない情報提供がSandwichの成長に貢献しました。

    結論:収益化を目指すWordPress製品の作者なら、Freemiusを選ぶべきです。

    Page Builder Sandwichは、ページ構築を通じて直感性とユーザーエクスペリエンスを高めることを目指しています。Freemiusも同様です。顧客と販売者の双方にとっての体験を効果的にスムーズにしてくれます。

    2017年にFreemiusへ切り替えて以来、顧客満足度は向上し、アンインストール率は低下し、全体的な売上も伸びました。WordPressのプラグインやテーマの収益化を検討しているなら、Freemiusは間違いなく最適な選択肢です。

    その機能は競合他社よりも優れています。改善に向けたより賢明な意思決定を後押ししてくれました。彼らのチームのサポートは卓越しています。もしあなたがWordPress製品の作成者であるなら、私たちがFreemiusで実感したのと同じような効果を体験していただけることを願っています。

  • ページビルダーとは何か、そしてなぜフロントエンドが重要なのか

    What-is-a-Page-Builder-and-Why-Front-End-Mattersもしあなたが、時折画像を添えた長文記事の執筆を中心にコンテンツ作成を行っている筋金入りのブロガーであれば、既存のTinyMCEコンテンツエディターで十分事足りるかもしれません。現在のツールセットには記事の執筆に必要なツールがすでに備わっており、太字、斜体、見出しなどの基本的なテキスト書式設定ツールが用意されています。しかし、それだけです。

    扱いやすいレイアウト機能の欠如

    現在のTinyMCEコンテンツエディターでも記事を書くことはできますが、単一カラムで流し込まれるテキスト以外に、コンテンツをレイアウトするためのまともな方法はありません。標準状態では、テキストを2列以上のカラムに並べることも、異なる背景色で区切られたコンテンツセクションを作成することもできません。ランディングページやお問い合わせページなど、ウェブサイトの他のセクションを独自のものにしたい場合は、何らかの基本的なレイアウト機能が必要になります。

    WordPressのショートコード機能を利用してこの問題を回避しようとした人たちもいます。要約すると、ショートコードを使用すると、特別なタグを使ってコードのスニペットを挿入することができます。カラム分けされたコンテンツを作成するために使用できるさまざまなショートコードを導入するWordPressプラグインが存在します。例えば、コンテンツを2カラムのレイアウトに配置したい場合は、複数のカラムタグで囲むことができます。この方法は「機能する」ものの、コンテンツを追加するにつれて最終的にはすべてが散らかった山のように見えてしまうため、視覚的に扱いやすいとは言えません。

    このレイアウトの空白を埋めるために、ページビルダーが誕生しました。

    Page building blocks

    ページビルダーでレイアウトされたコンテンツの作成が簡単に

    ページビルダーは、コンテンツを独自のレイアウトに簡単に配置できる追加ツールを提供します。ページビルダーは通常、バックエンドのTinyMCEコンテンツエディターを削除し、コンテンツを視覚化しやすくする新しいエディターに置き換える(または追加する)ものです。これまでにバックエンドのページビルダーを使用したことがない場合は、画像、テキスト、ショートコードなど、各ブロックがコンテンツのタイプを表すブロックのセットを想像してみてください。それらをさまざまなレイアウトやカラムにドラッグ&ドロップできるようになります。

    レイアウトに加えて、ページビルダーはショートコードの作成と配置も容易にします。以前は、ショートコードを生の形式そのままの姿で見ることになっていました。コンテンツの中に角括弧や、すべての属性、値が混ざり合っているのが見えます。ページビルダーは通常、ショートコードクリエイター(ただ直接入力するよりも使いやすい、ショートコードの属性を選択するためのポップアップダイアログ)を組み込んでいます。

    フロントエンドのページビルダーこそが未来

    これらすべてはデザイナーやコンテンツクリエイターにとってより良い体験ですが、バックエンドのページビルダーには固有の大きな問題があります。コンテンツがどのように見えるかを視覚的に表現したものは確認できますが、見ているものは実際のコンテンツではありません。そのため、人々は自分の作業が正しいかどうかを確認するために、ページのプレビューを絶えずチェックすることになります。バックエンドのページビルダーを使用しているとき、私個人としても、コンテンツが正しく整列されているか、または余白が均等に空いているかを確認するだけで、少なくとも20回は簡単にプレビューボタンをクリックしてしまいます。これは非常に時間を浪費する煩わしい作業です。

    この不便さを解決するには、ページビルダーをフロントエンドに移行する必要があります。これを行えば、結果をすぐに確認できるようになるため、ページレイアウト時の推測作業を排除することができます。

    現時点では、バックエンドのページビルダーが多数存在する一方で、フロントエンドのページビルダーはほんのひと握りしかありません。そのひと握りの中の1つが「Page Builder Sandwich」です。Page Builder Sandwichが何においてユニークなのか、そしてなぜそれがあなたにとって適切なツールなのかについて詳しく知りたい場合は、記事How Page Builder Sandwich Is Different from the Rest.

  • Page Builder Sandwich 2017: 今年の振り返り

    2017年、私たちはPage Builder Sandwichの機能拡張に着手しました。この年は私たちにとって大きな飛躍の年となり、これ以上の喜びはありません。

    ユーザーの皆様、そしてWordPressの仲間たちからたくさんのフィードバックとサポートをいただきました。そのおかげで、私たちは素晴らしいものを生み出すことができ、皆さんと共に素晴らしいものを創り上げることが可能になりました。

    So without further ado, let’s look back at Page Builder Sandwich’s 2017. Here are our favorite updates and releases from this year.

    Parallax Scrolling

    Parallax Scrolling is a background effect that gives your page a a 3D layered look while you scroll.  We made adding this effect easy for our users- simply select the Parallax Scrolling option in your row’s background to add the parallax effect.

    Video Backgrounds

    パララックススクロールと同様に、Page Builder SandwichではVimeoやYouTubeのリンクをコピー&ペーストするか、動画を手動でアップロードするだけで、おしゃれな動画背景を追加できます。

    Ken Burns Backgrounds

    多くのドキュメンタリーでアーカイブ映像がどのように表示されるか気づいたことはありますか?画面に画像が表示され、ゆっくりとズームインしていく手法です。それはケン・バーンズ・エフェクトと呼ばれています。そして、Page Builder Sandwichも2017年にこの機能をリリースしました。

    Blank Page Template

    白紙の状態から始めたいですか?Page Builder Sandwichにお任せください。2017年には空白ページテンプレートもリリースされ、完全に真っ白なキャンバス上でウェブサイトをデザインできるようになりました。

    Full Page Templates

    Page Builder Sandwich released its very first set of Page Templates in January 2017. Niche-based and professionally designed, these templates also allow for manual editing so you can customize them the way you’d like.

    Mobile Responsiveness

    2017年は、機能ラインナップにモバイルレスポンシブを導入した年でした。これで、モバイル端末からもシームレスにウェブサイトを閲覧できるようになりました。

    All 800+ Google Fonts

    800種類以上のすべてのGoogle Fontsを使用して、ウェブサイトにアクセントと柔軟性を加えることができるようになりました。

    200% Performance Increase

    Bigger, better, faster. Page Builder Sandwich increased its performance by 200% in 2017.

    What’s in Store for 2018?

    Page Builder Sandwichは、真にユーザーフレンドリーで、真に直感的、そして真のフロントエンドページビルダーであり続けています。最高のウェブページ作成体験を提供するという私たちのビジョンは、皆様がニーズを共有してくれるにつれて成長しています。

    皆様のアイデアをもとに、私たちは2018年に向けてより優れたものを構築しました!

    Frontly Builder is the next step in our evolution and we’re at the final stages of development!

    Leave us your email to get first dibs on updates!

    ‘til relaunch

    皆様のサポートがなければ、ここまで到達することはできませんでした。2017年に私たちを支えてくださった皆様に、心から感謝申し上げます!2018年はさらに素晴らしいものを創り上げていきましょう。それでは、またお会いしましょう!

    よろしくお願いいたします。
    Page Builder Sandwich チーム

  • 間もなく、とても大きな発表があります。

    In a few short months, we’ll be relaunching as Frontly Builder.

    現時点ではまだ集中的に開発が進められている段階です。それでも、私たちが取り組んできたことを皆様にお見せできることに、とても興奮しています。ここでは、なぜ移行するのか、FrontlyがPBSとどう異なるのか、そしてどのような点に注目すべきかについてお話しします。

    Page Builder Sandwich から Frontly Builder へ

    Before the idea of Sandwich, we noticed a little pattern with page builders everywhere: A lot of them were difficult to use.

    For example, some of these builders would have you go through numerous pop-ups and other settings if you want to add something as simple as an image, a row, a button.

    And if you wanted to change a column’s settings, clicking on the edit button takes you to yet another pop-up that requires you to input settings like size and margins through dropdown options that aren’t very flexible.

    It was frustrating because we knew that page builders should exist to make things easier for users, not the other way around.

    Other wordpress page builders
    Other WordPress Page Builders

    This is how we came up with Page Builder Sandwich.

    We wanted to introduce a builder that was going to maximize users’ experience when creating webpages, allowing them to create awesome things the fast and easy way.

    We received lots of great feedback that allowed Sandwich to evolve. And the more our audience grew, the more suggestions we received on how we could further improve the plugin.

    We were in a state of constant development, and we loved it.

    Page Builder Sandwich has true front-end power, and so will Frontly Builder.

    「真のフロントエンド」で動くことの定義を再構築する

    Sandwichの進化は絶え間ないものでした。

    Apart from the feedback (both negative— things we could work on; and positive ones— which we knew we had to retain), Sandwich’s capacity to grow increased, too. We kept finding more and more ideas and solutions to further improve PBS.

    And the more wants and needs from PBS arose, the more our code’s main foundation got tweaked.

    お気に入りの具材をすべて挟んだ本物のサンドイッチを想像してみてください。

    確かに味は素晴らしいでしょうが、どうやって口に入れるのでしょうか?「食べられること」という本来の目的をどうやって果たすのでしょうか?

    This is kind of what happened with PBS. We realized that so much more could be done with it with an even more efficient, stronger foundation. That we could take it further.

    前述の通り、Page Builder Sandwichは絶えず進化を続けています。

    Frontly is the next step to that evolution.

    You’ll still get an awesome support team, theme and plugin compatibility, and more.

    これはPage Builder Sandwichとの別れではありません。

    It’s a hello to Frontly.

    So what makes Frontly different from Page Builder Sandwich?

    We’ve been working really hard to maximize Frontly’s development. The goal now is to make it an insanely better version of PBS — to embody what it means to operate on true front-end.

    Right now, we’re focusing on further improving Frontly’s UX and UI. We’ve worked on giving it a smoother look, a more user-friendly experience, and features that’ll let you build professional-looking websites in even less effort and less time.

    Questions on Frontly?

    We have a short FAQ post you can check out. Add a comment below so we can add your questions to our list!

    まもなく登場します。

    While we’re crazy excited to show you guys what we’ve come up with, we wanna make sure everything is just right for you. So leave us your email to get first dibs on updates, tips and trick, and big promos on the release date.

    We are relaunching as Frontly Builder.

    Leave your email so you don’t miss out.

     
  • プラグインのパフォーマンスを200%向上させた方法

    去る2017年2月2日、Ann Taylor氏がCodeInWPで記事「12 Things We Need to See From WordPress Page Builders in 2017 + Who Already Gets It Right(2017年にWordPressページビルダーに求められる12のこと + すでにそれを実現しているプラグイン)」を執筆しました。私たちは1年以上にわたってPage Builder Sandwichの改善を続けてきました。リサーチを重ね、顧客の声に耳を傾けてきたため、Page Builder SandwichもCodeInWPの「すでにそれを実現しているプラグイン」の記事に選ばれるだろうと考えていました。しかし、パフォーマンスの問題が原因で選ばれませんでした。?

    そこでAnn氏に問い合わせたところ、次のような返信がありました。

    …無料版を少し触ってみました。多くのモジュール、非常に直感的なUI、素晴らしいWYSIWYG体験、すべてが簡単にドラッグできるなど、大いに期待できるものでした。しかし、ページ上に10個ほどのモジュールを配置した時点で、編集速度が遅くなり、作業を続けるのが難しくなりました…

    彼女の指摘によると、Page Builder Sandwichにはパフォーマンス上の問題があるとのことでした。私たちは常にフィードバックに耳を傾けているため、早速調査を開始しました。

    パフォーマンスのテスト

    PBSのパフォーマンスを調べる方法が必要でした。PBSは主にJavascriptを介してブラウザ上で動作するため、ChromeのTimelineプロファイラが最適なツールでした。Timelineプロファイラは、実行時にウェブページ内でどのプロセスが発生しているかを特定・測定できるため、速度のボトルネックを見つけるのに最適です。

    私たちは、まず最もシンプルな操作(複数の要素や行の上でマウスを動かすこと)をテストすべきだと考えました。簡単そうですよね?このような単純な操作でパフォーマンスの問題が発生するはずがないと確信していました。しかし残念ながら、その考えは甘かったのです。

    録画ボタンを押し、画面上で約2秒間マウスを動かした後、停止ボタンを押しました。プロファイラから得られたタイムラインの結果がこちらです。

    なんと驚いたことに、パフォーマンスのボトルネックで埋め尽くされていました!

    グラフ上では多くのことが起こっていますが、最も明白な問題は紫色の領域が大量にあることです(本来こうあるべきではありません)。さらに、これらの紫色の領域は目に見えて非常に幅が広く、すべてがグラフのピークに達しているように見えます。また、グラフが常に埋まっており、紫色の領域がほぼゼロに落ちていないことにも気づくでしょう。ブラウザが常に何らかの処理で忙殺されており、休む暇がほとんどないような状態です。

    しかし、これらの紫色の領域は一体何を意味しているのでしょうか?

    プロファイラは親切にも、それがリフロー(reflow)と呼ばれるものであることを教えてくれました。Google Developerサイト:

    リフローとは、ドキュメント内の要素の位置と形状を再計算するウェブブラウザのプロセスの名前です。リフローはブラウザにおいてユーザー操作をブロックする処理です。

    つまり、PBS内でマウスを動かすだけで膨大な量のリフローが発生していることを意味します。さらに悪いことに、個々のリフローは計算を完了させるためにブラウザを一時的に停止させます。リフローが増えればブラウザの停止頻度も増え、操作体験はさらにカクカク(ジャンク)したものになります。簡単に言えば、紫色の領域が多い = 悪い状態、ということです。

    結果としてAnn氏の指摘は正しかったのです。私たちには確かに大きなパフォーマンスのボトルネックが存在していたため、チームは直ちにその修正作業に取り掛かりました。

    リフロー / カクつき問題の修正

    何よりもまず、そもそも何が原因でこのリフローが発生するのかを調べる必要がありました。調査の結果、どうやらJavascriptにおける多くの一般的な処理が、ブラウザにリフローを引き起こす原因となり得ることが分かりました。

    DOM要素の幅、高さ、位置を取得するために使用できるほぼすべての関数がリフローを誘発する可能性があります。Paul Irish氏が、リフローを引き起こす可能性のあるJavascriptのすべてのプロパティと関数の詳細なリストを作成しています。都合の悪いことに、Page Builder Sandwichはこれらのプロパティや関数を大量に使用しており、そのすべてがリフローを引き起こしていました。

    • elem.getBoundingClientRect()
    • window.getComputedStyle()
    • window.scrollY
    • その他多数…

    修正1: コストのかかるリフロー処理のキャッシュ

    最も明白な解決策は、それらのプロパティや関数を使用しないことです。しかし、PBSはそれらに大きく依存しており、なしで済ませることはできません。

    残された解決策は、それらの関数の呼び出し回数をできる限り削ぎ落とすことでした。難しかったのは、PBSのさまざまな箇所でこれらのプロパティや関数を何度も使用しており、ほとんどの場合、同じDOM要素に対して複数回使用していたという点です。これを修正するために、問題のあるプロパティ/関数ごとに独自のキャッシュメカニズムを作成しました。

    例えば、getBoundingClientRect関数は、DOM要素の現在の上、左、幅、高さ、右、下のピクセル測定値を取得します。この関数は、PBSで要素のアウトラインを描画する位置を計算するために常に使用されています。これに対して作成したキャッシュ関数がこちらです。

    // Cache: Our client rects are kept here, we can use this to clear them later.
    var elemsWithBoundingRects = [];
    
    window.pbsGetBoundingClientRect = function( element ) {
    
    	// Check if we already got the client rect before.
    	if ( ! element._boundingClientRect ) {
    
    		// If not, get it then store it for future use.
    		element._boundingClientRect = element.getBoundingClientRect();
    		elemsWithBoundingRects.push( element );
    	}
    	return element._boundingClientRect;
    };
    ​

    getBoundingClientRectを直接呼び出す代わりに、pbsGetBoundingClientRectを使用するようにしました。これにより、クライアント矩形が照会されるたびにその値を将来の参照用に保存し、リフローが発生する回数を制限しました。

    また、保存されたクライアント矩形が無効になった際にキャッシュをクリアする方法も必要でした。保存されたクライアント矩形の値は、ユーザーがページをスクロールしたり、画面上の要素を追加・変更・削除したりしたときに変化します。そのため、最新のクライアント矩形値が必要になったときにいつでも呼び出せるキャッシュクリア関数を作成しました。

    var clearClientRects = function() {
    	var i;
    	for ( i = 0; i < elemsWithBoundingRects.length; i++ ) {
    		if ( elemsWithBoundingRects[ i ] ) {
    			elemsWithBoundingRects[ i ]._boundingClientRect = null;
    		}
    	}
    	elemsWithBoundingRects = [];
    };​

    普段よく使用する他のコストの高い関数呼び出しに対しても、同様のキャッシュメカニズムを適用しました。

    修正2: FastDomを使用した読み取りと書き込みのグループ化

    修正1を実装したことでPBSのパフォーマンスは向上しましたが、それだけでは不十分でした。

    さらにGoogleで検索したところ、Wilson Page氏による「レイアウトスラッシングの防止(Preventing ‘layout thrashing’)」という記事に出会いました。Wilson氏はこう述べています。

    レイアウトスラッシング(リフロー)は、JavaScriptがDOMに対して激しく書き込みを行ってから読み取る処理を何度も繰り返し、ドキュメントのリフローを引き起こすことで発生します。

    どうやら、特定のリフローを誘発するプロパティや関数の呼び出しを制限するだけでは不十分なようでした。DOMに対して「読み取り」と「書き込み」を連続して何度も実行すると、それだけでもブラウザのリフローが引き起こされます。Wilson氏のサイトから引用した典型的なシナリオは以下のとおりです。

    // Read
    var h1 = element1.clientHeight;
    
    // Write (invalidates layout)
    element1.style.height = (h1 * 2) + 'px';
    
    // Read (triggers reflow)
    var h2 = element2.clientHeight;
    
    // Write (invalidates layout)
    element2.style.height = (h2 * 2) + 'px';
    
    // Read (triggers reflow)
    var h3 = element3.clientHeight;
    
    // Write (invalidates layout)
    element3.style.height = (h3 * 2) + 'px';
    
    // Document reflows at end of frame​

    上記の例では、書き込みの後にページ全体の寸法が無効化されるため、3回のリフローが発生します。これに対する推奨の修正方法は、コードの順序を並べ替えてすべての読み取りと書き込みをまとめて束ねることで、全体で1回のブラウザリフローしか引き起こさないようにすることです。

    // Read
    var h1 = element1.clientHeight;
    var h2 = element2.clientHeight;
    var h3 = element3.clientHeight;
    
    // Write (invalidates layout)
    element1.style.height = (h1 * 2) + 'px';
    element2.style.height = (h2 * 2) + 'px';
    element3.style.height = (h3 * 2) + 'px';
    
    // Document reflows at end of frame​

    上記のスニペットを見ると、問題の修正は簡単に思えます。しかし実際には、PBS内においてリフローを誘発する読み取りと書き込みは、ライフサイクル中のさまざまな場所で、さまざまなタイミングで行われています。何千行ものJavascriptコードを再編成することは現実的ではありませんでした。

    幸いなことに、Wilson氏はこの記事の中で解決策も提供してくれていました。彼はこれらの読み取りと書き込みをまとめるのに役立つFastDomという小さなユーティリティスクリプトを作成していたのです。

    以下は、FastDomを使用し、上記の修正1も組み込んだPage Builder Sandwichのコードです。

    // Bunch together the reads from other threads.
    fastdom.measure( function() {
    
    	// Use our cached client rect.
    	var rect = window.pbsGetBoundingClientRect( elem );
    
    	// Bunch together the writes from other threads.
    	fastdom.mutate( function() {
    		elem.style.top = ( rect.top + window.pbsScrollY() ) + 'px';
    		elem.style.height = rect.height + 'px';
    		elem.style.left = rect.left + 'px';
    		elem.style.width = rect.width + 'px';
    	}.bind( this ) );
    }.bind( this ) );​

    FastDomの役割は、すべてのfastdom.measure呼び出しとすべてのfastdom.mutate呼び出しをグループ化して非同期に実行し、すべての読み取りと書き込みを効率的にまとめてブラウザ内のリフローを軽減することです。

    修正3: スタイルオブジェクトへのアクセスは負荷が高い

    また、jsPerfを利用して調査したところ、スタイルを取得する関数の中には他よりも高速なものがあることがわかりました。

    PBSでは通常、要素の特定のスタイルの現在値を取得する必要があります。例えば、通常は上マージンを取得するために次のように記述します。

    var styles = window.getComputedStyle( elem );
    var marginTop = styles.marginTop;​

    しかし、次のように処理した方がはるかに高速であることがわかりました。

    var marginTop = elem.style.marginTop;​

    ただし、elem.style.marginTopとgetComputedStyleは大きく異なります。前者は要素のインラインスタイルのみを返し、スタイルシートを考慮しません。一方、後者はインラインスタイルとスタイルシートの両方を考慮します。

    さらに、getComputedStyleの結果をキャッシュした場合でも、依然として非常に低速でした。判明したこととして、スタイルオブジェクト自体にアクセスすること自体が遅いプロセスだったのです。

    幸いなことに、PBSは要素にインラインスタイルを追加しており、(ほとんどの場合)インラインスタイルはスタイルシートよりも優先されるため、インラインスタイルの値を取得するだけで十分なケースが存在します。したがって、上記の2つの方法を組み合わせれば、はるかに高速に動作するコードを作成できます。

    var marginTop = elem.style.marginTop;
    if ( ! marginTop ) {
    	var styles = window.getComputedStyle( elem );
    	marginTop = styles.marginTop;
    }​

    コード改善の結果

    上記の3つの修正には多くの研究、テスト、実際の実装が必要であり(フォント機能のリリースも延期されました)、最終的にはその価値が十分にありました。

    画面上でマウスを2秒間動かすという初期テストに戻ってみましょう。以下は以前の見苦しくカクついていたタイムラインです。

    そして、パフォーマンス改善後の新しいタイムラインがこちらです。

    ご覧のとおり、グラフ内の紫色の部分が減少しています。また、ブラウザによって実行されている処理の量にも顕著な違いがあります。下部の長方形の部分も薄くなっており、以前よりも処理が高速に実行されていることを示しています。

    新旧のグラフで高さや幅のある紫色の領域の量を比較すると、なんと200%のパフォーマンス向上を達成しています!全体的にパフォーマンスの向上が見られます。素晴らしい成果です!

    得られた教訓と学び

    正直なところ、Ann氏から指摘されるまで、PBSにパフォーマンスの問題があるとは思っていませんでした。主に開発用スペックのマシンを使用していたため、パフォーマンスのボトルネックがそれほど目立たなかったためです。振り返ってみると、パフォーマンスのチェックは最優先事項の1つであるべきでした。しかし少なくとも現在、バージョン4.3の時点でこの問題は解決されています。?

    ご自身のWordPressプラグインのパフォーマンスを向上させたい方、特にJavascriptを多用している方に向けて、今回の経験から得られたポイントをご紹介します。

    1. リフローを引き起こすプロパティや関数の呼び出しを制限/キャッシュする。こちらのガイドをご活用ください:What forces layout/reflow. The comprehensive list.(何がレイアウト/リフローを強制するか。包括的なリスト)
    2. DOMスタイルに対する「読み取り」と「書き込み」をグループ化する。これを行うにはFastDomを使用します。
    3. ChromeのTimelineプロファイラを使用し、リフロー(紫色の部分)を可能な限り少なく抑える。
  • Frontly ビルダー:よくある質問

    A few months ago, we announced the launch Frontly Builder, a bigger, better front-end page builder with increased performance and awesome new stuff. Think of it as a new and improved version of Page Builder Sandwich.

    現在まだ開発中ですが、近日中に公開予定です。その間、Frontlyについて皆さん疑問に思っていることもあるかと思います。そこで、簡単なFAQをご用意しました!

    What will happen to my PBS-run site?/Will I lose everything I’ve built using PBS?/Will the Frontly update destroy my website?

    • No, definitely not! Everything you’ve made using Page Builder Sandwich will remain intact, and nothing will change.

    I purchased Page Builder Sandwich before the Frontly release. What do I do?

    • The only thing you have to do is… nothing. For current PBS users, Frontly will be released as an “update”. You’ll just be upgraded to a “better” version of PBS- Frontly.

    Will I have to repurchase Frontly?

    • No. If you’ve purchased PBS before the Frontly release, you don’t need to purchase anything. As mentioned, everything will be released as an “update” for old users, so you won’t have to lift a finger or shell anything out- we’ve sorted everything out for you guys. ?

    今回は以上です!さらにご質問がある場合は、このFAQリストに追加できるよう、下にコメントを残してください。

    私たちと同じように、皆さんがFrontlyを楽しみにしてくださることを願っています!それではまたお会いしましょう。?

    最新情報をいち早く手に入れるために、メールアドレスをご登録ください!

  • #PBSUpdate: フルページ、ニッチ別テンプレート

    PBS Version 4.0 has been our biggest update yet, and with its release, we’ve included a new game-changing feature, the Full Page, Niche-Based Templates.

    The Full Page Templates are a set of 10 professionally designed, niche-based templates. They’re ready to use upon downloading PBS, and can be used as is, or may be tweaked to fit your taste.

    Use as a Starting Point for Your Page

    テンプレートの活用は、ウェブページを作成する最も効率的な方法の1つです。サイトのデザインやレイアウトに関する課題への迅速な解決策として広く提供されており、ユーザーは(通常はテーマの異なる)いくつかの選択肢から選ぶことができます。バージョン4.0のアップデートにより、Page Builder Sandwichはついに独自のテンプレートセットをリリースしました。

    A screenshot of one of our templates, the PBS Farm Template

    The Benefits

    PBSのフルページテンプレートは、ゼロからウェブページをデザインする負担を軽減するように作られています。各テンプレートは特定のニッチ向けにデザインされており、各業界に適した要素が含まれています。例えば、ホテル向けのテンプレートには、Googleマップ、お問い合わせフォーム、ホテルのアメニティを紹介するためにデザインされたセクションなどの機能が含まれています。一方、ファッション向けのテンプレートには、最新の製品をその下に価格を表示して紹介できるカルーセルが含まれています。

    Tweak, Tweak, Tweak

    テンプレートはあらかじめデザインされているため、時間とリソースの両方を節約し、ページ構築プロセスを容易にします。しかし、選択したテンプレートに必要な機能が含まれていない場合(例えば、工業向けテンプレートに動画背景のヒーローヘッダーが欲しい場合など)でも、心配する必要はありません。PBSから要素のプロパティを直接調整することで、好みやニーズに合わせてテンプレートのデザインを簡単に微調整できます。

    A section of the PBS Farm Template with tweaked colors and different photo that may cater to a different niche

    The 10 templates we currently have available (we’ll be releasing more soon!) are themed according to the following common niches and industries:

    1. Hotel Template

    • For hotels, spas, or similar business.
    • Includes video background hero header, carousel testimonials, contact form, Google Map, and more.

    2. Law/Corporate Template

    • For law firms and other corporate businesses.
    • Includes about us section, carousel testimonials, meet the team section, and more.

    3. Fashion Template

    • Use for online clothing stores and other e-commerce sites. Includes featured products carousel, call–to–action buttons, latest blogpost previews, and more.
    • Includes featured products carousel, call–to–action buttons, latest blogpost previews, and more.

    4. Farm Template

    • Ideal for subscription e–commerce sites.
    • Includes promo header, call–to–action buttons, subscription plan sections, and more.

    5. Restaurant Template

    • Perfect for restaurants and other delivery service businesses.
    • Includes hero header with space for delivery numbers, menu section, business hours section, and more.

    6. Concert Template

    • Ideal for concerts and other big events or gatherings.
    • Includes countdown, video background, affiliates section, prices section, subscription button, and more.

    7. Forum Template

    • Use for communities, small organizations, and more.Includes call-to-action buttons, about section, count up, meet the team section, and more.
    • Includes call-to-action buttons, about section, count up, meet the team section, and more.

    8. Portfolio Template

    • For photography or art portfolios, and more.
    • Includes iconified skillset section, gallery, social media buttons, and more.

    9. Industrial Template

    • Use for industrial or manufacturing businesses, and more.
    • Includes hero header with video background, about us/featured product sections, carousel testimonials, and more.

    10. Wedding Template

    • Perfect for weddings and other small intimate events.
    • Includes hero header with video background, photo gallery, RSVP section, Google Map, and more.

    Some samples of PBS’ Full Page Templates: the Law, Forum, and Hotel Templates

    The Future of Full Page Templates

    現在利用可能なテンプレートは10種類ですが、現在さらに多くのテンプレートを作成しているところです。もちろん、すべての一般的なニッチや業界をカバーしたいと考えていますが、何かご提案がございましたら、お気軽にご連絡ください。

    素晴らしいサイト制作を!

  • パララックス効果、動画背景、ケン・バーンズ効果を追加する方法

    Page Builder Sandwichには、総称して「ファンシー背景エフェクト(Fancy Background Effects)」と呼んでいる機能があります。これには3つのエフェクトが含まれます:パララックスエフェクト、動画背景、そしてケン・バーンズエフェクトです。

    What are the different Fancy Background Effects?

    PBSのファンシー背景エフェクトは、訪問者を惹きつけるためにウェブサイトに必要な活力を与えます。注目を集める確実な方法であり、適切に活用すればウェブサイトのトラフィックにおいて目を見張る成果をもたらすことができます。

    パララックスエフェクト

    ページにパララックスエフェクトを適用すると背景に奥行きが生まれ、スクロール時にサイトの特定の要素を「浮き出させる」ことができます。以下は、パララックス背景を適用したページと適用していないページの例です。

    With Parallax Scrolling

    The background image scrolls at a different rate as the rest of the elements in the page.

    Without Parallax Scrolling

    The elements of the web page – the text, images, buttons, etc – all scroll at the same rate as the background.

    Video Backgrounds

    動画背景を使用すると、静止画像の代わりにループ再生される動画を背景に配置できます。PBSの動画背景の素晴らしい点は、プロンプトが表示されたときに希望のYouTubeやVimeoのリンクを貼り付けるだけで、動画背景へと変換されることです。もちろん、ご自身の動画をアップロードして使用することも可能です。

    動画背景のサンプルをご確認いただけます:

    The Ken Burns Effect

    Ken Burns, who popularized the Ken Burns effect in film.

    In documentaries, do you ever notice when they show photos that slowly zoom into detail? That’s called the Ken Burns Effect. You can access these effects on Page Builder Sandwich, too.

    How do I add the Fancy Background Effects?

    すべてのファンシー背景エフェクトは、次の手順で見つけることができます:

    Step 1: Choose a row you’d like to add an effect on. Click on this row’s settings button (the gear icon on the left). This will open the Properties Inspector.

    Step 2: Once the Properties Inspector pops up, scroll down a bit until you find the option called “Fancy Background Effects”.

    Step 3: Once you’ve found it, you’ll see that you can click a dropdown button and select which background effect you’d like on your row.

    Step 4: Depending on which Fancy Background Effect you choose, you can adjust each effect’s settings. For example, for the Parallax effect, you can adjust its height and position.

    これで完了です!この後、あなたのサイトでファンシー背景エフェクトが存分に機能しているのを確認できるはずです。

    Have you used PBS’ Fancy Backgrounds yet?

    機能に追加してほしい他の背景エフェクトのご提案はありますか?あるいは、これらのエフェクトを使ったPBS製のサイトを見せていただけますか?ぜひ下のコメント欄でお知らせください!

  • ページとプラグイン:WordPress体験を最大限に高める方法

    pages-and-plugins-maximizing-your-wordpress-experience

    WordPressの機能(特に複雑なもの)の中には、新しいユーザーが慣れるまでに少し時間がかかるものもあります。そして、もしあなたがそうした新規ユーザーの一人であるなら、WordPressの複雑な専門用語に気後れしてしまい、避けがたい情報過多の感覚に圧倒されてしまうかもしれません。ひぇっ、大変ですね。

    もしあなたがこのようなWordPressユーザーの一人だとしても、心配しないでください。朗報なのは、WordPressの初心者だからといって、WordPressでできる体験が限られてしまうというのは単なる誤解に過ぎないということです。このような考え方は誰もが陥りがちなよくある誤りですので、ぜひ同じ間違いをしないようにしてください。

    実のところ、サイト作りを始めたり、思い通りに動作させたりするために、ソフトウェアやコードの内部構造をそれほど深く理解しておく必要はありません。「どうしてそんなことが可能なの?」と思われるかもしれませんね。その方法の1つが、サイト上でページを作成し、プラグインを追加することなのです。

    WordPressは複雑であると同時に便利でもあり、私たちの数々の初心者向け記事でもその点を取り上げてきました。以前には、プラグインがWordPressのカスタマイズ性と柔軟性にどのように貢献しているかや、ユーザーがWordPress体験を最大限に活用するためにどのように役立っているかについても解説しました。そして、プラグインの重要性を知ることはサイト構築の過程において極めて重要ですが、ページの存在など、WordPressの基本的な要素も非常に良いスタートを切る助けとなります。

    20160824_Una_PBS_Article_2

    固定ページと投稿の違い

    WordPressの世界では、「ページ」という用語はほぼ常に「投稿」(「ページと投稿」のように)と関連付けられており、両者を交換可能な同じ意味の言葉だと勘違いしてしまうことがあります。確かに、この2つは混同しやすいものです(特にまだWordPress初心者の浅瀬を歩いている段階であればなおさらです)。そのため、些細なことに思えるかもしれませんが、特に始めたばかりの頃はWordPressの細かい部分に慣れておくことが常に賢明であると覚えておいてください。

    投稿と固定ページを簡単に見分けるポイントは、投稿はサイト上で作成する個々の記事エントリーであるということです(例えば、あなたが今読んでいるこの記事も投稿です)。当サイトのようにアクティブなブログを運営していない限り、これらのエントリーはすべてのWebサイトで必須というわけではありません。しかし、サイトにとって極めて重要な要素となり得るのはページの作成であり、この記事では主にこちらに焦点を当てていきます。

    ページはサイトの構成要素(ビルディングブロック)

    パソコンに一度も触れたことがないという方でない限り(そんなことはないと思いますが)、これまでにWebサイトのページを見たことや聞いたことがあったり、少なくともそれがどのようなものか見当がついたりするのではないでしょうか。よく分からないとしても心配はいりません。他のWebサイトを訪れた際に、FAQや会社概要/サイト紹介、お問い合わせフォーム、画像ギャラリーなどのページをすでに目にしたことがあるはずです。初心者や立ち上げたばかりのWebサイトにとって、ページはある意味で積み木(ビルディングブロック)のようなものです。これらを組み合わせることで、あなたのサイトがどのようなもので何を提供しているのかという、本質的な部分が形作られます。

    ですから、こうした基本的な違いを意識しておくことはとても大切です。しかし、基本的なプラグインの知識と組み合わせることで、たとえ初心者であっても、WordPressページについて新しく得た知識をフルに活用できる絶好の位置に立てます。そこで問題となるのは、具体的にどうすればよいのか、ということです。

    20160824_Una_PBS_Article_1

    活用法:インストールできる基本的なプラグイン

    基本的なWordPressサイトでは、ページを作るのは確かに簡単です。手順に沿って少し説明を読み、いくつかのボタンをクリックするだけで準備完了です。しかし、それ以上のことを行いたい場合は、いくつかプラグインをインストールする必要があります。

    1. SEO(検索エンジン最適化)プラグイン

    自分のサイトを世の中に公開するだけでも大変ですが、その存在を広める作業はさらに困難です。本当に。だからこそ、検索順位を上げるためにはSEOプラグインのちょっとした手助けが欠かせません。

    Sandwichでは、今日市場を牽引するSEOプラグインと評されることが多いYoastを使用しています。ほかにも選べるSEOプラグインはたくさんあり、選択肢を比較検討したい場合は、SitePointなど、さまざまなSEOプラグインを比較しているサイトが多数存在します。

    1. バックアッププラグイン

    バックアップは、サイトを立ち上げる際に講じるべき最も重要な予防策の1つです。いくら用心してもしすぎることはありません。万が一データが完全に消去されてしまい、途方もない時間をかけてサイトをゼロから再構築することになるよりは、優れたバックアッププラグインの設定に数分(経験によっては数時間)を費やすほうがはるかに賢明です。

    1. セキュリティプラグイン

    インターネットの世界であっても、外の世界は非常に過酷です。悪意のある者たちはデータを盗み出そうとしたり、サイトをハッキングしたりしようとします。そのため、万全を期してバックアップと一緒にセキュリティプラグインをインストールしておくのが常に賢明です。私たちはバックアップとセキュリティの両方にVaultPressを使用しています。

    1. スパム対策プラグイン

    食べ物のスパム(SPAM)でもない限り、誰もスパムなど欲しくありません。美味しいですけどね。

    さて、有名な缶詰の話はさておき、望まないスパムがWordPressサイトに入り込む経路はたくさんあります。WPExplorerによると、スパムを防ぐためにWordPressを手動で微調整することも可能ですが、サイトにスパム対策プラグインをインストールするという、より素早い解決策を選ぶこともできます。

    1. キャッシュプラグイン

    キャッシュプラグインのインストールは、サイトとサーバーのパフォーマンスを高速化するための確実な方法です。私たちは以前からWP Fastest Cacheを使用していますが、W3 Total Cacheのように高評価で信頼性の高いキャッシュプラグインもたくさんありますので、試してみると良いでしょう。

    キャッシュについての詳細は、WordPress Codexサイトでご確認いただけます。

    豆知識:Cache(キャッシュ)の発音はˈkashであり、kashè(カシェ)ではありません

    固定ページ向けの追加プラグイン

    1. お問い合わせフォームプラグイン

    サイトの所有者として、読者からの質問に答えたり、提案に対応したりする責任があります。そのためサイト構築が進むにつれて、読者があなたに連絡を取りたい、あるいは連絡を取る必要がある場面が出てくるかもしれません。そのために役立つのがお問い合わせフォームプラグインです。サイトのお問い合わせフォームをゼロから自作することも可能ですが、特に初心者の場合、完成までにかなりの時間がかかることを考えると、それが実用的でない場合もあることは認めざるを得ません。

    WPBeginnerには市場で最高と評価されたお問い合わせフォームプラグインのリストがあり、SitePointにも無料で利用できるプラグインに関する同様の記事があります。

    2. ソーシャルメディアプラグイン

    多くの人が頻繁に訪れるようなサイトでない限り、サイトのコンテンツ(記事など)を拡散させるのは正直なところ少し難しいものです。だからこそ、ソーシャルメディアプラグインの必要性が生じる場面があります。読者があなたのコンテンツを面白いと思ってくれれば、ソーシャルメディアを通じて友達にシェアしてくれる可能性があるからです。

    3. コメントツール / Disqus

    先述の通り、特にサイトのコンテンツが特集記事を中心としている場合、読者とのコミュニケーションは不可欠です。読者のことを知ることは強みにもなります。彼らからのフィードバックはすべて、サイトや製品の改善に活用できます。

    Disqusは非常に定評のあるコメントツールであり、市場で最も人気のあるものの1つです。また、Kikolaniには、どのコメントツールがあなたのサイトに最適かを判断するのに役立つ非常に便利な記事が掲載されています。

    プラグインは想像以上にたくさん存在します

    WordPressサイトで利用できるプラグインのリストは、この記事で紹介したものだけにとどまりません。これらは私たちが非常に役立つと感じているごく一部に過ぎず、WordPressプラグインの世界には、上で挙げた8つをはるかに超えるプラグインが存在します。

    そうは言っても、まだまだ網羅しきれていない部分も多いはずです。そこで、このリストに入れるべきだと思うおすすめのプラグインはありますか?ぜひ下のコメント欄で教えてください。今後の記事であなたの提案を取り上げるかもしれません!

    素敵なサイト作りを!

  • パララックススクロールとは?

    The parallax scrolling effect is a design technique that’s relatively new in development and web design. Over the past few years since it’s hit the scene though, it’s grown pretty popular in its own right, and with good reason, too.

    パララックススクロールの定義

    Parallax scrolling is a technique wherein your web page’s background image scrolls at a slower rate compared to the foreground image. It gives the user a unique sense of depth and action while scrolling through a page when used on a website.

    Without Parallax Scrolling

    The elements of the web page – the text, images, buttons, etc – all scroll at the same rate as the background.

    With Parallax Scrolling

    The background image scrolls at a different rate as the rest of the elements in the page.

    パララックススクロールがユーザーに与える影響

    しかし、この技法は決して新しいものではなく、古くは1920年代から伝統的なアニメーションで使用されていました。また、『スーパーマリオブラザーズ』のような数々のクラシックなビデオゲームでも採用されてきました。

    一方、ウェブデザインの領域では、Nikeが2011年にパララックススクロールをいち早く採用した先駆者の一社としてよく挙げられます。それ以来、「パララックススクロール」(「パララックス背景」とも呼ばれます)という言葉は、デザイナーや開発者の間で一般的な用語となり、着実に人気を高めています。

    Parallax scrolling as used in a version of Super Mario Brothers. Notice how the hills in the background move
    in slightly varying speeds, as compared to Mario and the other characters in the foreground.

    ユーザーにとってのメリット

    このエフェクトの素晴らしい点は、ユーザーのウェブサイトへのエンゲージメントを促進し、インタラクションと魅力の両方を高められることです。そして、適切に活用すれば、パララックススクロールは極めてシンプルなウェブサイトにも生命を吹き込むことができます。サイトの訪問者を瞬時に引き込む見事なストーリーテリングを作り出すことさえ可能です。

    あなたの作品を共有してください!

    皆さんはどう思われますか?PBS v4の最新パララックス背景機能はもう使ってみましたか?うまく活用できていますか?ぜひあなたの作品のリンクを共有したり、下のコメント欄にご意見をお寄せください。

    素晴らしいサイト制作を!