[12] [DFN[[RUBY[SmartFormat][スマートフォーマット]]]] は、[[ニュースアプリ]] [[SmartNews]] 
が採用する独自の[[フィード形式]]です。

* 仕様書

[REFS[
- [17] [CITE@en[SmartFormat]] ([TIME[2017-01-20 10:56:06 +09:00]] 版) <https://www.smartnews.com/smartformat/ja/>
-- 消滅確認 [TIME[2022-06-02T01:48:16.600Z]]
]REFS]

>>23

* 言語

[13] [[RSS 2.0]] や [[Atom 1.0]] に独自の[[名前空間]]の[[要素]]を加えたものですが、
一部 [[RSS 2.0]] や [[Atom 1.0]] と非互換な独自仕様となっています。

[16] 
標準のものを [[SmartFormat]] として使うと [[SmartNews]]
側でエラーになり、
[[SmartNews]]
用のものを使うと標準的な[[フィードリーダー]]で正常に解釈されません。
つまり[[Web標準]]的な技術に見えて、両立できない完全なる独自技術というべきものです。

[21] 
意図した仕様でこうなったのかどうかは不明ですが、
実効的に悪名高き[[マイクロソフト]]の[[プロトコルの脱共有化]]と同じ状況です。
[[ニュースアプリ]]として一定のシェアを持っているから許される荒業です。


[FIG(quote)[
[FIGCAPTION[
[23] [CITE@ja[[[SmartFormat]]概要(バージョン2.1) – SmartNews 媒体運営者サポートサイト]]
([TIME[2020-10-07T03:39:50.000Z]])
<https://publishers.smartnews.com/hc/ja/articles/360036526213>
]FIGCAPTION]

> SmartFormat ファイルのフォーマットは、RSS 2.0の仕様、もしくはAtomの仕様に準拠します。

]FIG]

[32] このように、 [[SmartNews]] は [[RSS 2.0]] や [[Atom]] 
([[Atom 1.0]] を指すとみられます。)
に従っていると主張していますが、詳細な説明や例示は明確にこれに矛盾しています。

[24] 
[[準拠]]するとはいったが、[[適合]]するとはいっていない!?
(「適合」は[[標準化]]の用語、
「準拠」はマーケティング用語。)

[FIG(quote)[
[FIGCAPTION[
[27] [CITE@ja[[[SmartFormat]]概要(バージョン2.1) – SmartNews 媒体運営者サポートサイト]]
([TIME[2020-10-07T03:48:18.000Z]])
<https://publishers.smartnews.com/hc/ja/articles/360036526213>
]FIGCAPTION]

> 汎用のフィード(SmartNews以外へのデータ配信に使用しているフィード)を拡張しないでください。必ず、SmartFormat用のファイルを新規作成してください。

]FIG]

[33] 
このように標準の[[フィード]]とは別の専用[[フィード]]を提供することを要求しています。
つまり [[SmartNews]] 側は標準のものと両立できないことを知っているのです。
敢えてこのような標準に反した仕様を採用し、
しかしそうではないかのように説明していると理解せざるを得ません。


[FIG(short list)[ [25] [[SmartFormat]] と標準技術の非互換性
- [CODE[atom:link]]
- [CODE[atom:category]]
- [CODE[category][atom:category]]
- [[SmartFormatの日時形式]]
- [CODE[atom:url]]
- [CODE[atom:link]]
- [CODE[atom:author]]
]FIG]

** リンク

[28] 
[[HTML]] 中で
[CODE[a]]
[[要素]]を使うことは技術的に認められていますが、
実際には[[リンク]]を使うことは許されていません。

[29] 
[TIME[令和2(2020)年][year:2020]]に詳細なガイドラインが策定されたようです。
ガイドラインには条件を満たせば[[リンク]]を使って構わないようなことが書いてありますが、
使っていると連絡が来て削除させられるらしいです。

[30] 
おそらく[[利用者]]が[[リンク]]から外部サイトに遷移するのを抑制し、
[[SmartNews]] 管理下から離れないように制限しているのでしょう。
それなら技術的に禁止すればよさそうなものですが、
特定の事業者だけ優遇する余地を残してあるのでしょう。

[31] 
[[SmartNews]] は一部に[[Web技術]]を流用していても、特定の企業の制御下、
[[囲い込み戦略]]のもとにある[[プラットフォーム]]
([[walled garden]]) です。[[ハイパーリンク]]でどことでも自由につながる
[[Web]] とはまったく異なる世界です。

* 登録

[15] [[フィード]]の [[URL]] を
[[SmartNews]] の運営者に直接連絡し許諾されることでアプリ上に表示されます。
[[Feed Auto-discovery]] のような仕組みはありません。

* 実装

[14] 解釈側として、 [[SmartNews]] 以外の採用例は知られていません。
[[SmartNews]] 
以外が敢えてこの形式に対応するメリットは見つかりません。

[26] 生成側はいくつか知られています。

* メモ

[FIG(quote)[
[FIGCAPTION[
[1] [CITE@en[SmartFormat]]
([TIME[2016-03-18 17:03:22 +09:00]] 版)
<https://www.smartnews.com/smartformat/ja/>
]FIGCAPTION]

> SmartFormat は、SmartNews (https://www.smartnews.com/) の SmartView に表示するコンテンツの内容を、サイト運営者の方々にコントロールしていただくための仕組みです。SmartFormat の仕様に基づいたファイルを用意していただくことで、SmartView 内に指定の関連リンクや広告などを埋め込むことが可能になります。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[2] [CITE@en[SmartFormat]]
([TIME[2016-03-18 17:03:22 +09:00]] 版)
<https://www.smartnews.com/smartformat/ja/>
]FIGCAPTION]

> SmartNews Format	http://www.smartnews.be/snf '''['''2''']'''	snf
> '''['''2''']''' SmartNews 独自の定義。主に Smartモード内で掲出する関連リンクと広告についての情報を定義する。

]FIG]


[3] [CITE[SmartNews Format]]
([TIME[2016-03-18 17:03:22 +09:00]] 版)
<https://www.smartnews.com/snf/>

[FIG(quote)[
[FIGCAPTION[
[4] [CITE@ja[Publishers | スマートニュース株式会社]]
([TIME[2016-03-27 21:05:56 +09:00]] 版)
<http://about.smartnews.com/ja/publishers/>
]FIGCAPTION]

> SmartNews が策定した RSS 拡張である「SmartFormat」に準拠していただくと、弊社が運用するロボットによるクロール開始が高速化します。SmartNews 内でのコンテンツの各種表示の最適化、広告配信などが行えるといったメリットがあります。

]FIG]

[5] よそのサイトには [[RSS]] を用意させておいて、自社サイトの[[ブログ]]は[[フィード]]を用意してないんだよね...
よそのコンテンツは使うけど、自分のところのコンテンツをよそに使われるのは嫌なのかな...
[TIME[2016-03-27T12:08:58.200Z]]

[FIG(quote)[
[FIGCAPTION[
[6] [CITE@ja[WordPressでSmartNews向けにRSSをカスタマイズ | flappe]]
([TIME[2016-03-27 21:11:21 +09:00]] 版)
<http://flappe.guide-book.xyz/column/column-smartnews/>
]FIGCAPTION]

> Smart Newsの形式するためには、独自仕様のフォーマットに対応しないといけません。
> RSS2の仕様に似ているんですが、若干要素を追加する必要があります。
> 例えばアイキャッチやサイトロゴ、関連記事などなど。
> WordPressのフィード(RSS2.0)もそのまま流用できますが、テンプレートを直接変更するとアップデート時に上書きされ、かつ他のRSSリーダーでエラーが起こる可能性があります。
> なので、Smart News専用のテンプレートを作るのが望ましいです。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[7] [CITE@en-US[Spotry.me、SmartNewsの規定するSmartFormat形式に対応!当サイトをSmartViewでご覧頂けます! - Spotry.me]]
([TIME[2016-03-27 21:14:18 +09:00]] 版)
<http://spotry.me/2016/spotry-me-supports-smartnews-smartformat-smartview/>
]FIGCAPTION]

> 今回、当サイトにてSmartFormat形式に対応したことで、スマニュー内のスマートモードで通勤時間の電車内のような電波の悪いところでも快適に読むことが可能になりました。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[8] [CITE@ja[うちのWordPressのRSSフィードでエラーが出るのはどう考えてもASCII制御文字が悪い! | cook+biz開発者ブログ]]
([TIME[2016-03-27 21:16:41 +09:00]] 版)
<http://tech.cookbiz.co.jp/wordpress-798>
]FIGCAPTION]

> しかし、クックビズ総研のRSSは抜粋表示。SmartNews用フォーマット「SmartFormat」では全文表示が必要ですので、SmartNews専用に整備*したRSSを通常のRSSとは別に出力するよう、新たにフォーマットを作成しました。
> ※通常のRSSを全文表示にするだけでもいいのですが、Smartformatで表示するためのXMLタグ追加もしたので新たにフォーマットを作成した、というわけです。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[9] [CITE@ja[SmartNews、記事高速表示プロジェクト「SmartView」を開始〜ユーザの体感速度2倍以上、通信量も媒体によって最大90%以上削減 | スマートニュース株式会社]]
([TIME[2016-04-27 13:38:15 +09:00]] 版)
<http://about.smartnews.com/ja/2016/04/27/20160427smartview/>
]FIGCAPTION]

> 「SmartView」は、当社が提供し、現時点で1500以上の媒体が対応している配信用記事書式「SmartFormat(スマートフォーマット)」を拡張し、より高速、かつ読みやすい快適な閲覧体験をユーザに提供するプロジェクトです。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[10] [CITE@ja[SmartNews、記事高速表示プロジェクト「SmartView」を開始〜ユーザの体感速度2倍以上、通信量も媒体によって最大90%以上削減 | スマートニュース株式会社]]
([TIME[2016-04-27 13:39:02 +09:00]] 版)
<http://about.smartnews.com/ja/2016/04/27/20160427smartview/>
]FIGCAPTION]

> 媒体社が「SmartView」に対応するには、SmartFormat 2.0に準拠した記事コンテンツをご用意いただくことが必要になります。

]FIG]


[FIG(quote)[
[FIGCAPTION[
[11] [CITE@en[SmartFormat]]
([TIME[2016-04-27 06:58:52 +09:00]] 版)
<https://www.smartnews.com/smartformat/ja/>
]FIGCAPTION]

> バージョン2.0の主要な変更点
> channel 要素内に<snf:logo>を追加
> item / entry 要素内に<snf:analytics>を追加
> item / entry 要素内の<snf:advertisement>の子要素に<snf:sponsoredLink>を追加

]FIG]


[18] [CITE@en[SmartFormat 仕様書 -- Atom準拠 - SmartNews媒体運営者向けサポート]]
( ([TIME[2017-07-25 10:28:18 +09:00]]))
<https://publishers.smartnews.com/ja/smartformat/specification_atom/>

[19] [CITE@en[SmartFormat 仕様書 -- RSS2.0準拠 - SmartNews媒体運営者向けサポート]]
( ([TIME[2017-07-25 10:28:18 +09:00]]))
<https://publishers.smartnews.com/ja/smartformat/specification_rss/>

[FIG(quote)[
[FIGCAPTION[
[20] [CITE@ja[SmartFormatを開発する方へ – SmartNews 媒体運営者サポートサイト]]
([TIME[2020-10-07T03:37:22.000Z]])
<https://publishers.smartnews.com/hc/ja/categories/360001838493>
]FIGCAPTION]

> SmartFormatを開発する方へ
> 仕様書や開発上の留意点など

]FIG]


[22] 「SmartFormatを開発」するのは社内の技術者のはず、社内文書かな?それとも外部委託なのかな?と読んでみると、
[[SmartFormat]] のデータを生成する人向けの案内だった。
