2013年11月10日 星期日

工程師身份

要產出一個產品, 工程師的身份固然重要.

但, 更多時候, 我們可能花了太多時間在執行這個工程師的身份.

(花很多時間寫code, 思考code要怎麼寫比較好, 單純以功能和效能的觀點出發)

2013年11月7日 星期四

Android版 & iOS版 (白做工篇)

當初開發iOS版第一版時, 很自然地就把Android版對事件處理的模式直接轉換成Object C語法搬了過去...

搬過去後...發現簡直是場災難...

因為底下運作的不同, 所以整個Performance差到連自己都不會想用...

仔細看了一下官方文件對那部分的 develop guide 就發現我用了官方不建議的做法去做...

好吧, 為了Performance, 整個架構從新設計了一次, 總算用起來不會卡卡的了, 但同時也跟Android版的做法完全不同了.

關於這點, 其實我並不是很喜歡, 因為版本差異越大. 之後有所變更時, 要找到對應的地方就越麻煩, 也就是對於軟體維護上, 這並不是我想要的現況...

另外, 雖然這中間多花了一點時間(其實是很多時間Orz), 但同時也想出了一些“理論上”不管在Android版 或 iOS版 對 Performance 應該都有好處的對應處理模式...所以我又想不開的...想把Android版也改成如 iOS版一樣...而這, 或許該算是另一場災難的開始...

其實再動工之前, 也猶豫了一段時間, 畢竟,

第一,目前Android版多數運作上並沒太大的問題, 所以冒然去改動, 實際上不太是一件明智的事情.

第二, iOS版的做法, 就我以往的認知來說, 實際上是用 resource 換 performance 的做法...在iOS上沒問題, 不代表換到Android版後不會有side effect...

但Android舊型的機種中, 規格很差的爛機子實在也蠻多的(不管是三爽/中國品牌/或最近才感覺比較不會有問題的日本品牌), 而使用那些機子的使用者現在雖然不多, 但也還沒少到可以完全忽略...所以, 好吧, 就改改看吧...

花了一個多星期, 整算勉強搬了一版到Android來了...接著拿出傳說中的爛機子一試...

很好, 有差, 但差別不大...大到不仔細看...還真的不知道差在哪...囧rz

這一個多禮拜...若要以產出成品來看績效...只能算是做白工了...Orz.

不過...不真的去試過...又怎麼知道沒用呢 ?! 是吧?

//=======================================

[題外話篇]

以Android和iOS這兩個目前行動裝置的主流語言來說, 有很多處理相似部分, 但不同的部分也不少. 一般來說, 如果同一產品是由不同兩組人來各自開發對應的版本. 那相對簡單, 只要 整個產品功能Plan好, 所需的圖檔&UI設計好, 接著要怎麼實作, 就是各自兩個team自己去處理就好.

但如果是同一組人, 甚至只是同一個人來做, 為了maintain方便, 可能會希望兩邊的做法能統一一點(至少就我個人來說是這麼希望), 那可能就真的要對這兩個系統都有一定的了解, 一開始就要先想好, 設計好整個處理的模式要怎麼取捨...這部分真的有點難...而且因為語言本身的限制可能有時候根本是無法做到的...





2013年9月18日 星期三

對不起...我感到我自己的無能為力...Orz ...冬冬

今天冬冬的狀態真是難以形容...從一開始的僅只趴著...到後來的激烈滑動(看起來似乎想站起來, 但又不太像)...到現在的喘得很厲害...

我真的無能為力...

而且他食慾不好...吃的極少...應該也體力不足了...

另外環境的不熟悉似乎讓他已經快兩天沒上廁所了...Orz

最嚴重的應該還是心絲蟲的問題吧...Orz

這種無能為力的感覺好差啊..........囧rz

2013年9月17日 星期二

冬冬 - 我們家的新成員

突如其來的緣分 - 黃金獵犬 冬冬.

2013/09/17 - 首次領養狗狗.

流浪狗領養本身可能遇到的問題:

1. 被捉到動物收容所的流浪動物...會公告12天看有沒之前的主人來認取. 12天後才能真的領養.
在此之前如果已經想把流浪動物帶回飼養, 會先以寄養的身份進行.

2. 領養流浪動物, 飼養經費本身可能還是相對小的問題. 相對比較大的問題是狗狗的身體狀況. 在外流浪的動物多少會有一些身體上的疾病/寄生蟲/外傷等.(醫療費用是其一, 但對希望狗狗身體健康的飼主來說, 精神上的壓力可能還相對高一些.)

冬冬目前外傷部分在左前腳和左耳都有較明顯的問題. 而身體內部部分, 因被心絲蟲感染, 肺和肝都不好, 有黃疸的問題存在, 而流浪期間造成的營養不良亦讓其身體無法立即負荷相關的治療...目前先配合吃藥來壓抑一些身體問題, 真正重要的治療仍需等其身體狀況養好一些才能開始進行.

3. 生活習慣問題: 常看到網路上訓練狗狗上廁所的文章, 但如果是領養一支曾被訓練過的狗狗的話...那...他不願意在家裡上廁所可能也是另一種問題...Orz

2013年4月23日 星期二

[Android] keep screen on


MainActivity.this.getWindow().addFlags(
                    WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

MainActivity.this.getWindow().clearFlags(
                    WindowManager.LayoutParams.FLAG_KEEP_SCREEN_ON);

2013年4月17日 星期三

連 “某某某” 都那麼說...[你會去問做馬車的人說...你覺得做汽車會有前途嗎?]

這個某某某, 可能是某個企業大佬, 某個大老闆, 某間公司的高層.

有些時候, 人們會說服自己去聽從別人的意見, 甚至不是說服, 而是催眠.

催眠自己, 聽他的就對了.

這個某某某或許在很多方面很成功. 或許事業做很大, 或許社會地位很高,或許...錢很多

但也或許他的成功有時反而也會給了他自己無形的包袱, 而使他所說出來的意見或看法持有部分的偏見, 或者, 甚至對實際上自己也不是很懂的事物發表了他的看法.

...然後就會有人說, 你看, 某某某都說那東西有前途了, 做那個就對了. 

或者...

某某某都不看好某東西了, 你確定你要做嗎?

某某某...也是人...只要是人...就可能會犯錯...


如果只是想失敗時有個藉口可以找的話...聽某某某說啥就去做啥還真是個不賴的主意.


不然...就如我副標所說的....


                "你會去問做馬車的人說...你覺得做汽車會有前途嗎?"

                  (你怎麼知道那個"某某某"...不是做馬車的人?!)


2013年4月1日 星期一

關於次數...


被騙一次是你沒經驗...
被騙兩次是你還相信人性...
被騙三次...好吧...你是呆的沒錯...

2013年3月27日 星期三

亞洲的三姑六婆文化

面對亞洲打著關心美名的三姑六婆文化...更應對其視若無睹, 甩頭不理...我們身上的包袱, 皆來自於自己加諸於自己身上...沒有人可以強迫你去管他們說什麼. 他們就是太閒, 他們就是怕你與眾不同...才要拉著你跟他們一起沈淪.

2013年3月21日 星期四

2013 March [Admob 延遲付款資訊][Paypal]

論壇上轉貼的官方回覆

"We are currently experiencing issues with PayPal causing a delay in payment processing. Please be assured that your payment is not lost and will be sent as soon as possible."

原始連結: 
https://groups.google.com/forum/?fromgroups=#!topic/google-admob-ads-sdk/BJEmanoOJXU

2013年3月19日 星期二

關於行動軟體廣告收入的一點點心得

在應用程式中塞入廣告以賺取收益幾乎是所有免費app的基本獲利模式.因為寫app也有一小段時間了, 所以對於廣告收益的觀察也有一點點小小的心得.

廣告收益一般來說, 可以簡單看兩個數字的趨勢. 一個是廣告播放量(Impressions), 一個則是eCPM值(每千次的有效收益).因為你的總收益實際上就是這兩個數字的相乘的結果.

也就是  總收益(R) = [廣告播放量(I) / 1000 ] * eCPM;

以簡單的數學式來分析, 如果期望能提高收益的話,

(1) 提高你的廣告播放量: 簡單地說, 能夠吸引越多使用者下載並"使用"(這點才是重點), 自然就會提高此參數項的值.(不代表提高收益)

(2) 提高eCPM值: 這點, 除非你作莊,(自己當廣告播放商或購買廣告的公司), 否則不是開發者所能掌控的.

一般來說, 開發者一開始都會很樂觀的預估(至少我是Orz)...假設我的下載人數與廣告播放量不斷地衝高, 那我的收入應該就會不斷地衝高了...

但事實上...現實往往是殘酷的...有些時候(甚至可以說是趨勢?!) ...下載量與廣告播放量不斷地增長...但收入卻往反方向的越來越少...

WHY ?!

沒錯, 答案就跟eCPM有關...這項你不能控制的因素, 才真正的決定了你的生死...囧rz.

影響 eCPM值 的因素很多, 包含廣告的 有效點擊數, 單位有效點擊數所貢獻的收入, 廣告的單位有效播放收入...等. 而這些說到底, 其實還是跟“花錢買廣告的廠商”與“廣告播放商本身”有關.

假設, 今天原本花一億美金買廣告播放的廠商因為生意不好, 廣告預算砍了一半, 你的eCPM值自然立馬會隨之下降.

假設, 今天廣告播放商為了提高本身的收益而提高了每次廣告播放所抽的收益成數(這當然是我不負責任亂猜可能的因素之一), 那你的eCPM值同樣也會隨之下降.

但, 更殘酷的是...假設廠商買廣告的預算並無減少, 甚至還是增加的, 而廣告播放商亦無增加抽成...那...為什麼eCPM還會降低呢?


以現在智慧型手機增長的趨勢來看...智慧型手機的使用者越來越多, 而且多得很快已經是大家都知道的, 而APP數量的成長趨勢也同樣驚人.

相同類型APP數量的增加造成競爭的激烈, 並瓜分本來可能得到的市場, 本就可能造成收益的下降, 但應該是建立在造成您個人AP使用量(或說廣告播放量)下降的情況下才得以解釋.但當你的廣告播放量明明還是增加的時候...或許問題本質並不在於同類型軟體的競爭,而該去考慮總使用者增長的這個因素...

以手機使用者變多這項來看, 代表, 廣告播放商所放出的廣告總播放量也是隨之變多的.但如果總廣告預算增長的速度不能趕上總播放量增長的速度時....這本身自然就會沖淡每個有效播放的收益值了.(所以智慧型手機的使用者越多, 對免費軟體開發商是否一定是有利的因素...或許並不像我們一般直覺所認為的那樣.)

也就是說, eCPM的下降"可能"根本就會是常態(除非你所使用的廣告播放商, 其客戶的行動廣告預算增加的很快).所以, 雖然您的使用者變多了, 廣告播放量變大了...但很抱歉...

你, 成長得太慢了...這不是一個只要成長就可以活下去的世界...

這是一個你成長太慢就會被淘汰的世界...


                            Welcome to the real world !!


2013年1月17日 星期四

[Color]小心使用HSV(副標: 用HSV為轉換顏色的基礎很危險)

在描述色彩的上, 最常用的標示法為 RGB 與 HSV.

在Android系統上, 有Color這個class可以幫忙轉換與取得所需的色彩資訊.

其中
  色彩值(color)為整數(int)
  RGB的值均為整數(int)     範圍均為 [0:255]
  HSV為浮點數(float)        範圍H:[0.0F : 360.0F]   S[0.0F : 1.0F]   V[0.0F : 1.0F]

假定, 今天具有RGB的值, 則可利用
             int color = Color.rgb(red, green, blue) 來取得對應的顏色.

假定, 今天具有HSV的值, 則可利用
            int color = Color.HSVToColor(hsv) 來取得對應的顏色.

相反的, 如果今天給定color值, 則可利用

               int red = Color.red(color)
               int green = Color.green(color)
               int blue = Color.blue(color)
    來取得RGB值

亦可利用  Color.colorToHSV(color, hsv) 來將顏色轉換成 hsv.

但因為hsv為浮點數, 所以若將由 color1 轉換成的hsv值在轉換為color2時.
由於其運算會由浮點數再度轉換為整數. 中間可能會有精準度的問題而使得color1不等於color2.

故, 若有顏色轉換上的需求, 盡可能不要用hsv轉為color, 而只要進行color轉向hsv的單向工程. 至於color的來源可藉由同是整數的RGB轉換得來, 或直接使用16進位法的整數表示式即可.(同樣在整數的轉換中, 精準度不會因為轉換而失去)


2013年1月16日 星期三

即便是相同類型的東西

用於不同的case就需要不同的方法 ?!
是不是有什麼更共同的做法是我沒想清楚的?

2013年1月10日 星期四

做著明知沒有什麼使用者的東西

這幾天把一個之前的東西"重新"寫了一版...

是的...就像我還在上份工作時常做的事情...砍掉重練....一切重頭來...

只是...這個東西...其實主要使用者幾乎就只會有我這個人本身...

在已經投入這個領域一段時間後...我竟然還會做一個明知沒啥人會用的東西...假設我是個旁觀者...我一定覺得作這個的人在浪費時間吧...

但...我個人真的還蠻需要這個的...只是我無法付錢給自己而已....囧rz