本年度的 蘋果全球開發者大會 (下稱WWDC) 即將在6月13日開幕,一連5天在美國舊金山莫斯考尼會議中心 (Moscone West) 舉行。每年有超過5,000 iOS 開發者能夠參與大會,即席了解最新發佈的iOS, OS X, watchOS及tvOS。全球iOS程式開發者聚首一堂,除了出席會議,更有超過1,500位蘋果公司的工程師為150個實務操作實驗室及活動提供支援,為開發者提供協助和最佳開發技巧的意見及諮詢。
2016年度的門票在4月22日開售,縰然是售價高達US$1,599(約台幣50,299元)也是競爭激烈、一票難求!有興趣參加的開發者遞交申請後,還需要等候蘋果公司隨機抽選幸運兒。
除了抽樂透方法,蘋果還提供了350個獎學金名額,給予全球各地13歲或以上學生或STEM機構的成員申請,成功申請者除了獲得免費參加WWDC的機會外,部分更獲蘋果提供旅行費用的補貼。要成為350名額中的一人,申請的學生須要提交一或兩支自行開發的程式,以及一份有關開發過程的文章。蘋果的審批的考量是基於「技術知識能成功編寫一支程式;程式意念創新程度,以及;在提交申請的文章中展現出良好的表達和書寫程度」。蘋果沒有透露有多少名獎學金的申請者,但相信競爭都是十分激烈。
而我也曾經有幸透過獎學金計劃出席過WWDC!
在過往幾年,蘋果就獎學金申請者遞交的程式要求,列出了更清晰簡潔的指引。而今年,蘋果就作出了些微的改變,容許申請者提交一或兩個自行開發的程式。
接著下來,將會透過與曾經出席WWDC的獎學金幸運兒的訪問,分成兩篇文章向大家分享一下他們有什麼「成功之道」,能夠獲得珍貴的參與機會。
學生 #1: Eytan Schulman
AppCoda: 以獎學金方式,你參加了多少屆的WWDC?
Eytan: 3屆,分別是2014,2015和2016年度。
AppCoda: 可以介紹一下你提交申請獎學金的程式嗎?
Eytan: 就2016為例,我提交了旅行創造者 (Journey Creator),使用者透過程式可以記錄他們想去或現處的位置,並在地圖上展示出來。在程式之中,我應用了以下的蘋果開發者技術:MapKit,CoreLocation, 3D Touch 及 WatchKit。程式已經在美國iTunes上架,這裡是它的連結。
AppCoda: 你如何準備申請獎學金的?
Eytan: 其實在獎學金公佈一星期前,這支程式已經在iTunes通過審評。原有的程式當中並不包括 3D Touch 或 WatchKit 技術。就在申請獎學金的籌備階段,我就加入這些 APIs,以及對 UX 進行少部份改良。
AppCoda: 花了多少時去開發程式呢?當中如何把困難和障礙一一克服?
Eytan: 這支程式總共花了我8個月的時間,因為同期還要兼顧其他專䅁和功課學業。整個開發的過程遇到兩個比較大的問題。第一個是決定最有效的方法去描述程式的功能:一方面收集數據 (Creator),另一方面檢視數據 (Viewer)。第二個是給使用者最多的方法去確定位置。
AppCoda: 有什麼建議或提示能給予計劃來年參與獎學金的年輕開發者?
Eytan: 現在就開始準備!根據我以往的經驗,我會建議參加者及早準備,雖然距離WWDC獎學金報名日期還有很久,但我相信紮實的產品開發履歷才是最重要。若能夠使用最新的技術亦能吸引評審的注意力。留意蘋果在今屆WWDC所公布最新版本的iOS/OS X/watchOS/tvOS,整合意念盡量發揮及使用這些新推的APIs。
AppCoda: 感謝你參與這個訪問!可以跟大家分享一下最近忙些什麼嗎?
Eytan: 現在我在忙幾個專案,大部份也是位置導向相關的。我在尋求旅行創造者的衍生產品。這次已經是我第3次以獎學金方法參與WWDC。每一年參與WWDC對我而言都是一個很重要的學習機會。舉一個例子,在2014 Swift程式公佈後的一天,在學習Swift的起步階段便與Swift工程師一同身處在Swift實驗室,使我能好好掌握Swift的開發技巧。當蘋果在WWDC發表及公佈最新APIs,實驗室就為新技術提供了最前線的學習機會。透過出席WWDC,我還能夠認識來自世界各地不同的開發者,擴展了開發夥伴網絡。多年以來,我也曾經在專案之中得到夥伴網絡的幫助,同一時間也會向他人提供建議。甚至在WWDC認識了跟我一樣是獎學金學生的 Harrison Weineraman,並一同開發產品。
學生 #2: Alejandrina Gonzalez Reyes
AppCoda: 今年是第一次獲得WWDC獎學金嗎?
Alejandrina: 不是。我在2015第一次參加,今年2016是第二次。
AppCoda: 可以介紹一下你提交WWDC的程式嗎?今年似乎更著重蘋果技術的使用。你在提交的程式裡具體使用了哪些蘋果的技術呢?
Alejandrina: 我想作為一個魔術師神奇的地方是利用技術去創造幻想。作為數碼魔術師,我結合了幻想和科技的元素,給予觀眾感受一下未來科技的可能性。基於這個原因,我建立了魔術口袋 (Magic Pocket) 並作為WWDC16獎學金提交的作品。這支 iOS 程式透過獨特創新的方法運用 iOS 技術,有效地結合科技與魔法。這支程式幫助魔術師在表演過程中使用他們的iPhone提供額外的行為並進行魔法表演。為了實現魔法和科技,我的程式結合了 3D Touch,CoreMotion,AVFoundation,ImageIO 和 CoreGraphics。這支程式中的信息部分,我使用的框架包括 StoreKit 和 PassKit。
AppCoda: 你有沒有提前構思程式?
Alejandrina: 沒有。實際上在期限之前五天,我還沒有想到該寫些什麼。
AppCoda: 有什麼建議或提示能給予計劃來年參與獎學金的開發者?
Alejandrina: 尋找創新意念。僅使用必要的技術。
AppCoda: 十分感謝你抽空參與這個訪問。可以跟大家分享一下最近忙些什麼嗎?
Alejandrina: 現時都是忙於已發表的程式更新和改良。WWDC獎學金計劃對我十分有幫助,自上年度參加,我認識了很多了不起的朋友和開發者!
學生 #3: Ahmed Bekhit
AppCoda: 首先恭喜你獲得獎學金!請你描述一下提交的程式。
Ahmed: 我使用了 3D Touch 和 SpriteKit 技術。程式的主要意念是以互動方式去解釋大爆炸理論 (The Big Bang Theory)。我只花了5天的時間,自己覺得在程式設計方面不太滿意,我猜提交的文章是讓我獲取獎學金的重要原因。
AppCoda: 你是如何規劃程式的?你是從什麼方向思考、組織和製作?
Ahmed: 當蘋果在4月時正式公佈WWDC的日子,當時我還是沒有點子,不知道該寫些什麼程式去申請WWDC獎學金,尤其是他們只說建立「任何程式」,有別與往年有指定的主題,如履歷程式 (resume app)。長話短說,我只是恰巧看到電視在播映大爆炸理論,就萌生了使用3D Touch去做一支簡單的教育程式。
AppCoda: 對於開發一支程式,5天確實不是一個充裕的時間。那幾天你是怎樣活過來的?
Ahmed: 我要好好分配時間,除了寫WWDC程式,還要準備初創公司和應付期末考。
AppCoda: 有什麼提示能給予計劃來年參與獎學金的學生?
Ahmed: 思考要跳出框框,我不建議在獎學金程式用上WWDC的主題。
AppCoda: 最近期編寫的程式是什麼?
Ahmed: 最近和另外三位學生在做初創公司,WWDC獎學金計劃幫助我認識很多有天份及有興趣加入我們的年輕開發者。
學生 #4: Alyssa McDevitt
AppCoda: 你是連續兩屆參加WWDC的。恭喜你!可以介紹一下你今年參加獎學金的程式嗎?
Alyssa: 我利用地圖 (Maps) 做了一支簡介程式 (Profile App)。程式內一個錄像講述上年我是如何入圍WWDC獎學金,還有一個直至目前為止出席過的每場科技活動的圖片庫,一個顯示了我在不同地方認識的科技界朋友的地圖,一個錄像有關我的初創公司和一篇關於我的文章。
AppCoda: Alyssa,你是如何計劃這個程式的?
Alyssa: 我粗略地勾畫出畫面和想著如何把他們連結起來。今年我想加入更多媒體檔案,所以我計劃包含圖片、錄像和MapKit。
AppCoda: 你的程式包含了很多創意媒體。你花了多少時間去完成它呢?
Alyssa: 所有媒體和錄像大概花了一個月的時間。我遇到最大的障礙是實現動畫和處理介面的約束條件。
AppCoda: 若果請你給來年希望申請獎學金的學生一些小提示,那會是什麼?
Alyssa: 尋找所有可以學習的網上資源,實驗不同的意念,和繼續勇往向前。
AppCoda: 多謝你抽時間參與訪問。你能分享一些關於你的初創公司嗎?
Alyssa: 現在我正在做一支叫 NoiseHub 的程式,這是一個歌曲片段的社交媒體平台。希望透過參與實驗室和活動,讓我學習如何做更複雜的工作,使我的程式更簡潔和更有效率。
學生 #5: Andrew Walker
AppCoda: 聽說你跟往年一樣做了一支履歷程式。可以講解一下嗎?
Andrew: 儘管今年的獎學金較少具體要求,我還是依計劃去建立一支履歷式的程式。由一開始,我的目標就是要實現一個以非常規方式為內容章節導航。在App Store也發佈過程式,可以在這裡看。
AppCoda: 今年你在程式中運用了什麼蘋果科技?
Andrew: 我使用了 CoreGraphics 去創造圓形,環繞圖像的旋轉文字,以及使用 UIGestureRecognizers 能夠隨意在熒幕拖曳物件至指定範圍。我還設計了手錶程式,伸延了iOS程式的功能。這是充滿功能性、趣味性及資訊性的一支程式。
AppCoda: 你是怎樣規劃過程的?
Andrew: 上年的申請獎學金所寫的程式是我在iOS開發旅程中的初體驗。在WWDC公佈前兩個月我就開始利用Sketch建立模板。每當我學到新技術時,就會更改設計盡量應用新功能。今年蘋果的新規定確實讓我對原本的計劃作出一定程度的改變。為了滿足指引,我決定將重點放在手錶程式。我的目標和策略都相當簡單 – 在限期之前,為程式添上最多的功能。
AppCoda: 可以給下年度獎學金參加者一點意見嗎?
Andrew: 我會建議參加者花點時間去理解蘋果要求的是什麼。仔細地閱讀指引,研究一下過往成功申請者的程式有什麼值得欣賞的地方。我花了兩天的時間在編寫文章,我覺得它是我成功申請獎學金的一個顯著因素。有些人提交了很好的專案,只可惜忽視了文章的重要性而申請被拒。
AppCoda: 由公佈至提交,學生們只有短短兩星期的時間去準備程式和文章。你是花了多少時間去完成呢?
Andrew: 當WWDC公佈後我就開始動工,趕及在截止前2小時提交申請。我最初預計花80小時去完成整個程式。期間最大的困難是時間不足,同期還得應付學校、工作和其他進行中的專案。
AppCoda: 最近的日子你在忙些什麼?
Andrew: 近來真的相當繁忙,正在處理幾個專案。連續第二年參加,我參與的小團隊正在開發「WWDC學生 (Scholars of WWDC)」的專案。這個程式和網站讓得到獎學金的學生與出席者有互相認識和接觸的平台。WWDC2015對我的事業發展有很大的幫助,今年我這是如此期待。也希望今年可以比往年學會更多,讓我回去之後可以找到iOS開發者的工作。
學生 #6: Kerman Kohl
AppCoda: 恭喜你首次得到WWDC的入場券。可能介紹一下你的程式嗎?
Kerman: 過往4年我都在開發 這個程式。最初是因為在App Store找不到易於使用的功課程式。通過用戶反饋,不斷改進,以使其成為今天的模樣。
AppCoda: 在程式之中你使用了什麼蘋果技術?
Kerman: 我使用了 Core Data,Local Notifications,Today Extensions 和 WatchKit。
AppCoda: 在程式開發的過程之中最難的一關是什麼?
Kerman: 在整個開發過程中,最難的是學習 Core Data stack 的運作,和嘗試把它運用在構思之中。
AppCoda: 能給予來年參加的申請者一些心得嗎?
Kerman: 持續開發一支你喜歡的程式,它會帶給你無窮驚喜!
學生 #7: Rehaan Advani
AppCoda: Rehaan 你好!恭喜你得到獎學金。可以介紹一下你的程式嗎?
Rehaan: 這次為申請WWDC獎學金而準備的程式,是關於我的學歷背景、專案、技術能力、興趣和成績。
AppCoda: 你在提交的程式中運用了什麼蘋果技術?
Rehaan: 為了提升整體用戶體驗,我應用了很多蘋果技術。我使用了3D Touch,Apple Maps,還有很多重要的開發者框架,包括MapKit,CoreLocation 和 CoreMotion。我把關於這支程式的錄像上載在Youtube。
AppCoda: 怎樣準備申請獎學金?
Rehaan: 我覺得最具挑戰性的是在很短時間內寫好一支程式。因此,我將在往後的程式用上更多不同的技術。這些技術包括製作用戶界面的草圖,以及如何利用不同的方法向用戶傳達訊息。對於編寫一支程式,計劃及激發意念是最重要的,尤其是時間緊迫,只容許開發者想到什麼就馬上做。此外,善用技術可以大量節省編寫程式碼的時間。
AppCoda: 那麼你花了多少時間去完成程式呢?
Rehaan: 它真的花掉我很多時間,因為處理這樣的工作時,實在有很多事情是開發者需要去考量。
AppCoda: 在申請獎學金的過程最困難是哪一個部分?
Rehaan: 當我開始了程式開發,我遇到了不少障礙。我發現3DTouch並沒有完整的說明,我在不同的類別和方法裡嘗試,例如 NSNotification 和 NSNotificationCenter,最後才能成功。還有,我之前沒有任何設計經驗,所以蠻困難設計出漂亮的界面。
AppCoda: 最近在忙些什麼?
Rehaan: 我正在開發一支程式,它可以讓管理人員更容易追踪員工的表現,以及他們在某些領域取得的進展。這支程式有很多功能,它更容誰許員工登入並查看自己的進度。本質上,這支程式是個績效管理程式,目的是改善員工生產力。WWDC獎學金計劃讓我成為開發員,在大會裡認識了很多新朋友,這個網絡有助我將來的工作。此外,出席WWDC的蘋果專業工程師使我對程式開發有更深入了的解。
學生 #8: Jan-Niklas Freundt
AppCoda: 這次是你首次獲得獎學金嗎?
Jan-Niklas: 是!
AppCoda: 你提交了怎樣的程式?
Jan-Niklas: 我提交了 Brainy 是我設計過的程式之中最複雜的一個,它有15個自動調整難度級別的遊戲,優雅的界面和有關完成任務的詳細統計數據和圖表。
AppCoda: 你如何準備這個獎學金的?有否提前作出準備?如果有,你是如何想像、組織和實踐?
Jan-Niklas: Brainy 已經在App Store上發佈了好幾個月,並不是專門為WWDC申請獎學金而做的。
AppCoda: 有沒有很期待出席WWDC?
Jan-Niklas: 我希望在WWDC能夠與其他開發者建立聯繫和合作的機會。
AppCoda: 最近在忙於哪一個程式?
Jan-Niklas: 最近都在處理Brainy的更新。它包含了很多新的、強大的功能,將會大大提高它的功用。
學生 #9: Cristian Tabuyo
AppCoda: 今年,蘋果容許參加者提交1或2隻程式,你的選擇是?
Cristian: 我提交了2隻程式。
AppCoda: 可以詳細介紹一下嗎?
Cristian: 其中一支是關於我的履歷程式,包括了我的工作、技能、興趣等等。我在程式中使用了3D Touch (Quick Action)。另一支是 Alternativa a un termómetro,我在較早前已經在App Store上發佈,它是一支醫療程式,通過量度使用者的心跳率計算出體溫,當體溫超過攝氏36度,每高一度心跳率就會上升15BPM。我使用了 HealthKit 從中獲得用戶心跳率並進行運算。
AppCoda: 充足的準備工作對於軟件開發是相當重要。你是如何為比賽作出準備?
Cristian: 我早已經想到要提交怎樣的程式,但在獎學金公佈時我才剛開始設計、編程。
AppCoda: 在開發時有遇到什麼障礙嗎?
Cristian: 我花了5天去完成履歷程式,一切都很順利並沒有遇到很大的障礙。然而另一隻程式就花了兩週左右去開發,在使用 HealthKit技術時發現了一些障礙,但透過閱讀蘋果文檔成功把問題解決。
AppCoda: 現在有沒有開發其他程式呢?
Cristian: 我現在編寫著一支約會程式。我相信WWDC獎學金計劃幫到了不少人,因為你會在這裡遇上很多有趣的人和在前輩身上學到很多有用的知識。
學生 #10: Amit Kalra
AppCoda: 你是否首次參加WWDC獎學金?
Amit: 是!
AppCoda: 我看到你開發的本地新聞程式,恭喜你。可以介紹一下你提交WWDC的程式嗎?
Amit: 我提交的是 6284 Calc,有一些媒體也有報導它。在程式之中我使用了 CoreSpotlight 和 3D Touch 技術。
AppCoda: 你花了多少時間完成 6284 Calc?
Amit: 我從2015年5月開始編寫,也剛好在今年趕及提交申請WWDC。
AppCoda: 可以給來年的參加者什麼建議或提示嗎?
Amit: 不要氣餒,堅持下去,越過障礙,不停向前!
AppCoda: 什麼原因令你那麼期待出席WWDC?
Amit: 我將會認識很多人和網絡,將會是很令人驚喜的事。
一如往年,蘋果在大會開始之前的週日就會舉辦獎學金迎新活動。在迎新活動上,學生們可以與蘋果的工程師、員工和其他得獎者共聚一堂。過往幾年,蘋果CEO庫克·提姆 (Tim Cook)都有出席與獎學金得獎者見面,以及出席各個發佈會。
蘋果還向獎學金得獎者準備提供健康零食和食物的休息室。此外,獎學金得獎者更可以在特別安排的觀看區,欣賞星期四晚上的WWDC Bash。
請緊密留意第二部份的訪問。待續!
原文:WWDC Scholarship Interviews Part 1: Meet the Scholars and See What They Have Built