1 00:00:04,240 --> 00:00:07,240 Speaker 1: Welcome to tech Stuff, a production of I Heart Radios, 2 00:00:07,320 --> 00:00:13,920 Speaker 1: How Stuff Works. Hey there, and welcome to tech Stuff. 3 00:00:13,960 --> 00:00:16,960 Speaker 1: I'm your host, Jonathan Strickland. I'm an executive producer with 4 00:00:17,000 --> 00:00:18,840 Speaker 1: I Heart Radio and How Stuff Works and Love of 5 00:00:18,840 --> 00:00:22,239 Speaker 1: all Things Tech. And in our last episode, I talked 6 00:00:22,239 --> 00:00:25,920 Speaker 1: about the creation of Google Android leading up to the 7 00:00:25,960 --> 00:00:30,040 Speaker 1: release of ice Cream Sandwich, also known as Android version 8 00:00:30,120 --> 00:00:32,680 Speaker 1: four point Oh. But before I go any further with 9 00:00:32,760 --> 00:00:35,400 Speaker 1: that story, I thought I might take some time to 10 00:00:35,440 --> 00:00:39,480 Speaker 1: describe what an operating system actually does from a high level, 11 00:00:39,479 --> 00:00:42,080 Speaker 1: since I kind of skipped over that in the last episode. 12 00:00:42,720 --> 00:00:44,280 Speaker 1: But in my defense, I really wanted to get to 13 00:00:44,320 --> 00:00:48,680 Speaker 1: the actual Android stuff, all right, So let's go from 14 00:00:48,880 --> 00:00:52,559 Speaker 1: the most basic explanations here and work our way up 15 00:00:52,600 --> 00:00:56,680 Speaker 1: from there. A computer is essentially a machine that, through 16 00:00:56,960 --> 00:01:01,160 Speaker 1: processing tons of complex calculations in a short amount of time, 17 00:01:01,440 --> 00:01:05,080 Speaker 1: can produce all sorts of different end results. Some of 18 00:01:05,080 --> 00:01:08,800 Speaker 1: them can be pretty intuitive, like calculating a formula that's 19 00:01:08,800 --> 00:01:13,560 Speaker 1: embedded in a spreadsheet program. That's very clearly a mathematical process. 20 00:01:13,600 --> 00:01:16,720 Speaker 1: It's easy to understand. Some are a little less intuitive, 21 00:01:17,200 --> 00:01:20,080 Speaker 1: like allowing you to make a video call to someone 22 00:01:20,120 --> 00:01:22,959 Speaker 1: who's on the other side of the world. But ultimately, 23 00:01:23,000 --> 00:01:26,520 Speaker 1: a computer is taking information in the forms of zeros 24 00:01:26,520 --> 00:01:30,000 Speaker 1: and ones, and it is performing various operations on that 25 00:01:30,080 --> 00:01:32,480 Speaker 1: data to get results, which are then fed back to 26 00:01:32,560 --> 00:01:35,800 Speaker 1: you in some appropriate way, depending upon whatever it is 27 00:01:35,800 --> 00:01:37,960 Speaker 1: you're trying to do, but you know you'll be able 28 00:01:38,000 --> 00:01:39,480 Speaker 1: to see it in a way that makes sense to you, 29 00:01:39,560 --> 00:01:42,280 Speaker 1: as opposed to just a different string of zeros and ones, 30 00:01:42,319 --> 00:01:46,400 Speaker 1: which would be useless to us. We run programs on 31 00:01:46,440 --> 00:01:49,440 Speaker 1: computers to get these results. So in the examples I've 32 00:01:49,440 --> 00:01:52,800 Speaker 1: already mentioned, you would have some sort of spreadsheet program 33 00:01:52,800 --> 00:01:57,400 Speaker 1: like Microsoft Excel, or some sort of video calling program 34 00:01:57,440 --> 00:02:01,160 Speaker 1: like Skype. Microsoft has nothing to do with this episode, 35 00:02:01,160 --> 00:02:04,200 Speaker 1: by the way, Obviously I'm talking about androids, so but 36 00:02:04,280 --> 00:02:06,840 Speaker 1: that's just to give you an example of programs that 37 00:02:06,880 --> 00:02:10,960 Speaker 1: exist on computers. These programs need to interface with the 38 00:02:11,040 --> 00:02:16,080 Speaker 1: hardware that's actually doing all of those calculations and gathering 39 00:02:16,200 --> 00:02:20,480 Speaker 1: that information. Now, in the old old days of computers, 40 00:02:20,840 --> 00:02:25,120 Speaker 1: programmers would build their programs into the machines themselves. They 41 00:02:25,120 --> 00:02:28,600 Speaker 1: would program on what we would call bare metal, and 42 00:02:28,760 --> 00:02:32,600 Speaker 1: computers would only do very specific tasks. By the time 43 00:02:32,639 --> 00:02:36,520 Speaker 1: we got to general programmable computers, we could run different 44 00:02:36,520 --> 00:02:40,480 Speaker 1: programs on the same machines. Programmers would write these four 45 00:02:40,520 --> 00:02:44,800 Speaker 1: specific computers, and the program instructions were essentially telling the 46 00:02:44,800 --> 00:02:47,600 Speaker 1: hardware what to do. And this goes all the way 47 00:02:47,639 --> 00:02:51,800 Speaker 1: from the era where you would actually physically unplug parts 48 00:02:52,080 --> 00:02:54,440 Speaker 1: of the computer system and plug it into different parts, 49 00:02:55,000 --> 00:02:57,959 Speaker 1: up to where you might program it in a series 50 00:02:58,000 --> 00:03:00,600 Speaker 1: of punch cards that would be read by computer, and 51 00:03:00,639 --> 00:03:03,760 Speaker 1: then the computer would follow whatever the instructions were that 52 00:03:03,800 --> 00:03:07,480 Speaker 1: the punch cards indicated. These are all various examples of 53 00:03:07,560 --> 00:03:12,120 Speaker 1: programs and computers, but as computers and programs evolved, it 54 00:03:12,200 --> 00:03:15,640 Speaker 1: became necessary to create some sort of liaison between the 55 00:03:15,680 --> 00:03:20,200 Speaker 1: bare metal of the hardware underneath and the programs that 56 00:03:20,240 --> 00:03:22,720 Speaker 1: would run on top of it. And the operating system 57 00:03:22,800 --> 00:03:26,359 Speaker 1: is kind of like a foreman or a supervisor. It's 58 00:03:26,360 --> 00:03:30,040 Speaker 1: in charge of managing stuff like computer memory and the 59 00:03:30,160 --> 00:03:33,600 Speaker 1: order of operations, and with modern computer devices that also 60 00:03:33,680 --> 00:03:37,400 Speaker 1: handles stuff like multitasking, making sure each instance of a 61 00:03:37,480 --> 00:03:40,600 Speaker 1: program has the resources it needs to run, or in 62 00:03:40,640 --> 00:03:43,760 Speaker 1: some cases even throttling those resources that are going to 63 00:03:43,800 --> 00:03:46,440 Speaker 1: a program that might be in the background while another 64 00:03:46,440 --> 00:03:50,240 Speaker 1: program is taking center stage. It's sort of dynamically managing 65 00:03:50,280 --> 00:03:53,720 Speaker 1: all these different resources. Most of the operating systems we 66 00:03:53,840 --> 00:03:58,600 Speaker 1: encounter today incorporate a graphical user interface or gooey, in 67 00:03:58,640 --> 00:04:03,040 Speaker 1: which little icon represent computer processes. Now, in the old 68 00:04:03,120 --> 00:04:06,720 Speaker 1: days and with some modern line command systems, you would 69 00:04:06,720 --> 00:04:10,080 Speaker 1: actually type out a command to start a program dot 70 00:04:10,200 --> 00:04:13,120 Speaker 1: e x C file. So, for example, I remember using 71 00:04:13,200 --> 00:04:15,920 Speaker 1: our old two eight six PC back when I was 72 00:04:15,960 --> 00:04:18,680 Speaker 1: a kid. We had MS DOSS running on it. That 73 00:04:18,760 --> 00:04:21,559 Speaker 1: was a line command operating system, and you would type 74 00:04:21,560 --> 00:04:24,800 Speaker 1: in commands to go to a particular file directory in 75 00:04:24,880 --> 00:04:29,400 Speaker 1: order to run a program like say Wolfenstein. The gooey 76 00:04:29,400 --> 00:04:32,800 Speaker 1: for home PCs became popular after the introduction of the 77 00:04:32,839 --> 00:04:37,720 Speaker 1: Macintosh computer from Apple and the Windows operating system from 78 00:04:37,720 --> 00:04:42,560 Speaker 1: Microsoft the following year, though really Windows truly took off 79 00:04:42,600 --> 00:04:46,760 Speaker 1: after Windows three point one. Now for pretty obvious reasons, 80 00:04:47,240 --> 00:04:52,640 Speaker 1: the operating systems we find on smartphones feature gooey's, Apple's iOS, 81 00:04:52,720 --> 00:04:56,640 Speaker 1: Android and other smartphone OS flavors. All of us interface 82 00:04:56,680 --> 00:04:59,680 Speaker 1: with programs through touch screen controls, or, as was the 83 00:04:59,720 --> 00:05:03,440 Speaker 1: case with older Android phones, with physical keyboards and maybe 84 00:05:03,440 --> 00:05:06,160 Speaker 1: even a track ball controller. The old g one had 85 00:05:06,200 --> 00:05:12,280 Speaker 1: one of those those icons on the screen represent processes, programs, 86 00:05:12,360 --> 00:05:17,360 Speaker 1: initiation programs, executable files. So selecting one of these icons 87 00:05:17,520 --> 00:05:20,960 Speaker 1: initiates the sequence to start a program sending instructions to 88 00:05:20,960 --> 00:05:23,960 Speaker 1: the operating system underneath to manage the resources that are 89 00:05:23,960 --> 00:05:28,880 Speaker 1: required to make the program go. Computer programmers and engineers 90 00:05:29,440 --> 00:05:35,800 Speaker 1: describe operating systems as existing as a stack of various functions. 91 00:05:36,080 --> 00:05:39,360 Speaker 1: Now these are not physical layers or anything like that. 92 00:05:39,960 --> 00:05:42,599 Speaker 1: It's more of a way for us to think about 93 00:05:42,680 --> 00:05:46,440 Speaker 1: the different functions the operating system must perform and grouping 94 00:05:46,480 --> 00:05:50,320 Speaker 1: those functions together in a way that makes sense. So 95 00:05:50,360 --> 00:05:52,440 Speaker 1: in general, you can think of if you think of 96 00:05:52,480 --> 00:05:54,719 Speaker 1: a stack like a vertical stack, almost like a stack 97 00:05:54,760 --> 00:05:58,360 Speaker 1: of wooden blocks. At the very bottom or the foundation 98 00:05:58,600 --> 00:06:02,600 Speaker 1: of the stack, the part that's against the bare metal 99 00:06:03,000 --> 00:06:06,440 Speaker 1: or the hardware of the device itself would be the 100 00:06:06,600 --> 00:06:11,839 Speaker 1: kernel that is the core of the operating system. These 101 00:06:11,880 --> 00:06:15,600 Speaker 1: are the functions that are are most directly interfacing with 102 00:06:15,720 --> 00:06:19,159 Speaker 1: the hardware stuff like processors and circuits and all the 103 00:06:19,160 --> 00:06:22,520 Speaker 1: stuff that's doing all the number crunching androids. Foundation is 104 00:06:22,560 --> 00:06:26,400 Speaker 1: based specifically around the Linux kernel. So, as I said, 105 00:06:26,440 --> 00:06:28,560 Speaker 1: the kernel is the core of the operating system. It 106 00:06:28,600 --> 00:06:32,839 Speaker 1: has complete control over the hardware. Lenox is an open 107 00:06:32,920 --> 00:06:36,599 Speaker 1: source operating system, has a large community of developers and 108 00:06:36,680 --> 00:06:40,360 Speaker 1: programmers contributing to it. And because of this huge community, 109 00:06:40,720 --> 00:06:44,799 Speaker 1: things like security vulnerabilities and bugs are typically discovered pretty 110 00:06:44,880 --> 00:06:47,920 Speaker 1: quickly and they can be fixed pretty quickly too. Now 111 00:06:47,920 --> 00:06:52,400 Speaker 1: an Android that's just the kernel. Android itself is not Lennox. 112 00:06:52,920 --> 00:06:56,600 Speaker 1: So the next layer up from the Lenox kernel and 113 00:06:56,600 --> 00:07:02,120 Speaker 1: Android is called the hardware abstraction layer or how which 114 00:07:02,160 --> 00:07:05,719 Speaker 1: is an ominous at all. Sorry, I can't do that, Dave. 115 00:07:06,400 --> 00:07:10,640 Speaker 1: This layer provides a software environment through which the programs 116 00:07:10,720 --> 00:07:13,600 Speaker 1: higher up on the stack can interface to access the 117 00:07:13,600 --> 00:07:17,000 Speaker 1: components they need, such as let's say it's the handset speaker. 118 00:07:17,120 --> 00:07:21,280 Speaker 1: Let's say that it's a music program. Well it the 119 00:07:21,320 --> 00:07:25,720 Speaker 1: program would then send messages to the hardware abstraction layer 120 00:07:26,080 --> 00:07:27,960 Speaker 1: to say I need to get access to the speaker 121 00:07:28,360 --> 00:07:32,440 Speaker 1: and play this audio file through the speaker. So how 122 00:07:32,560 --> 00:07:36,600 Speaker 1: would kind of handle that and then relay the specific 123 00:07:37,000 --> 00:07:40,240 Speaker 1: requirements further down to the Linux kernel to get all 124 00:07:40,280 --> 00:07:43,679 Speaker 1: the way down to the speaker level. So other examples 125 00:07:43,720 --> 00:07:47,840 Speaker 1: would be the Bluetooth devices. You know, Bluetooth devices connect 126 00:07:47,840 --> 00:07:52,239 Speaker 1: to a phone via the Bluetooth transmitter. Well, the hardware 127 00:07:52,240 --> 00:07:56,120 Speaker 1: abstraction layer provides the resources needed for an app that 128 00:07:56,400 --> 00:07:59,960 Speaker 1: needs to have access to a Bluetooth transmitter to actually 129 00:08:00,080 --> 00:08:02,720 Speaker 1: get that access. So this way, developers don't have to 130 00:08:02,760 --> 00:08:06,840 Speaker 1: create stuff for specific handsets, but rather for any Android handset. 131 00:08:07,200 --> 00:08:10,800 Speaker 1: They don't have to worry if one Android phone is 132 00:08:10,840 --> 00:08:14,040 Speaker 1: built in a very different way to another Android phone. 133 00:08:14,520 --> 00:08:17,320 Speaker 1: Now two blocks share the next layer in the stack. 134 00:08:17,680 --> 00:08:21,240 Speaker 1: They are the Android run time block and the native 135 00:08:21,360 --> 00:08:26,800 Speaker 1: c C plus plus libraries. Okay, so the Android run 136 00:08:26,800 --> 00:08:30,920 Speaker 1: Time or a RT serves as a kind of envelope 137 00:08:31,240 --> 00:08:35,199 Speaker 1: for processes. Alright, think of like every program that you're 138 00:08:35,280 --> 00:08:37,600 Speaker 1: running on a phone, like you're actually running that program 139 00:08:37,600 --> 00:08:40,120 Speaker 1: on the phone. It exists in kind of a think 140 00:08:40,160 --> 00:08:43,760 Speaker 1: of it as like a box. It keeps each process separate. 141 00:08:43,840 --> 00:08:47,040 Speaker 1: So let's say that you've got your photo app running 142 00:08:47,400 --> 00:08:50,920 Speaker 1: and you're also listening to something on the I Heart 143 00:08:51,000 --> 00:08:55,880 Speaker 1: radio app, for example, shameless Plug. Let's say you're listening 144 00:08:55,880 --> 00:08:58,079 Speaker 1: to both of those, so you've got both processes running 145 00:08:58,120 --> 00:09:00,320 Speaker 1: at the same time. Well, you don't want them just 146 00:09:00,760 --> 00:09:05,160 Speaker 1: running on the phone with no division between them, because 147 00:09:05,200 --> 00:09:08,240 Speaker 1: if something were to happen to one of those processes, 148 00:09:08,559 --> 00:09:11,439 Speaker 1: it could affect the other one. Let's say that the 149 00:09:11,480 --> 00:09:15,480 Speaker 1: photo app has a failure for some reason, something goes 150 00:09:15,520 --> 00:09:17,960 Speaker 1: wrong and it freezes. Well, you don't want that to 151 00:09:18,040 --> 00:09:21,040 Speaker 1: affect the other apps running on your device. So the 152 00:09:21,080 --> 00:09:23,400 Speaker 1: best thing you could do is create what are called 153 00:09:23,520 --> 00:09:26,040 Speaker 1: virtual machines, which I've talked about quite a bit in 154 00:09:26,080 --> 00:09:32,240 Speaker 1: recent episodes. These virtual machines act as silos. They act 155 00:09:32,280 --> 00:09:38,360 Speaker 1: as as uh, separated and protected areas in which a 156 00:09:38,440 --> 00:09:41,840 Speaker 1: process can run without it affecting anything else, and each 157 00:09:41,880 --> 00:09:46,079 Speaker 1: of them will get the resources needed to run that process. 158 00:09:46,600 --> 00:09:49,719 Speaker 1: So again, the operating system has to look at the 159 00:09:49,800 --> 00:09:52,640 Speaker 1: requirements of each of those processes, the photo app and 160 00:09:52,760 --> 00:09:55,040 Speaker 1: the I Heart Radio app, and say, all right, well, 161 00:09:55,360 --> 00:09:58,040 Speaker 1: I need to dedicate this much memory and processing power 162 00:09:58,080 --> 00:10:00,760 Speaker 1: to run this one, and this much memory processing power 163 00:10:00,760 --> 00:10:03,360 Speaker 1: to run this other one, and that all that stuff 164 00:10:03,400 --> 00:10:06,280 Speaker 1: is happening in the background. We as users are completely 165 00:10:07,000 --> 00:10:10,160 Speaker 1: not you know, aware of this, unless something were to 166 00:10:10,200 --> 00:10:11,800 Speaker 1: go wrong, in which case we might say, oh, the 167 00:10:11,800 --> 00:10:14,080 Speaker 1: photo app crashed, but at least I'm still listening to 168 00:10:14,120 --> 00:10:17,839 Speaker 1: my music, so really you don't notice it happening. Now 169 00:10:17,840 --> 00:10:22,120 Speaker 1: I should add that this particular feature was really added 170 00:10:22,200 --> 00:10:26,400 Speaker 1: in starting with Android version five point oh also known 171 00:10:26,440 --> 00:10:29,880 Speaker 1: as Lollipop. So this is technically jumping ahead in our 172 00:10:29,920 --> 00:10:32,640 Speaker 1: story a little bit, but this is the part of 173 00:10:32,640 --> 00:10:35,840 Speaker 1: the stack that lets stuff run independently of one another. Now, 174 00:10:35,880 --> 00:10:40,959 Speaker 1: before Android run time, before that was the virtualization strategy 175 00:10:41,040 --> 00:10:43,880 Speaker 1: that Google was using, they did rely on a different 176 00:10:43,960 --> 00:10:49,440 Speaker 1: virtualization strategy with a process virtual machine software called dal 177 00:10:49,520 --> 00:10:52,959 Speaker 1: vic d A l v I K. That's what did 178 00:10:53,040 --> 00:10:55,480 Speaker 1: essentially the same sort of job as the Android run 179 00:10:55,520 --> 00:10:59,360 Speaker 1: time component up through Android version four point four, also 180 00:10:59,440 --> 00:11:02,800 Speaker 1: known as get cat. So Android did have this earlier, 181 00:11:03,800 --> 00:11:06,480 Speaker 1: but I figured it would be more and make more 182 00:11:06,480 --> 00:11:09,240 Speaker 1: sense to talk about Android runtime because that's what's currently 183 00:11:09,320 --> 00:11:13,959 Speaker 1: being used in Android operating system phones today. Now, as 184 00:11:14,000 --> 00:11:17,160 Speaker 1: for the libraries I mentioned earlier, In programming, a library 185 00:11:17,240 --> 00:11:20,520 Speaker 1: is a collection of pre compiled routines that programs can 186 00:11:20,600 --> 00:11:23,120 Speaker 1: take advantage of. So when you think of a program, 187 00:11:23,120 --> 00:11:26,280 Speaker 1: a program is really a series of instructions for a computer, 188 00:11:26,600 --> 00:11:29,199 Speaker 1: and some of those instructions are going to be common ones, 189 00:11:29,360 --> 00:11:32,520 Speaker 1: ones that you would use in lots of different types 190 00:11:32,559 --> 00:11:34,760 Speaker 1: of programs. So it doesn't make a whole lot of 191 00:11:34,760 --> 00:11:38,960 Speaker 1: sense to have to go back and re established that 192 00:11:39,040 --> 00:11:41,600 Speaker 1: path every single time you want to build a program. 193 00:11:41,640 --> 00:11:44,280 Speaker 1: It would be time consuming, it would be wasteful. So 194 00:11:44,400 --> 00:11:49,480 Speaker 1: libraries are these pre compiled routines that mean that you 195 00:11:49,480 --> 00:11:52,559 Speaker 1: you just plug those in for that part. And this 196 00:11:52,640 --> 00:11:55,840 Speaker 1: is a very, very granular approach. We'll get into a 197 00:11:55,880 --> 00:12:00,000 Speaker 1: slightly larger version of this in just a second. Library 198 00:12:00,120 --> 00:12:02,560 Speaker 1: is dramatically reduced the amount of work programmers have to 199 00:12:02,600 --> 00:12:05,720 Speaker 1: do to build out applications. So if a program needs 200 00:12:05,720 --> 00:12:08,559 Speaker 1: to access a particular process, a module in the library 201 00:12:08,640 --> 00:12:11,400 Speaker 1: can be plugged into the program as a kind of shortcut. 202 00:12:11,679 --> 00:12:14,800 Speaker 1: So it's an invaluable resource and pretty much all programming 203 00:12:14,920 --> 00:12:18,160 Speaker 1: environments take advantage of them. Now, next up in the 204 00:12:18,240 --> 00:12:21,720 Speaker 1: stack we have the Java a p I framework. This 205 00:12:21,760 --> 00:12:24,480 Speaker 1: includes all the basic components you need to build out apps. 206 00:12:24,720 --> 00:12:27,160 Speaker 1: So it's kind of like taking that concept I just 207 00:12:27,200 --> 00:12:29,760 Speaker 1: talked about with the library, you know, these these little 208 00:12:29,960 --> 00:12:33,920 Speaker 1: pre compiled routines and building on that. Now we're talking 209 00:12:33,920 --> 00:12:39,640 Speaker 1: about larger building blocks, not super teeny tiny ones, but 210 00:12:39,800 --> 00:12:43,760 Speaker 1: that can still be used to put together basic functions 211 00:12:43,800 --> 00:12:48,080 Speaker 1: of various applications and it's a huge help to developers. 212 00:12:48,679 --> 00:12:51,640 Speaker 1: The framework has the building blocks or puzzle pieces that 213 00:12:51,720 --> 00:12:54,679 Speaker 1: programmers can use to to build out those apps. And 214 00:12:54,720 --> 00:12:57,760 Speaker 1: this is the environment in which programmers actually operate. They 215 00:12:57,760 --> 00:13:00,520 Speaker 1: rely on the a p I, which stands for Application 216 00:13:00,559 --> 00:13:03,800 Speaker 1: Programming Interface in order to build out the apps, whether 217 00:13:03,840 --> 00:13:06,079 Speaker 1: it's a video editing app or a puzzle game or 218 00:13:06,120 --> 00:13:09,240 Speaker 1: whatever it might be. Now, the topmost layer of this 219 00:13:09,400 --> 00:13:12,880 Speaker 1: stack is what it tends to be that well, it 220 00:13:13,000 --> 00:13:16,240 Speaker 1: is the system apps themselves. So again, if you think 221 00:13:16,280 --> 00:13:18,719 Speaker 1: of that bottom layer of the stack as the foundation 222 00:13:19,080 --> 00:13:22,960 Speaker 1: that rests against the bare metal of the handset, this 223 00:13:23,120 --> 00:13:26,760 Speaker 1: topmost layer, you can think of, is the layer that 224 00:13:26,800 --> 00:13:30,079 Speaker 1: actually faces the end user. It's it's what we interact 225 00:13:30,120 --> 00:13:32,640 Speaker 1: with when we're using our phones. So this is the 226 00:13:32,679 --> 00:13:35,880 Speaker 1: side that we actually see. It includes stuff like the 227 00:13:35,920 --> 00:13:38,640 Speaker 1: dialer application, you know, in case we want to use 228 00:13:38,640 --> 00:13:43,600 Speaker 1: our smartphone as a phone, or maybe the email app 229 00:13:43,720 --> 00:13:47,800 Speaker 1: or well you get the idea. It's all those basic apps. Now, 230 00:13:48,360 --> 00:13:51,360 Speaker 1: these are intended to be the basic apps that any 231 00:13:51,400 --> 00:13:56,280 Speaker 1: other third party app could tap into for certain capabilities. Now, 232 00:13:56,320 --> 00:14:00,000 Speaker 1: Google made the decision to allow users, carriers, and or 233 00:14:00,200 --> 00:14:04,960 Speaker 1: handset manufacturers the chance to swap out many, but not all, 234 00:14:05,080 --> 00:14:08,840 Speaker 1: of these system apps for something from a third party. 235 00:14:09,320 --> 00:14:11,800 Speaker 1: So if you don't like let's say the basic on 236 00:14:11,960 --> 00:14:16,160 Speaker 1: screen keyboard that comes standard with Android, you could change that. 237 00:14:16,280 --> 00:14:18,880 Speaker 1: You could switch it out for a different on screen 238 00:14:18,960 --> 00:14:23,640 Speaker 1: keyboard created from a different put third party, and that 239 00:14:23,640 --> 00:14:27,160 Speaker 1: would become the new system level app for that particular feature. 240 00:14:27,560 --> 00:14:31,240 Speaker 1: Google does restrict this for certain functions. Not every system 241 00:14:31,320 --> 00:14:34,400 Speaker 1: level app is available to be swapped out. For example, 242 00:14:34,440 --> 00:14:37,600 Speaker 1: the settings app, you can't do that, and that gives 243 00:14:37,640 --> 00:14:40,280 Speaker 1: you more fine tune control over a lot of the 244 00:14:40,280 --> 00:14:43,880 Speaker 1: handsets settings. So that's the reason why Google says, no, 245 00:14:44,240 --> 00:14:46,520 Speaker 1: this one is off limits. We're going to keep it 246 00:14:46,560 --> 00:14:49,800 Speaker 1: as is. But otherwise it's pretty fair game. And that's 247 00:14:49,840 --> 00:14:53,440 Speaker 1: an overview of what an operating system is and how 248 00:14:53,480 --> 00:14:57,360 Speaker 1: the Android OS stacks up, so to speak. And it's 249 00:14:57,480 --> 00:15:00,120 Speaker 1: good to remember that Android is built on top of 250 00:15:00,240 --> 00:15:04,600 Speaker 1: an older operating system, that being Linux. Because Linux is 251 00:15:04,640 --> 00:15:07,880 Speaker 1: open source, Reuben and his team of developers Andy Rubin, 252 00:15:07,960 --> 00:15:11,800 Speaker 1: that is, could tweak the Linux kernel to suit their 253 00:15:11,800 --> 00:15:14,840 Speaker 1: own needs when they were building out Android. Anyone can 254 00:15:14,880 --> 00:15:18,400 Speaker 1: do that because it's open source. And another point that's 255 00:15:18,480 --> 00:15:22,960 Speaker 1: important to stress. I'm really just talking about the kernel 256 00:15:23,200 --> 00:15:26,880 Speaker 1: that component just above the bare metal the interfaces directly 257 00:15:26,920 --> 00:15:29,240 Speaker 1: with the hardware of the handset. And the reason it's 258 00:15:29,240 --> 00:15:32,280 Speaker 1: important to remember that is you can't just run Linux 259 00:15:32,280 --> 00:15:36,480 Speaker 1: applications on an Android device, nor can you run Android 260 00:15:36,480 --> 00:15:39,640 Speaker 1: apps on a Linux computer, at least without not without 261 00:15:39,680 --> 00:15:42,840 Speaker 1: some sort of emulator. And that's because those layers that 262 00:15:42,920 --> 00:15:46,600 Speaker 1: stack on top of the kernel are different. Between Linux 263 00:15:46,600 --> 00:15:50,600 Speaker 1: and Android, the software libraries necessary to run certain processes 264 00:15:50,720 --> 00:15:54,280 Speaker 1: are different, and because of those differences, there's been some 265 00:15:54,320 --> 00:15:57,680 Speaker 1: debate over whether or not you should actually call Android 266 00:15:57,720 --> 00:16:01,680 Speaker 1: a Linux distribution or dis s trow so. In Linux speak, 267 00:16:02,200 --> 00:16:06,480 Speaker 1: a distribution is a specific implementation of the Linux operating system, 268 00:16:06,480 --> 00:16:09,920 Speaker 1: and there are hundreds of different distros out there now. 269 00:16:09,960 --> 00:16:13,720 Speaker 1: I think the debate is largely unimportant because it remains 270 00:16:13,800 --> 00:16:17,760 Speaker 1: that the two different operating systems are different enough that 271 00:16:17,920 --> 00:16:21,120 Speaker 1: you can't port apps across environments without doing a lot 272 00:16:21,120 --> 00:16:24,360 Speaker 1: of extra legwork. Now, before I take a quick break, 273 00:16:24,640 --> 00:16:26,640 Speaker 1: I do want to give a quick recap of what 274 00:16:26,720 --> 00:16:30,280 Speaker 1: was going on. When I finished the last episode. Google 275 00:16:30,320 --> 00:16:33,440 Speaker 1: had released Android three point oh a k A Honeycomb, 276 00:16:33,480 --> 00:16:35,680 Speaker 1: which I'll talk about a little bit more in a second, 277 00:16:36,160 --> 00:16:38,840 Speaker 1: and this was a version of Android that Google had 278 00:16:38,840 --> 00:16:42,320 Speaker 1: designed specifically for Android tablets. It was the first version 279 00:16:42,320 --> 00:16:46,720 Speaker 1: of Android that UI expert Matthias Duarte really had a 280 00:16:46,800 --> 00:16:49,640 Speaker 1: hand in, as he had been brought in shortly before 281 00:16:49,760 --> 00:16:53,400 Speaker 1: its predecessor, Gingerbread, had been pushed out to users. So 282 00:16:53,600 --> 00:16:56,040 Speaker 1: Duarte didn't have a whole lot of opportunity to put 283 00:16:56,080 --> 00:16:59,040 Speaker 1: his mark on Gingerbread, but he definitely did a lot 284 00:16:59,080 --> 00:17:02,280 Speaker 1: more work on honey Home. Duarte also faced a big 285 00:17:02,400 --> 00:17:06,240 Speaker 1: challenge because Google is a company built by and arguably 286 00:17:06,359 --> 00:17:10,720 Speaker 1: some would say four engineers, and the Android phones definitely 287 00:17:10,760 --> 00:17:13,440 Speaker 1: reflected that. I say that as someone who owned a 288 00:17:13,800 --> 00:17:19,000 Speaker 1: first generation Android phone. They worked, but they weren't necessarily intuitive. 289 00:17:19,280 --> 00:17:23,800 Speaker 1: The design didn't establish a coherent aesthetic. There was no 290 00:17:24,720 --> 00:17:29,280 Speaker 1: defining trait for an Android app apart from the fact 291 00:17:29,320 --> 00:17:31,520 Speaker 1: that it was running on an Android phone. They all 292 00:17:31,760 --> 00:17:37,960 Speaker 1: looked wildly different. There was no cohesive vision. Convincing engineers 293 00:17:37,960 --> 00:17:42,200 Speaker 1: that design was an important component wasn't always easy, but 294 00:17:42,320 --> 00:17:45,720 Speaker 1: Duarte figured he was up for the challenge. I'll talk 295 00:17:45,760 --> 00:17:47,679 Speaker 1: a little bit more about that in just a second, 296 00:17:47,680 --> 00:17:57,840 Speaker 1: but first let's take a quick break. Okay, let's go 297 00:17:57,960 --> 00:18:03,159 Speaker 1: back to Honeycomb for a second. The tablet only version 298 00:18:03,160 --> 00:18:06,119 Speaker 1: of Android. Google itself has admitted that the development of 299 00:18:06,119 --> 00:18:10,119 Speaker 1: Honeycomb was rushed. They didn't have a whole lot of 300 00:18:10,160 --> 00:18:13,120 Speaker 1: time to get it out, and it was a frantic response. 301 00:18:13,200 --> 00:18:17,199 Speaker 1: You could think to Apple's iPad launch, which managed to 302 00:18:17,240 --> 00:18:20,440 Speaker 1: do what no other tablet had done up to that point. 303 00:18:20,560 --> 00:18:24,320 Speaker 1: It was able to capture the attention of the mainstream public. 304 00:18:24,920 --> 00:18:28,240 Speaker 1: Tablet computers had been around for a while, and they 305 00:18:28,240 --> 00:18:30,400 Speaker 1: weren't brand new when the iPad came out. They had 306 00:18:30,440 --> 00:18:33,840 Speaker 1: been a thing for years, but they had previously been 307 00:18:33,880 --> 00:18:37,479 Speaker 1: fairly niche gadgets used by a few different industries, like 308 00:18:37,960 --> 00:18:41,199 Speaker 1: in medicine. Nurses were using them things like that for 309 00:18:41,359 --> 00:18:44,760 Speaker 1: very specific tasks, and largely they were ignored by the 310 00:18:44,800 --> 00:18:48,600 Speaker 1: general public. In fact, tablet computers had been such a 311 00:18:48,680 --> 00:18:55,200 Speaker 1: non component in everyday computing that I famously, and if 312 00:18:55,240 --> 00:18:58,840 Speaker 1: you want to search the back catalog of tech stuff 313 00:18:58,840 --> 00:19:01,200 Speaker 1: you can find out where I did this. I famously 314 00:19:01,280 --> 00:19:04,440 Speaker 1: predicted the iPad itself would flop. I mean, no one 315 00:19:04,560 --> 00:19:07,719 Speaker 1: had managed to make tablet computers useful enough for anyone 316 00:19:07,760 --> 00:19:10,879 Speaker 1: to actually want one, So I was a bit off 317 00:19:11,480 --> 00:19:15,359 Speaker 1: on that particular prediction, But I don't even know to 318 00:19:15,440 --> 00:19:19,240 Speaker 1: this day if I was off about them truly being usable. 319 00:19:19,480 --> 00:19:23,560 Speaker 1: Maybe this speaks more to my inability to incorporate tablets 320 00:19:23,600 --> 00:19:26,800 Speaker 1: into my day to day life. So I very rarely 321 00:19:27,000 --> 00:19:29,439 Speaker 1: use them myself. If I do use a tablet, I 322 00:19:29,480 --> 00:19:33,120 Speaker 1: typically turn it into a super lightweight laptop computer instead, 323 00:19:33,680 --> 00:19:36,119 Speaker 1: like I have a Microsoft Surface that I use for 324 00:19:36,200 --> 00:19:40,640 Speaker 1: that purpose. I love it as a very lightweight laptop, 325 00:19:40,680 --> 00:19:42,120 Speaker 1: but I don't know that I would get as much 326 00:19:42,200 --> 00:19:44,280 Speaker 1: use out of it if I used it strictly as 327 00:19:44,280 --> 00:19:48,320 Speaker 1: a tablet, simply because that's not how I work. However, 328 00:19:48,359 --> 00:19:51,840 Speaker 1: I should say I gotta concede. The Apple iPad was, 329 00:19:52,280 --> 00:19:57,479 Speaker 1: without any qualifiers, a huge success, and Google recognized that too, 330 00:19:57,720 --> 00:20:00,119 Speaker 1: and so there was a strong incentive to develop a 331 00:20:00,200 --> 00:20:03,960 Speaker 1: version of Android aimed at the tablet experience. In some ways, 332 00:20:04,640 --> 00:20:08,280 Speaker 1: this helped the people who were building Honeycomb because the 333 00:20:08,359 --> 00:20:11,199 Speaker 1: version of Android would only be used for tablets, and 334 00:20:11,280 --> 00:20:13,800 Speaker 1: that helped cut down on the sheer variety of things 335 00:20:13,840 --> 00:20:17,080 Speaker 1: that had to consider, like screen size or access to 336 00:20:17,160 --> 00:20:20,520 Speaker 1: a cell phone. Those were off the table. Because most 337 00:20:20,560 --> 00:20:23,399 Speaker 1: tablets were in a pretty small range of sizes, they 338 00:20:23,440 --> 00:20:26,399 Speaker 1: didn't have to worry about the huge number of variables 339 00:20:26,400 --> 00:20:29,320 Speaker 1: that they would encounter if they were designing and operating 340 00:20:29,320 --> 00:20:32,320 Speaker 1: system for smartphones. But it also meant that Google needed 341 00:20:32,320 --> 00:20:35,520 Speaker 1: to make sure the hardware manufacturers were gonna play by 342 00:20:35,520 --> 00:20:39,560 Speaker 1: the rules because previous versions of Android were all open source, 343 00:20:40,040 --> 00:20:43,200 Speaker 1: so after they were pushed out after a certain amount 344 00:20:43,240 --> 00:20:46,520 Speaker 1: of time, Google would allow the code to be freely 345 00:20:46,560 --> 00:20:51,840 Speaker 1: available for anyone to look at, to use, and etcetera. 346 00:20:52,320 --> 00:20:56,879 Speaker 1: But Google did not want some manufacturer out there trying 347 00:20:56,880 --> 00:21:00,399 Speaker 1: to push Honeycomb out on a phone like device was 348 00:21:00,480 --> 00:21:05,880 Speaker 1: not intended to do that, so they said, while we're 349 00:21:05,920 --> 00:21:08,200 Speaker 1: going to instead of releasing this as open source, we're 350 00:21:08,200 --> 00:21:11,600 Speaker 1: going to keep it to ourselves, and manufacturers would have 351 00:21:11,640 --> 00:21:14,600 Speaker 1: to go through Google to get Honeycomb for their Android 352 00:21:14,600 --> 00:21:19,080 Speaker 1: based tablets. Upon its initial release, Honeycomb lacks support for 353 00:21:19,160 --> 00:21:22,800 Speaker 1: some pretty important processes, like it didn't have support for 354 00:21:22,840 --> 00:21:25,960 Speaker 1: Adobe Flash, which at the time was still a very 355 00:21:26,000 --> 00:21:31,480 Speaker 1: important component for web content, and Honeycomb was a bit 356 00:21:31,560 --> 00:21:34,320 Speaker 1: buggy when it was first released. There were a lot 357 00:21:34,320 --> 00:21:38,240 Speaker 1: of little performance issues and that, paired with the lack 358 00:21:38,320 --> 00:21:42,320 Speaker 1: of open source, would end up hurting the launch of Honeycomb, 359 00:21:42,720 --> 00:21:45,600 Speaker 1: and so a lot of people didn't really care for 360 00:21:45,720 --> 00:21:47,960 Speaker 1: the Android tablets that were coming out of that time, 361 00:21:48,000 --> 00:21:51,000 Speaker 1: and that's not really the fault of the OS necessarily, 362 00:21:51,680 --> 00:21:54,399 Speaker 1: but it didn't end up doing it didn't do the 363 00:21:54,440 --> 00:21:59,400 Speaker 1: OS any favors either. The design decisions were largely admired. 364 00:21:59,480 --> 00:22:03,119 Speaker 1: Duarte had created a more cohesive design approach and he 365 00:22:03,280 --> 00:22:07,280 Speaker 1: leaned really hard on sci fi like visuals. A lot 366 00:22:07,320 --> 00:22:10,680 Speaker 1: of people referred to it as a tron like interface, 367 00:22:11,400 --> 00:22:15,200 Speaker 1: and it was called a hologram interface. Within Google, Google 368 00:22:15,200 --> 00:22:18,280 Speaker 1: built in some new features that would give handset manufacturers 369 00:22:18,280 --> 00:22:22,240 Speaker 1: more options. Uh the Zoom, the XO o M, the 370 00:22:22,280 --> 00:22:26,280 Speaker 1: first tablet to feature Honeycomb, had no hardware buttons, so 371 00:22:26,440 --> 00:22:29,720 Speaker 1: Google had to build in on screen capabilities to do 372 00:22:29,800 --> 00:22:33,160 Speaker 1: stuff like navigate to the home page of the Android 373 00:22:33,160 --> 00:22:36,119 Speaker 1: operating system, pull up menus, that kind of stuff, the 374 00:22:36,160 --> 00:22:42,120 Speaker 1: stuff that previously had dedicated hardware buttons on Android devices, 375 00:22:42,160 --> 00:22:44,480 Speaker 1: because up to that point that's what you had to 376 00:22:44,480 --> 00:22:46,679 Speaker 1: have if you had an Android phone. It had a 377 00:22:46,720 --> 00:22:50,159 Speaker 1: physical menu button, a physical home button, a physical back button. 378 00:22:50,920 --> 00:22:54,280 Speaker 1: But starting with Honeycomb, Google was able to get rid 379 00:22:54,320 --> 00:22:56,760 Speaker 1: of some of that and they built in on screen 380 00:22:56,920 --> 00:23:00,720 Speaker 1: versions of those functions. That design element would carry over 381 00:23:00,760 --> 00:23:04,719 Speaker 1: into ice Cream Sandwich, which was the next version for 382 00:23:04,880 --> 00:23:09,120 Speaker 1: actual Android smartphones, it was toned down a bit. However, 383 00:23:09,160 --> 00:23:13,080 Speaker 1: The Honeycomb was full on tron but ice Cream Sandwich 384 00:23:13,160 --> 00:23:16,240 Speaker 1: was sort of tron light. They eased off a bit 385 00:23:16,400 --> 00:23:19,800 Speaker 1: on that design approach. This version of Android debut on 386 00:23:19,840 --> 00:23:23,000 Speaker 1: the Samsung Galaxy Nexus, a phone that had a seven 387 00:23:24,119 --> 00:23:26,879 Speaker 1: resolution screen, which was a big step up from the 388 00:23:26,920 --> 00:23:30,199 Speaker 1: earlier Android phones, and the additions in Honeycomb for on 389 00:23:30,280 --> 00:23:34,200 Speaker 1: screen controls meant the Galaxy Nexus and most Android phones 390 00:23:34,240 --> 00:23:37,600 Speaker 1: that were to follow no longer needed those physical buttons. 391 00:23:37,600 --> 00:23:40,880 Speaker 1: Other than maybe a power button and volume controls, those 392 00:23:40,880 --> 00:23:44,120 Speaker 1: would typically be physical, everything else would be an on 393 00:23:44,160 --> 00:23:48,560 Speaker 1: screen button. Uh. This let designers create more sleek and 394 00:23:48,600 --> 00:23:52,520 Speaker 1: aesthetically pleasing handsets to dedicate more of the space of 395 00:23:52,560 --> 00:23:56,080 Speaker 1: the phone to the screen itself, and it put the 396 00:23:56,160 --> 00:23:59,879 Speaker 1: more chunky origins of Android phones deep into the past. 397 00:24:00,480 --> 00:24:03,280 Speaker 1: Ice Cream Sandwich also had a lot of UI updates, 398 00:24:03,320 --> 00:24:05,280 Speaker 1: like a system bar for the top of the phone 399 00:24:05,320 --> 00:24:08,680 Speaker 1: that would hold stuff like notifications, and there was also 400 00:24:08,720 --> 00:24:10,200 Speaker 1: a system bar at the bottom of the phone that 401 00:24:10,200 --> 00:24:13,159 Speaker 1: would allow users to navigate home, back and hit the 402 00:24:13,160 --> 00:24:16,520 Speaker 1: menu button. Some of the icons got not just a 403 00:24:16,560 --> 00:24:19,720 Speaker 1: graphical facelift, but also a name change, so what was 404 00:24:19,760 --> 00:24:24,680 Speaker 1: previously referred to as contacts now became people. For example, 405 00:24:25,600 --> 00:24:28,600 Speaker 1: it seems a little less cold, so I'm I'm in 406 00:24:28,680 --> 00:24:31,280 Speaker 1: favor of it. It's an Android that's learning to love. 407 00:24:32,080 --> 00:24:35,840 Speaker 1: In January two twelve, Duarte led the effort to publish 408 00:24:35,880 --> 00:24:39,880 Speaker 1: a set of guidelines called Android Design. The site would 409 00:24:39,920 --> 00:24:43,280 Speaker 1: act as a tutorial for app developers so they can 410 00:24:43,359 --> 00:24:45,800 Speaker 1: make apps in such a way as to fit within 411 00:24:45,880 --> 00:24:50,000 Speaker 1: the overall aesthetic of Android operating system. This was something 412 00:24:50,040 --> 00:24:51,920 Speaker 1: that Apple had been doing for a while. In fact, 413 00:24:51,960 --> 00:24:56,600 Speaker 1: over at Apple, it was notorious for the company to 414 00:24:56,680 --> 00:24:59,880 Speaker 1: deny apps from being able to go into the App Store, 415 00:25:00,600 --> 00:25:04,280 Speaker 1: and one of the many reasons that Apple might give 416 00:25:04,359 --> 00:25:07,440 Speaker 1: is that the aesthetic of the app didn't match Apple's 417 00:25:07,520 --> 00:25:10,960 Speaker 1: overall aesthetic for iOS, and so the designers will have 418 00:25:11,000 --> 00:25:13,879 Speaker 1: to go back and retool the look and u I 419 00:25:14,160 --> 00:25:16,520 Speaker 1: of their app. So that was more in line with 420 00:25:16,600 --> 00:25:20,439 Speaker 1: Apple's design policies. Google would be a lot more lenient 421 00:25:20,440 --> 00:25:23,439 Speaker 1: than Apple in those days, but Duarte saw the value 422 00:25:23,480 --> 00:25:27,120 Speaker 1: of establishing a definable look so that when people saw 423 00:25:27,160 --> 00:25:29,719 Speaker 1: something they would know, oh, that's an Android app, as 424 00:25:29,760 --> 00:25:33,439 Speaker 1: opposed to that's on some sort of mobile device. A 425 00:25:33,480 --> 00:25:36,040 Speaker 1: few months after the introduction of ice Cream Sandwich, Google 426 00:25:36,119 --> 00:25:38,560 Speaker 1: made some more changes to some of its primary apps. 427 00:25:38,880 --> 00:25:42,119 Speaker 1: The company introduced the Google Play banner of apps. So 428 00:25:42,160 --> 00:25:47,040 Speaker 1: you had Google Play Music, Google Play Books, Google Play Store, etcetera. 429 00:25:47,160 --> 00:25:49,960 Speaker 1: And you could buy content through the Google Play Store 430 00:25:50,200 --> 00:25:52,200 Speaker 1: like you Let's say you want to buy a movie 431 00:25:52,560 --> 00:25:56,719 Speaker 1: or maybe a record album. Anyway, the content would end 432 00:25:56,800 --> 00:26:00,480 Speaker 1: up going to the appropriate apps library, so was all 433 00:26:00,480 --> 00:26:02,600 Speaker 1: the management stuff was done in the background. You didn't 434 00:26:02,600 --> 00:26:04,000 Speaker 1: have to worry about it, and you didn't have to 435 00:26:04,040 --> 00:26:06,680 Speaker 1: go through the individual apps in order to access the store. 436 00:26:07,080 --> 00:26:09,399 Speaker 1: This was the first example of Google doing an out 437 00:26:09,440 --> 00:26:13,160 Speaker 1: of cycle update for individual apps, and it would mean 438 00:26:13,200 --> 00:26:15,560 Speaker 1: more freedom to update apps without having to wait for 439 00:26:15,600 --> 00:26:19,840 Speaker 1: a full operating system cycle update, a full version update 440 00:26:19,880 --> 00:26:22,600 Speaker 1: in other words. And this approach also managed to do 441 00:26:22,680 --> 00:26:26,720 Speaker 1: something that would have a big a big impact on users. Earlier, 442 00:26:26,840 --> 00:26:29,520 Speaker 1: Google would issue updates in a new version of the 443 00:26:29,520 --> 00:26:33,199 Speaker 1: operating system, or at least an update to the current version, 444 00:26:33,359 --> 00:26:35,720 Speaker 1: and it would then make that update available for all 445 00:26:35,760 --> 00:26:39,040 Speaker 1: the service carriers and handset manufacturers to push out to 446 00:26:39,240 --> 00:26:43,040 Speaker 1: users on the network. But that meant that Android phone 447 00:26:43,080 --> 00:26:46,320 Speaker 1: owners might be waiting for a while to get the 448 00:26:46,400 --> 00:26:49,159 Speaker 1: latest update, just because the carrier they used had and 449 00:26:49,240 --> 00:26:52,080 Speaker 1: pushed it out yet, or because there are delays in 450 00:26:52,119 --> 00:26:55,920 Speaker 1: the handset manufacturers making sure that the chips in their 451 00:26:55,920 --> 00:27:01,359 Speaker 1: handsets could accommodate the new operating system. But the app 452 00:27:01,440 --> 00:27:04,760 Speaker 1: updates were different. Google could push those out through the 453 00:27:04,760 --> 00:27:09,120 Speaker 1: Play Store and bypass the entire operating system update. If 454 00:27:09,119 --> 00:27:13,199 Speaker 1: it was just adjusting something, you know, relatively small in 455 00:27:13,280 --> 00:27:16,920 Speaker 1: one of these apps, those were completely under Google's control, 456 00:27:17,000 --> 00:27:19,399 Speaker 1: so in that way, Google could deliver new features to 457 00:27:19,640 --> 00:27:22,920 Speaker 1: users without them getting frustrated while waiting for their carrier 458 00:27:22,960 --> 00:27:26,359 Speaker 1: to roll out the latest OS update. And in April 459 00:27:26,400 --> 00:27:30,120 Speaker 1: two twelve, Google would go back to selling devices directly 460 00:27:30,160 --> 00:27:33,760 Speaker 1: to customers through the Google Play Store. They had done 461 00:27:33,800 --> 00:27:37,240 Speaker 1: this with the launch of the Nexus one smartphone, but 462 00:27:37,320 --> 00:27:41,720 Speaker 1: it essentially discontinued the practice shortly thereafter. Then it would 463 00:27:41,760 --> 00:27:45,200 Speaker 1: open up a new market for Google, one that would 464 00:27:45,200 --> 00:27:49,240 Speaker 1: include not just smartphones and tablets, but eventually also stuff 465 00:27:49,320 --> 00:27:53,800 Speaker 1: like smart thermostats and Chromebook laptops. So Google started to 466 00:27:53,800 --> 00:27:57,880 Speaker 1: get more into the business of selling hardware directly to users, 467 00:27:58,280 --> 00:28:01,720 Speaker 1: more like Apple in that regard, although Google was relying 468 00:28:01,760 --> 00:28:06,159 Speaker 1: on third party manufacturers to actually design the hardware, at 469 00:28:06,200 --> 00:28:10,120 Speaker 1: least until we acquired Nest. The next version of Android 470 00:28:10,160 --> 00:28:13,439 Speaker 1: to come out of Google was version four point one, 471 00:28:13,520 --> 00:28:17,000 Speaker 1: also known as jelly Bean, and starting with jelly Bean, 472 00:28:17,280 --> 00:28:21,439 Speaker 1: Google hidden operating system update cycle that would typically last 473 00:28:21,640 --> 00:28:26,560 Speaker 1: about half a year, so you could expect to updates 474 00:28:26,600 --> 00:28:30,640 Speaker 1: each year for several operating system updates in a row. 475 00:28:31,320 --> 00:28:34,840 Speaker 1: Jelly Bean featured some more updates to the user interface. 476 00:28:35,200 --> 00:28:38,480 Speaker 1: It also aimed to create more smooth animations and scrolling. 477 00:28:38,920 --> 00:28:42,480 Speaker 1: Google managed to make some steps forward with tablets as well. 478 00:28:42,640 --> 00:28:45,680 Speaker 1: A sous had created a seven inch tablet that would 479 00:28:45,680 --> 00:28:49,040 Speaker 1: be branded the Nexus seven and that would set a 480 00:28:49,080 --> 00:28:52,280 Speaker 1: form factor for many Android tablets to follow. It was 481 00:28:52,360 --> 00:28:57,440 Speaker 1: not so successful in the ten inch tablet size form factor. 482 00:28:57,480 --> 00:28:59,239 Speaker 1: I mean, I had it pretty much sewned that up, 483 00:28:59,240 --> 00:29:02,520 Speaker 1: but they were able to get some traction on this 484 00:29:02,720 --> 00:29:06,640 Speaker 1: smaller version the seven inch form factor, and in fact 485 00:29:06,720 --> 00:29:09,200 Speaker 1: they were successful enough that for once, Apple would end 486 00:29:09,280 --> 00:29:13,240 Speaker 1: up following suit by later launching the iPad many largely 487 00:29:13,320 --> 00:29:16,920 Speaker 1: as a response to this. Jelly Bean also introduced the 488 00:29:17,000 --> 00:29:21,000 Speaker 1: Google Now feature a type of predictive search results based 489 00:29:21,040 --> 00:29:24,600 Speaker 1: upon user activities and locations. Some people found this to 490 00:29:24,640 --> 00:29:27,640 Speaker 1: be a bit creepy because Now would serve up cards 491 00:29:27,720 --> 00:29:31,719 Speaker 1: of information that seemed to anticipate what you wanted before 492 00:29:31,800 --> 00:29:35,320 Speaker 1: you knew you wanted it. Some folks, like yours, truly 493 00:29:35,400 --> 00:29:38,680 Speaker 1: found the feature really interesting. However, since they do a 494 00:29:38,720 --> 00:29:42,360 Speaker 1: ton of research for lots of different stuff. I'm not 495 00:29:42,720 --> 00:29:46,560 Speaker 1: always really interested in all that stuff. I'm doing it 496 00:29:46,600 --> 00:29:49,959 Speaker 1: for my job. But my Now results sometimes feature a 497 00:29:49,960 --> 00:29:52,640 Speaker 1: lot of news stories about things that aren't really that 498 00:29:52,720 --> 00:29:56,680 Speaker 1: pertinent to me. I still get news stories about football, 499 00:29:56,840 --> 00:29:59,640 Speaker 1: for example, and I am not really a football fan, 500 00:30:00,560 --> 00:30:02,800 Speaker 1: but do keep the baseball updates coming because I am 501 00:30:02,840 --> 00:30:07,040 Speaker 1: a baseball fan. The card style introduced by Google Now, 502 00:30:07,360 --> 00:30:10,200 Speaker 1: in which each of these predictive search results sat in 503 00:30:10,240 --> 00:30:12,920 Speaker 1: their own sort of individual cards, and then you could 504 00:30:12,960 --> 00:30:16,320 Speaker 1: select a card to learn more about whatever the thing was. 505 00:30:16,920 --> 00:30:19,080 Speaker 1: That would become the basis for many of the play 506 00:30:19,120 --> 00:30:21,840 Speaker 1: apps that Google offered, and this would be a huge 507 00:30:21,880 --> 00:30:25,160 Speaker 1: contribution of jelly Bean. It shaped the way Android operated 508 00:30:25,200 --> 00:30:29,760 Speaker 1: and looked from that point. Moving forward, Google also introduced 509 00:30:29,800 --> 00:30:33,239 Speaker 1: play services, which were extremely important for the company. And 510 00:30:33,320 --> 00:30:37,440 Speaker 1: for app developers and almost entirely invisible to the end user. 511 00:30:37,760 --> 00:30:40,560 Speaker 1: It concerns stuff going on in the heart of the 512 00:30:40,600 --> 00:30:44,360 Speaker 1: Android operating system. With play Services, Google could send out 513 00:30:44,360 --> 00:30:47,480 Speaker 1: tweaks to core components of the operating system and add 514 00:30:47,600 --> 00:30:50,520 Speaker 1: new A p I features without the need for a 515 00:30:50,560 --> 00:30:54,760 Speaker 1: full system update. Again, this would let Google bypass handset 516 00:30:54,800 --> 00:30:58,840 Speaker 1: manufacturers and carriers to make these adjustments to the operating system. 517 00:30:58,920 --> 00:31:01,520 Speaker 1: And why is that important, Well, it meant that app 518 00:31:01,560 --> 00:31:04,680 Speaker 1: developers could be sure that the stuff they were creating 519 00:31:05,000 --> 00:31:07,360 Speaker 1: would be able to run on most of the Android 520 00:31:07,360 --> 00:31:10,320 Speaker 1: phones out in the market. So by this time, Android 521 00:31:10,400 --> 00:31:14,120 Speaker 1: was rapidly becoming the dominant operating system for smartphones in 522 00:31:14,160 --> 00:31:17,360 Speaker 1: the world. Now, again I want to stress this does 523 00:31:17,400 --> 00:31:21,880 Speaker 1: not mean Android was superior to iOS. Rather, Apple was 524 00:31:21,880 --> 00:31:24,560 Speaker 1: taking a very different approach in which you had to 525 00:31:24,600 --> 00:31:26,840 Speaker 1: go through Apple to get a phone that was running 526 00:31:26,880 --> 00:31:30,720 Speaker 1: iOS on it, and it was a premium experience. Android 527 00:31:30,720 --> 00:31:34,240 Speaker 1: phones could run on just about anything, so there was 528 00:31:34,280 --> 00:31:37,320 Speaker 1: a huge range of different hardware and a different price 529 00:31:37,400 --> 00:31:42,440 Speaker 1: points out there. So adoption for Android skyrocketed because there 530 00:31:42,520 --> 00:31:45,320 Speaker 1: was an Android phone for just about every budget, as 531 00:31:45,320 --> 00:31:48,080 Speaker 1: opposed to the iPhone, which was still kind of a 532 00:31:48,120 --> 00:31:51,320 Speaker 1: luxury item. So on the one hand, that was great 533 00:31:51,320 --> 00:31:54,520 Speaker 1: news for developers because it meant they could potentially reach 534 00:31:54,640 --> 00:31:57,400 Speaker 1: a much larger audience because there are more people with 535 00:31:57,480 --> 00:32:00,320 Speaker 1: Android phones. But on the other hand, it also meant 536 00:32:00,320 --> 00:32:03,400 Speaker 1: that there were folks out there with older handsets running 537 00:32:03,400 --> 00:32:06,960 Speaker 1: older versions of Android, and the people with the latest, 538 00:32:07,000 --> 00:32:09,640 Speaker 1: most up to date version might end up being a 539 00:32:09,680 --> 00:32:13,960 Speaker 1: small sliver of the overall Android population, and that would 540 00:32:13,960 --> 00:32:18,160 Speaker 1: discourage developers from embracing Android because the fragmentation in the 541 00:32:18,240 --> 00:32:21,400 Speaker 1: operating system would mean that there was no guarantee someone 542 00:32:21,480 --> 00:32:24,560 Speaker 1: with an Android phone could even run the app the 543 00:32:24,600 --> 00:32:28,480 Speaker 1: developer was making the play Services update. Then Google could 544 00:32:28,560 --> 00:32:31,800 Speaker 1: address this, creating more assurances that apps would run across 545 00:32:31,840 --> 00:32:36,160 Speaker 1: a greater number of handsets, though obviously hardware limitations would 546 00:32:36,200 --> 00:32:38,520 Speaker 1: still mean that some people wouldn't get a great result 547 00:32:38,720 --> 00:32:42,120 Speaker 1: if they ran particularly demanding apps on their older phones. 548 00:32:42,960 --> 00:32:46,440 Speaker 1: But this wouldn't stop the operating system updates, mind you. 549 00:32:46,520 --> 00:32:49,480 Speaker 1: Those would continue on and there would be some important 550 00:32:49,480 --> 00:32:52,280 Speaker 1: contributions made by some of them. I'll explain more in 551 00:32:52,360 --> 00:32:54,920 Speaker 1: just a moment, but first let's take another quick break. 552 00:33:02,440 --> 00:33:05,440 Speaker 1: Google pushed out a couple of updates still under the 553 00:33:05,600 --> 00:33:09,880 Speaker 1: jelly Bean designation, so Android versions four point two and 554 00:33:10,040 --> 00:33:13,800 Speaker 1: four point three were still technically jelly Bean. With four 555 00:33:13,840 --> 00:33:17,520 Speaker 1: point four, the company again assigned a dessert nickname to 556 00:33:17,560 --> 00:33:20,360 Speaker 1: the operating system, and this time it was a branded name, 557 00:33:20,680 --> 00:33:24,520 Speaker 1: kit Cat from Nestley. The launch device for a kit 558 00:33:24,600 --> 00:33:28,240 Speaker 1: Cat was the Nexus five from LG. And one of 559 00:33:28,280 --> 00:33:31,160 Speaker 1: the things I think is really interesting about Android phones 560 00:33:31,760 --> 00:33:35,080 Speaker 1: is that you have the Nexus line of devices, both 561 00:33:35,440 --> 00:33:40,240 Speaker 1: phones and tablets, and they were made by several different manufacturers. 562 00:33:40,600 --> 00:33:43,400 Speaker 1: So you can have an HTC neck Nexus phone, you 563 00:33:43,400 --> 00:33:45,400 Speaker 1: can have a Samsung Nexus phone, you can have an 564 00:33:45,520 --> 00:33:48,280 Speaker 1: LG Nexus phone. They're all made at different times for 565 00:33:48,360 --> 00:33:52,160 Speaker 1: different operating system versions of Android. It's very interesting to 566 00:33:52,160 --> 00:33:54,360 Speaker 1: me that you can have one model name spread across 567 00:33:54,520 --> 00:33:58,719 Speaker 1: multiple manufacturers. At that point, the Nexus five had the 568 00:33:58,840 --> 00:34:02,520 Speaker 1: largest screen for an Android phone at five inches, with 569 00:34:02,560 --> 00:34:06,120 Speaker 1: the resolution of nineteen twenty by ten eighty pixels, so 570 00:34:06,160 --> 00:34:10,240 Speaker 1: a much better resolution than those early Android phones. With KitKat, 571 00:34:10,600 --> 00:34:13,399 Speaker 1: Google was able to improve on stuff under the hood 572 00:34:13,560 --> 00:34:16,880 Speaker 1: to make memory usage more efficient. This made it possible 573 00:34:16,920 --> 00:34:20,560 Speaker 1: to run current versions of Android on lower powered devices, 574 00:34:20,560 --> 00:34:25,200 Speaker 1: which was important because developing countries were building out network 575 00:34:25,239 --> 00:34:27,920 Speaker 1: infrastructure at that time, and that opened up a lot 576 00:34:27,960 --> 00:34:32,040 Speaker 1: of opportunities to have Android phones in brand new markets. Also, 577 00:34:32,200 --> 00:34:37,040 Speaker 1: it gave opportunities for people to get an unprecedented amount 578 00:34:37,120 --> 00:34:40,600 Speaker 1: of access to connectivity apps. And more so, it was 579 00:34:40,640 --> 00:34:43,239 Speaker 1: beneficial both for the company and for the people in 580 00:34:43,280 --> 00:34:47,960 Speaker 1: those developing countries. Kit Kat was also pretty much transitioning 581 00:34:48,000 --> 00:34:51,560 Speaker 1: away from the sci fi design that had been introduced 582 00:34:51,560 --> 00:34:54,480 Speaker 1: with Honeycomb and ice Cream Sandwich. It would also be 583 00:34:54,520 --> 00:34:56,840 Speaker 1: the uperating system that would power many of the first 584 00:34:56,960 --> 00:35:01,560 Speaker 1: Android wear products. These are things like Android based smart watches. 585 00:35:01,840 --> 00:35:04,120 Speaker 1: As far as I can tell, that particular category has 586 00:35:04,160 --> 00:35:08,000 Speaker 1: never really taken off for Google. I don't think any 587 00:35:08,440 --> 00:35:13,280 Speaker 1: Android based smart watch has seen enormous success in the market, 588 00:35:13,360 --> 00:35:16,319 Speaker 1: not like the Apple Watch dead for Apple. Google would 589 00:35:16,320 --> 00:35:19,640 Speaker 1: follow up KitKat with Lollipop, which I mentioned earlier in 590 00:35:19,680 --> 00:35:23,480 Speaker 1: this episode. Lollipop was the first to use the Android 591 00:35:23,560 --> 00:35:27,239 Speaker 1: run time environment for virtualization. It also introduced a new 592 00:35:27,280 --> 00:35:31,680 Speaker 1: era at Google, the era of material design. This was 593 00:35:31,719 --> 00:35:35,280 Speaker 1: not just a set of guidelines, but an actual design 594 00:35:35,320 --> 00:35:40,440 Speaker 1: blueprint that Google gave third party developers to follow. This 595 00:35:40,560 --> 00:35:43,279 Speaker 1: wasn't just for Android, but also for Chrome and all 596 00:35:43,440 --> 00:35:46,520 Speaker 1: versions of Google apps, even those that would be hosted 597 00:35:46,560 --> 00:35:50,839 Speaker 1: on other operating systems like iOS. So while Duarte had 598 00:35:50,880 --> 00:35:54,799 Speaker 1: already shaped the design principles for Android apps, now he 599 00:35:54,880 --> 00:35:56,719 Speaker 1: was working with a team to do the same thing 600 00:35:56,840 --> 00:36:00,879 Speaker 1: across all of Google's apps and services, the idea being 601 00:36:00,880 --> 00:36:03,480 Speaker 1: that if it was from Google, you should be able 602 00:36:03,560 --> 00:36:07,640 Speaker 1: to tell. Duarte would actually leave Android and transition to 603 00:36:07,800 --> 00:36:11,280 Speaker 1: a role in Google itself to help drive this initiative 604 00:36:11,360 --> 00:36:17,320 Speaker 1: across the company. The material design aesthetic took inspiration from paper. 605 00:36:17,640 --> 00:36:20,560 Speaker 1: Each layer a person would see would be like a 606 00:36:20,600 --> 00:36:23,480 Speaker 1: sheet of paper on top of all the ones beneath it, 607 00:36:23,960 --> 00:36:27,160 Speaker 1: and animation was given very much more focus in this 608 00:36:27,280 --> 00:36:30,400 Speaker 1: version of Android. The goal was to have all elements 609 00:36:30,480 --> 00:36:34,560 Speaker 1: animate onto the screen rather than just appear or pop 610 00:36:34,680 --> 00:36:37,920 Speaker 1: into place, so they should scroll up into view or 611 00:36:38,040 --> 00:36:41,200 Speaker 1: fly on into view. They shouldn't just appear. There should 612 00:36:41,239 --> 00:36:44,400 Speaker 1: never just be a transformation of one screen into another. 613 00:36:44,920 --> 00:36:49,120 Speaker 1: The result of all this was that, starting with Lollipop, 614 00:36:49,520 --> 00:36:52,200 Speaker 1: the UI had a very different look and feel to it, 615 00:36:52,320 --> 00:36:55,040 Speaker 1: and Lollipop was the first Android release to include the 616 00:36:55,120 --> 00:36:59,040 Speaker 1: voice recognition feature, in which a user would say okay, 617 00:36:59,320 --> 00:37:03,600 Speaker 1: follow by the word Google to activate the ability to 618 00:37:03,640 --> 00:37:07,399 Speaker 1: speak commands to the phone directly. I tried very hard 619 00:37:07,480 --> 00:37:10,759 Speaker 1: to avoid saying the activation phrase itself to spare all 620 00:37:10,800 --> 00:37:14,879 Speaker 1: of those listening in or near Google devices from having 621 00:37:14,880 --> 00:37:17,719 Speaker 1: to deal with the aftermath. If you listen to my 622 00:37:17,760 --> 00:37:21,040 Speaker 1: recent episode about how this stuff works, you know that 623 00:37:21,840 --> 00:37:25,080 Speaker 1: it's not always listening in on with a sense of it, 624 00:37:25,160 --> 00:37:27,080 Speaker 1: you know, keeping track of what it is you're saying, 625 00:37:27,320 --> 00:37:31,040 Speaker 1: like the phone is not spying on you. Rather, it's 626 00:37:31,239 --> 00:37:35,120 Speaker 1: on a constant lookout for a digital footprint of an 627 00:37:35,160 --> 00:37:39,040 Speaker 1: audio signal that indicates that the activation phrase has been spoken. 628 00:37:39,520 --> 00:37:42,920 Speaker 1: So it's like a key sliding into a lock. Around 629 00:37:42,960 --> 00:37:46,600 Speaker 1: this same time, in Andy Reuben, the guy who had 630 00:37:46,640 --> 00:37:50,640 Speaker 1: founded Android the company and who was associated with the 631 00:37:50,680 --> 00:37:53,920 Speaker 1: operating system at Google, thought of as the father of Android, 632 00:37:54,520 --> 00:37:58,480 Speaker 1: left Google. Now. The official story at the time was 633 00:37:58,520 --> 00:38:01,560 Speaker 1: that Reuben was leaving to start an incubator company to 634 00:38:01,600 --> 00:38:04,920 Speaker 1: help startups that were focusing on hardware. He had already 635 00:38:04,920 --> 00:38:08,120 Speaker 1: stopped running Android back in two thousand thirteen. He had 636 00:38:08,120 --> 00:38:11,560 Speaker 1: transitioned over to working in Google's robotics division, and now 637 00:38:11,600 --> 00:38:16,160 Speaker 1: he was leaving Google completely. Later on, it was revealed 638 00:38:16,400 --> 00:38:20,680 Speaker 1: that Larry Page had actually asked Reuben to resign, and 639 00:38:20,719 --> 00:38:24,160 Speaker 1: this was in the wake of sexual misconduct allegations that 640 00:38:24,200 --> 00:38:28,440 Speaker 1: had been brought against Reuben. The details of those allegations 641 00:38:28,800 --> 00:38:32,280 Speaker 1: are gross and they are horrible, So I'll just say 642 00:38:32,320 --> 00:38:36,160 Speaker 1: that if the allegations are accurate, Paige probably should have 643 00:38:36,200 --> 00:38:39,239 Speaker 1: just fired Reuben. But perhaps there was a worry of 644 00:38:39,520 --> 00:38:42,960 Speaker 1: how this might be bad pr around the whole thing, 645 00:38:43,320 --> 00:38:45,919 Speaker 1: and so I guess it was decided to keep things 646 00:38:46,000 --> 00:38:49,560 Speaker 1: quiet for the sake of and I really hate this word, 647 00:38:49,600 --> 00:38:52,759 Speaker 1: but for the sake of optics. And if so, if 648 00:38:52,760 --> 00:38:56,600 Speaker 1: that were in fact the reason why, that strategy backfired 649 00:38:56,719 --> 00:39:00,400 Speaker 1: big time because in it was revealed that Uben had 650 00:39:00,480 --> 00:39:05,560 Speaker 1: left Google with a ninety million dollar exit package as 651 00:39:05,600 --> 00:39:09,640 Speaker 1: well as leaving in the wake of these allegations. This 652 00:39:09,840 --> 00:39:14,480 Speaker 1: sparked an enormous reaction within Google, with employees protesting and 653 00:39:14,520 --> 00:39:18,080 Speaker 1: walking out upon discovering that a man accused of these 654 00:39:18,120 --> 00:39:21,160 Speaker 1: horrible acts would end up walking away with nearly a 655 00:39:21,239 --> 00:39:25,040 Speaker 1: hundred million dollars, and it's a dark stain on both 656 00:39:25,040 --> 00:39:30,520 Speaker 1: Google and Android. In March, Google rolled out an update 657 00:39:30,560 --> 00:39:34,000 Speaker 1: to Lollipop and introduced a new version of Android for cars, 658 00:39:34,160 --> 00:39:36,919 Speaker 1: called Android Auto, so it's designed to work in car 659 00:39:37,000 --> 00:39:39,480 Speaker 1: systems itself. It's the sort of thing that might power 660 00:39:39,560 --> 00:39:43,799 Speaker 1: the information and entertainment systems within a car. Following Lollipop 661 00:39:44,040 --> 00:39:48,680 Speaker 1: was Marshmallow in October two fifteen. This version introduced fingerprints 662 00:39:48,680 --> 00:39:52,240 Speaker 1: scanning for stuff like unlocking the phone and authorizing apps. 663 00:39:52,360 --> 00:39:57,000 Speaker 1: It was also introducing a feature called Google Now on Tap, 664 00:39:57,640 --> 00:40:00,440 Speaker 1: and that was a particularly odd feature. The I behind 665 00:40:00,480 --> 00:40:03,600 Speaker 1: it was you could hold down the home button on 666 00:40:03,680 --> 00:40:06,160 Speaker 1: any screen that you were in, whether it was an app, 667 00:40:06,600 --> 00:40:09,280 Speaker 1: maybe you were watching a video. But if you held 668 00:40:09,280 --> 00:40:11,360 Speaker 1: down the home button button, what it would do is 669 00:40:11,400 --> 00:40:14,120 Speaker 1: it would take a screenshot of whatever was on your 670 00:40:14,160 --> 00:40:16,880 Speaker 1: screen at that second and send it off to Google, 671 00:40:17,080 --> 00:40:21,040 Speaker 1: and then Google's AI and machine learning technology would analyze 672 00:40:21,040 --> 00:40:24,000 Speaker 1: the image and return search results based on what it, 673 00:40:24,080 --> 00:40:28,440 Speaker 1: quote unquote, thought you were interested in. Ultimately, this feature 674 00:40:28,480 --> 00:40:32,080 Speaker 1: didn't get much traction. It didn't have a refined focus, 675 00:40:32,120 --> 00:40:34,359 Speaker 1: so the chances of you getting the results you were 676 00:40:34,400 --> 00:40:37,680 Speaker 1: hoping for weren't that great. It just made more sense 677 00:40:37,719 --> 00:40:40,160 Speaker 1: to use the search feature for that kind of stuff, 678 00:40:40,320 --> 00:40:43,520 Speaker 1: where you could craft a query to return exactly what 679 00:40:43,560 --> 00:40:46,120 Speaker 1: you were looking for instead of just sending a picture 680 00:40:46,160 --> 00:40:49,000 Speaker 1: and hoping that Google picks up on the right thing 681 00:40:49,040 --> 00:40:51,399 Speaker 1: in that picture and doesn't just send you a bunch 682 00:40:51,400 --> 00:40:55,880 Speaker 1: of random garbage. The Google Assistant service would eventually replace 683 00:40:55,960 --> 00:40:59,920 Speaker 1: Google Now on Tap. Marshmallow also changed up how per 684 00:41:00,040 --> 00:41:02,960 Speaker 1: missions work for apps. So in the past, when you 685 00:41:03,040 --> 00:41:06,640 Speaker 1: downloaded an app that would need to get access to 686 00:41:06,840 --> 00:41:11,000 Speaker 1: stuff on your phone's hardware, stuff like your phone's microphone 687 00:41:11,160 --> 00:41:14,719 Speaker 1: or its camera, whatever that might be, you would get 688 00:41:14,719 --> 00:41:18,120 Speaker 1: a permissions page listing all of the components the app 689 00:41:18,360 --> 00:41:21,600 Speaker 1: wanted to have access to, and then you would authorize 690 00:41:21,600 --> 00:41:24,320 Speaker 1: the app and it would get that access. But starting 691 00:41:24,520 --> 00:41:28,840 Speaker 1: with Marshmallow, that changed. Instead, you would install an app 692 00:41:29,160 --> 00:41:31,160 Speaker 1: and you would never see a permissions page during the 693 00:41:31,200 --> 00:41:35,200 Speaker 1: installation phase. But the first time the app attempted to 694 00:41:35,280 --> 00:41:38,719 Speaker 1: make use of one of those phone components, it would 695 00:41:38,760 --> 00:41:41,799 Speaker 1: then ask permission. A little pop up would appear in 696 00:41:41,840 --> 00:41:43,759 Speaker 1: front of you, and it would ask you to give 697 00:41:43,760 --> 00:41:46,880 Speaker 1: permission for the app to access whatever it was it 698 00:41:46,920 --> 00:41:50,239 Speaker 1: was trying to get access too. So if you downloaded 699 00:41:50,400 --> 00:41:53,759 Speaker 1: like a camera app, and you activated it, you would 700 00:41:53,760 --> 00:41:56,799 Speaker 1: then receive a notification asking you to permit the app 701 00:41:56,840 --> 00:41:59,640 Speaker 1: access to your phone's camera. Or maybe not just your 702 00:41:59,640 --> 00:42:03,960 Speaker 1: phone's camera, but maybe your photos file folder, and then 703 00:42:04,000 --> 00:42:06,239 Speaker 1: you would have to either authorize it or say no, 704 00:42:06,480 --> 00:42:10,359 Speaker 1: and then maybe even uninstalled the program. After Marshmallow came 705 00:42:10,440 --> 00:42:15,319 Speaker 1: Nougat and Google's Pixel phones. Also recently, there was a 706 00:42:15,360 --> 00:42:18,560 Speaker 1: class action lawsuit against Google that wrapped up around that 707 00:42:18,600 --> 00:42:21,399 Speaker 1: first generation of Pixel phones, and if you owned one 708 00:42:21,440 --> 00:42:24,920 Speaker 1: of those first generation Pixels, you could be due a 709 00:42:25,000 --> 00:42:28,600 Speaker 1: small amount of compensation. As the first generation of Pixel 710 00:42:28,640 --> 00:42:32,440 Speaker 1: phones suffered a few problems, such as the handsets microphone 711 00:42:32,480 --> 00:42:38,480 Speaker 1: occasionally just not working anymore. Interestingly, I have a pixel too, 712 00:42:38,880 --> 00:42:40,759 Speaker 1: in fact, to have a pixel two XL right next 713 00:42:40,800 --> 00:42:42,600 Speaker 1: to me that keeps going off because it keeps hearing 714 00:42:42,680 --> 00:42:46,160 Speaker 1: me say the word Google, and it actually happened with 715 00:42:46,200 --> 00:42:48,879 Speaker 1: my phone to the main microphone on my phone doesn't work. 716 00:42:48,920 --> 00:42:52,680 Speaker 1: The speaker phone microphone works, but the main microphone doesn't. Now, 717 00:42:52,680 --> 00:42:54,239 Speaker 1: as far as I can tell, the pixel two is 718 00:42:54,239 --> 00:42:56,839 Speaker 1: not covered in that lawsuit, so I'm just out of luck. 719 00:42:57,640 --> 00:43:00,960 Speaker 1: Nougat added features like the ability to do picture and 720 00:43:01,040 --> 00:43:05,160 Speaker 1: picture due to a recizeable app feature now built into Android. 721 00:43:05,400 --> 00:43:07,880 Speaker 1: This would be more useful for stuff like Android TV 722 00:43:08,560 --> 00:43:12,440 Speaker 1: or Android on tablet devices. Other updates were behind the scenes, 723 00:43:12,480 --> 00:43:15,640 Speaker 1: stuff like support for file based encryption, so the things 724 00:43:15,640 --> 00:43:18,960 Speaker 1: that are important but that we probably wouldn't notice as 725 00:43:19,080 --> 00:43:22,200 Speaker 1: end users. NUGA would stick around for a good long while. 726 00:43:22,400 --> 00:43:25,000 Speaker 1: They would get an update in late and then it 727 00:43:25,000 --> 00:43:28,560 Speaker 1: would make way for Android version eight point oh also 728 00:43:28,640 --> 00:43:33,080 Speaker 1: known as OREO another trademark name. Part of this update 729 00:43:33,360 --> 00:43:37,040 Speaker 1: was something called Project Trouble, and Google released some pretty 730 00:43:37,080 --> 00:43:40,480 Speaker 1: crazy marketing technos speak to describe what this was about. 731 00:43:40,960 --> 00:43:44,480 Speaker 1: So I'm going to quote to you how Google described 732 00:43:44,600 --> 00:43:49,840 Speaker 1: Project Trouble. Quote. It's Google's ambitious effort to re architect 733 00:43:49,920 --> 00:43:52,759 Speaker 1: Android in order to establish a modular base in which 734 00:43:52,800 --> 00:43:56,320 Speaker 1: the lower level code created by Silicon vendors is separated 735 00:43:56,320 --> 00:43:59,120 Speaker 1: from the main Android operating system framework, so that the 736 00:43:59,200 --> 00:44:02,200 Speaker 1: device manufacts can update the OS code without having to 737 00:44:02,239 --> 00:44:05,399 Speaker 1: rely on Silicon vendors to refresh the lower level code 738 00:44:05,440 --> 00:44:10,040 Speaker 1: for every release. End quote. Now, what that actually means 739 00:44:10,680 --> 00:44:13,000 Speaker 1: is that Google was working on ways to smooth out 740 00:44:13,000 --> 00:44:16,520 Speaker 1: the challenges that handset manufacturers were facing when it comes 741 00:44:16,560 --> 00:44:19,160 Speaker 1: to supporting updates to Android, and the goal was to 742 00:44:19,160 --> 00:44:22,719 Speaker 1: cut down on the delay between an OS update coming 743 00:44:22,719 --> 00:44:27,000 Speaker 1: out from Google and the release that the handset manufacturers 744 00:44:27,000 --> 00:44:29,640 Speaker 1: could commit to. And again this gets down to like 745 00:44:30,560 --> 00:44:36,520 Speaker 1: very minute stuff. Largely we're talking about processor level concerns, 746 00:44:37,160 --> 00:44:40,479 Speaker 1: and typically you would have a handset manufacturer they would 747 00:44:40,480 --> 00:44:44,160 Speaker 1: have to work with its chip set, UH supplier, whatever 748 00:44:44,520 --> 00:44:47,040 Speaker 1: company was making the chips that were in those handsets 749 00:44:47,320 --> 00:44:51,840 Speaker 1: to make sure that it could interoperate with the Google 750 00:44:51,880 --> 00:44:54,560 Speaker 1: Android system and then rolling that out to all of 751 00:44:54,560 --> 00:44:57,520 Speaker 1: its users. So there were a lot of delays. Now, 752 00:44:57,520 --> 00:45:00,480 Speaker 1: there were other technical improvements to Android as well, but 753 00:45:00,520 --> 00:45:04,640 Speaker 1: it was largely small evolutionary improvements to a wide range 754 00:45:04,640 --> 00:45:08,520 Speaker 1: of features on the operating system. With Oreo, Android nine 755 00:45:08,560 --> 00:45:13,239 Speaker 1: point oh has the extremely generic name Pie. It was 756 00:45:13,280 --> 00:45:16,880 Speaker 1: released about a year after Oreo came out. The user 757 00:45:16,920 --> 00:45:19,720 Speaker 1: interface got another update with some elements like the clock 758 00:45:19,800 --> 00:45:23,200 Speaker 1: moving to a different default position on the display. It 759 00:45:23,280 --> 00:45:26,920 Speaker 1: was also a move away from the material design philosophy 760 00:45:26,960 --> 00:45:29,600 Speaker 1: Duarte had introduced a few years earlier, or at least 761 00:45:30,120 --> 00:45:34,680 Speaker 1: a refinement of that philosophy. So that philosophy had helped 762 00:45:34,719 --> 00:45:37,880 Speaker 1: create a more cohesive look to Android and the apps 763 00:45:37,920 --> 00:45:41,400 Speaker 1: on Android, but it had also created the effect of 764 00:45:41,480 --> 00:45:44,439 Speaker 1: making things look a little too homogenized. They all look 765 00:45:44,480 --> 00:45:48,560 Speaker 1: a little too similar. So to correct the course, Google 766 00:45:48,640 --> 00:45:51,920 Speaker 1: now has an updated set of design principles and a 767 00:45:51,960 --> 00:45:55,320 Speaker 1: suite of developer tools to help take the basic ideas 768 00:45:55,400 --> 00:45:59,160 Speaker 1: behind material design, but to apply them more intelligently to 769 00:45:59,280 --> 00:46:03,560 Speaker 1: apps and services. Designers are able to apply customized designs 770 00:46:03,600 --> 00:46:08,000 Speaker 1: on top of the fundamental material design approach. So ideally 771 00:46:08,320 --> 00:46:11,680 Speaker 1: apps built using these tools will look like they belong 772 00:46:11,760 --> 00:46:15,160 Speaker 1: to the Android ecosystem, but they won't look like all 773 00:46:15,239 --> 00:46:17,120 Speaker 1: the other Android apps out there. It won't be a 774 00:46:17,160 --> 00:46:20,200 Speaker 1: cookie cutter kind of approach. This brings us up to 775 00:46:20,280 --> 00:46:22,799 Speaker 1: the most recent version of Android, at least as of 776 00:46:22,840 --> 00:46:26,960 Speaker 1: the recording of this podcast. Android ten point oh has 777 00:46:27,040 --> 00:46:30,439 Speaker 1: eschewed the convention of using dessert names as code names 778 00:46:30,440 --> 00:46:33,400 Speaker 1: for the operating system. The next letter would have been Q, 779 00:46:34,000 --> 00:46:38,560 Speaker 1: so I guess quins the fruit was just out of consideration. 780 00:46:39,120 --> 00:46:43,080 Speaker 1: Google has several Android statues on its campus commemorating the 781 00:46:43,160 --> 00:46:48,080 Speaker 1: various releases of Android with appropriate versions of the Android 782 00:46:48,480 --> 00:46:52,719 Speaker 1: bug droid like sometimes it's posing with doughnuts or a 783 00:46:52,840 --> 00:46:55,840 Speaker 1: Claire's or whatever, you know, whatever the code name for 784 00:46:55,880 --> 00:46:58,520 Speaker 1: the operating system was, I guess moving forward, that won't 785 00:46:58,520 --> 00:47:01,680 Speaker 1: be necessary. The finn version of Android ten point oh 786 00:47:01,800 --> 00:47:06,440 Speaker 1: launched on September three, two thousand nineteen. The latest version 787 00:47:06,440 --> 00:47:08,920 Speaker 1: of the operating system adds in more protections for the 788 00:47:09,000 --> 00:47:12,040 Speaker 1: end user in the form of granting apps permission to 789 00:47:12,120 --> 00:47:15,200 Speaker 1: use stuff like location data or to gain access to 790 00:47:15,280 --> 00:47:18,400 Speaker 1: media and photo files on the device. Now apps have to, 791 00:47:18,800 --> 00:47:21,319 Speaker 1: you know, send those alerts to you when they want 792 00:47:21,360 --> 00:47:23,399 Speaker 1: to make use of it, and it makes you more 793 00:47:23,440 --> 00:47:26,799 Speaker 1: conscious of what your apps are actually trying to do. 794 00:47:27,560 --> 00:47:30,120 Speaker 1: Another cool feature is that you can use an option 795 00:47:30,160 --> 00:47:33,600 Speaker 1: to change background blur in a photo after you've already 796 00:47:33,640 --> 00:47:36,640 Speaker 1: taken the picture. And there were already apps that would 797 00:47:36,719 --> 00:47:39,799 Speaker 1: let you do this, whether your intent was artistic expression, 798 00:47:40,080 --> 00:47:42,719 Speaker 1: maybe you just wanted to blur something that was kind 799 00:47:42,719 --> 00:47:46,480 Speaker 1: of objectionable or distracting that out of the background, and 800 00:47:46,480 --> 00:47:49,000 Speaker 1: and you want to have the focus be on whatever 801 00:47:49,080 --> 00:47:52,000 Speaker 1: is in the foreground. Well, whatever the case, it's now 802 00:47:52,080 --> 00:47:56,760 Speaker 1: natively supported by the operating system itself. Android ten also 803 00:47:56,840 --> 00:48:00,479 Speaker 1: introduced a more pervasive dark mode, meant to help save 804 00:48:00,520 --> 00:48:03,320 Speaker 1: battery life and use less light to illuminate the screen 805 00:48:03,360 --> 00:48:05,959 Speaker 1: when the user is in a low light environment, thus 806 00:48:06,040 --> 00:48:09,640 Speaker 1: the name. There's also a new feature called live Caption ing, 807 00:48:09,719 --> 00:48:12,960 Speaker 1: which can dynamically add captions to videos that have been 808 00:48:12,960 --> 00:48:15,879 Speaker 1: sent to you. So if a friend shoots a quick 809 00:48:15,960 --> 00:48:18,879 Speaker 1: video and sends it as a video message, Android ten 810 00:48:19,000 --> 00:48:23,200 Speaker 1: can actually attempt to create subtitles for the video dynamically. 811 00:48:23,600 --> 00:48:26,560 Speaker 1: And I appreciate that feature a lot because my hearing 812 00:48:26,680 --> 00:48:29,360 Speaker 1: is not as good as it used to be. Darn 813 00:48:29,480 --> 00:48:33,279 Speaker 1: you punk rock shows. I haven't had a chance to 814 00:48:33,560 --> 00:48:36,960 Speaker 1: see this actually used in action yet, so I have 815 00:48:37,000 --> 00:48:40,319 Speaker 1: no idea how accurate it is. I'm just reminded of 816 00:48:40,320 --> 00:48:45,479 Speaker 1: how terrible Google Voice was at transcribing language, at least 817 00:48:45,520 --> 00:48:48,040 Speaker 1: at first, and I'm really curious if my mom sent 818 00:48:48,080 --> 00:48:51,080 Speaker 1: me a video if Google would be able to caption 819 00:48:51,120 --> 00:48:55,120 Speaker 1: it appropriately. Android ten also builds in more support for 820 00:48:55,239 --> 00:48:59,840 Speaker 1: new form factors of smartphones, namely devices that have foldable screens. 821 00:49:00,440 --> 00:49:02,879 Speaker 1: A large incentive to do this came in the form 822 00:49:02,960 --> 00:49:06,880 Speaker 1: of the Samsung Galaxy Fold, which is a squar ish 823 00:49:06,960 --> 00:49:10,880 Speaker 1: kind of tablet from Samsung that, as the name implies, 824 00:49:11,200 --> 00:49:14,480 Speaker 1: has a hinge in the middle of this that goes 825 00:49:14,520 --> 00:49:18,319 Speaker 1: down vertically along this sort of squarish tablet, and then 826 00:49:18,360 --> 00:49:20,440 Speaker 1: you can fold it in half and you're meant to 827 00:49:20,520 --> 00:49:23,880 Speaker 1: use it as a phone when it's folded long ways, 828 00:49:23,920 --> 00:49:26,799 Speaker 1: and when it is done like that, it's closer to 829 00:49:26,840 --> 00:49:29,680 Speaker 1: the dimensions of a typical smartphone, though much much much thicker, 830 00:49:29,719 --> 00:49:34,120 Speaker 1: because you know you've just uh folded it on itself. 831 00:49:34,600 --> 00:49:37,360 Speaker 1: When it's unfolded, it's again more like a small tablet. 832 00:49:37,440 --> 00:49:40,960 Speaker 1: I think it looks pretty funky and weird, but it 833 00:49:41,000 --> 00:49:44,640 Speaker 1: could very well be that the future of smartphones will 834 00:49:44,680 --> 00:49:47,239 Speaker 1: be on foldable technology. So it's a good thing that 835 00:49:47,280 --> 00:49:50,080 Speaker 1: Android now supports it, and that brings us more or 836 00:49:50,120 --> 00:49:52,719 Speaker 1: less up to date with Android so far. Now, while 837 00:49:52,719 --> 00:49:55,359 Speaker 1: I'm wrapping up, I want to give a recommendation for 838 00:49:55,400 --> 00:50:00,399 Speaker 1: an article. It's titled the Updated History of Android, and 839 00:50:00,480 --> 00:50:03,840 Speaker 1: it's on the amazing site Ours Technica. If you're not 840 00:50:03,880 --> 00:50:06,520 Speaker 1: familiar with Ours Technica and you're a fan of this show, 841 00:50:06,719 --> 00:50:10,680 Speaker 1: you should definitely check out that site. They have incredible 842 00:50:10,760 --> 00:50:14,759 Speaker 1: articles on all sorts of technological topics. It's highly recommended. 843 00:50:15,360 --> 00:50:18,799 Speaker 1: This particular article was written by Ron Amadeo, and Ron 844 00:50:18,840 --> 00:50:23,360 Speaker 1: has done a phenomenal and exhaustive job going into way 845 00:50:23,560 --> 00:50:27,680 Speaker 1: more detail about the development, the rollout, the evolution and 846 00:50:27,719 --> 00:50:32,200 Speaker 1: the features of the various Android operating system versions. More 847 00:50:32,440 --> 00:50:35,080 Speaker 1: more than I could ever do unless I wanted to 848 00:50:35,120 --> 00:50:38,080 Speaker 1: just do you know, seven episodes about it. In fact, 849 00:50:38,080 --> 00:50:41,760 Speaker 1: he's got thousands of words written about the beta versions 850 00:50:41,960 --> 00:50:46,080 Speaker 1: of Android before Android Version one point oh ever came out. 851 00:50:46,160 --> 00:50:48,520 Speaker 1: I didn't even really touch on that. So if you 852 00:50:48,560 --> 00:50:51,080 Speaker 1: want to learn even more about what went on behind 853 00:50:51,160 --> 00:50:54,480 Speaker 1: the scenes to create and develop Android, go check out 854 00:50:54,560 --> 00:50:57,279 Speaker 1: that article. I will tell you it does leave off 855 00:50:57,320 --> 00:51:00,359 Speaker 1: in sixteen that's when the last update was written for 856 00:51:00,400 --> 00:51:03,520 Speaker 1: this article. But I figure after you've read thirty three 857 00:51:03,600 --> 00:51:07,799 Speaker 1: pages of material, you're okay taking a short break. As 858 00:51:07,880 --> 00:51:11,440 Speaker 1: for me, well, I recommend that you send me messages 859 00:51:11,960 --> 00:51:15,040 Speaker 1: related to what you would like to hear on tech Stuff. 860 00:51:15,080 --> 00:51:17,480 Speaker 1: If you've got a topic that you would like me 861 00:51:17,560 --> 00:51:21,439 Speaker 1: to tackle, whether it's a company, a technology concept in tech, 862 00:51:21,520 --> 00:51:24,319 Speaker 1: whatever it may be, send me a message. You can 863 00:51:24,360 --> 00:51:27,080 Speaker 1: do so via email the addresses tech stuff at how 864 00:51:27,120 --> 00:51:29,800 Speaker 1: stuff works dot com, or you can pop on over 865 00:51:29,880 --> 00:51:32,960 Speaker 1: to Facebook or Twitter handle we use this tech stuff 866 00:51:33,040 --> 00:51:35,879 Speaker 1: hs W send me a message there. Pop on over 867 00:51:35,920 --> 00:51:38,640 Speaker 1: to tech stuff podcast dot com to check out the 868 00:51:38,800 --> 00:51:42,640 Speaker 1: archive of all of our past episodes that have ever published. 869 00:51:42,960 --> 00:51:45,279 Speaker 1: Plus you'll find a link to our online store where 870 00:51:45,280 --> 00:51:47,319 Speaker 1: every purchase you make goes to help the show, and 871 00:51:47,360 --> 00:51:49,960 Speaker 1: we greatly appreciate it, and I'll talk to you again 872 00:51:50,719 --> 00:51:58,439 Speaker 1: really soon. Text Stuff is a production of I Heart 873 00:51:58,520 --> 00:52:01,920 Speaker 1: Radio's How Stuff Works. Or more podcasts from my heart Radio, 874 00:52:02,280 --> 00:52:05,440 Speaker 1: visit the i heart Radio app, Apple Podcasts, or wherever 875 00:52:05,520 --> 00:52:11,600 Speaker 1: you listen to your favorite shows. H