1.圖標的圓角效果是系統(tǒng)自動加上的。
2.光暈效果雖然也是系統(tǒng)加上的,但可以通過程序中設置參數來去掉內建光暈效果。
方法:在info.plist里面添加一條記錄UIPrerenderedIcon,新版的XCODE 會自動識別為Icon already includes gloss effects 打上勾就OK了。如果沒有識別的右邊欄寫上YES就可以
原文地址:http://blog.itotem.com.cn/?p=22
- alloc, copy, retain會把引用計數+1
- release會把引用計數-1
- 局部變量如果初始化時不是autorelease的,要及時調用release釋放,并且賦值為nil否則引用仍然存在導致下次無法用nil做是否有值的判斷
- 實例變量要在每次賦值時要先釋放當前引用的對象再賦值,并retain一下保證引用計數為1
- 對于有retain參數的property,直接使用”.”賦值時系統(tǒng)會自動釋放當前引用對象再賦值,并自動retain一下
- dealloc中要對所有實例變量調用release,對于有retain參數的property只需要調用self.theProperty = nil即可,系統(tǒng)會去做釋放
- delegate的property通常設為assign,如果設為retain的話會有循環(huán)引用的問題,比如aView.delegate = self時會把self retain一下,在aView的dealloc中會把delegate release,但是由于self的引用永遠不會小于1,所以導致aView和self的dealloc永遠都不會被執(zhí)行,都永遠駐留內存造成泄露。所以如果要設為retain的話一定要確保不會造成循環(huán)引用問題。
- 在UIViewController中的viewDidUnload中要釋放掉局部變量,調用release并設為nil,有時系統(tǒng)收到內存警告時會自動調用這個函數來釋放一些內存空間
- 系統(tǒng)內存警告的回調中要釋放掉內存中的緩存和其他可釋放的東西,以免造成crash
- 使用UITableView時要把cell設置為重用的,并且要確保確實寫得是重用的,有的人寫完的結果相當于還是每次都重建cell,導致效率低下
- 使用UIScrollView時要自己控制釋放掉目前不顯示的內容,尤其是圖片,考慮圖片大小和瀏覽效果可以加載當前顯示頁兩邊的3-5頁內容
- 圖片需要做緩存,尤其是本地文件系統(tǒng)緩存,可以放到Library/Cache目錄中,這個目錄系統(tǒng)有專用的常量來獲取,比如:
這里是一個小例子闡釋前幾條基本原則:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | - (void)aFunction{ //創(chuàng)建一個局部變量view UIView *view = [[UIView alloc] init]; // 賦值給實例變量theView [theView release]; //先釋放一下當前引用的變量 theView = [view retain]; //給實例變量賦值時需要retain一下 // 如果theView是一個有retain屬性的property self.theView = view; //不需要先釋放,也不需要調用retain,系統(tǒng)會自動做,所以一定不能這樣寫self.view = [[UIView alloc] init];,這樣的話創(chuàng)建的view會被retain兩次,造成泄露,對于這種可以先創(chuàng)建一個局部變量,給self.view賦值后再釋放 [view release]; //要及時釋放局部變量 } - (void)dealloc{ //釋放局部變量 [theView release]; //如果theView是一個有retain屬性的property,也可以這樣寫 self.theView = nil; [super dealloc]; } |
我分析原因是蘋果對程序訪問icon文件做了限制,所以不能正常顯示
解決方案:把icon文件復制一份,改成其它名字,加載改名字的文件,問題成功解決!
String s = "upload/20120416135915265.sql";
System.out.println(s.split("."));
輸出的并不是想要的結果,之后輸出:
System.out.println(s.split(".").length);
結果竟然是0!!!
突然想到轉義字符,于是:
OK啦!!!
原來在java中函數split(".")必須是是split("\\.")。
感謝蚊帳的投遞
新聞來源:伯樂在線
很多人表面上看著老實巴交的,實際上內心比誰都好強、自負、虛榮、甚至陰險。工作中見的多了,也就習慣了。有一些人,什么事都寫在臉上,表面上經常得罪人,甚至讓人討厭。但是他們所表現(xiàn)的又未必不是真性情。
我相信大多數人都看過《豪門夜宴》這部香港老電影。張學友、梁朝偉演的拍馬屁的場景太有意思了,其中有這樣一段:當兩馬屁精幫老板說出主意,老板馬上叫 停,然后拍一下腦門:“哦。。。我想到了。。。”,把別人的idea當成自己的說出來。我在工作中還真不止一次遇到這種事,我提出來的想法老被別人拿來當 作自己的原創(chuàng),當然個別小偷洋洋得意的描述自己的‘原創(chuàng)’時還會偷偷的瞄我一下,看我有沒有不高興,,,我并沒有不高興,大概是因為想到那個電影段子被逗 樂了。天下學術都一大抄,更何況什么想法,什么創(chuàng)新,通通都是浮云!
君不見創(chuàng)新項目一大堆,都被抄死化成灰! 但是不能因此而放棄創(chuàng)新,大地不可以因為有畜牲吃草而不復生機,山泉也不會因為有王八偷水而不冒活水。第一點:保持有一顆生機靈動的心。因為這個東西是別 人偷不走的,也是最大的財富。如果你不俱備這個東西,那么請用一顆善心去培養(yǎng)它。人人都是耀眼的珍珠,只是被灰塵蒙蔽了眼。
記得剛進公司那會踏踏實實工作,滿懷激情。不過第一周就把自己的頂頭上司給得罪了,我并沒有做錯什么,記得當時還有同事幫我說話,后來慢慢發(fā)現(xiàn)他是一個相 當自負的人。不過話說回來搞技術的在技術方面有幾個不自負。這次事之后我并沒有學乖。對于別人設計不合理的地方,我會指出來,并提出該如何做。對于語言基 礎薄弱,設計模式薄弱的同事,我會好心推薦一些書籍,,,,,,本是好心幫助別人,卻并沒有得到別人的感激。相反,大部分會覺得你看不起他們,更有甚者不但不會反思改進自己的弱點,反而打擊報復”看不起“他的人。所以千萬請記住第二點:不可以隨便提意見。特別是新人,請務必保持低調。這一點在日常生活中同樣實用。
與第二點相對,第三點:經常肯定、稱贊同事的成果和進步。注意這里并不是要你去巴結討好。常常看到別人的優(yōu)點并加以肯定也是比較正面和必要的行為。這樣不但可以增進關系,更重要的是可以鼓勵別人。
我一直認為一個人沒有自知之明就等同于垃圾。要隨時隨地知道自己小名叫什么。話說我有一位同事,基礎相當薄弱,但又太愛去表現(xiàn)自己,經常到處指指點點,生怕別人不知道自己是“高手”。由于老開“黃腔”常被人背后偷笑而不自知。
第四點:低調一些,謙虛一些,不斷提高自己的實力。進公司時所在部門是剛成立的,工作一段時間后,我發(fā)現(xiàn)由于部門團隊開發(fā)的特殊性很有必要在公司通用編碼規(guī)范基礎上再制定內部的編碼和設計規(guī)范,于是向上司 提了我的想法,他同意了。于是我起草了一個內部規(guī)范手冊。但是執(zhí)行過程中,有人按手冊來,有人不按手冊來。產生這種局面的根本原因是上司并沒有支持。
在這 里沒有必要分析原因,直接給出要記住的第五點:不在其位,不言其事。做好本職工作就好。無論在什么地方,開明而大度的好上司并不多,所以這一點相當重要。
經常在開會討論設計方案的時候,會發(fā)現(xiàn)一個非常有意思的事情。會議本來進行的正常而和諧,當輪到某個優(yōu)秀的人上去講的時候,氣氛一下子不和諧了。大家都迫 不及待的想挑出他的毛病,就算沒理解別人的意思也會亂說一氣。秀才遇到兵了,,,,,,以前實習的公司中也時常見到這種情況。每當此時我都會在下面感嘆: 好一幅百鳥”嘲“鳳圖。請記住第六點:木秀于林風必摧之,要懂得韜光養(yǎng)晦,不要時時鋒芒畢露。
公司里有個老員工,實力比較強,算是一個獨擋一面的人。不過在一次部門改組中并沒有得到提升,被提升為經理的反而是一個能力不算太強,還比他晚來的人。在此之前我聽到過那個老員工在和其它公司接觸并準備跳槽的傳聞。第七點:不到最后一刻,自己離職的想法決不可以和公司內部任何人分享。因 為站在公司的角度來看你已經不忠誠了,不愿意重用你了。但是在員工自己的立場來看,公司給的待遇與能力不成正比、不認同公司的文化、想換個環(huán)境、想要一個 更好的發(fā)展機會,這些都是合情合理的。我個人發(fā)現(xiàn)一個規(guī)律:在一般的公司里,凡是堅持到最后經受住了“考驗”的“忠誠”者,往往都是沒什么能力的庸才。如 果你是一個公司高層管理者,那么你會如何對待類似的“叛徒”呢?
第八點:不得罪辦公室里的女人。此處女人定義如下:(1)國寶級的女程序員; (2)女測試,這個不稀罕 ;(3)女助理,到處都是;(4)女上司,這個最要命! 男的處在一起,有什么沖突矛盾吵吵過了就忘了。但女的不一樣,一不小心就得罪了,后邊一逮到機會就會擺你一道,還沒完沒了!最要命的是:背地里狠狠的陰 你,而當著面表現(xiàn)得像你溫馨的親人。
我們研發(fā)中心有個領導很可愛,不太清楚上面給他灌了什么迷魂湯,以至于自己職位被降了,職權被銷了很大一部分,還整天手舞足蹈高興得很。事后一兩個月才反 應過來不對勁,然后整天愁眉苦臉、、、、、、以這種交際反應的速度,被撤是必然的事情,確實不適合搞管理。技術男大多腦袋是‘方’的,不太善與處理人際關 系。第九點:加強交際能力。程序員大多還算是聰明的,平常稍稍注意一下就沒什么大問題。不過不要自我感覺良好,我們公司有個工作了十多年的IT男,幾年前就開始被派除去和客戶溝通,丫的,至今那一口吞吞吐吐的蹩腳的普通話讓人聽了就傷心。
第十點:若無特殊情況,一定不要跨級匯報。這一點 細節(jié)很重要。某種意義上你的頂頭上司就是你的老板,直接決定了你的發(fā)展,你就是他手下的兵。并不是誰官大就聽誰的,要不然歷史上那么多兵變都不可能成功, 因為大家都只聽皇帝的,呵呵。從另一個方面講,你‘忠于’你上司的上司,他也不敢用你,因為誰知道提拔你之后,你會不會再越一次級?!!
第十一點:要善于向上司匯報工作。國家干部是不是 人民的公仆本人不太清楚。但公司里那些大大小小的管理者一定是(如果不是這樣那他就不是一個好上司)!那群夾板男,看著是個官,其實過得很苦。既要應付好 上面的領導,又要充分調動下面群眾做出業(yè)績,整天搞得焦頭爛額。上面的唱白臉,那么夾板男就唱黑臉。總之挺不容易。他們的猜疑心很重!時常會懷疑下面的人 沒盡心工作。雖然一般公司都有什么任務分配管理系統(tǒng),但是那東西遠遠不夠。你需要找準時機讓他清楚你工作進展,你所做出的努力。
第十二點:不要輕易造成情緒污染。不要因為你一個人不高興,而讓別人都看你的臉色。要學會雪藏自己的情緒。你若是一個領導,那這一點就太要緊了。
第十三點:一舉一動找準自己的位置、別人的位置。比如:吃飯時的座次,照相時的排列位置,群發(fā)郵件時收件人的排名順序,文檔作者的位置順序、、、、、、這些都很重要。《易經》中有講:明相位,立德業(yè)。要是你連自己在哪兒都不知道,你又如何到得了目的地。
第十四點:沒有必要做一個憤青。剛畢業(yè)那會,我很憤青,看不慣這看不慣那。但是又能怎么樣呢?弱肉強食的本質從來沒有改變過,你要學會嘗試去理解這個社會,理解種種關系。到某個時候你會發(fā)現(xiàn):一切理所當然。你若真的不滿意某個現(xiàn)狀,那么就去盡自己的能力去改變它。勢者,不均也!均則無勢。
第十五點:記住別人的善,忘記別人的惡。一個人心 里不應該有太多仇恨,仇恨是別人扔給你的垃圾,你又不是垃圾桶,老裝著它做什么?在公司當算法工程師近三年了,別人怎么對我,我的心里跟明鏡似的一清二 楚。對我不好的人我并沒太在意,更別說去報復。相反,他們有事要我?guī)兔Φ臅r候,我總能真心實意的去幫,甚至主動幫忙解決問題。這是這幾年來,我對自己唯一 滿意的一點。我相信一句話:活著就是修行。但是你得清楚你修的是善行還是惡行。
畢業(yè)三年了,看看走過的路,總覺的有點荒涼。確實真正明白了許多道理。感謝幫助過我的人,也感謝打擊過我的人。也許一個人只有親身經歷了困難才可能真正成長起來,由此我不得不感嘆造化的殘酷。
感謝雷鋒網的投遞
編者按:本文作者郭子威,前網易網站產品部總監(jiān),想要聯(lián)系的讀者可以在微博上@純銀V。其實,這篇文章是打算寫“大公司抄你腫么辦?”很明顯騰訊最典型嘛,以至于我還在網易的時候,Boss也問我,騰訊抄你怎么辦?此時屢屢有一股邪火在胸口燃燒著,想大吼一聲:騰訊抄我怎么辦?老子跳槽去騰訊!最后我還是選擇了創(chuàng)業(yè)。
我在網易5年,一直帶業(yè)務部門,從內容總監(jiān)轉職產品總監(jiān),算得上資深中層吧。網易做產品的環(huán)境,放在業(yè)內大約是中等偏上,它的好處別家未必有,弊端 則是寰球同此涼熱。年初跟VC談天使融資的時候,對方大統(tǒng)領換了一個問法:如果網易抄你怎么辦?我很吃驚地回答,如果留在網易就能把這個項目做出來,我還 創(chuàng)什么業(yè)?難道你以為我創(chuàng)業(yè)是為了發(fā)財、專權,或者給自己戴上SB風格的CEO頭銜?
那么大公司到底是真老虎還是紙老虎?我得從大公司業(yè)務運作的常識說起。
▎部門背景
大公司是一個籠統(tǒng)的概念,由若干個事業(yè)部>大部門>中小部門>項目組構成。其中戰(zhàn)斗力過硬的項目組是少數,王牌軍不足十分之一,而水貨項目組的占比至少超過一半。
我們品頭論足說XX公司的產品做得很好,其實是某幾個項目組實力非凡。如果不與他們正面對抗,其他組做產品也就是60出頭的平均分。難道你連產品70分都沒有自信?沒這自信你還做個屁啊。
所以在忌憚大公司之前,先摸摸底,和你競爭的大公司項目組歸屬在哪個部門下面,它又是什么背景。正如我以前對某大公司很是好奇,為什么一部分業(yè)務很爛,另一部分很贊?內部人士答:因為它們分屬于兩個不同的事業(yè)部,一隊落魄邊沿化,另一隊則是常勝王牌軍。
▎業(yè)務關聯(lián)
有些時候,你發(fā)現(xiàn)某大公司和你進入了同一個競爭領域。別著急,先看看做這個項目的部門,主營業(yè)務是否和該項目在同一條中軸線上。
由于野心的驅動,部門主管常常會批準一些和主營業(yè)務關系不大的,想象空間又很大的項目,妄想別錯過金礦。然而這只是投石問路,買張彩票,主要的資源 仍然在主營業(yè)務線集中,更不可能忍受平緩的增長曲線(掘金心態(tài)嘛,哪怕掘到銅礦也會斷然放棄)。外界看見“XX公司悍然進入XX領域”……屁嘞,只有做這 個項目的團隊甘苦自知,時間緊/期待高/投入少,不掛基本上不可能。
緊接著上一條,對大公司對手的部門背景作詳細調查,或許能解除你對那個龐然大物的恐懼心。如我以前在網易門戶做攝影分享社區(qū),第一年里,有8個月分到了1 位工程師的工時;接下來一年總算有3位工程師了,其中2位又是實習生。我熬了整整3年,3年吶,才熬到基本夠用的技術人員配置,那時市場機遇早已消失不 見。
▎公共資源
大公司的公共資源往往包括如下部分:UED、QA、推廣位,集中調度以提高利用率。有時候運營人員也是公共資源,有時候更慘一點,連程序員都是公共資源。 雖然家底殷實,公共資源攤薄到每個項目上便很寒磣,所謂僧多粥少。項目經理可能把自己有招聘權的人給湊齊了,但他還得腆著臉找各個公共部門老大要資源,有 時是懇求,有時是苦苦哀求。
跪下來舔鞋都提不上工單的時候,我以前還使過一茅招,搞點部門經費,請前端組的同事私底下幫忙切圖……當作付費外包來對待。那時視覺稿已經堆了個把月,沒法推進一步。類似的木桶效應多如牛毛,幾乎每個大公司項目都會遇到,偏偏使不上力,被短板卡得上氣不接下氣。
即便搶到了(勉強夠用的)公共資源,你還得面對分配資源的隨機性問題。比如說小清新風格的產品,能分到擅長此風格的設計師嗎?不能,誰空下來分派 誰。擅長小清新的設計師當然也有,人家正在別的項目組,即便那個項目惡俗,設計師也很不開心,做到一半怎可能中途離場。所以我以前跟PM說:有人幫你做就 快去燒香還愿,有推廣位到手就感恩熱淚盈眶,你還挑啥子挑喃?十幾個部門幾十個項目都鬧著要最好的最合適的,你讓UED情何以堪喃?
由于公共部門采用派單制,大部分人員缺乏項目歸屬感,榮譽感,他既無法全程參與,也很難真正融入項目組里邊。座位經常隔了幾百米,一周只能碰頭兩三 面,甚至因為參與時間短暫,就連對產品的理解也比較淺,應付完這個應付那個,“應付了事”的心態(tài)極為常見。往往只有項目經理把產品當兒子看,別人都當成牽 到自己家里來串門的鄰居小孩兒。
更能理解的是,公共部門這個月做A項目的單,下個月做B的單,這個月A項目組請飯請求加班,下個月B請飯請求加班。項目上線你們倒是領功/打賞/休 假,下一個項目組又聲淚俱下說這單子特別重要,非得拉兄弟一把不可。這豈不是“無窮無盡的加班”“無窮無盡的拼這一仗”?你們少來誑老子……
曾見以前合作的設計師,私底下為自己做了款玩票的APP,比當初花兩三個月為我們部門設計的APP,起碼高出兩個等級。當真刮目相看。
▎KPI
KPI是萬惡的,沒有KPI又是萬萬不能的。
所謂KPI,屬于體制的一部分,也是大企業(yè)病的一部分。這個世界上不靠譜的人和項目占多數,衡量創(chuàng)業(yè)團隊是否靠譜的標準很簡單——剩者為王。這是一款生存游戲。
隨著公司活下來并且膨脹起來,自然淘汰的篩選法很快失了效。創(chuàng)業(yè)意味著高風險和高收益,當創(chuàng)業(yè)團隊成長為中型公司,大公司,則個人的風險降低(收入 增加,薪資職位穩(wěn)定),收益也降低(期權減少甚至沒有),容易滋生更多輕浮的冒險,拿公司的錢去玩自己的票,修筑各種爛尾樓。如果不用KPI來制衡,十八 般瞎折騰便掏空公司資源。人家旱澇保收底薪很高的,人家從折騰中賺到了經驗值,就算引咎辭職,下一份工作還能拿到更高薪水的,而你老板呢,資產耗光只能去 擺地攤了。
鑒定和約束各種瞎折騰的管理手段之一,我們稱之為項目KPI,即階段性的項目考核。在這個過程中證明自己靠譜,項目有戲,公司才會繼續(xù)支持你。以我 所見,雖有不少被KPI整死的好項目,但95%以上被涮掉的,確為次品,事后一齊流淚控訴KPI之惡貫滿盈,覺得失敗原因是“公司不給支持”。問題是怎么 證明你和這個項目值得更多的支持?怎么證明你是有可能成功那5%,而不是注定失敗的95%?
老板畢竟不是天網,他不可能什么都懂,尤其對新拓展的業(yè)務,一旦超出了高層的成功經驗領域,只能靠KPI來判斷項目前景。這同時意味著[要命的]公 司對項目缺乏耐心和遠見。若不能看到短期數據利好,則支持度快速下降,資源供給減少,方向盤立刻打到一條名為“黃泉”的路上。預見到滅頂之災又會干擾項目 經理的判斷,往往使些目光短淺,飲鴆止渴的茅招出來,茍且保得眼前性命。
▎高層干預
剛才提到大公司對新業(yè)務缺乏耐心和遠見,這根子還在公司高層身上。所謂高層,最低也是管轄幾百人的方面大員,通常從VP起計。能做到大公司高層必有 過人之能,不幸人過30歲后對新領域的學習能力直線下降,再加上行政事務纏身,無法專注于業(yè)務。故而對于市場拓展,大部分高層混合了視野狹窄與剛愎自用這 兩種特質,必然大量依賴KPI管理。
反過來看,如果高層瞄準了某個項目,下決心賭上一把呢,它就會得到更多的資源和寬容,初期KPI有可能壓根不設,所有公共部門都圍著你打轉。高層力 挺可以解決掉60%的大企業(yè)病,作為創(chuàng)業(yè)團隊,遇到這樣的對手是件挺可怕的事情,還好它們只是極少數,占比不足5%。而你會因為大晴天也有可能下雨沾濕 鞋,就畏畏縮縮不敢出門嗎?
何況高層的支持是一把雙刃劍,他會給你喂足糧草,釘好蹄鐵,同時也給你戴上嚼子,圈定方向甚至策略。那么高層指定的方向策略出錯呢?恭喜,貴項目掛了。長官意志令如山,最怕長官是外行。
另一些情況下,大公司項目因為資源不足,資源錯位而做砸,其實還是高層的決策影響。他認為給這些支持已經足夠看清前景,若是敗局,又何必豪賭下去。畢竟主營業(yè)務還賺錢嘛,還有得選擇,反倒是“沒得選擇”轉化為創(chuàng)業(yè)團隊背水一戰(zhàn)的韌性所在。
▎齊心協(xié)力
說句聽上去挺刺耳的話,大公司里很難談真正的齊心協(xié)力。按我的理解,齊心協(xié)力的基石不是個人素質,而是成員都適合這個項目,喜歡這個項目,自然努力 團結。可你加入某一家大公司,往往受其光環(huán)/福利/資歷的吸引,有個坑就猛往里跳,其后轉崗不易。做什么項目亦受到部門限制,自主權有限得很。
換句話說,參與大公司項目組的,并不是最適合,最喜歡這個項目的人,而是項目經理目前能搞到的人(調動、招聘以及公共部門派單)。甚至項目經理本人也是奉 命而為,或無奈抓鬮。驅動工作的動力是職業(yè)道德,季度考核,獎金與功名,卻非你對這款產品的愛。老實承認,我自己即是一例。哪怕在網易加班極多,直到辭職 出來做有愛的產品,方才覺得過去皆是行尸走肉。
而我目前的創(chuàng)業(yè)團隊只有6個人,來自5家大公司(上市或即將上市)。你說大家放棄了高薪福利,穩(wěn)定工作,來上海做一款前途未卜的產品是為什么?當然不是服了我的三尸腦神丸……
于是我現(xiàn)在的項目速度比之前在網易快3倍,工作進展有規(guī)劃,無管理,隊員的主動性之強,內部合作的愉快與默契是過去從未經歷過的。兩個字:“開心”。換回大公司,那得打多少雞血開多少動員大會啊,最后有人還在會上睡著了。
▎人多嘴雜
小團隊憑什么跟大公司競爭呢?有人說是“專注”,有人說是“耐心”,有人說是“遠見”。這些都對,我還要補充一點,小團隊一定要比大公司犯更少的錯。
這句話聽上去挺莫名其妙的,大公司人才濟濟,小團隊憑什么跟人家比正確率?回答很簡單:人才濟濟,同時也人多嘴雜。給項目提意見的人越多,執(zhí)行效率 越低,這是鐵一般的定律。尤其當建議者中包括各級領導的時候,決斷就更加飄忽不定。你非得考慮上司的立場,部門的立場,微妙的公司政治環(huán)境,固然不乏真知 灼見,合攏在一起便成噪音干擾。大量時間花費在報審/修改/開會/爭吵/寫文檔/走流程上面,行動遲緩舉棋難定,更增加誤入歧途的概率。
相比之下,小團隊的快速決策,快速行動,正好擊中了大公司的軟肋。一款新產品出來,大公司實權派發(fā)現(xiàn)它起碼得2個月,看懂它2個月,立項組好隊還得 花2個月。再加上市場前景不明朗,在創(chuàng)新者大紅大紫之前,大公司愿意投入(冒險)的資源是極少的,試水而已,復制抄襲多于革新改良,保守跟隨多于銳意開 拓。結果一兩年過去了,創(chuàng)新者勇猛精進已成氣候,大公司才回過神來,欲與之全力一搏。人家的前期積累已領跑市場,后來者未必追趕得上。
類似案例,多不勝數。創(chuàng)業(yè)者眼里唯一的好機會,大公司看來卻只是1000個模糊不清的機會之一,拿捏不定。由此逆向思維的話,創(chuàng)業(yè)團隊最好不要插入 大公司的主營業(yè)務去虎口奪食。人家苦心經營多年,憑借對這塊市場的理解力和戒備心,會更快發(fā)現(xiàn)你,重視你,然后高層吹響號角擊潰你。但你去開辟新戰(zhàn)場呢, 大公司跟還是不跟,用多大力跟,往哪個方向走,它就很難統(tǒng)一內部意見。
▎基因轉移
人都艷羨大公司“資源多”,所謂資源,一半是人才資源,一半是海量用戶,即推廣資源。然而不常被提及的是,大平臺的團隊基因/用戶構成/用戶習慣,與新項目是否吻合。或者籠統(tǒng)點說,大平臺的資源優(yōu)勢是否能向新項目平滑過渡。
我一直是“基因論”的支持者,公司實權派的個人偏好,決定了團隊構成與文化,進而決定了主場優(yōu)勢與劣勢。正如APPLE在社交網絡幾戰(zhàn)皆敗,偉大如 Google也被Facebook壓得抬不起頭來。只是受到野心蠱惑,即便八字不合,大公司也會悍然進入新領域(憑什么我不行),隨后又慘然退出(原來我 真不行)。
比團隊基因更令人惱火的,是用戶基因,即當前用戶群的構成與使用習慣。做產品經常遇到“跨域”這個問題,借勢推廣也一樣。新項目的產品訴求,用戶構 成,如果和母體在同一個域內,則資源優(yōu)勢平滑過渡,對競爭者是致命的殺傷力。但其實……平滑過渡又是一件特別不多見的事情。有時新項目整個的跨域,比如騰 訊做拍拍,做朋友,導入損耗率驚人;有時大平臺向垂直市場細分,無法精準過濾推廣目標,導入用戶良莠不齊得厲害,對于重視“氣質、氛圍”的垂直市場則是拔 苗助長。
以我之前做網易攝影為例,不推吧,在大公司做產品跟創(chuàng)業(yè)有多大區(qū)別,生怕浪費了資源。推吧,不搭邊的人路過都來踩一腳,各種低端用戶、自拍用戶、審 美低下熱情萬丈的中老年用戶蜂擁而入,氛圍混亂,運營成本指數級上升,最終受困多過受益。反倒是獨立攝影產品如圖蟲,用戶氣味相投而來,自然增長營造的社 區(qū)氣質遠勝從大平臺引流,氣質恰恰又是社區(qū)的核心競爭力。
做產品,鮮有一夜暴富,尤其UGC,口碑帶動增長才是最穩(wěn)健的方法。道理固然大路貨,KPI壓力下卻容易急于求成。母體供血一旦大量摻水,相當于修 煉邪道武功,起步快而后力不濟,很快會觸碰到天花板。這時大平臺所謂海量用戶,反倒成為盛滿鮮花的陷阱,涂抹蜜糖的慢性毒藥。好似小時候四環(huán)素治病,長大 后燦然一笑露出滿口黃牙。
總之,在大公司里做產品的雷區(qū)多多。與內部環(huán)境作戰(zhàn)所使的力氣,往往占到血槽的2/3強,只留下不足1/3去對付市場。它抄你,不見得就打得過你。 它是個大家伙,但也喜歡把兩個腳拇指綁起來走路。在多數情況下,大公司的新項目只是全身掛滿鉆石鐐銬的,虛弱的巨人,被它抄死多半說明你太遜色,而不是大 家伙太兇惡。
不過,這個行業(yè)的主流論調并不這么看。
最近幾個月,各式各樣的人紛紛來問我,既然立志創(chuàng)新,大公司抄你怎么辦?
對這個問題,我有各種具體的回答,但都不是真心話。只是面對某些人,比如投資人的時候,你跟他講虛的,會被當成噴子,得表示我有明確的對策……其實對策易變,反倒是“產品哲學”這類虛的東西更加恒定。
我真心的態(tài)度可以用三次自問自答來概括。
1、我的產品質量能不能打敗跟隨者,至少是與跟隨者各擅其長?
如果做不到,這不是我被抄的問題,是我太挫,我認栽。競爭會刺激我提高產品質量,未必是一件壞事。
2、假定產品通過創(chuàng)新,打開一個新的細分市場,這個市場是否足夠大,大到可以容納下多個競爭者同時生存?
如此則對手亦是隊友,我們一邊互相作戰(zhàn),一邊共同開墾荒地,聯(lián)手培育市場。即便最后我只拿到第三、第四的份額,也不錯啊,誰規(guī)定創(chuàng)新者就非得獨吞整個市場不可——初夜權不等于占有權,市場又不是從一而終的貞潔牌坊。
3、除了用戶口碑之外,產品是否有具象化的的價值沉淀?
比如黏性強的用戶關系,比如用戶留存的他看重的內容,比如有忠誠度的優(yōu)質內容發(fā)布者,比如含金量與時效性較長的信息。這些沉淀即防御壁壘,從產品架構階段就應該提前考慮,決定了防守反擊的難度。
所以別人來不來抄這種事情,我從來都是不大關心的,偶爾想想,從不憂慮。周鴻祎有句話說得很好,少盯著對手,多研究用戶。一天到晚擔心“騰訊抄我怎 么辦”?擔心有屁用啊,萬一產品做得不好,騰訊抄都不屑于抄,那得白白浪費多少腦能量。我只管埋頭做自己的產品,洪興罩我去戰(zhàn)斗~
換個角度看,哪怕比較倒霉,很快被大公司看得起并臨幸了,對手在高層力挺下全力以赴地復制并改良,它的基因剛好又平滑過渡……那么,我掛了。但產品 創(chuàng)新若是如我所愿地打開某個細分市場,改善某類用戶體驗,作為始作俑者,老子傾家蕩產,雖敗猶榮。“小小改變世界”比“賺到一千萬”更值得追求。
正如我在微博里所說:阻擋你創(chuàng)新的是“無能”而不是“抄襲”,鼓舞你創(chuàng)新的是內心驕傲而不是永遠獨占鰲頭。
openURL的使用方法:[[UIApplication sharedApplication] openURL:[NSURL URLWithString:appString]];
其中系統(tǒng)的appString有:
1.Map http://maps.google.com/maps?q=Shanghai
2.Email mailto://myname@google.com
3.Tel tel://10086
4.Msg sms://10086
openURL能幫助你運行Maps,SMS,Browser,Phone甚至其他的應用程序。這是iPhone開發(fā)中我經常需要用到的一段代碼,它僅僅只有一行而已。
//打開地圖
- (IBAction)openMaps {
NSString*addressText = @"beijing"; //@"1Infinite Loop, Cupertino, CA 95014";
addressText =[addressText stringByAddingPercentEscapesUsingEncoding:NSASCIIStringEncoding];
NSString*urlText = [NSString stringWithFormat:@"http://maps.google.com/maps?q=%@",addressText];
NSLog(@"urlText=============== %@", urlText);
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:urlText]];
}
- (IBAction)openEmail {
[[UIApplication sharedApplication]openURL:[NSURL URLWithString:@"mailto://devprograms@apple.com"]];
}
- (IBAction)openPhone {
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"tel://8004664411"]];
} 使用這種方式撥打電話時,當用戶結束通話后,iphone界面會停留在電話界面。 還有一種私有方法:(可能不能通過審核)
用如下方式,可以使得用戶結束通話后自動返回到應用:
UIWebView*callWebview =[[UIWebView alloc] init];
NSURL *telURL =[NSURL URLWithString:@"tel:10086"];// 貌似tel:// 或者 tel: 都行
[callWebview loadRequest:[NSURLRequest requestWithURL:telURL]];
//記得添加到view上
[self.view addSubview:callWebview];
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"telprompt://10086"]];
- (IBAction)openSms {
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"sms://466453"]];
}
//打開瀏覽器
-(IBAction)openBrowser {
[[UIApplication sharedApplication] openURL:[NSURLURLWithString:@"http://itunesconnect.apple.com"]];
}
實現(xiàn)如下代碼:
- (void)viewDidLoad {
[super viewDidLoad];
segmentedControl=[[UISegmentedControl alloc] initWithFrame:CGRectMake(80.0f, 8.0f, 70.0f, 25.0f) ];
[segmentedControl insertSegmentWithTitle:@"T+" atIndex:0 animated:YES];
[segmentedControl insertSegmentWithTitle:@"T-" atIndex:1 animated:YES];
segmentedControl.segmentedControlStyle = UISegmentedControlStyleBar;
segmentedControl.momentary = YES;
segmentedControl.multipleTouchEnabled=NO;
[segmentedControl addTarget:self action:@selector(Selectbutton:) forControlEvents:UIControlEventValueChanged];
UIBarButtonItem *segButton = [[UIBarButtonItem alloc] initWithCustomView:segmentedControl];
[segmentedControl release];
self.navigationItem.rightBarButtonItem = segButton;
[segButton release];}
-(void)Selectbutton:(int)sender{
UISegmentedControl *myUISegmentedControl=(UISegmentedControl *)sender;
NSLog(@”!!!!!!!!%d”,myUISegmentedControl.selectedSegmentIndex);
switch (myUISegmentedControl.selectedSegmentIndex) {
case 1:
break;
case 0:
break;
default:
break;
}
}
segmentedControl 中的字體也是可以改動的,代碼如下:
-(void)ChangeSegmentFont:(UIView *)aView
{
if ([aView isKindOfClass:[UILabel class]]) {
UILabel *lb = (UILabel *)aView;
[lb setTextAlignment:UITextAlignmentCenter];
[lb setFrame:CGRectMake(0, 0, 80, 25)];
[lb setFont:[UIFont systemFontOfSize:18]];
}
NSArray *na = [aView subviews];
NSEnumerator *ne = [na objectEnumerator];
UIView *subView;
while (subView = [ne nextObject]) {
[self ChangeSegmentFont:subView];
}
}
在需要調用此方法的地方加入下面方法即可(分段控件中已經有分段按鈕時調用)
[self ChangeSegmentFont:UISegmentedControl的對象];
即可