無料ブログ「rentafree.net」の管理人ブログ

上部帯UI

たまに、上部に横並びのメニューが配置(Windows等のアプリケーションのメニューバー的な)されているようなUIを使用したサイトを見かけますが、
そのようなUIを簡単に実現させられるような機能を実装させようかなーと考えています。

最初、サイドバーを上部帯形式で表示するようなテンプレートを作ってみようかなーと考えたのですが、
当サービスののテンプレートにはタブUIを使用したテンプレートが有りますが、
タブUIは公式Javascriptの機能で実現した上で、それを使用した公式テンプレートを用意するという形で提供し、テンプレート以外でもタブUIが使える汎用性の高いものとなっています。
帯UIを提供する場合も、同じように公式Javascriptの機能で提供した方が良いかな・・・と。

で、上のようなことを考えていて更に気づいたのですが、
既存のタブUI機能を、座標移動できるように拡張すればタブ機能と共通化できそうな・・・

既存コードをちょっと拡張するだけでできそうなので、近日中に作る方向で。

Copyleft 2010-2015

2015年になって日が経ちますが、トップページの「Copyleft 2010-2015」の表示が2014のままなことに気づいたので更新しました。
これ毎年更新忘れている気がしますw
新年の挨拶記事書くようにすれば忘れないかな。


サービスの更新の方は、今月はやらないと思うのですが、
現在のところサービス上でサイトを公開するにはブログとWikiの2通りあり、
ブログは日付順に記事が並ぶため、日記やニュースサイトを作成するのには向いていますが、固定記事の情報サイトを作成するのにはWikiの方が向いています。
ですが、Wikiは公開サイト上での編集を考慮しているためWiki公文で記述してHTMLを直接書かない使い方が基本となります。
管理者のみが編集するサイトを構築するのならHTMLを直接書けて、ブログと同じようにリッチエディタが利用できる方が良いと思うので、
ブログとWiki以外に、そのようなサービスを始めようか検討しています。

あと、現在は「試運転中」とのことにして無料アクセス解析サービスを提供していますが、
こちら利用者が全然いないのと、設置サイト側に何も表示しないので収益化が難しく当初よりあまりやる気がなく、提供サービス数の確保のためにやってた面もあるので、
新サービスを作るのなら、アクセス解析サービスは辞めようかなと思ってます。


ブログエディターのモバイル対応は、相変わらずモバイルのブラウザーがどれもコンテキストメニューとテキスト選択の共存ができていないので目処は経ちません。
しかし、最近Androidのアプリ開発をやろうかなと思ってるんで、
当サービスとは分離することになると思いますが、XML-RPCのブログクライアントアプリを作れないか検討しています。

QRコード・プラグインの仕様変更を考えています

現在のところブログのQRコード・プラグインは、
http://ユーザードメイン/m/
のガラケー用Compact HTMLテンプレートのページを表示するようにできていますが、
スマホが普及してガラケーでWEBサイトを見るという行為は行われなくなっていると思いますので、
QRコード・プラグインでPC用のURLを表示するように変更しようと考えています。

また、現在はサーバーサイドでQRコード画像を生成して保存していますが、ブラウザ側の処理で<canvas>表示させる仕様にするつもりです。
バージョン8以下のIE等古いブラウザは<canvas>に対応していないので、一部の閲覧者はQRコードを表示できなくなります。


詳細な仕様は検討中ですが、QRコードの生成処理はかなり面倒なので、QRコードの型番やマスク処理を固定化してプログラムコード量を減らそうと思います。
現在のところ型番40まで対応しているのでURLの文字数限界まで表示できますが、URL表示だけなら型番5固定で良いかなと考えてます。
型番5の誤り訂正レベルLで表示できる文字数(英数字モード)は154文字までなので、全ユーザーのURLが収まるはずです。

マスクパターンの評価処理は、処理を作るのも面倒ですし、端末への負担も大きそうなので省略するつもりです。
それにより、QRコード・リーダーが誤判別してしまう可能性もあるのかもしれませんが、多分問題ないです。

それか、汎用性の高いQR生成スクリプトを作ってしまって、公式JavaScriptの機能として用意してしまうのも良いかなと思ってます。

モバイルブラウザでのブログエディター

Firefox Beta34で確認した際にマウスイベント時のselectionの破損バグが無くなっていると判断していたので、
touchイベントとrange状態を判別した上でコンテキストメニューの表示と非表示を切り替えることで対応させようとしたのですが、
Firefox Beta35で試したところ、修正されていると思っていたselectionの破損バグが存在したようで、contextmenuイベント時にrangeの取得が出来なかったので諦めました・・・

以前からタッチパネル端末へのブログエディター対応が最大の課題だと考えていますが、相変わらず厳しいです。

ブログエディターでは、テキストの特定範囲を選択して選択範囲へ処理を行う機能が搭載されていますが、
PCではコマンドをマウス右クリックのコンテキストメニューから選択するようになっていますが、
タッチパネル用のブラウザでは、
  • テキスト選択 → テキスト長押し
  • コンテキストメニュー → テキスト長押し
と、コンテキストメニューとテキスト選択が同じ操作なのでブラウザがコンテキストメニュー機能に完全に対応出来ていません。

range状態を判別して、こちらでコンテキストメニューの有効・無効を切り替えれば実用的なレベルで対応できそうなのですが、
  1. マウスイベント時にrangeを取得しようとするとエラーが発生する。
  2. oncontextmenuイベント時にイベント伝達を停止するとコンテキストメニューが表示されない。
というバグを把握しています。
2に関してはセキュリティーを犠牲にすれば対応できるのですが、
1に関してタッチに対応させようとすると見た目の選択範囲と処理範囲に食い違いが生じてしまう可能性があるので避けたいです。

通常の方法ではマウスイベント時にrangeに対して処理が行えないので、エディター上部メニューからの処理も行えません。


Google Chromeの場合はバージョンによって挙動が変わる気もしますが、テキスト上で長押しすると選択が優先されてコンテキストメニュー(Firefox以外では擬似コンテキストメニュー)が表示されないようです。
こちらはコンテキストメニュー自体が非対応なので仕様に問題があるとは思いますが、
バグは無さそうなので、テキスト選択をした上でエディター上部メニューから処理を行うことは可能です。


現状ではタッチパネル端末でブログエディターを利用する場合は、Google Chromeの方をおすすめしますが、機能に制限がある状態です。
Firefox以外のブラウザはコアがBlink又はWebKitですので、Firefox以外のブラウザはほぼ全てChrome互換です。

200日以上ログインしていないアカウントのドメインを停止します

放置アカウント対策で、200日以上ログインしていないアカウントのドメインを停止することを計画しています。

準備の方は完了しているので近日中に処理を行い、以後日毎に自動処理とします。

この処理で確認されるログイン日時はパスワードの入力をしないセッションログインでも更新されますので、
ログイン状態のまま200日以内に公式サイトに訪れている場合は停止の対象にはなりません。
(ただし、誤差が最長24時間生じますので、199日以上200日未満でも対象となる可能性があります。)

XML-RPCやメール投稿によりブログを更新している場合でも、
200日以上公式サイトへログインしていないアカウントのブログは配信停止となります。

停止処理に該当した場合ユーザーサイトの配信が停止しますが、アカウントは停止しません。
次回パスワードでアカウントにログインした際に即時停止解除となります。

放置アカウントに属するサイトの配信停止

うちのサービスでは現在のところ放置ブログ等への広告挿入は行っていないですが、
放置ブログに広告挿入を行っても効果は少ないと考えているのですが、
放置アカウントのサイトが増え続けるのは好ましくないので、
対策として放置アカウントに属するサイトの配信停止を行おうかと考えています。

同種サービスでは30日等の期間で未更新のブログへの広告挿入を行っているところが多いですが、
広告による収益効果よりも、放置アカウント対策として考えているので、
管理者にログインしてもらえれば放置サイトが存在してもいいと思うので、
サイトの更新ではなく、アカウントのログイン状況で処理を行う方向で考えています。

期間は、
広告挿入なら100日放置
配信停止なら200日放置
程度で考えてます。

対象となったアカウントも、再度ログインすれば即時解除する方向で。

ログイン履歴を表示できるようにしようかと

ここのところサービスの修正等は全然行っていませんが、
サービスの機能自体には影響ないことですが、データはとってあるのでログイン履歴を表示できるようにしようかと思ってます。

履歴はパスワードを利用してログインした際に時刻とIPアドレスが記録されますので、それが表示可能です。
ログアウトしなければ基本的に次回はパスワードを使わずにセッション認証となりますが、パスワード認証分のみです。

現在は公式サイトへのログインとXML-RPCの履歴を区別できるようにしてありますが、
公式サイトへのログインをHTTPとHTTPSの2種類に分けようかなと考えていますが、
現時点までの分は区別していないので補正することはできません。

MSIE 11.0 のUserAgentについて

先ほど気づいたのですが、MicrosoftのInternet Explorer 11でUserAgentの表記が大きく変わっているようで、

Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.1; WOW64; Trident/6.0)
↑10まではこんな感じだったのが、

Mozilla/5.0 (Windows NT 6.1; WOW64; Trident/7.0; rv:11.0) like Gecko
↑11はこんな感じで、

MSIEを名乗らずにGeckoを名乗るように変わっており、現在アクセス解析でMSIEと認識できずGeckoに分類されています。

後ほど対応させようと思いますが、IE11の表記からIEのバージョンを抽出してしまうと互換ブラウザで問題が生じそうな気もするので、
IE11ではなくTrident7としてグループ化しようかと思います。
その場合IE8がTrident4となりますが、IE7以前はTridentではなくMSIEとして分類されるようになると思います。

今月も更新は無し

メインサーバーの新調がまだなので、今月も機能変更等の修正は無しです。

今月も残り僅かですが、メインサーバーの新調は早ければ今月末、遅くとも来月中にはやります。

IPアドレスの変更を伴う作業になりますので、ダウンは数分で完了する見込みではありますが、お使いのDNSによっては長時間接続できなくなります。

独自ドメインを使用している方で、もしAレコードでドメインを向けている方がいましたら、IPアドレスが変わるので作業完了後にDNSの変更が必要になります。
独自ドメインはCNAMEレコードで設定するように指示していますので、通常はユーザー様が作業をする必要はありません。

今月も更新は無さそうです

先月はサービスの公開部分には何も変更を行いませんでしたが、
4月末か5月上旬にメインサーバーの新調を考えているんで、今月と来月も機能追加等は行わないと思います。

昨今データのバックアップ処理時のダウンタイムが分レベルでかかってしまっていますが、メインサーバーの新調後はダウンタイムは1秒程度になる見込みです。

既存機能に明らかな問題が判明しなければ当面は公開部分に修正は加えないと思いますが、
5月以降にはブログの検索時の処理を変えようか検討しています。