Slide 1

Slide 1 text

The Secret Project Team Who First Launch Android OS - The Untold Story Arif Faizin Curriculum Developer @dicoding

Slide 2

Slide 2 text

No content

Slide 3

Slide 3 text

Background Story of Each People & Footnote

Slide 4

Slide 4 text

Key Points ● How did Android start? ● How is the platform built? ● Who is the team behind the project? ● How was it launched? ● Why did it work?

Slide 5

Slide 5 text

Starting Point 🚀

Slide 6

Slide 6 text

The Founders Dec 2003 Andy Rubin CEO Ex-Apple, General Magic, WebTV, Danger Chris White CTO Ex Sun, Apple, Streetlight, WebTV

Slide 7

Slide 7 text

Fun Fact! “In the beginning, Android was building a digital camera platform called FotoFarmˮ *ilustrasi

Slide 8

Slide 8 text

The Founders 2005 Andy Rubin Founder & CEO Ex-Apple, General Magic, WebTV, Danger Chris White Founder & CTO Ex Sun, Apple, Streetlight, WebTV Nick Sears Founder Ex-McCaw, Voicestream, Danger TMobile) Rich Miner Founder Ex-Orange, Wildfire

Slide 9

Slide 9 text

“Andy didn’t get to build his camera OS. But given how critical the camera is on phones today, you could argue that he created the most widely-used camera OS ever; he just did it in a roundabout way.”

Slide 10

Slide 10 text

The Pitch Deck

Slide 11

Slide 11 text

Making Money?

Slide 12

Slide 12 text

The Original Demo Chris White Brian Swetland

Slide 13

Slide 13 text

But in the middle of the presentation to Google, Nick remembered, they just said “Let us interrupt you there. We just want to buy you.”

Slide 14

Slide 14 text

Life at Google 2005 ● Android remained a confidential project. Even inside of Google, most employees didnʼt know about it. ● We spent the first two weeks camping out in conference rooms because they didnʼt have permanent offices allocated to any of us. ● Android need more people. But hiring Android engineer proved to be difficult at Google. ○ Google has always held the belief that smart software engineers can do any kind of programming work. ○ Generalist interview and need pedigree (at that time) ○ Build an OS is specialist thing

Slide 15

Slide 15 text

No content

Slide 16

Slide 16 text

Building Platform ⚙ 20052008

Slide 17

Slide 17 text

Language Choice ● Three languages being debated internally. ○ Javascript ○ C ○ Java ● Our original idea was that we were going to do everything in a language-independent way. You were going to be able to write your apps in JavaScript, C, and Java ● Why Java? ○ At the time Android was released, Java was one of the major languages used by software developers around the world. ○ The existence of J2ME, the Java-based platform that ran on various devices already. ○ Powerful tools for writing Java code were available for free, including Eclipse and NetBeans ○ Team expertise ● The language choice was a good example of how quickly decisions were made on Android. But more important, decisions were made quickly so that the organization could simply move on and do the rest of the infinite set of things that needed doing.

Slide 18

Slide 18 text

Dalvik Runtime ● Although Waba and JamVM were sufficient for prototyping and early development, the team wanted their own runtime that they could control and customize as they needed. ● Dan Bornstein began work on a new runtime, which he named Dalvik: “I had just finished reading an issue [of McSweeneyʼs], which consisted of English translations of modern Icelandic fiction. So I had Iceland on the brain. I looked at a map of Iceland and tried to find something that was short and pronounceable, and didnʼt have any of the weird characters, and I found Dalvík11 (or ‘Dal-veek,ʼ as itʼs pronounced). It sounded like a nice little town.ˮ

Slide 19

Slide 19 text

Activity Dianne Hackborn

Slide 20

Slide 20 text

Intent Cédric Beust

Slide 21

Slide 21 text

Notification Joe Onorato Dianne Hackborn

Slide 22

Slide 22 text

Android SQLite Jeff Hamilton

Slide 23

Slide 23 text

Graphics & Skia Mike Reed

Slide 24

Slide 24 text

Logcat Mike Fleming Brian Swetland

Slide 25

Slide 25 text

Problems💥

Slide 26

Slide 26 text

Linux was great for server and desktop system, but not for phone. When the screen turns off, you don’t want to stop anything, completely. So Arve Hjønnevåg added the concept of wake locks to Android’s Linux kernel, to ensure that screen-off didn’t mean completely-off. Rebecca Zavin said, “People discovered if you typed ‘root’93 in Gchat94 you could get root access on your phone. And then people realized that it also worked when you typed ‘shutdown.’ Or ‘reboot.’ Although the application processes were protected from each other, many of the built-in system processes were running as users with elevated permissions, giving them access to more than they strictly needed on the device.

Slide 27

Slide 27 text

No content

Slide 28

Slide 28 text

Networking Security

Slide 29

Slide 29 text

Server Scale

Slide 30

Slide 30 text

OTA

Slide 31

Slide 31 text

OTA Security

Slide 32

Slide 32 text

Bugs, bugs, bugs ● Private Virtual IP VIP) for Network Protocol “They said that if Android didnʼt reach a million users in the first six months, they would take back the VIP, and Michael and Debajit would owe them a case of whisky.ˮ ● Server scale On launch day October 22, 2008, a second server went down due to “unplanned maintenance.ˮ Then one of those servers caught fire. We were really sweating bullets—we were down to a single data center! We just lost two; if that third one went down, none of the sync stuff would work properly—there would be no chat or whatever. We were really panicked. ● OTA “‘If youʼre not careful, your OTA download can brick the world.ʼ ● Battery Draining when using GPS “It was really power hungry. And really slow.ˮ

Slide 33

Slide 33 text

Diff Opinion

Slide 34

Slide 34 text

That’s why it’s called ANDroid not ORdroid. Because if we are deciding between two alternatives, we always pick BOTH. —Team Saying (Anonymous)

Slide 35

Slide 35 text

Android ! Google - iPhone is dominating, why you go up against that? - it was just random project on the side, that's crazy - like joining another company - they look us as clown - I entered black hole - like the west wild - I did not feel like Google at all - there aren't many rules (best practice) yet - didn't have code review, didn't write test, different interview process - no “20 percent timeˮ which allows employees to spend up to 20 percent of their time working on some project that could benefit Google

Slide 36

Slide 36 text

Prepare to 1.0 🎇

Slide 37

Slide 37 text

Android Mascot Irina Blok “It was just a developer release. It was never meant to be a consumer-facing logo. It was a small project, focused on developers. But it became so popular that it just grew bigger and bigger and bigger and spread to being consumer-facing.”

Slide 38

Slide 38 text

Dessert Time

Slide 39

Slide 39 text

Android Market

Slide 40

Slide 40 text

Launch Time! Sooner

Slide 41

Slide 41 text

2010 The Hockey Stick Start

Slide 42

Slide 42 text

What make it Success? 🙌

Slide 43

Slide 43 text

Mental of The Team ● The first day on the new team, she was in the office debugging a problem in the kernel until after 9:00 pm. “Swetland was like, ‘Alright, this is going to work.’ ● This project was a good example of what things were like on Android. Someone identified a problem and would then just go hammer out a solution. Quickly. Back then it wasn’t like, ‘This person’s on this team—it was just like whatever help needed was required. Whoever was available just jumped in.” ● “I don’t think I’m that smart of an engineer, but I work my ass off. I’d make up for my lack of education by just working hard and putting in an unhealthy amount of hours. There were times in the first four to five years where it was essentially all I did when I was awake. And I didn’t get as much sleep as I should. I know I wasn’t alone on that. ● Jason Parks: “We worked a lot of fu*king hours. There would be weeks when the only time my wife saw me was when she came and had dinner with me. I would come home late, sleep for a couple of hours, and go back into the office. The only time she saw me was coming in for dinner.”

Slide 44

Slide 44 text

No content

Slide 45

Slide 45 text

“The currency of Android was working hard. Putting in a sh*tload of hours was very valuable, culturally, in Android Team.” —Ficus Kirkpatrick

Slide 46

Slide 46 text

Management ● San Mehat said, “Much like Apple, it really helped to have that visionary as*hole type. The one person. Not a committee. Not five people. One person that was like, ‘This is the way I want it, and thatʼs the way itʼs going to be and I donʼt care.ʼ ● It was the first time that I had real deadlines that could not be missed. Christmas doesnʼt wait for anyone and boards can only be printed so fast, so you cannot miss the October deadline.ˮ ● In late 2009, a year after 1.0 shipped, Android institutionalized extra working hours by starting the tradition of Bacon Sundays. Previously, people would simply be at work all the time. But eventually, people started spending weekend time not working. But Android still had the same do-or-die dynamic as it did before (albeit with more people to handle the load). Release deadlines were critical; they had to hit those dates. So toward the end of a release, management encouraged people to come to the office on Sunday morning with the promise of a big breakfast buffet spread (along with plenty of work).

Slide 47

Slide 47 text

Technical ● Developer Tools: One of the reasons behind Androidʼs growth is the developer ecosystem that was created along the way, enabling thousands (now millions) of applications for people to find, download, and use. ● The emulator was hugely important at the time. Hardware devices were very difficult to come by. Having an emulator that mimicked a real device made it possible (for developers on the Android team and eventually external developers) to write and test their Android code. ● The mindset of the entire platform team was performance-first. This came from a combination of the limited memory on those early devices, along with slower CPUs, the lack of GPU rendering Android didnʼt use a GPU for UI graphics until the Honeycomb release), and Dalvikʼs garbage collector (which took time allocating and collecting memory).

Slide 48

Slide 48 text

Form Factor

Slide 49

Slide 49 text

Partnership ● One of the keys to Androidʼs growth was that it wasnʼt just Google shipping Android phones; it was everyone. ● Being able to run the same application across different implementations of Android would be a far cry better than what developers faced on platforms like Symbian and Java ME, where apps would frequently need to be rewritten to work across different devices. But the dynamics for manufacturers were different, and they were used to a world where they were responsible only for their own devices and implementations. ● Create a challenge. But the challenge definitely got developers interested, as 1,788 apps were entered into the contest for this platform with zero users and an unknown release date.

Slide 50

Slide 50 text

“Eventualˮ Open Source ● External contributions are rare; most of what is there has come from the internal engineering team. There are a few reasons for this dynamic. ● For one thing, the Android source base is huge, and contributing even a simple fix takes significant effort just to understand the context of the original code and implications of that change. ● It was open sourced, but it was not developed in open source. Rather, the team worked on it internally for many months before the code was released in public. Today, many parts of the system, like the ART runtime and the AndroidX libraries, are actually developed in the open. ● There were plenty of early platform bugs to deal with. I remember there being lots of hacks. But since Android was open source, usually those hacks were at least discoverable. Without it being open source it wouldʼve been much harder to work around some of the problems.ˮ ● Androidʼs partners/OHA Open Handset Alliance) have free and easy access to all of it. This was actually the original reason for Android open sourcing the platform; it was a mechanism to make Android available for any prospective device manufacturer to get everything they need.

Slide 51

Slide 51 text

Summary ● Team ○ Hire the right people, focus, work hard (but not forever) ● Management ○ Vision, ship first, keep going ● Technology ○ Notifications, multitasking, security, form-factor flexibility ● Developer Tools ○ Language, API, SDK, Android Market ● Business Decision ○ Open Source, Open Handset Alliance, compatibility, partnership ● Acquisition ○ Funding, infrastructure, leverage with partner ● External factor ○ Timing, cheaper & powerful mobile hardware, iPhone competitors(?, luck

Slide 52

Slide 52 text

“We burned a lot of bridges. But we kind of had to. We really did have to say, ‘No, we have a mission and we have to stick to that mission. When we succeed, everything will be easier.’” —Tom Moss

Slide 53

Slide 53 text

There definitely wasn’t a sense of inevitability in the beginning. There were a lot of reasons why Android shouldn’t have been as successful as it was. It’s the sort of thing that I think if you wanted to make happen again, you wouldn’t be able to. There’s some magic there. —Evan Millar

Slide 54

Slide 54 text

Reference ● Free sample https://play.google.com/store/books/details/Chet_Haase_Androids?id=7cBZEAAAQBAJ ● Oreilly https://learning.oreilly.com/library/view/androids/9781098130237/ ● Tech Talk Droidcon Italy https://www.youtube.com/watch?v=S0nerxjwdhA Android Makers https://www.youtube.com/watch?v=29CXukGVcUM

Slide 55

Slide 55 text

Thanks!