すべての住民への挨拶。
今日、ノキアのすばらしいモバイルコンピュータの所有者がKutimを利用できるようになったことを伝えたいと思います。
移植中にどんな問題に遭遇しましたか?
仕事の始めに最初に出会ったのは、Kutimaビルドシステムです。 すべてのプロジェクトに通常の.proファイルではなく、cmakeを使用します。 つまり、アセンブリを開始するには、Nokia Qt SDKでは不十分です。 Scratchboxを配置する必要があります。 まあ、もちろん、アセンブリを長い間待った後、クティムは開始しませんでした。 問題は、Mayoで機能していない一部のプラグインにありました。 それらを削除する必要がありました。
ネットワークを開始してネットワークに接続した後、Koutimを日常生活で使用するには多くの変更が必要であることに気付きました。
ここに私が出会ったものがあります:
1.インターフェイス全体がN900の小さな画面に収まらない
もちろん、Kutimaではすべてが非常にミニマルですが、多くのウィンドウの内容はまだ画面に収まりません。 ウィジェットを指で移動できるようにするには、ウィジェットをQScrollAreaでラップする必要があります。 当初、これは必要なすべてのウィジェットに対して行われていませんでした。
小さなコメント:以下、すべてのスクリーンショットは800×480から400×240に縮小されます。 これは、画面上のスペースをあまり占有しないようにするためです。2. Qtの制限
MayoはすべてのQtウィジェットをサポートしているわけではありません。 公式にサポートされていないものの一部は完全に機能し、使用できます。 しかし、それらのいくつかは単に機能しないか、使用できないように見えます。
たとえば、MayoのQSoundは機能しません。 この場合、Kutimaプラグインが役立ち、フォノンとsdlsoundを介したサウンド出力を実現しました。 後で判明したように、sdlsoundはアイドル時間で多くのプロセッサ時間を消費するため、放棄する必要がありました。 QFontDialogは、使用できないウィジェットとして使用できます。 やり直す必要があります。
3.新しい投稿の通知
Mayoでは、通常のコンピューターで私たち全員がよく知っている新しいメッセージに関する情報を含むポップアップウィンドウは受け入れられません。 ここでも、dbus経由で通知を送信するプラグインがKutimaで非常に有用であることがわかりました。 Mayoではすべての標準プログラムがこのバスで通信するため、非常に便利です。 後で、このプラグインに振動とLEDサポートをねじ込みました。
結局のところ、開発者は、イベント通知を送信できる複数のチャネルがあることを期待していませんでした。 したがって、一時的にすべてを1つのプラグインに含める必要があり、構成する機能はありませんでした。
4.アイコン
N900 ppiには通常のモニターよりもはるかに多くの画面があり、アイコンは非常に小さくなります。 例として、投稿の最初の写真を見ることができます。 その中の顧客アイコンは16×16です。 これはどこでも使用されているため、これ以上ありませんでした。
さらに、通常、アイコンはあらゆる種類のボタンです。つまり、指でアイコンをクリックする必要があります。 Mayoのすべてのボタンの最小アイコンサイズは48×48ピクセルです。 Kutimaが酸素テーマのアイコンを使用するのは良いことです。なぜなら、それはすべてのアイコンに必要なサイズをすべて備えているからですが、それにもかかわらず、一部の場所では問題がありました。 たとえば、連絡先リストでは、アイコンのサイズは16x16でした。
また、この段落で、開発者がメニューからいくつかの重要な項目を転送したことにも言及したいと思います。通常、画面上の長押し(マウスの右ボタン)で表示されます。
5. Windows
Kutimaでは、他のプログラムと同様に、多数のさまざまなウィンドウがあります。 また、モバイルデバイスで多数のウィンドウを作成するのは適切ではありません。 Mayoでは、この問題を解決するためにStackedWindowコンセプトが提供されています。 つまり、新しいウィンドウは、アニメーションを使用して古いウィンドウを左にシフトします。 閉じるアイコンの代わりに、現在のウィンドウを閉じて前のウィンドウを開く戻るアイコンが表示されます。 このような機能をサポートするには、多くのウィンドウのコードにMayo固有のコードを導入する必要がありました。
6.設定
最初は、kutimaのすべての設定が1つのウィンドウにあります。 しかし、N900の画面にはあまり収まりませんでした。 災害の規模を評価するために、次の図を読むことを提案します。
状況を改善するために、
Gorthauer87はNokia Symbianのサンプル
SlidingStackedWidget (
ビデオ )の使用を提案しました。 つまり、設定ウィンドウを開いた直後に、ユーザーに主要なポイントのみが表示されるようにします。 それらのいずれかを選択した後、サブアイテムを開きます。 選択すると、特定の設定が開きます。 これにはすべて美しいアニメーションが伴います。
後に、このチップは会議ブックマーク管理インターフェースとチャットにねじ込まれました。 さらにそれについて。
7.チャット
メッセンジャーで最も重要なウィンドウは、コンタクトシートウィンドウとチャットウィンドウです。 最初のもので、すべてが原則的に理解できる場合(ランドスケープモードではアクションを異なるように配置する必要があることを考慮する必要があります)、チャットはそれほど単純ではありません。
他のすべてのインスタントメッセンジャーと同様に、Kutimaでは、いくつかのチャットがタブの形式で配置されます。 しかし、モバイルデバイスでは、小さな画面と多くのタブはそこに収まりません。
たとえば、遠くに行く必要はありません。タブはメイヨーのパジーナで使用されます。 彼らは多くの場所を占めており、それらの多くで適切なタブーに乗ることは問題です。
会議もあります! これは、標準ウィンドウには会議のユーザーのリストもあり、画面のほぼ半分を占める一方で、使用するのはほとんど非現実的であることを意味します。 これは、最初からクチマでどのように見えたかです。
何を思いつきましたか?
チャットリストを開く、現在のチャット、会議参加者の3つのウィンドウを作成します。 プロトコルが会議をサポートしていない場合、ウィンドウの数は2つに減ります。 同時に、チャットウィンドウでは、チャット自体、送信ボタン、絵文字付きのボタン、新しいメッセージの入力フィールドなど、すべてが非常にシンプルである必要があります。
しかし、コンセプトを考え出すだけでは十分ではありません。 美しく快適に使用する必要があります。
最初の問題を解決するために、設定ウィンドウに適用された概念を使用することが決定されました。
そして、2番目の問題を解決するために、最初は指の動きのみを使用することにしました。 つまり、画面を右から左にスワイプしてから前の画面に切り替えた場合、左から右の場合は次の画面に切り替えます。 もちろん、ウィンドウが2つしかない場合は、任意の動きをすることができます。
結局のところ、各ウィンドウの右側に半透明のボタンを追加し、右側の次のウィンドウに切り替えることができるため、指の動きを使用することは必ずしも便利ではありません。
その後、このボタンにさらに2つのボタンが追加されました。チャットの閉じるボタンとコンタクトシートの表示ボタンです。
しかし、もちろん、指を動かしてウィンドウを切り替える機能はなくなりません。
8.ポートレートモード
Mayoでは、デフォルトでどこでも横向きモードが使用されます。 ポートレートモードのサポートは、いくつかのプログラムでのみ実装されています。 たとえば、そのうちの1つは電話です。
しかし、インターネットメッセンジャーとしての日常生活におけるこのような重要なプログラムは、ポートレートモードをサポートすることが重要です。携帯電話を両手で持つことが常に可能であるとは限らないからです。
Kutimaのソースコードを変更するとき、ランドスケープモードのみがサポートされていたとき、ポートレートでどのように見えるかを考えました。 したがって、ポートレートモードをオンにした後、再度変更を加える必要はありませんでした。 連絡先リストにない限り、メニューを移動する必要がありました。 しかし、チャットはそれほど単純ではありません。
Mayoの仮想キーボードは横向きのみをサポートしているという問題がありました。 私は少しサイクルして、ポートレートモード用にqwertyキーボードを作成する必要がありました。


9.メニュー
また、QMenuについても言いたいと思います。 Mayoでは、すべてのメニュー項目は指で触れるように配置されているため、非常に高さが高くなっています。
それらは次のようなものです(実際のサイズ):
キューティマでは、多数のアイテムとサブアイテムを持つすべてのメニュー。 QMenuコードを別のものに変更するのは非常に難しいため、これは大きな問題を引き起こしました。 これを作り直すには、多大な時間を費やす必要があります。
現時点では、この方法でこの問題を解決しました。QStyleSheetsを使用して、メニュー項目の高さをすべてが収まるように減らしました。 ユーザーは、文句を言わないようです。
おわりに
数ヶ月前のMayoでは、組み込みのクライアントに加えて、ピジンがありました。 彼は彼の不便さ、静かな音などで誰にも適していない。 今では誰もが便利なインスタントメッセンジャークライアントを使用して、ピジンを投げる機会があります。 さらに、Kutimaの最新バージョンは、libpurpleからプロトコルサポートをロードすることを学びました。
近い将来に予定されているもの:
- 通知の変更。 主にカスタマイズできるようにするため
- 特定のMayoトレイのサポートを実装するプラグインを作成します。
最後に、MayoのKutimaインターフェイスの動作を示すビデオ:
そしてもちろん、Koutimaの開発者自身は何をしているのだろうかと思いますか? この1か月で、KutimaにMail.ruプロトコルのサポートが追加され、pidginからのプロトコルのロードを実装するquetzalプロトコルが復活しました。 さらに、彼らはSymbian用に同じCutimを収集しようとしています。 シンビアンSDKにはcmakeがないため、ビルドは複雑であり、Kutimをコンパイルするにはcmake用のパッチを自分で作成する必要があります。 非常に多くの問題があるため、このプロセスは高速ではありません。
「しかし、どのように」とあなたは言います。なぜなら、私はすでに(a)Symbianスマートフォンで実行されているキューティムのスクリーンショットを見たからです。 そして、あなたは正しいでしょう。
しかし、実際には、その時点ではcmakeに強く依存していなかったため、symbianの下で、それなしで何かを収集することができました。 さらに、最初にSlidingStackedWidgetのアイデアはsymbianバージョンでテストされました。
現在、cmakeは開発者向けに多くのルーチン作業を開始しました。 したがって、symbianでcmakeが完了するまでは、悲しいかなKutimはそこに表示されません。 誰かが助けてくれたり、助けたいと思っている
なら、大歓迎です。