スキップしてメイン コンテンツに移動

Google Booksが機能拡張したらしい

訴訟が起きたり(すでに和解済み)話題豊富なGoogle Booksだが、
Google Books Product ManagerのBrandon Badgerのブログ(6/18)によると機能拡張されたらしい。

New Features on Google Books

本が好きな自分としては日本版Google Booksを是非提供してもらいものだ。
今後に期待したいな~~。


英語の勉強をかねて、New Features on Google Booksを日本語全訳(意訳?違約?)してみました。
たいした英語力が無いだけに内容の保障は・・・。
何か問題があればすぐさま修正、削除しますのでご連絡ください。

以下訳と画像。


本の読み方を想像してみてください。
本を読みたいと思う、もちろんそれはいろんな要素があります。
ページをめくってみてください。
目次を開いてみれば、自分の好きな章が見つかるでしょう。
そして友達に教えてあげれば、皆が見れます。


本を読む人、愛する人のために、
オンラインならどこでも本の言葉やイメージを用いて新しい相互作用の場を提供する、
GoogleBooksに関する重大な発表があります。
各々の好きな本のプレビューをブログ、あるいはウェブページで、
簡単に共有できるようにしました。
そこでは簡単に検索、表示、共有できるようにデジタル化しています。


1.リンク、埋め込み方
今回の新しいツールバーでは、ごく簡単なHTMLコードを用いることで、
preview of a full view、あるいは提携を結んでいる書籍や雑誌を、
あなたのブログ、あるいはウェブサイトに埋め込めます。
同じように埋め込みようのタグを用いて、
YouTubeでも簡単に共有することができます。
プログラマであればEmbeded Viewer APIを用いて実現できますが、
上述した新しい方法によって皆が容易に使用できます。
URLリンクをEメール、IMで用いれば、
GoogleBooks上で同じ本、ページを友人に見せることもできます。
本を読む人にとっては愛する本をより簡単に共有できるようになり、
そして出版社側としてはWebを用いて販促できるようになります。



2.本の中身検索機能の向上
GoogleBookSearchによって探している本の内容をいつでも検索できます。
著作権が消滅した書籍あるいは提携を結んでいる書籍や雑誌から、
あなたの検索ワードにより本の内容を厳密に閲覧できるよう、
ページのイメージ、本の一言一句を表示できるようにしました。
これらのイメージをクリックすることにより、
直感的に本の内容を確認することができます。
また発注した本や雑誌に関連付けて検索結果を並び替えることも可能です。



検索結果バーにある'Previous'、'Next'ボタンを使えば、
すばやく簡単に検索結果を表示できます。



3.サムネイルビュー
ツールバーに表示されるサムネイルビューをクリックすれば、
著作権が消滅した書籍の要約が見れます。
サムネイルのイメージをクリックすることで、
reading viewへと遷移します。
("full view"として使用可能)



4.コンテンツドロップダウンメニュー
上述してきた本は、
コンテンツドロップダウンメニューから、
その本のそれぞれの章へ遷移することができます。
(この技術を不思議に思うかもしれませんが、
 携帯版GoogleBooksで提供している、
 structure extraction techonolgyを用いています)



5.プレーンテキストモード
著作権が消滅した書籍をプレーンテキストとしても提供しています。
full viewが使用可能であれば、
ツールバーの'Plain text'ボタンでテキストのHTMLバージョンが見れます。
(full viewのためにOCRによって形成されたものです)



6.Page Turnボタンとアニメーション
そのページを読み終えていなかったとしても、
page turnボタンを押すことによって、
ページをスクロールさせることができます。
ページ内を行ごとのアニメーションで動かすことによって、
テキストを読むことが容易になります。



7.Book Overview Pageの改善
Overview pageでは以下の情報を用いて分類が可能です。
レビュー、レイティング、サマリー、関連書籍、キーワード、フレーズ、
ウェブでのリファレンス、本からの引用箇所、出版社情報、などを用いて、



以上です。

普段なんだよこの訳とか思うけど、いざ自分でやると恐ろしく難しいな・・・。

コメント

このブログの人気の投稿

間違ったフォーマットのプログラムじゃないんだけど

以下エラーに対し、 ファイルまたはアセンブリ 'SSPI'、またはその依存関係の 1 つが読み込めませんでした。間違ったフォーマットのプログラムを読み込もうとしました。 以下環境で対応した話です。 VisualStudio2012(C# ASP.NET MVC4.0) IIS7.5 とあるところのdllを使用中 ASP.NETをIISに発行しようとしたら、上記エラーが発生。 他のプロジェクトでは問題なく発行できているのに、 何かと思ってみたら、google先生に尋ねてみると、 DLLファイルの対象プラットフォーム(32bit/64bit)が異なる とのことでした。 このサイトでは対処方法として、 運用環境のプラットフォームに合わせ、適切なランタイムファイルを配布してください。 と記載されていますが、今回の私のようにとあるところのdllを使用している場合などは、 そうもいかない場合もあるでしょう。 そこでdllを変更できない場合には、 IISのアプリケーションプールの設定で、 32bitアプリケーションを有効化してあげることで対応できます。 以下手順です。 コントロールパネル → 管理ツール → インターネット インフォメーション サービス (IIS) マネージャー を起動します。 変更したいアプリケーションを右クリックして、詳細設定を選択します。 32ビットアプリケーションの有効化をTrueに変更します。 もう一度発行します。 ここまでです。 簡単だけど知らないとなかなかはまるかなって気がしますね。 独特のくせなのかもしれません。 そして、次なるエラー発生中です・・・。

SQLServer2008でのトランザクションログの切り捨て方

SQL Server 2008でとあるDBのトランザクションログが一杯に。 BACKUP LOG DatabaseName WITH TRUNCATE_ONLY を使ってトランケートしようとしたら、 'TRUNCATE_ONLY' はBACKUP オプションとして認識されません。 との冷たい返事。2008で廃止されていたのを忘れていた。 SQL Server 2008 で廃止されたデータベース エンジンの機能@MSDN そこでヌルデバイスを使用してバックアップを取得する方法で、切り捨てを試みる。 BACKUP LOG DatabaseName TO DISK = ‘nul’ GO するとまた冷たい返事。 現在、データベースのバックアップが存在しないので、BACKUP LOG を実行できません。 2008では過去にフルバックアップを取得しておかないと、ランザクションのバックアップが取得できないことを忘れてた。てなわけで、まずはデータベースのフルバックアップを取得して、 BACKUP DATABASE DatabaseName TO DISK = ‘nul’ GO もう一度トランザクションのバックアップをして、やっと切り捨てれた。最初から単純にしておけばよかった・・・。

並列化できない非同期の話

あるバッチ処理で顧客にメール送信する場面ありますよね。そんなとき、メール送信はメールサーバに投げ込むだけなんだから、投げ込むの非同期すりゃ早くなるんじゃないって思いませんでした? 思いますよね? そんなことを考えて、C# で SmtpClinet を使ったお話です。ちなみに結論的に非同期で早くなりません。 SmtpClient.SendAsync C# でメール送信するなら、SmtpCilent クラスってのがありますと。こいつが同期でメール送信する Send だけではなく、非同期でメール送信する SendAsync ってのを持っているわけですよ。 MSDN を参照すると、 指定した電子メール メッセージを、配信用 SMTP サーバーに送信します。 このメソッドは、呼び出し元のスレッドをブロックしません。また、呼び出し元は、操作の完了時に呼び出されるメソッドにオブジェクトを渡すことができます。 とのこと。非常に Good ですね! 少しの背景と過大な期待 背景として、すでに動いているバッチが遅いって話になって、性能改善に取り組んでいました。現存しているバッチは Send で動作しています。 てことは、 SendAsync にするだけいいんじゃないの?それだけ非同期になるから早くなっちゃうんじゃないの?こんな期待感でいっぱいでした。 ところが 修正して実行すると想定以上の時間で完了しました。でもメールが飛んできません。。。よくよく見ると例外が。。。そしてよくよく MSDN を見ると、 SendAsync を呼び出した後、Send または SendAsync を使用して別の電子メール メッセージを送信する前に、電子メールの伝送が完了するまで待機する必要があります。 とのこと。 これって結局メール送信は非同期で並列になることことを許容していないってことだったんですね。 非同期と並列処理は別ですが、とは言え並列処理を許容していないとは。。。 結局 今回は Parallel.Foreach を使って、メール送信箇所は並列処理するように書き直しました。これもお手軽ですね。