$30 off During Our Annual Pro Sale. View Details »

The Secret Project Team Who First Launch Androi...

The Secret Project Team Who First Launch Android OS - The Untold Story

Ahmad Arif Faizin

November 28, 2024
Tweet

More Decks by Ahmad Arif Faizin

Other Decks in Programming

Transcript

  1. The Secret Project Team Who First Launch Android OS -

    The Untold Story Arif Faizin Curriculum Developer @dicoding
  2. 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?
  3. The Founders Dec 2003 Andy Rubin CEO Ex-Apple, General Magic,

    WebTV, Danger Chris White CTO Ex Sun, Apple, Streetlight, WebTV
  4. Fun Fact! “In the beginning, Android was building a digital

    camera platform called FotoFarmˮ *ilustrasi
  5. 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
  6. “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.”
  7. 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.”
  8. 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
  9. 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.
  10. 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.ˮ
  11. 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.
  12. OTA

  13. 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.ˮ
  14. That’s why it’s called ANDroid not ORdroid. Because if we

    are deciding between two alternatives, we always pick BOTH. —Team Saying (Anonymous)
  15. 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
  16. 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.”
  17. 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.”
  18. “The currency of Android was working hard. Putting in a

    sh*tload of hours was very valuable, culturally, in Android Team.” —Ficus Kirkpatrick
  19. 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).
  20. 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).
  21. 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.
  22. “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.
  23. 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
  24. “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
  25. 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