ラベル ソフトウェア開発 の投稿を表示しています。 すべての投稿を表示
ラベル ソフトウェア開発 の投稿を表示しています。 すべての投稿を表示

2021年8月26日木曜日

「ウェブテクノロジの小野です。」

今回は、私と勤め先のウェブテクノロジとの、出会いから現在、そして今後について書きました。

◆ ◆ ◆


【出会い】

1996年5月15日。当時フリープログラマーだった私は、「有限会社ウェブテクノロジ (当時)」創業者の二人、小高輝真ささんと清水和文さんに初めてお会いする機会がありました。

お二方とも当時、既に「アスキー」「ざべ」などのパソコン雑誌に寄稿したり、PC9801や一太郎の解説本も何冊も執筆されている、当時のパソコン好きにとって「あこがれの有名人」でしたから、お近づきになれたことが嬉しくて非常に舞い上がっていたのを覚えています。

1991年2月13日創業の同社は、当時はまだ社員が3人だけで、Windowsのプログラマーを探していました。私は外注としてお仕事をお手伝いすることになりました。

すべてはここから始まりました。

 

株式会社ウェブテクノロジ Web Technology Crop. 会社ロゴ
2008年までの会社ロゴ


当初私は平行して他社の仕事もやっていましたが、徐々にウェブテクノロジの仕事が増えていきました。とにかく、新しい試みや体験が次々とあって、それが本当に楽しかったです。

なので、社員にならないかと誘っていただいたときも、迷うことはありませんでした。1998年2月より、私は「株式会社ウェブテクノロジ」の5人目の正社員となりました。
(数年後には3番目の古参になってしまいましたが…)

 

小野知之 ウェブテクノロジ 名刺
私のウェブテクノロジ最初の名刺


【作り続けた日々】

それからは、ウェブテクノロジで本当にたくさんのソフトを作って来ました。
大ヒットしたものもあれば、いまいちで短命に終わったものもあり…。
「自分たちでソフトを作って売る」というこの事業は、若干のプレッシャーがありつつも、常に活気に溢れていました。

この25年感で、私が開発に関ってきたウェブテクノロジのソフトは、ざっとこんな感じです。 


  • OPTPiX (1997年発売~2000年販売終了)
  • Getweb! with ImageBrowser (1998年発売~2003年販売終了)
  • GetPHOTO! (1998年発売~2001年販売終了)
  • EXEpress (1998年発売~)
  • OPTPiX webDesigner / Snap! (1999年発売~200?年販売終了)
  • OPTPiX iMageStudio / imesta / ImageStudio シリーズ (1999年発売~)
  • SpriteStudio シリーズ (2005年発売~)
  • EsPix Pro (2010年発売~201?年販売終了)
  • コミPo! / ComiPo! (2010年発売~)
  • ノートくっきり (2015年公開~)
  • セイカ歩数計 (2015年公開~2018年開発移管)
  • OPTPiX SmartJPEG (2017年発売~)
  • OPTPiX IndexColorShader for Unity (2021年公開~) 

 

他に受託開発したソフトもいろいろありました。、何本か忘れているものもあると思いますが…。とにかく、Windows用ソフトであればほぼ全部に関っていると思います。


【OPTPiX と共に】

この中で、画像減色ソフト「OPTPiX (オプトピクス)」のヒットが、その後の会社と私の運命を決めたと言っても良いと思います。

1997年にシェアウェア(オンラインソフト)として発売した初代「OPTPiX」は、当時大人気だったPCゲームメーカーの Leaf さんが採用・紹介していただいたことから一気に話題になりました。その結果、コナミさんとスクウェアさんから「プレステ用にカスタマイズしてほしい」との開発依頼を頂くに至りました。

OPTPiX (1997年)
起動スプラッシュ画像

これをきっかけにゲーム開発業界へ参入しました。上位製品となる画像最適化ソフト「OPTPiX iMageStudio」シリーズは「ゲーム開発用画像処理ソフトのデファクトスタンダード」として一気に業界全体へ広まり、ウェブテクノロジの主力製品となりました。

OPTPiX iMageStudio 5 の起動画面
OPTPiX iMageStudio 5 (2004年)
起動スプラッシュ画像

 

その後も、携帯電話、デジタル放送、カーナビ、自動車、パチンコ・パチスロ、OA機器などなど、「あらゆる画像表示機器」へと対応分野を広め、「画像処理のウェブテクノロジ」としての地位をかためながら現在に至っています。

 

そしてこれらの実績が認められ、ウェブテクノロジは2018年5月、同じくゲーム開発業界向けを中心として最強の音声・動画ミドルウェアなどを開発している「株式会社CRI・ミドルウェア」の100%子会社となりました。
長年、みんなで頑張ってきたことが高く評価されたからこそ実現したことなので、ここまで自分たちの会社の魅力を高められたことをとても誇らしく思っています。


【コミPo! の誕生】

 一方、OPTPiXシリーズと平行して、他にも様々なソフトを作って来ました。その代表の一つは、なんといっても「コミPo!」でしょう。

主にゲームなどの開発業界のプロ向け製品開発に注力してきたウェブテクノロジが突如、一般市場(コンシューマー)向けの製品を作ったのです。
とはいえこれは当時、漫画家の田中圭一さんが社員であったことがきっかけで実現したものですし、元をたどれば田中さんが入社したのも、OPTPiXによるゲーム業界との強い結びつきがあったからこその縁でした。つまりコミPo! もOPTPiXがあったからこそ生まれた製品と言えなくもないでしょう。

コミPo! は、紆余曲折あって死にそうな思いもしながら作り上げ、2010年12月15日に無事発売され、「使いやすい」「便利」「こういうのが欲しかった」といった非常に高い評価を多数頂くことができました。これは、特に OPTPiX シリーズで長年培って来た、UIや操作性についての知識と、さりげなく豊富な画像加工機能などがあったからこそではないかと思います。

コミPo! 製品ロゴ
コミPo! 製品ロゴ

その後は英語版「ComiPo!」も発売し、世界中のたくさんの熱心なユーザーの皆さんに支えられながら、多くはないもののジワジワと売れ続け、おかげさまで昨年末には発売10周年を迎えることができました。

そして更に、コミPo! を作った会社・・・私の自慢の「ウェブテクノロジ」の名前が、ゲーム開発業界などの限られた人達の間だけではなく、一般の方々にも知って覚えてもらえたことが、最高に嬉しいです。これだけでも「コミPo! を作って良かった」と思えるほどです。


【そして創業30年】

こうして今年、2021年2月13日に、ウェブテクノロジは創業30周年を迎えることができました。30年も会社を続けてこられたのです。非常に大きな達成感のある数字です。

自分は、「ウェブテクノロジ」で「OPTPiXシリーズ」と「コミPo!」を作るためにプログラマーになり、今まで生きて来たんだと思っています。

これらは、私の生涯の誇りです。


株式会社ウェブテクノロジ Web Technology Corp. 会社ロゴ
現在の会社ロゴ

 

【これから】

今日、2021年8月26日。
親会社のCRI・ミドルウェアから、下記の情報が公開されました。

2021年9月30日をもって、「株式会社ウェブテクノロジ」は、30年半の歴史に幕を降ろすこととなりました。 

ウェブテクノロジはCRI・ミドルウェアに吸収合併され、10月1日からは社員も製品もすべて移籍・移管となります。

現行製品の開発・販売・サポートは合併後も変わらず継続しますが、ウェブテクノロジとしてではなくなります。

 

ウェブテクノロジは30年以上、潰れることもなく、やり遂げました。そして、 ウェブテクノロジが築き上げてきたものは、CRI・ミドルウェアの中で今後も生き続けます。


私に最高のプログラマー人生をくれたウェブテクノロジ・・・ここでソフトウェアを作れて本当に幸せでした。今まで本当にありがとうございました。

 

小野知之 ウェブテクノロジ 名刺
私のウェブテクノロジ最後の名刺

 

CRI・ミドルウェアになっても、「OPTPiXシリーズ」「コミPo!」をはじめとする旧ウェブテクノロジ製品をよろしくお願いします。

 

(※実は、この文章を残したいと思ったのも、このブログを始めようと思ったきっかけの一つでした。こうして残せて良かったです。)

2021年8月8日日曜日

Android の仕様変更への追従 (2)

前回の続きです。

Android アプリ「Simple アナログ時計」は、2012年の公開後、「Alarm Manager の仕様変更」「Battery Optimization の導入」などに対応して安定動作させるため、改良を重ねてきたのでしたが、まだ続くようです。

 

Service の制限強化 (SDK Level 26)

私のアプリでは、安定して時計を動かし続け、また端末のスリープを検出して描画更新を止めることでバッテリーの無駄な消費を無くすため、Service によるバックグラウンド処理をしています、

ところが、Android 8.0 (SDK Level 26) から、この Service の使い方に制限が追加されたのです。具体的には、「Serviceを長時間動かし続ける場合は、通知バーにアイコンを表示する必要がある」というものでした。アイコンを表示せずに Service を開始すると、5秒程度で強制終了されてしまいます。
また、これに加えて「新たにアプリを公開・更新する場合には SDK Level 26 以上の制限への対応が必須」というルールも増えました。悪意ある常駐アプリを作れなくするためですね。

 

とはいえ、Service を使うアプリが突然使えなくなるのはユーザーも困るということで、救済措置として「既にストアで公開されているアプリであれば、通知バーアイコンを出さなくても従来どおり動作する」ということになっていました。

  私のアプリも幸い、Android 8.0, 8.1 でも正常に動作しました。また、アップデートするには SDK Level 26 以上への対応にいろいろ改造する必要があったので、しばらくそのままにしていました。


ところが、2019年になり、Android 9.0 の端末が増えるに従い、「止まってしまう」という報告が増えてきました。どうやら、Android 9.0 で何か互換性に問題が出たようです。しかし前述のとおり、今度アップデートするには新しい SDK に合わせて Service の動作もいろいろ改造する必要があります。

当時は非常に多忙で時間が作れず、頻繁に届く「動かない」という報告と、下がって行く評価を、放置しておくことしかできなかったのが非常に辛かったです。

2020年2月になってようやく、Service の動作を変更し、Android 9.0 (SDK Level 28) に対応をして公開しました。公開後に「通知バーアイコンが邪魔だ!」というクレームが多数来てしまったものの、「動くようになった!」という喜びの報告をたくさん貰うことができました。下がっていた評価は徐々に戻り、一安心でした。

その後は1年以上、非常に安定しており、Android 11 でも特に問題は出ていませんでした。


 原因不明 (SDK Level 29)

2021年6月に、時間があったので久しぶりに、いくつか機能追加と改良をしました。

前述のように、アプリの公開・更新にはSDK Level の制限があり、この時点では「Android 10 (SDK Level 29) 以上への対応必須」となっていました。幸い SDK Level 29 では私のアプリの動作へ影響するような仕様変更などは無く、時計の駆動部への変更は一切無いまま機能追加し、アップデートを公開することができました。

ところが公開後から、数は少ないのですが「停止してしまう」という報告が来るようになりました。Battery Optimization の設定変更などをしても改善せず、原因がまったくわかりません。報告者の端末に傾向などは見られず、私の手元でも問題は発生しません。なにか、非常に限られた条件下でのみ発生する問題があるようなのですが…。


いろいろ調べたのですが、原因と思われるものが見つかりませんでした。あと原因として考えられるのは、「SDK Level 29 の、広くは公表されていない変更箇所の影響」くらいではないかと…。もちろんOSのソースの改変履歴を調べれば見つけられるかもしれませんが、やりたくない作業ですね。

というわけで、「もしSDK Level 29 の不具合であれば、改善するかもしれない」と祈りながら、「Android 11 (SDK Level 30)」に対応してアップデートを公開しました。機能追加はせず、時計駆動部も小改良した程度です。


現在、2週間が過ぎましたが、「止まってしまう」という報告が全く来なくなりました。本当に「SDK Level 29 の問題」だったのかもしれません…。

できればもう、あとはこのままずっと正常に動き続けてほしいものです。


2021年8月6日金曜日

Android の仕様変更への追従 (1)

拙作の Android アプリ「Simple アナログ時計」は、最初の公開からもう9年以上も経つ、秒針付きアナログ時計のウィジェットです。細々とアップデートを積み重ね、おかげさまで高い評価をいただき(現在★4.3)、常に「アナログ時計」検索結果上位を維持してきました。

しかし、「1秒毎に画面更新するウィジェット」という、スマホアプリとしては特殊なことをやっているため、これまでの Android OS の仕様変更によって何度か「対応限界」の危機がありました。

 

Simpleアナログ時計 Simple Analog Clock
Simpleアナログ時計 (v5.1.3)

 

Alarm Manager の仕様変更 (SDK Level 19)

まず、Alarm Manager。これは「指定時間後に onReceive が来る」という便利な機能で、定期的な処理に良く使われます。当初はこれを使うことで1秒毎の針更新も難無く実現していました。

ところが Android 4.4 (SDK Level 19) で「onReceive が指定時間後に来ることは保証されない」という仕様に変更されました。それでも Android 5.0 まではちゃんと1秒毎に onReceive が来ていたのですが、Android 5.1 で「最短5秒程度」にされてしまいました。これでは秒針は使えません。

もう仕方ないので Alarm Manager を使うことを諦め、内部動作を postDelayed() を使うように大改造することで、なんとか「1秒毎の更新」を実現しました。


Battery Optimization の導入 (SDK Level 23)

しばらくはこれで安定動作していたのですが、今度は Android 6.0 (SDK Lvel 23) で Battery Optimization 機能が導入されました。バックグラウンドで長時間動作しているアプリを強制的に停止させることで、スマホのバッテリー寿命を延ばす仕組みです。

端末メーカーによって実装方法が異なるらしく、多くの場合は問題なかったのですが、一部のユーザーから「突然止まった」という報告が来るようになりました。

幸い、OS のほうの設定に、アプリ単位で「強制停止の対象外」を指定できるようになっていたため、これを利用して回避することができました。

ちなみに、Settings.ACTION_REQUEST_IGNORE_BATTERY_OPTIMIZATIONS
で Intent を作成し、startActivity() を呼べば、設定が開けます。


次回へ続きます。


2021年7月28日水曜日

アプリが削除された?

体調不良でしたが概ね回復しました。単なる夏バテ?

それは良いのですが。

 

- - -

Google Play Support よりメールがあり、私のAndroidアプリが「ポリシーに違反していると判定されたため、配信が停止され、Google Play から削除されました。」とのこと。

いったい何があったのでしょうか…。

説明によると理由は

 

問題: コンテンツの繰り返しに関するポリシーへの違反


とのこと。


さらに何のことか調べると、どうやら「既存のアプリをコピーしただけのようなアプリを作ってはいけない」というポリシーに違反しているということらしいです。

 

理由はだいたいわかりました。しかし、今回、公開停止の対象となったのは下記の2つのアプリです。

らくがきアナログ時計 Graffiti Analog Clock
らくがきアナログ時計 Free

 

らくがきアナログ時計 Graffiti Analog Clock
らくがきアナログ時計
 

 これらはもう9年以上もストアで公開しており、類似のアプリも見たことが無かったのですが、突然なにが…。

 

あ、ひょっとして、「これら2つがコピー品」だと勘違いされたのでしょうか!?
前者は機能制限したフリー版で、後者はフル機能の有料版です。こういうアプリ、普通に良くありますよね。

連絡メールには「ポリシーをご確認のうえ、今回の停止措置が誤りだと思われる場合は、Google のポリシー サポートチームまでお問い合わせください。」と書かれていたので、早速連絡してみたところ、数時間後に返信がありました。

 

「お客様の再審査請求を*承認*し、以下2個のアプリを再び公開いたしました。」とのことで、無事再公開されました。良かった…。

以前、ポリシーの同意が必要なことに気づかずに放置していたら全アプリがストアから削除されてしまったことがあったので、今回もヒヤヒヤしました。 

 

ただ、今時だったら「アプリ内課金」にして、「無料でも使えるけど課金するとフル機能版になる」、というほうが理想的だとは思います。対応するのが凄く面倒なので、あんまりやりたくないですけどね。

 

2021年7月25日日曜日

ブログに書きたいこと。

ブログの設定で、画面レイアウトをいじったりしているだけで、どんどん時間が過ぎてしまいますね…。そろそろ一旦やめて、肝心の記事のほうを書こうと思います。

 

- - -

ブログを始めようと思ったのは、CDとカセットテープの整理がきっかけでした。でも、書き残したいことは、もっといろいろあります。

カテゴリーは、こんなものを考えています。


1980年代の音楽の話

残念ですが、収集した音楽データを配信するわけにはいきません。なので、YouTubeの動画を絡めながら、ヒット曲やアーティストの話を書きたいと思っています。

ほぼ洋楽の話になるとは思いますが、実は同時期の邦楽も結構聴いていてCDも録音テープも大量にあったりします。たまには邦楽の話も書きたいと思います。

 

カセットテープの話

カセットテープはかつて、非常に広く普及した、誰もが使うメディアでした。多くのメーカーから様々な製品が発売されました。

そして現在、PCでデジタル化している中で、これらのカセットテープそのものも記録として残せないかと考えました。

30年以上も前の製品ですから、ひょっとすると製造メーカーにも現物が残っていないかもしれません。

 

ゲームの話 

音楽関連の話ばかりしていますが、かつてはかなりのゲーム好きで、またゲーム機コレクターでもありました。 

 ゲーム機については2年前、twitterのほうで概ね紹介したのですが、twitterですとどんどん流れて埋もれてしまいますので、改めてこちらで紹介したいと思っています。

 

ソフトウェア開発の話 

もう一つの大きな趣味でもあり、本職でもあるのが、ソフトウェア開発です。

過去に作ったソフト、現在作っているソフトなどについて、自己紹介も兼ねて書いておきたいと思っています。


コミPo! の話

私が30年以上作ってきたソフトウェアの中で、最も思い入れが強いのが「コミPo!」です。書きたいことはいくらでもあります。

twitterなどでも既にいろいろ書いていますが、改めて振り返ったりもしてみたいです。

 

また、私の手元には、コミPo! が掲載された出版物のコレクションが数十冊ありますので、これらについても紹介していきます。


その他の話

何かあれば普通に日記も書くかもしれませんが、あまり無いと思います。

それよりも、マンガの話、麻雀の話、自分の話など、書きたくなったことがあったら書いていきたいと思っています。