Hypercritical

14: A Dark Age of Objective-C

 

  [Music] [TS]

  this is hypercritical it's a weekly [TS]

  talkshow ruminating on exactly what is [TS]

  wrong the world of Apple and related [TS]

  technologies and businesses nothing is [TS]

  so perfect that my co-host John siracusa [TS]

  could not find something wrong with it [TS]

  there's nothing he can't complain hi [TS]

  John [TS]

  again I'm Dan benjamin and we'd like to [TS]

  say thanks to Rackspace calm and Shopify [TS]

  comm for making the show possible tell [TS]

  you more about them as the program [TS]

  continues but you know it's becoming [TS]

  it's becoming a little bit of a of a a [TS]

  stake of yours almost that the follow up [TS]

  is most of the show know that the other [TS]

  the other hosts of the other shows are [TS]

  now they have something that they will [TS]

  refer to as John siracusa mode anytime [TS]

  they do follow if I can make them feel [TS]

  that it's their responsibility to [TS]

  address issues raised by listeners about [TS]

  their previous show I feel I will have [TS]

  succeeded I found out today you're 6 [TS]

  foot 2 that's right [TS]

  while I was in my youth now I'm a [TS]

  hunched old man with or without the hair [TS]

  that's without ok do you wet it down [TS]

  when you take measurements to keep it [TS]

  flat or one it squishes down you know [TS]

  how tall you do you have some sort of a [TS]

  Napoleon complex no I don't think so I'm [TS]

  you know I'm average height in Korea [TS]

  five seven five seven you know five [TS]

  eight with a nice pair of shoes on five [TS]

  five ten in a podium I'll file that away [TS]

  mm-hmm lock lock it up all right so [TS]

  you're ready for some fu fu yeah [TS]

  what is the fu the follow-up follow-up [TS]

  yeah I don't I don't think I want to [TS]

  stick with that but it is a convenient [TS]

  abbreviation I like it yeah let's do [TS]

  that for you all right so uh last week [TS]

  we talked about Apple's UI consistency [TS]

  over the years and that that topic had [TS]

  been our list for a long time and we [TS]

  finally got to it because we're running [TS]

  out of stuff but I know you wanted it [TS]

  for a long time so I only got to it [TS]

  and then after we finished recording [TS]

  show I was catching up on the Twitter's [TS]

  and I saw a tweet from mr. Merlin man [TS]

  who was actually reply to me which is [TS]

  strange because he normally doesn't [TS]

  communicate with me on Twitter but this [TS]

  time he did reply and I said hey I [TS]

  listened to your UI consistency thing [TS]

  and I think you would like this talk by [TS]

  this other guy so I followed it and it [TS]

  was a link to John Gruber's uh web stock [TS]

  mm-hmm talk from this year and I like [TS]

  wow I thought that one was in recorded [TS]

  because I remember hearing him [TS]

  complaining that they didn't record his [TS]

  session and he was angry about it and it [TS]

  turns out that was South by Southwest [TS]

  that he was angry about not recording [TS]

  and in fact it turns out that actually [TS]

  did record South by Southwest [TS]

  unbeknownst to him they only did auto [TS]

  audio recording right but anyway so I'm [TS]

  like great I'm gonna take a look at this [TS]

  this talk now so later that day I [TS]

  started watching the talk and he begins [TS]

  and I'm like yeah he's kind of starting [TS]

  the same place that I would be talking [TS]

  about like the Mac is the first GUI and [TS]

  what it meant to be a GUI and you know [TS]

  that the days before the GUI existed and [TS]

  then he starts talking about some [TS]

  examples of the early GUI he brings up [TS]

  that original Mac control panel so I'm [TS]

  watching this thing with like a growing [TS]

  sense of horror that every single thing [TS]

  he's saying in this talk is something [TS]

  that I just recorded in a podcast of [TS]

  course the problem is that that web [TS]

  stock talk was like months ago is that [TS]

  like last month or something [TS]

  I said no I'm like yeah I think it was a [TS]

  nothing oh my god everybody who listens [TS]

  to that episode is going to assume that [TS]

  I either went to wyoweb stock or watched [TS]

  the web stock talk and then just rehash [TS]

  from an odd I don't think so at all and [TS]

  but I swear to you I had not seen that [TS]

  talk until after I recorded the episode [TS]

  almost immediately after which is it was [TS]

  just a horrible horrible experience no I [TS]

  thought well let me let me chime in here [TS]

  for a second I don't think you need to [TS]

  worry about this at all because I think [TS]

  first of all I didn't watch it either i [TS]

  ID my only I only if I'm if John Gruber [TS]

  is not talking to me on the talk show I [TS]

  don't I don't want to hear his voice [TS]

  so I read his stuff but I if I hear him [TS]

  I want to talk back so I can't listen to [TS]

  him talking in somewhere else it's too [TS]

  difficult so I hadn't seen it either [TS]

  otherwise I would have stopped you I [TS]

  wouldn't let you go I wouldn't let you [TS]

  you know I would have said oh it didn't [TS]

  you see John Gruber's thing on I didn't [TS]

  even know what he was talking about and [TS]

  every time I asked him what how was your [TS]

  talk he's like [TS]

  I was all right so what'd you talk about [TS]

  and he kind of you know changes the [TS]

  subject yeah so I mean this is not an [TS]

  uncommon thing amongst the two of us [TS]

  where we will end up having the same [TS]

  take on a particular topic to the point [TS]

  where some people would think that we [TS]

  collaborated beforehand on on various [TS]

  things or that we're the same person or [TS]

  anything like that but that's not the [TS]

  case it just so happens that we end up [TS]

  having the same things on this case it [TS]

  was particularly spooky because we pick [TS]

  like the same examples and stuff but [TS]

  it's it's really strange to me [TS]

  especially since you know you Gruber's [TS]

  history with the Mack started pretty [TS]

  late like I think in the past episode [TS]

  with you who he talked about his first [TS]

  night being an LC right maybe that was [TS]

  in the talk but yeah but that's that's a [TS]

  late comer right and I was there since [TS]

  1984 but we still end up with the same [TS]

  take on things but the reason I bring [TS]

  this up now is because if you watch the [TS]

  whole talk even though there we start [TS]

  off the same way and we choose a lot of [TS]

  the same examples there is a divergence [TS]

  there and I think the point that I was [TS]

  making with some of those same examples [TS]

  was different than the points that he [TS]

  was making so my main point on on the [TS]

  topics that we overlapped on was that [TS]

  Apple has always sort of worked beyond [TS]

  the bounds of its own UI guidelines but [TS]

  Gruber's point in the talk was that the [TS]

  change in the look of the GUI was a lot [TS]

  slower in the beginning and it took a [TS]

  bowl a while to feel confident that they [TS]

  could start changing look in ways that [TS]

  wouldn't confuse people sort of that in [TS]

  my example that I was using was that [TS]

  from that talk book of multiplex [TS]

  meetings where you have the you know 20 [TS]

  different versions of a house icon or [TS]

  the the the classic Mac OS extension [TS]

  puzzle pieces to face in all different [TS]

  directions as long as people can tell [TS]

  what it is it's ok so we were using that [TS]

  we both took that control panel example [TS]

  but he was using it as an example of [TS]

  like look at this ey doesn't use labels [TS]

  look at how different it is that what's [TS]

  come before it and I was using it as an [TS]

  example of how Apple wasn't beholden to [TS]

  its own guidelines from day one and they [TS]

  made this window completely filled with [TS]

  non-standard controls the only standard [TS]

  control on the entire thing was the [TS]

  title bar so even though we use the same [TS]

  example I think we made very different [TS]

  points now in the end you say is a last [TS]

  episode in his talk of a contradictory [TS]

  are they you know completely at odds I [TS]

  don't think they're completely at odds [TS]

  they do make a lot of the same points [TS]

  especially about how you can change the [TS]

  look of something and as long as people [TS]

  can still tell what it is it's fine and [TS]

  the the role of fashion in design and [TS]

  how changing the look actually has has a [TS]

  purpose it's not just arbitrary the [TS]

  place where I think we would diverge is [TS]

  that a Gruber seems to contend that [TS]

  Apple followed the Haig to the letter in [TS]

  the old days like he's positing a time [TS]

  when Apple conformed more strictly to to [TS]

  human interface guidelines and I think [TS]

  his example has since he used that [TS]

  control panel example example from [TS]

  earlier in his talk contradicts that [TS]

  that you know maybe the look of the [TS]

  entire OS didn't changes as quickly but [TS]

  certainly Apple was never a slave to the [TS]

  Haig and I don't think there was ever a [TS]

  time that Apple was like that where I [TS]

  think we would agree is that when he [TS]

  goes into this the middle time of the [TS]

  Mac where there was sort of an [TS]

  exuberance of a variation where we had [TS]

  kaleidoscope and he talks about be view [TS]

  of the thing that made your windows look [TS]

  like BOS he trots out the high tech and [TS]

  the gizmo and drawing board themes from [TS]

  Apple there was that period where they [TS]

  were really like there were no rules and [TS]

  there was lots of experimentation we [TS]

  finally were being removed from the [TS]

  bounds of everything looking exactly the [TS]

  same so I think we would agree on that [TS]

  point but where we differ is that I [TS]

  think it was an apple that follow things [TS]

  to letter in the old days it was the [TS]

  developers did that's what I tried to [TS]

  get into a talk of saying how like Apple [TS]

  put out these guidelines and the people [TS]

  who are enthusiastic for the platform [TS]

  felt compelled to treat the guidelines [TS]

  as Bible as a way of advancing the [TS]

  platform and it wasn't so much Apple it [TS]

  was the very enthusiastic supporters and [TS]

  advocates of the platform that were you [TS]

  know signed up to the Hague is the Bible [TS]

  not Apple itself they made some good [TS]

  points later but it's just in the [TS]

  consistency in uniformity my favorite [TS]

  one was where he mentioned that Jobs had [TS]

  gotten rid of the idea of everything [TS]

  looking exactly the same he wanted [TS]

  things to be consistent but then had to [TS]

  look exactly the same but then he pulls [TS]

  up a slide that he said I think it's [TS]

  funny the guy who came up with this is [TS]

  known for having a uniform and it shows [TS]

  20 different pictures of jobs and he's [TS]

  always wearing of course the same outfit [TS]

  the black mock turtleneck in the jeans [TS]

  if people haven't seen this talk it's in [TS]

  the show notes and actually now thanks [TS]

  to your website change [TS]

  you can see the show notes during the [TS]

  show if you go to the or is it five by [TS]

  five dot TV slash hypercritical slash [TS]

  next net slash next I'll every time will [TS]

  take you to whatever the the next show [TS]

  is for you and if there is no next show [TS]

  yet it means we haven't started [TS]

  collecting links but at any point you [TS]

  can go there as soon as we start getting [TS]

  ready free you can add comments and and [TS]

  all that stuff there yeah so I suggest [TS]

  uh even even if you have listened the [TS]

  last episode I was suggested watching [TS]

  his talk anyway even though some of the [TS]

  same points are made there are enough [TS]

  new points in there that you should [TS]

  definitely take a look at it there's [TS]

  some good good slides in there alright [TS]

  and ants on the same topic last on last [TS]

  week's show sort of snuck into the [TS]

  follow-up was a topic that was not [TS]

  actually a fallout post kind of follow [TS]

  up we talked about Facebook's open [TS]

  source data center initiative I think [TS]

  that was kind of a follow up as to the [TS]

  yeah yeah online stuff in this case I [TS]

  knew that John Stokes Ars Technica had [TS]

  written an article about it [TS]

  I think either earlier that day at the [TS]

  previous day and I intentionally didn't [TS]

  read it so I wouldn't be spoiled so but [TS]

  what it turns out is a my take on that [TS]

  situation was the same as his I don't [TS]

  think that's a big surprise just because [TS]

  it's kind of obvious what Facebook is [TS]

  doing I don't think there's any [TS]

  particular insight that either one of us [TS]

  had there but he did a good write-up on [TS]

  that and I put that link in the show [TS]

  notes so you know that's another example [TS]

  of you said if something happens and [TS]

  seven people have the same opinion on [TS]

  doesn't mean they collaborate it just [TS]

  means that there are some obvious [TS]

  conclusions that can be drawn from the [TS]

  same facts that everyone has available [TS]

  to them alright so now for some actual [TS]

  follow up a little bit of feedback on [TS]

  the the funny look in iCal and lion I [TS]

  got some opinions in different [TS]

  directions here but someone brought up a [TS]

  good point about how making making [TS]

  windows look just completely different [TS]

  from all the windows regardless of [TS]

  whether it's ugly or not there has a [TS]

  benefit of making it easy to find on the [TS]

  screen so I Cal is this big ugly you [TS]

  know brown looking giant toolbar thing [TS]

  it's really easy to pick that out on the [TS]

  screen [TS]

  as opposed to just a giant gray toolbar [TS]

  which blends in with all your other or [TS]

  anything John great tool box now there's [TS]

  a limit to that you know one app gets to [TS]

  be like that fine but if every app is a [TS]

  different color [TS]

  you now lose the ability to pick stuff [TS]

  out because it's just like looking at a [TS]

  big screen full of plaid you know but I [TS]

  think that was a good point where that's [TS]

  kind of the advantage of the Apple hats [TS]

  of Apple decides to make some super [TS]

  important app look weird like the set [TS]

  for the finder for instance they decide [TS]

  to make the Finder windows green with [TS]

  grass on them and nobody else could have [TS]

  that look because you know you can't [TS]

  theme the OS and you don't want to put [TS]

  custom windows on all of your things so [TS]

  you'd see the finder window stand out [TS]

  this it look green well Apple can do [TS]

  that with the app that it knows [TS]

  everybody has to run because it launches [TS]

  when you log in and it can kind of be [TS]

  the only one to do it but if it becomes [TS]

  a trend then it just you know it stops [TS]

  being an advantage so I would not hold [TS]

  that up as a reason to justify I can't [TS]

  looking funny in lyon but it may be a [TS]

  practical result of iCal looking funny [TS]

  is that it'll be a lot easier to find [TS]

  that iCal window [TS]

  assuming every other Apple app doesn't [TS]

  also have some crazy new look I think [TS]

  but I think that's what we're going to [TS]

  anticipate is that every amp is going to [TS]

  have a weird new look they can't do it [TS]

  with everyone - and they don't care [TS]

  enough like what are they gonna make [TS]

  terminal look different now it's gonna [TS]

  be great windows everywhere [TS]

  I don't expect there were some pictures [TS]

  of address book looking different - but [TS]

  those are kind of a piece you know it's [TS]

  like if there's an if there's an iPad [TS]

  equivalent of the app maybe they'll try [TS]

  to sync up the look among them on the [TS]

  iCal versions all have some sort of [TS]

  strange look on them so we'll see but I [TS]

  really don't expect like Safari to get [TS]

  all weird the Finder terminal activity [TS]

  viewer I mean there's a limit you know [TS]

  so I related this as someone brought up [TS]

  the reverse of this where Apple takes a [TS]

  UI element that previously had a [TS]

  distinct look and makes it all the same [TS]

  and they're doing that a lot with [TS]

  toolbar buttons making them look sort of [TS]

  like they do when the iPad apps where [TS]

  it's just kind of like a gray silhouette [TS]

  like it's stamped into the toolbar right [TS]

  all monochrome right and that makes them [TS]

  much less distinct than when they were [TS]

  colorful photographic looking yeah [TS]

  icons and so now when you look at the [TS]

  tight the title bar the toolbar of an [TS]

  app and you want to find the button for [TS]

  like you know reply to email or you know [TS]

  for word or whatever now you're just [TS]

  looking based on shape instead of color [TS]

  you know you still got position but it [TS]

  seems it seems though like for a long [TS]

  time one of the [TS]

  I don't know if I would call it a [TS]

  feature but I mean even the term aqua I [TS]

  mean everything about Mac os10 was [TS]

  colorful and poppin and shiny and and [TS]

  they've just have gone continuously more [TS]

  and more and more toward a monochrome [TS]

  kind of a look now they have been [TS]

  leeching the color out a lot I mean you [TS]

  saw them do it with iTunes most recently [TS]

  right and the i io s apps tend to have a [TS]

  lot of color leached out of them too but [TS]

  they go off another direct light I mean [TS]

  you would definitely not say that the [TS]

  new the Lion I Cal has the color leech [TS]

  data but its exact opposite sorry they [TS]

  pick their battles but it seems like [TS]

  this is this is a look they're [TS]

  cultivating for like the serious kind of [TS]

  application it's monochrome look at [TS]

  Final Cut Pro 10 which was revealed this [TS]

  week that interface looks like looks [TS]

  like the high-tech theme practically [TS]

  from from very Copeland [TS]

  you know it's all jet black with like [TS]

  light gray stuff on it and maybe some [TS]

  like blinky fake looking LED things so I [TS]

  don't know I think they're just [TS]

  cultivating many different looks and [TS]

  deciding where each one is appropriate I [TS]

  think they're back into experimentation [TS]

  I think it was the quiet period was a [TS]

  leopard and Snow Leopard where [TS]

  everything went gray and they finally [TS]

  got rid of brush mail and everything [TS]

  else and they just had like a reset time [TS]

  and now I think they're experimenting [TS]

  again one more one more follow-up item I [TS]

  think we can fit in here okay [TS]

  so there was a link that went around [TS]

  that's in the show notes about how TiVo [TS]

  was sending out surveys to its customers [TS]

  and it was like you you had a hundred [TS]

  points to to spread on the survey among [TS]

  a big list of features and you were [TS]

  supposed to distribute your points [TS]

  according to how much you wanted the [TS]

  particular feature so Engadget posted [TS]

  this and they posted the entire list of [TS]

  features that you were allowed to spread [TS]

  them along and it's a big list like 30 [TS]

  features or something like that I mean [TS]

  so I read through the whole thing I [TS]

  don't know why I'm bothered by cooking [TS]

  before I read it I knew the types of [TS]

  features that they would be asking about [TS]

  would not make me happy so they asked [TS]

  about features like a multi-room viewing [TS]

  which a lot of the DVRs that you get [TS]

  from your cable company can do or use [TS]

  that you pay for one DVR and then the [TS]

  second room you have another little [TS]

  smaller cheaper box that lets you see [TS]

  stuff on the other DVR so you don't have [TS]

  these islands of content in your house [TS]

  then you can just have one DVR that [TS]

  requires a bunch of [TS]

  stuff you can watch it anywhere and [TS]

  they're talking about a Fortuner model [TS]

  and a whole bunch of a whole bunch of [TS]

  obvious software features that they [TS]

  should have had years ago that I don't [TS]

  know why they're asking about would you [TS]

  like it if you have a HD version of the [TS]

  channel that we give you the ability to [TS]

  hide the SD version yes of course why [TS]

  would I ever watch the SD version ever I [TS]

  don't even want to see it but no they [TS]

  have to survey about this this drives me [TS]

  nuts so reading this is making me angry [TS]

  especially since the key features that I [TS]

  think are most important are not listed [TS]

  for the same reason they usually not [TS]

  listed and it's like a sickness that [TS]

  companies have where they they start [TS]

  seeing things in terms of feature bullet [TS]

  points and they can't they can't [TS]

  understand what's actually wrong with [TS]

  their product what's actually wrong with [TS]

  TiVo is the freaking box is slow slow [TS]

  and ugly and just you know things should [TS]

  not take that long and they get slower [TS]

  with time and this is nowhere on the [TS]

  list I'm not going to say would you like [TS]

  it if the menus came out faster because [TS]

  people are gonna be like yeah maybe [TS]

  maybe not people will not ask for this [TS]

  but you have to give it to them they [TS]

  don't this you know they don't [TS]

  understand they can say well we want to [TS]

  spend X millions of dollars to make our [TS]

  user interface faster it's faster what [TS]

  do you mean people don't complain about [TS]

  it being slow it's fine they don't [TS]

  understand that you know people are not [TS]

  going to ask for it if if iOS never [TS]

  existed and it was just Android tablets [TS]

  and stuff like that [TS]

  it'll be like a look at the zoom tablet [TS]

  it's amazing and I can zoom and look at [TS]

  these Android things they're awesome if [TS]

  you've never seen ILS and how it sticks [TS]

  to your fingers when you move in stuff [TS]

  you don't know you're missing it users [TS]

  will not ask you for a more responsive [TS]

  interface but when you give them more [TS]

  responsive interface they will prefer [TS]

  that over the less responsive one even [TS]

  if they don't know why it is that they [TS]

  prefer it I think you know the [TS]

  experience of iOS is born then out and [TS]

  the fact that TiVo is getting slower [TS]

  with time and instead of even just [TS]

  staying the same let alone getting [TS]

  faster as it should with the huge [TS]

  advances in technology we've had since [TS]

  like 2000 just frustrating so I'm I did [TS]

  not like that feature list if I had if I [TS]

  had gotten that server I would have [TS]

  written a new option put all hundred [TS]

  points on it said make your user [TS]

  interface faster ah all right now I love [TS]

  when you go off on a rant like that I [TS]

  can't I can't take it I feel like hey [TS]

  dude six more shows just about TiVo like [TS]

  we should just have you know guests in [TS]

  the show and say do you own a TiVo name [TS]

  the seven thing obvious things that TiVo [TS]

  could do to be better that I've driven [TS]

  you crazy for the past decade that they [TS]

  had refused to do so a real a roundtable [TS]

  everybody takes a turn it's just you [TS]

  know I still feel like if you took ten [TS]

  people off the street who [TS]

  you see though they would get you a list [TS]

  of features implement you don't need to [TS]

  survey people and have them distribute a [TS]

  hundred points and all these ridiculous [TS]

  esoteric features yeah people should [TS]

  follow the link and read the features [TS]

  like there they're picking it the these [TS]

  little you know fringes around the edges [TS]

  when the entire carpet is on fire I [TS]

  don't then now I can't think of a good [TS]

  one you're too upset yeah all right so [TS]

  do we have a topic for today's show we [TS]

  do you didn't you're not even looking at [TS]

  the I don't look anymore I just want I [TS]

  just I'm on autopilot I'm doing it [TS]

  myself I like you so you're surprised [TS]

  when you come in the show you want to [TS]

  guess what the topic is didn't look at [TS]

  all [TS]

  well let me look at the look at these [TS]

  notes here I I put it on the yeah did [TS]

  you you put it in Big O in the top now I [TS]

  haven't gone on the topics page but I [TS]

  can look at these links yeah and you can [TS]

  guess I see the word Copeland about five [TS]

  or six times yeah and speaking of words [TS]

  that like you know you pronounce in your [TS]

  head it for a long time before you have [TS]

  to say them out loud so I read about [TS]

  this operating system for years and [TS]

  years in my in my youth and I always [TS]

  pronounced it in my head Copland comp [TS]

  which is not how you pronounce it [TS]

  because is named after the composer was [TS]

  it Aaron Aaron Copland so I'm working [TS]

  really hard in the past decade or so to [TS]

  say Copeland Copeland it's just a very [TS]

  with just a straightforward variable [TS]

  substitution you just need to run yeah [TS]

  it's working pretty well so far we'll [TS]

  see if I can get through this without [TS]

  slipping up so this is this is a great [TS]

  topic this is an awesome topic and let [TS]

  actually before we dive in because I [TS]

  have a feeling that you're going to [TS]

  you've got a lot to say about this one [TS]

  so before we start it let's do the first [TS]

  sponsor is that okay yeah all right so [TS]

  we want to thank Rackspace do you [TS]

  remember John back in February Rackspace [TS]

  asked if if listeners of this show and [TS]

  other shows had what it takes to be king [TS]

  of the apps you remember that contest [TS]

  king of the apps vaguely okay so a whole [TS]

  bunch of people took up the challenge [TS]

  and basically was to create an [TS]

  application on top of Rackspace cloud [TS]

  files didn't matter what your [TS]

  application was and they're going to [TS]

  give you $10,000 oh yeah now I remember [TS]

  okay did you apply did you do this I did [TS]

  not that would be conflict of interest [TS]

  I'd say go for it this time because it's [TS]

  as round too anyway they announced it [TS]

  snap appointments they were crowned king [TS]

  of the apps in at South by Southwest now [TS]

  round two you have to submit your app by [TS]

  May 2nd all you need to do is build an [TS]

  app that works on cloud files Rackspace [TS]

  cloud files it anything you can imagine [TS]

  as long as it uses that you could win [TS]

  10,000 bucks [TS]

  and the the winner will be announced [TS]

  dead Interop Las Vegas are you gonna be [TS]

  there not me no you're not going to as a [TS]

  representative no ok that's your choice [TS]

  so anyway you can find out all the [TS]

  details and find out how you could win [TS]

  $10,000 at Rackspace comm slash king of [TS]

  the apps and their slogan for this is [TS]

  showcase triumph defend I like that [TS]

  10,000 but what would you do with 10,000 [TS]

  bucks if you just built you wrote a [TS]

  little app and got 10 grand you know [TS]

  what I would do with it it's the most [TS]

  boring answer ever but it's true [TS]

  buy more TiVo's no it goes right into [TS]

  the kids college fund that's a good [TS]

  thing to do with it better than TiVo [TS]

  yeah boring though so Copeland was I'll [TS]

  close the Wikipedia page Copeland was a [TS]

  project at Apple computer to create an [TS]

  updated version of the Macintosh [TS]

  operating system was to have introduced [TS]

  protected memory pre-emptive [TS]

  multitasking and a number of new [TS]

  underlying operating system features yet [TS]

  still be compatible with existing Mac [TS]

  software you know this is not where I [TS]

  that's not how I start things though I [TS]

  know I always have to go back let's go [TS]

  back further but there's people who are [TS]

  going to say Copeland what do I care [TS]

  about Copeland for now at least I know [TS]

  you're talking about there's a lot of [TS]

  people that they dare their introduction [TS]

  even know what cup 1 to Mac OS 10 is [TS]

  10.2 a lot of people just got their [TS]

  first MacBook you know I know well so I [TS]

  mean it's so you don't want to take some [TS]

  back in now 1969 a Woodstock when you [TS]

  know was was you know tripping out and [TS]

  had an idea for something you know let [TS]

  give him a framework well I mean it's [TS]

  alright so we'll come back to Copeland [TS]

  but I'll start from this is a talk [TS]

  that's about a series of articles I [TS]

  wrote many years ago in 2005 and the [TS]

  tight [TS]

  the article series was avoiding copeland [TS]

  2010 and it was written in 2005 so the [TS]

  premise underlying this entire series of [TS]

  arc was his articles is article was like [TS]

  at a point it was trying to say you know [TS]

  to predict the future and warned about [TS]

  something that can happen right so the [TS]

  premise which i'm going to lay out now [TS]

  most people if you just give them the [TS]

  premise in isolation agree with and you [TS]

  know without even thinking about like [TS]

  it's obviously everybody knows that it's [TS]

  you know it's not worth even discussing [TS]

  though we don't need to be explicit [TS]

  about this premise we all agree but when [TS]

  i'm done and i start trying to use that [TS]

  premise to extrapolate and draw [TS]

  conclusions then people will come back [TS]

  and challenge the premise so we'll see [TS]

  if that happens with you here or any of [TS]

  the listeners so the premise is that [TS]

  abstraction increases over time in the [TS]

  computer industry you could take off the [TS]

  computer interesting qualifier just say [TS]

  abstract can increases over time period [TS]

  because it's sort of the basis of all [TS]

  human progress where it's systems built [TS]

  upon systems where someone figures after [TS]

  to do some small thing and then the next [TS]

  generation comes along and they figure [TS]

  out how to do something built on the [TS]

  previous system because i don't have to [TS]

  worry about that one it's been figured [TS]

  out so they could build something more [TS]

  complicated on top of it well in [TS]

  computers that has sort of played out [TS]

  very very quickly much more quickly than [TS]

  just like all of human history where [TS]

  computers just came into existence you [TS]

  know within a human lifetime or two and [TS]

  we've gone so far since then so I'm [TS]

  going to speak specifically about [TS]

  programming computers what do you have [TS]

  to do to tell a computer what to do and [TS]

  and this sort of briefly go through the [TS]

  progression that's made so in the [TS]

  beginning ignoring the phase where you [TS]

  had just toggle switches and people were [TS]

  just you know flipping switches on and [TS]

  off to enter binary in the beginning [TS]

  when you had program programmable [TS]

  computers people were programming with [TS]

  machine code which means you would enter [TS]

  basically just a series of ones and [TS]

  zeros that would the computer would [TS]

  interpret as instructions you know this [TS]

  this particular number means this [TS]

  instruction and the next number is an [TS]

  address in the next number is a value is [TS]

  so on and so forth that's how is it von [TS]

  Neumann machines am i pronouncing that [TS]

  correctly I think so you see there von [TS]

  Neumann or no I'm on I don't know why go [TS]

  with Norman let's go with Norman anyway [TS]

  it's the idea [TS]

  of you have a big set of memory that [TS]

  contains both your data and your [TS]

  instructions then you have a CPU that [TS]

  reads from the program from memory and [TS]

  excuse these instructions and back in [TS]

  the day when people made the first [TS]

  computers that's how you would program [TS]

  it you have to put in the numbers that [TS]

  the CPU would eat and perform the actual [TS]

  task now no one wants to just enter in [TS]

  long strings of binary or hexadecimal or [TS]

  anything numbers because it's ridiculous [TS]

  so the next phase was assembly code [TS]

  where they gave you symbolic [TS]

  representations of these numbers where [TS]

  the instruction for you know moving a [TS]

  value from one register to another we're [TS]

  just going to call that mov and you [TS]

  don't have to remember that access on [TS]

  the number four and then your addresses [TS]

  you just you make up names for them and [TS]

  then you prefer to those names in the [TS]

  program and then an assembler would come [TS]

  in later and take your text [TS]

  representation and say okay mov that's [TS]

  this instruction and you know this [TS]

  symbolic name you know ax okay that's [TS]

  the register this this is the value for [TS]

  that register and you made up this name [TS]

  for this new memory address so I'll [TS]

  substitute that memory address for the [TS]

  name um that was called assembly code [TS]

  and the assembler was the thing that [TS]

  turned it into a machine code and then [TS]

  the CPU executed the machine code so [TS]

  that's the first layer of abstraction [TS]

  where you didn't have to write the [TS]

  machine code you wrote in this thing it [TS]

  was little bit nicer humans then another [TS]

  program that someone wrote before you [TS]

  would come and turn it into machine code [TS]

  um but that was still stuck run on a [TS]

  single CPU because machine code only [TS]

  works on one particular CPU and assembly [TS]

  code turns into machine code that only [TS]

  works on one CPU so the next layer layer [TS]

  abstraction was portable languages where [TS]

  you could write a program and have it [TS]

  execute on different CPUs because your [TS]

  compiler can pilot for them the most [TS]

  popular one of those is C where you [TS]

  would write in the language C was called [TS]

  portable assembler is kind of a a [TS]

  derogatory term but basically you write [TS]

  and you write in a more abstract form [TS]

  that the compiler compiles into [TS]

  basically machine code sometimes passing [TS]

  through assembly on its way down for a [TS]

  particular CPU so the same C program you [TS]

  could compile for two different CPUs and [TS]

  executed on two different CPUs in a wood [TS]

  run but in the end it was like [TS]

  higher-level concepts or stuff that the [TS]

  machine would understand so I had this [TS]

  the concept of types where you know [TS]

  you'd have integer types and character [TS]

  types and stuff like that they're all [TS]

  end up being numbers behind the scenes [TS]

  but these types would add constraints to [TS]

  your program to make it make sure you're [TS]

  doing what you thought you were doing [TS]

  and you had much more complicated [TS]

  statements where you'd have a single [TS]

  line of code that would result in many [TS]

  many many lines of assembly many many [TS]

  many lines of machine code in the end [TS]

  but you didn't have to write all those [TS]

  lines it would figure it out for you and [TS]

  that phase lasted a long time where [TS]

  you're writing and see pascal those type [TS]

  of compiled languages there were various [TS]

  forms of you know portable assembly [TS]

  language where you'd write something [TS]

  that can run the many different [TS]

  architectures maybe that lasted until [TS]

  the nine user so that's that's a pretty [TS]

  long time we've gone from the first [TS]

  computer in the 60s all up the nineties [TS]

  and we haven't gotten that much farther [TS]

  along in abstraction but then around the [TS]

  late 80s early 90s a lot of the research [TS]

  progress to accept done this before but [TS]

  this was the first time that popular [TS]

  languages started being memory managed [TS]

  where they would move even farther away [TS]

  from assembly where they would basically [TS]

  write a little program called a virtual [TS]

  machine that would represent a computer [TS]

  didn't actually exist but that was much [TS]

  nicer to deal with than a CPU and then [TS]

  you would write programs to that virtual [TS]

  machine a virtual machine would compile [TS]

  those programs down to machine code in [TS]

  the machine code would execute on the [TS]

  actual CPU so one more layer up there [TS]

  the big the big difference and this is [TS]

  there was no more a need for the [TS]

  programmer to manage memory manually [TS]

  sometimes didn't have to deal with it at [TS]

  all they would just make variables they [TS]

  were pop into existence and disappear [TS]

  when they went out of scope you didn't [TS]

  have to worry about where the memory [TS]

  came from where I was going or who still [TS]

  had references to it the virtual machine [TS]

  would take care of that for you and with [TS]

  that came the the ability for you to not [TS]

  worry about accidentally writing over [TS]

  arbitrary memory so with all the old [TS]

  models since all this got turned into it [TS]

  eventually a memory address or whatever [TS]

  who if you ended up with a bad value [TS]

  when you do reference that it as an [TS]

  address then you just start scribbling [TS]

  wherever the heck you wanted in memory [TS]

  it was in your memory image anyway and [TS]

  that would cause your program to crash [TS]

  while the virtual machine once it said [TS]

  no we're not going to give you any any [TS]

  facility in the programming language to [TS]

  grab an address to memory based on some [TS]

  number and just start writing over it [TS]

  it's just you're not able to do that [TS]

  period of course the virtual machine [TS]

  itself was usually written in a language [TS]

  like C and eventually would take your [TS]

  program and convert it into machine code [TS]

  for the particular CPU that it's running [TS]

  on sometimes they would do that at [TS]

  runtime in fact and then [TS]

  execute so now we're like three layers [TS]

  up from maybe three or four layers up [TS]

  from the actual CPU and then around that [TS]

  same time maybe a little bit later the [TS]

  dynamic language started to become [TS]

  popular that that word really means [TS]

  nothing but what it really means is [TS]

  languages that are memory managed but [TS]

  have even fewer constraints than the [TS]

  memory manage languages like Java or C [TS]

  sharp or anything like that one of the [TS]

  things they threw away was that having [TS]

  to deal with types they said well it [TS]

  will just figure that out for use [TS]

  there's no like integer types or you [TS]

  know string types or anything you just [TS]

  have variables and we'll figure out what [TS]

  the type is for you we'll also figure [TS]

  out all the memory for you we'll build [TS]

  in some more nice stuff for you that [TS]

  everybody wants to do anyway like [TS]

  regular expressions and stuff like that [TS]

  and we'll make it so that a lot of these [TS]

  things compiled when you ran them so you [TS]

  didn't have to compile different [TS]

  executable and run the executable when [TS]

  you ran the thing it would compile it at [TS]

  that point and executed immediately [TS]

  and JavaScript is another example of [TS]

  this and so this has been a long long [TS]

  road from like for example from [TS]

  JavaScript to machine code because now [TS]

  think about a modern JavaScript engine [TS]

  in a web browser right so you've got [TS]

  this language that doesn't have anything [TS]

  to do with memory or pointers or [TS]

  anything like that and that gets [TS]

  compiled on to usually some sort of [TS]

  virtual machine in your browser which is [TS]

  itself written in the language like C or [TS]

  C++ which ends up being compiled and [TS]

  executing in machine code and sometimes [TS]

  even assembly on you know for the tight [TS]

  loops inside the JavaScript engines on [TS]

  your CPU so that's the big trail through [TS]

  what has happened to two programming [TS]

  languages over the years and how [TS]

  abstraction has increased over time I [TS]

  don't think people would disagree with [TS]

  that you say to people writing assembly [TS]

  today yeah some people still write in [TS]

  assembly sometimes like that guy who's [TS]

  writing the JavaScript engine for your [TS]

  browser sometimes it is some particular [TS]

  tight loop inside the virtual machine [TS]

  that runs JavaScript you wanted to be [TS]

  super fasty baby you do it and assembly [TS]

  you know but the vast majority people [TS]

  are not writing an assembly versus you [TS]

  know in the 60s and 70s you know you're [TS]

  writing an assembly if you were writing [TS]

  you know like the original Mac operating [TS]

  system for example is mostly written in [TS]

  assembly hard to believe but like the [TS]

  first GUI operating system which were [TS]

  thinking I'm a super modern everything [TS]

  is absolutely filled with assembly [TS]

  especially for the apartment [TS]

  whereas nowadays very very small parts [TS]

  of the operating system are in assembly [TS]

  just a few keys tiny parts and most of [TS]

  it or in a higher-level language and [TS]

  things like websites no one's writing [TS]

  websites and assembly you know no one's [TS]

  writing websites in C++ unless they're [TS]

  crazy [TS]

  I guess think there's one or two people [TS]

  out there still doing that but uh but [TS]

  the trend line is clear what are they [TS]

  teaching in in the universities these [TS]

  days what's the if you decide you want [TS]

  to do computer jobs man I mean it makes [TS]

  sense when I was when to date myself a [TS]

  lot here when I was in college its [TS]

  Pascal you know they were switching from [TS]

  modular to Pascal and and like one of [TS]

  the teachers was only doing Pascal and [TS]

  to stay I guess to keep kosher with the [TS]

  rest of the staff you could turn your [TS]

  assignments in in modular and he would [TS]

  allow that but only for the rest of the [TS]

  semester [TS]

  well computer as the saying goes [TS]

  computer science has about as much to do [TS]

  with computers as astronomy has to do [TS]

  with telescopes so a lot of the things [TS]

  they're using using and teaching are to [TS]

  teach you concepts of computer science [TS]

  which are more mathematical in nature [TS]

  and the fact that they have to use an [TS]

  actual language to teach you this is [TS]

  almost like it's a kind of a shame [TS]

  because they would rather just you know [TS]

  talk about it conceptually but I guess [TS]

  you got to write some sort of code that [TS]

  excuse I'm not teaching you to be a [TS]

  programmer as in as a trade they're [TS]

  trying to teach you [TS]

  concepts the concepts of computer [TS]

  science and the particular language they [TS]

  use to do that it's not important but [TS]

  within the industry that the trend line [TS]

  has been clear most working programmers [TS]

  are not working in assembly they're not [TS]

  working in machine code they're not even [TS]

  working and see like these days they're [TS]

  working in c-sharp Java you know took [TS]

  over a lot of the the bulk of the [TS]

  programming market when it came out I [TS]

  and lots of people now working in [TS]

  dynamic languages like Ruby JavaScript [TS]

  Python stuff like that what are you work [TS]

  in most days can you say that because I [TS]

  know you're soakin girl which will flip [TS]

  people out but believe it or not people [TS]

  still do that and I'll talk about my [TS]

  talk more about that at the end if I [TS]

  have time Wow [TS]

  so no we're going to make time for that [TS]

  yeah we can do a whole episode on that [TS]

  you know actually helps probably have [TS]

  some good rants about that um can you [TS]

  read your own Perl once you write it [TS]

  of course I can okay yes most most [TS]

  people can't it's not true all right [TS]

  so that that is the premise and you [TS]

  agree with it right but absolutely [TS]

  gotten more abstract absolutely and I [TS]

  think this is a trend that's going to [TS]

  reverse [TS]

  or level off or not continue I would say [TS]

  it's either going to it's interesting [TS]

  because you the choices you gave me are [TS]

  is it going to to level off reverse or [TS]

  not continue my I think it's going to [TS]

  continue I think it's going to maybe [TS]

  level off or continue keep continuing [TS]

  alright so finally getting back to this [TS]

  avoiding Copelan 2010 thing I'd be one [TS]

  more quick history oh my god so yeah I [TS]

  know I was tough so back in the 90s [TS]

  Apple found itself kind of behind [TS]

  technically Steve Jobs wasn't there at [TS]

  this point he'd been kicked out into [TS]

  85-86 the company made a lot of money [TS]

  and in the late 80s early 90s by [TS]

  charging a lot for its hardware but as a [TS]

  nineties started and Windows 95 was [TS]

  looming and stuff their operating system [TS]

  was behind and it was behind technically [TS]

  and the two big things that had missed [TS]

  if you were nerd in his period of time [TS]

  you knew what Mac the classic Mac OS was [TS]

  missing but the two big things that [TS]

  admit that didn't have our memory [TS]

  protection and pre-emptive multitasking [TS]

  and those were super super important [TS]

  because people were tired of their Mac's [TS]

  crashing memory protection is the thing [TS]

  that prevented one program from [TS]

  scribbling over the memory of another [TS]

  program or over the memory of the [TS]

  operating system and that was important [TS]

  because if you got a badly behaved [TS]

  application it would take out your whole [TS]

  Mac and you need to reboot and this was [TS]

  increasingly common situation no it's [TS]

  just fine but fine when you had 128k [TS]

  because what that can you do you got 128 [TS]

  k it's a miracle you can even get a GUI [TS]

  on the screen with 128 kilobytes of RAM [TS]

  an entire machine right but as the [TS]

  machines got bigger and faster it became [TS]

  unacceptable to have this limitation and [TS]

  the second one was pre-emptive [TS]

  multitasking pre-emptive multitasking [TS]

  allows the operating system to say all [TS]

  right program B you're done I'm going to [TS]

  let program a run for a little while now [TS]

  okay now you can run again program being [TS]

  back and forth the operating system [TS]

  could preempt you could say you know get [TS]

  off the cpu it's time it's someone [TS]

  else's turn Mac OS again when you had [TS]

  128 kilobytes of RAM you didn't expect [TS]

  pre-emptive multitasking they just had [TS]

  it's an amazingly get it to run at all [TS]

  but they have what we called cooperative [TS]

  multitasking which is kind of like the [TS]

  Patriot Act's one of those nice names [TS]

  who doesn't like to cooperate [TS]

  cooperative multitasking isn't that the [TS]

  kinder and gentler kind of no it's not [TS]

  good because what it means is that if a [TS]

  process gets the CPU it can only give [TS]

  voluntary [TS]

  gives the CPU up to another process [TS]

  which meant that any process could hog [TS]

  the entire CPU and no one else get any [TS]

  time and programs are notoriously bad [TS]

  about deciding that they don't need the [TS]

  CPU anymore because that you're you're [TS]

  relying on them to share to say oh you [TS]

  know that everyone should behave when [TS]

  you don't need to CPU give it up and [TS]

  like do I need to see for you well and I [TS]

  might need it I really want to give it [TS]

  up right now let me just have one more [TS]

  loop and check for events okay and I'll [TS]

  give it up in a second you know it was a [TS]

  bad situation that wasted the resources [TS]

  that you had there so programs would hog [TS]

  the CPU just in case they needed it or [TS]

  being some sort of busy loop burning [TS]

  through CPU cycles do they thought they [TS]

  were the only one running and other [TS]

  programs were out there starving because [TS]

  they're not being given cycles anymore [TS]

  alright so by the 90s it was clear that [TS]

  you needed this stuff you didn't have [TS]

  this stuff you started to look like [TS]

  creaky old crappy technology and for [TS]

  reference or people who don't know every [TS]

  single modern operating system anywhere [TS]

  probably on wristwatches today has both [TS]

  of these speech they're super important [TS]

  but back then the Mac didn't have them [TS]

  and and so Apple's trying to figure out [TS]

  how do we get these we know we need to [TS]

  have these and like every year that [TS]

  passes it's getting more and more [TS]

  embarrassing that we don't have them [TS]

  every time someone has to reboot their [TS]

  Mac and we get those little chimes going [TS]

  off during in the office and people are [TS]

  complaining because things are freezing [TS]

  you know we got to do this so they tried [TS]

  like seven different plans about how [TS]

  we're gonna get these things to our [TS]

  operating system so the problem is to [TS]

  add them you didn't want to like make it [TS]

  so none of your existing apps worked [TS]

  anymore [TS]

  you can't like here's a brand new [TS]

  operating system and none year old apps [TS]

  work but hey guys you'll you'll come [TS]

  onboard right we won't lose any [TS]

  customers because of this now that was a [TS]

  bad scene they needed to bring existing [TS]

  customers along and make sure their apps [TS]

  still ran otherwise it's like you're [TS]

  starting a whole new company from [TS]

  scratch and just leaving your old [TS]

  customers behind that that was not going [TS]

  to fly but retrofitting can we take [TS]

  existing Mac operating system and add [TS]

  these features well the problem was [TS]

  every single existing iMac application [TS]

  including the operating system itself [TS]

  expected to be able to read any memory [TS]

  wanted and they were all you know in one [TS]

  big giant stoop together they expected [TS]

  to be able to hog the CPU they just you [TS]

  know they ran in this type of [TS]

  environment and if you change the [TS]

  environment on them every single app [TS]

  would break so how do we let these guys [TS]

  think that they can actually scribble [TS]

  all over memory and read memory from [TS]

  other applications one of my favorite [TS]

  classic Mac applications was uh so if I [TS]

  had a document or so [TS]

  that I was editing and accidentally [TS]

  closed the window without saving there [TS]

  was an application that would search [TS]

  through all memory in the entire machine [TS]

  for uh you know a string or something [TS]

  and so if I accidentally closed a [TS]

  program or something and I wanted text [TS]

  back that was in that I could use this [TS]

  thing to sort of scram really all memory [TS]

  in the entire machine and find the [TS]

  document that was previously in memory [TS]

  because those pages still hadn't been [TS]

  overwritten well and this was not a [TS]

  special privilege program this is a [TS]

  program that any person can run so [TS]

  really memory was just an open green [TS]

  field that any any person any program [TS]

  any anything could just go rummaging [TS]

  through and this is what applications [TS]

  expected and some of them actually took [TS]

  advantage of it so you couldn't just [TS]

  apply these strictures because literally [TS]

  every single program would break and so [TS]

  they had many failed efforts to try to [TS]

  do this that this talent effort with IBM [TS]

  like let's make a brand-new operating [TS]

  system will partner with IBM and it'll [TS]

  be so awesome people won't care they'll [TS]

  jump ship from the Mac and leave all [TS]

  their all the apps behinds and come with [TS]

  us the Copeland project we just talked [TS]

  about which is like well we'll make a [TS]

  new operating system that kind of like [TS]

  the old one and we'll try to get most of [TS]

  the benefits of memory protection [TS]

  programs email - but will have the other [TS]

  mode where the old apps can run in the [TS]

  old apps will still be able to crash the [TS]

  whole operating system because they have [TS]

  to be able to because they need to see a [TS]

  whole memory but we the new apps [TS]

  wouldn't and we try to gradually bring [TS]

  people over to the new apps they never [TS]

  shipped that it didn't work out it was a [TS]

  big mess and at the point where they [TS]

  were killing that project or it's like [TS]

  look we spent all these years on this [TS]

  thing it's still not panning out they're [TS]

  like fine we just had to buy something [TS]

  we gotta like we got to find something [TS]

  out there and buy it so they look they [TS]

  were gonna buy a company being [TS]

  cooperated just started by an X Apple [TS]

  guy because they had this great new [TS]

  operating system that was if you ran B [TS]

  OS on on the existing Apple Harbor the [TS]

  day would make the Apple hardware look [TS]

  amazingly fast you're like yeah that's [TS]

  like their operating system already runs [TS]

  on our hardware and it's way faster than [TS]

  ours and it's way cooler and it's got a [TS]

  lot of buzz let's buy them but they [TS]

  wanted like six hundred million dollars [TS]

  and Apple didn't want to pay it they [TS]

  looked everywhere they considered [TS]

  licensing the Windows NT kernel I think [TS]

  one of the history books that I read on [TS]

  this was talking about talking to the [TS]

  executives who were at Apple the time [TS]

  can you imagine that that was that was [TS]

  one of Apple's plans and it wasn't just [TS]

  like an outlier that was like of the top [TS]

  three choices that was up there like [TS]

  let's license the Windows NT kernel from [TS]

  Microsoft and use that as a next [TS]

  generation hopping system and who knows [TS]

  maybe we'll be able to run Windows apps [TS]

  to that [TS]

  could be a benefit for a company right [TS]

  in the end we know what they actually [TS]

  did they ended up buying a next and [TS]

  Steve Jobs and the rest is history they [TS]

  got you know two great things there but [TS]

  the reason I bring this up is I'm going [TS]

  to compare it to what Microsoft did [TS]

  Microsoft had the same exact problem [TS]

  because they had a crappy operating [TS]

  system with you know they even worse [TS]

  problems I had segmented memory and all [TS]

  sorts of crazy x86 Intel stuff to deal [TS]

  with and their programs expected to be [TS]

  able to read all over the place too so [TS]

  but what they did is they had a plan [TS]

  that was a long long multi-year plan and [TS]

  they executed on it much better than [TS]

  Apple they didn't go in 20 different [TS]

  directions they went in one direction [TS]

  and did it slowly so they introduced [TS]

  Windows NT in like 1993 and it wasn't a [TS]

  replacement for the existing Windows it [TS]

  was this other thing that was like it [TS]

  was a modern OS it had lost all those [TS]

  modern features that you expected to [TS]

  have and it had a backward compatibility [TS]

  layer actually had a layer where you can [TS]

  run POSIX programs order like UNIX [TS]

  programs it had a layer where you can [TS]

  run os/2 programs because I hear os/2 is [TS]

  the next big thing and IBM is backing [TS]

  even there they're a giant in the [TS]

  industry and you could run win32 and win [TS]

  16 programs on it - and what was nice [TS]

  about this was that it they never gave [TS]

  you this promise that everything was [TS]

  going to work perfectly because it was a [TS]

  different operating system and it was [TS]

  intended for different audiences a whole [TS]

  different user base was going to be [TS]

  using NT so they weren't it wasn't like [TS]

  the consumer operating system released [TS]

  going from you know 95 to 98 ME or [TS]

  whatever they could do things they could [TS]

  afford to do things a little bit [TS]

  differently yeah so for example the the [TS]

  hardware requirements of NT were way [TS]

  higher than the consumer OS and and it [TS]

  was slower and it would run most your [TS]

  apps slower if you had legacy apps and [TS]

  it was just this big complicated bloated [TS]

  enterprise-e thing that they were not [TS]

  selling to the average pcs were not [TS]

  shipping with Windows NT U in them but [TS]

  it slowly started to filter its way into [TS]

  corporations for like servers another [TS]

  serious Hardware right but this was [TS]

  important because it gave Microsoft's [TS]

  next-generation operating system a place [TS]

  to grow up a place to say alright this [TS]

  is gonna be a little bit creepy and [TS]

  weird at first and it might be bugging [TS]

  we can't quite figure it out and it's [TS]

  got these really high hardware [TS]

  requirements and it's slow and [TS]

  everything but you know enterprise [TS]

  developers enterprise customers can deal [TS]

  with that and they have servers they're [TS]

  going to spend the money on good [TS]

  hardware anyway so you know they figured [TS]

  let's let's let's go with this and let [TS]

  it sort of grow there someone when the [TS]

  chat rooms bring up the whole os/2 thing [TS]

  with IBM and how Windows [TS]

  he was a sort of betrayal of that plan [TS]

  this I don't want to get too far into [TS]

  the history there's a lot of intrigue [TS]

  involving this but I said we're just [TS]

  going to pick them up the horses that we [TS]

  know eventually won so what happened is [TS]

  that Windows NT grew in that little [TS]

  protected environment of the enterprise [TS]

  through several versions and eventually [TS]

  when the time was right [TS]

  Microsoft did the big switcheroo and [TS]

  they said okay our next version of [TS]

  Windows you know the one that comes on [TS]

  your PC that you buy in the store that [TS]

  the kind of windows our next version of [TS]

  real Windows is going to have windows NT [TS]

  at the core and Windows 2000 was the [TS]

  first one to do that it was still kind [TS]

  of like a corporate type operating [TS]

  system but home users were running [TS]

  Windows 2000 eventually where you buy a [TS]

  PC and it would say hey this comes with [TS]

  the great new Windows 2000 and by that [TS]

  point they had wrung out most of the [TS]

  issues in terms of 132 and 116 [TS]

  compatibility and stuff like that and [TS]

  most applications had been updated to be [TS]

  you know when NT savvy or whatever you [TS]

  want to call it so it was it was time [TS]

  for the transition and Windows XP was [TS]

  the the Big Bang where like even if you [TS]

  had an upgraded Windows 2000 by the time [TS]

  XP came along which was also based in [TS]

  the Windows NT core everybody had [TS]

  Windows XP in fact it's probably still [TS]

  on your PC right now if you didn't [TS]

  upgrade to Windows 7 because nobody used [TS]

  Vista so that was their transition [TS]

  strategy was very different than apples [TS]

  it was a really long term plan where [TS]

  they had this thing on the back burner [TS]

  for a long time but it took them that [TS]

  long to get you know the issues sorted [TS]

  out now [TS]

  I bring this up because this this [TS]

  struggle to modernize that Mac operating [TS]

  system almost killed Apple it almost [TS]

  killed the entire company there are many [TS]

  things that almost killed it you know in [TS]

  terms of pricing and hardware and just [TS]

  bad lack of leadership and too many [TS]

  products and stuff like that but the [TS]

  technical issues especially for a [TS]

  computer company I would say are at [TS]

  least 50% of what almost killed Apple [TS]

  they did not have a competitive product [TS]

  and they didn't know how to fix it and [TS]

  the markets saw that and saw that them [TS]

  saw them drowning and waving their hands [TS]

  in the air and saying we have a [TS]

  technical problem we are not competent [TS]

  to fix it it every year announced a new [TS]

  plan and then we canceled the plan then [TS]

  we try another plan and we canceled that [TS]

  one and investors don't like that and [TS]

  investors tanked that the stock everyone [TS]

  else at Apple I think they're going [TS]

  under I mean even if you didn't know why [TS]

  even if you didn't know anything about [TS]

  Apple doesn't have memory protection and [TS]

  pre-emptive multitasking you knew they [TS]

  were flailing you knew they were trying [TS]

  to look for some next generation thing [TS]

  to do and they were not figuring it out [TS]

  and you know they almost died the only [TS]

  thing that saved them was getting that [TS]

  that trio of things a jobs next in [TS]

  Moore's law because I got the man job [TS]

  who's going to be their leader for the [TS]

  future they got a software our UNIX you [TS]

  know the next base the operating system [TS]

  which would have UNIX underneath it and [TS]

  all what modern stuff in it and they got [TS]

  the hardware to run at all Moore's law [TS]

  eventually made max fast enough where [TS]

  they could take that UNIX operating [TS]

  system and run it on their hardware with [TS]

  these you know the blue blocks for [TS]

  backward compatibility with Mac [TS]

  applications and you finally have enough [TS]

  RAM to do all that stuff these are [TS]

  solutions that maybe weren't feasible in [TS]

  the early days but became feasible when [TS]

  the harbor caught up with it and then in [TS]

  the end you know Mac OS 10 10.0 was slow [TS]

  as molasses anyway and still was a tough [TS]

  sell if it wasn't for jobs you know [TS]

  pressing it and saying well you know [TS]

  this Mac OS 10 thing is pretty crappy [TS]

  but look shiny and Steve Jobs is pretty [TS]

  cool you know took years to get that up [TS]

  speed but this crisis did almost kill [TS]

  the company now the point of the [TS]

  avoiding Copeland 2010 article was is [TS]

  there another crisis like this this [TS]

  Copeland crisis I called the k√∂ppen [TS]

  crisis because Copeland was the you know [TS]

  the most well known project that was [TS]

  going to save apple from its crappy [TS]

  operating system and it's the one that [TS]

  cratered right so is there some sort of [TS]

  crisis like this looming in Apple's [TS]

  future now the new apples on its feet [TS]

  it's got Mac OS 10 everything settled [TS]

  doesn't have to worry about that [TS]

  pre-emptive multitasking memory [TS]

  protection stuff anymore it's it's got [TS]

  all these other you know great things [TS]

  going on but is there another crisis [TS]

  like this a technical crisis in Apple's [TS]

  future that that they have to worry [TS]

  about and my conclusion in the article [TS]

  was that yes there is a problem like [TS]

  that lurking out in Apple's future and [TS]

  it's a type of problem where just like [TS]

  the operating system problem it doesn't [TS]

  seem to be a good solution for and the [TS]

  problem is that what Apple lacks now [TS]

  that they will eventually need is a [TS]

  memory managed language and API for [TS]

  programming Mac applications because as [TS]

  we all know Mac applications today are [TS]

  written Objective C which is a C based [TS]

  language which uses pointers and all [TS]

  that good stuff and the API is built for [TS]

  Objective C and it links to a lot of C [TS]

  libraries and your programming and C [TS]

  basically and the reason I think this is [TS]

  a problem is because like we just went [TS]

  through the abstraction of programming [TS]

  languages increases over time and I [TS]

  don't think that's going to stop I don't [TS]

  think that's ever going to stop and so [TS]

  you're in a situation where Apple is [TS]

  using a C based language but everybody [TS]

  else on the desktop platforms is not [TS]

  everybody else too [TS]

  because some you know took a look at [TS]

  what they had and executed on a plan to [TS]

  change so you had Java which sort of [TS]

  came out of nowhere for set-top boxes [TS]

  and took over the entire enterprise [TS]

  software industry that was you know hey [TS]

  everybody stop programming C++ with [TS]

  pointers start programming job and no [TS]

  pointers right and that just swept [TS]

  through like crazy and you had Microsoft [TS]

  which again [TS]

  to to its credit had a multi-year really [TS]

  complicated plan to to get away from [TS]

  what they were programming which was C [TS]

  and C++ they came up with this common [TS]

  language runtime which was like a [TS]

  virtual machine that sort of learned [TS]

  from the mistakes of the Java Virtual [TS]

  Machine or if you want to be less [TS]

  charitable copy the Java Virtual Machine [TS]

  and made a few tweaks here in there and [TS]

  change the letters but either way I [TS]

  think they learn from mistakes of the [TS]

  JVM and did something better than they [TS]

  did c-sharp which again if you want to [TS]

  be unkind say it's just a bad clone of [TS]

  Java but they took what Java had done [TS]

  learned from Javas mistakes made a new [TS]

  language called C sharp that looked a [TS]

  little more like C and had its own [TS]

  unique features and then they revised [TS]

  like crazy they made C sharp they [TS]

  version the language and just kept [TS]

  coming out with new versions of XI sharp [TS]

  that were better and better and had more [TS]

  and more features tutor try to make them [TS]

  you know more palatable to programmers [TS]

  and c-sharp ran on the common language [TS]

  runtime and then finally they have a [TS]

  dotnet api's which were a new set of API [TS]

  is not the old one 32 80s but a brand [TS]

  new set of API is tailored for a modern [TS]

  memory managed language to run on a [TS]

  common language runtime that was going [TS]

  to replace you know every part of their [TS]

  old thing their old c c++ base 132 win [TS]

  16 MFC all those things were going to [TS]

  replace relays not net api's and this [TS]

  this process has tooken has taken many [TS]

  many many years and tons of Rd and lots [TS]

  of money and lots of really smart people [TS]

  because you can't just flip a switch and [TS]

  get this stuff like they invented a [TS]

  virtual machine a language and a new API [TS]

  for their platform and they're still [TS]

  doing it they're still in the process of [TS]

  trying to transition people away from [TS]

  1:32 and stuff like that so it you know [TS]

  it's not like you can't just start this [TS]

  and then be done within a year this this [TS]

  initiative from Microsoft is taking [TS]

  about five years seven ten it's a long [TS]

  time this point they're still not done [TS]

  with it so what I was looking for is how [TS]

  is Apple going to match this because [TS]

  they're still back on a sea-based [TS]

  language and as far as I knew at the [TS]

  time in 2005 they didn't have a plan to [TS]

  say here's how we're going to move away [TS]

  from objective-c [TS]

  you know here's our next language in [TS]

  runtime so in back in 2005 I considered [TS]

  the alternatives [TS]

  so what are the possibilities what can [TS]

  they do one of the possibilities is all [TS]

  right so pick one of those other [TS]

  languages pick Java or C sharp or some [TS]

  well you know there's plenty of [TS]

  languages out there that are memory [TS]

  manage languages why don't you just use [TS]

  one of those you don't need to invent [TS]

  your own language even back then it was [TS]

  kind of clear to me that Apple really [TS]

  was not into using some depending on [TS]

  someone for something that important [TS]

  this was even before it was this before [TS]

  Safari I don't know but it is before [TS]

  Apple had decided not to use GCC anymore [TS]

  and it wanted its own compiler before [TS]

  Apple didn't want flash on its platform [TS]

  you know before all of these things it [TS]

  was already clear that Apple did not [TS]

  want to be dependent on someone else [TS]

  they wouldn't want to pick Java for [TS]

  example because now like you're holding [TS]

  to Sun and I sure as hell would want to [TS]

  pick c-sharp because now you're [TS]

  beholding the Microsoft report that one [TS]

  range you know and maybe they could do [TS]

  an embrace and extend where they just [TS]

  take Java or C sharp and extend it and [TS]

  give it a new name and just start [TS]

  developing on their own but Apple the [TS]

  apple of 2005 was not yet ready to do [TS]

  that type of thing like where they just [TS]

  said great that's an open source thing [TS]

  or that's an open standard we're just [TS]

  going to take that and you know rename [TS]

  it call it you know Apple something or [TS]

  other and just go off in our own [TS]

  direction and we will take full [TS]

  responsibility for development of it [TS]

  the other possibility I thought of was a [TS]

  objective-c with garbage collection at [TS]

  that point garbage collection was [TS]

  clearly telegraphed as something Apple [TS]

  was looking into it right I kind of [TS]

  rejected that one as well just because [TS]

  garbage collection means you don't have [TS]

  to deal with manual memory management [TS]

  but it still means that when you're [TS]

  programming you're like one bad pointer [TS]

  dereference away from scribbling all [TS]

  over memory like it doesn't change the [TS]

  nature of the language it just makes it [TS]

  so you probably don't have to deal with [TS]

  the memory management yourself but [TS]

  you're still like down there at the Bell [TS]

  net bare metal and you're still writing [TS]

  and portable assembly and you still have [TS]

  all those things that make CC you know [TS]

  you've got all that the casting and [TS]

  there's the node that to their type [TS]

  system and there's no native strings in [TS]

  the native collection classes it's [TS]

  portable assembly and garbage collection [TS]

  doesn't change that about the language [TS]

  and the final thing was bridges so you [TS]

  had things where you could take some [TS]

  other higher-level language and Bridget [TS]

  to objective-c so spy Objective C Ruby [TS]

  cocoa JRuby yeah [TS]

  camel bones no one knows what camel [TS]

  bones that was a pearl bridge to gogo I [TS]

  think slowly but there [TS]

  bridges all it's not like I mentioned [TS]

  Jerry that's that's one of the big ones [TS]

  now and they're actually in some cases [TS]

  getting better performance out of the [TS]

  bridges than they are but do use bridges [TS]

  well so here's what I say about bridges [TS]

  or what I said back then in my opinion [TS]

  really hasn't changed I even if you are [TS]

  writing in a higher-level language the [TS]

  API that you're writing to is still [TS]

  built for a lower-level language so you [TS]

  spend a lot of time building up [TS]

  structures that make absolutely no sense [TS]

  in the higher-level language just to [TS]

  appease the API that was written for the [TS]

  lower-level language and and you're not [TS]

  using any of the unique features of the [TS]

  higher-level language you know what I [TS]

  mean [TS]

  where if your high-level language [TS]

  supports you know arbitrary collections [TS]

  of stuff because it's got a native array [TS]

  class or it's got you know a native [TS]

  associative array structure you're still [TS]

  building NS dictionaries to pass down to [TS]

  some function or whatever which is [TS]

  ridiculous because that's all its entire [TS]

  other layer of abstraction that you [TS]

  don't need because I look I've already [TS]

  got I've already got something that's [TS]

  like a dictionary it's part of my [TS]

  language why are you making me build [TS]

  this object to pet all it's because your [TS]

  API is written for Objective C not for [TS]

  my thing um [TS]

  and the unique features of the language [TS]

  like the most least high level languages [TS]

  have support for closures and especially [TS]

  in a time of you before blocks or [TS]

  whatever it's like well can I pass you a [TS]

  closure and you can oh no none of our [TS]

  api's will ever expect expect to be [TS]

  passed the closure because we don't have [TS]

  closures because you're writing [TS]

  something that's written in Objective C [TS]

  and I don't care if you have a closure [TS]

  and you know Ruby or Python or something [TS]

  like this we're not going to take your [TS]

  lamb doesn't do anything with them [TS]

  because we have no idea what they are so [TS]

  even though you're using a high-level [TS]

  language you're not using a higher-level [TS]

  language and the final thing is that [TS]

  it's not perceived as native you know [TS]

  writing programs in this you're just not [TS]

  writing to the native API so you'd [TS]

  always have these people like oh that's [TS]

  fine and good you want to write your [TS]

  thing in PI Objective C but I'm writing [TS]

  in the native language of the of the [TS]

  platform and online will always be [TS]

  better and faster now you know even if [TS]

  you win some minor benchmarks I'm [TS]

  writing real live native cocoa [TS]

  applications and you're using a bridge [TS]

  so it's got that stigma attached to it [TS]

  Copland yes so you want to sponsor [TS]

  before yeah yeah yeah because here are [TS]

  you ready to get to the meat of this yes [TS]

  finally it's only been you know an hour [TS]

  I try to go as fast as I can all right [TS]

  all right so we'd also like to thank [TS]

  Shopify dot-com now we've sold the [TS]

  t-shirts for 5x5 but there's a whole lot [TS]

  more that you can sell [TS]

  Shopify we barely scratched the surface [TS]

  of what it can do it's it's really the [TS]

  absolute best way to sell anything [TS]

  online it's got a super clean design [TS]

  makes setting up the store incredibly [TS]

  easy every single store from from square [TS]

  one no matter what level what plan [TS]

  you're on they all come with beautiful [TS]

  themes to choose from or you can design [TS]

  your own 100% customizable you want to [TS]

  use your own HTML and CSS and make it [TS]

  look exactly like the rest of your site [TS]

  you can do that or you can pick one of [TS]

  their designs and spend zero time and [TS]

  their designs are pretty awesome there's [TS]

  a 30 day free trial which is nice but if [TS]

  you use the code five by five you'll get [TS]

  three months for free [TS]

  that's pretty nice so anyway these guys [TS]

  are the absolute best and people say oh [TS]

  well that's great if you want to sell [TS]

  t-shirts you want to sell physical goods [TS]

  and things like that but I just want to [TS]

  do electronic stuff I want to sell [TS]

  licenses or I want to sell you know [TS]

  something that's a purely digital well [TS]

  they can do that there there are plugins [TS]

  there are add-ons there are features for [TS]

  this and you can even write your own if [TS]

  you're if you are a software developer [TS]

  you can write your own add-on some [TS]

  plugins and fully-integrated customize [TS]

  it do whatever you want to do see a [TS]

  really great stuff so shopping minutes [TS]

  of business for life check them out [TS]

  Shopify com use code 5x5 three months [TS]

  for free check out fig here's what I [TS]

  would do John I would say if you don't [TS]

  have something that you think of that [TS]

  you want to sell today go sign up and by [TS]

  the time you're through the sign up [TS]

  you'll be building a store and you'll [TS]

  just figure it out you'll figure out [TS]

  something to sell love these guys there [TS]

  did you unplug and replug I did okay I [TS]

  always do my new system so it seems like [TS]

  finally we can talk about the topic of [TS]

  the show well that was part of it was [TS]

  the warning that there was this this [TS]

  this Coplin like crisis looming and that [TS]

  I didn't feel in 2005 that Apple had any [TS]

  answer to it like what the heck were [TS]

  they going to do right um so I had that [TS]

  when I had to think of a title for that [TS]

  series it was it was going to be [TS]

  avoiding Copeland and then I was going [TS]

  to put in a year which was going to say [TS]

  like avoiding a Copeland like situation [TS]

  coming in the year X [TS]

  and this was 2005 and 2007 it was a [TS]

  round number you know because of the [TS]

  arthur c clarke angle and everything [TS]

  like that in part two of the series I [TS]

  actually said that I thought 2010 was a [TS]

  bit early but I didn't want to use a [TS]

  date that was really far off in the [TS]

  future because people brains just switch [TS]

  off when you when you hear really [TS]

  distant dates like if I called it [TS]

  avoiding Copeland 2010 or 2020 or [TS]

  something through like 2020 that's so [TS]

  far away who cares about that you know I [TS]

  had to use a year that was close enough [TS]

  that people felt people felt that it was [TS]

  a pressing issue so I couldn't pick [TS]

  something really far away all right but [TS]

  so 2010 rolls around and I thought it [TS]

  was time for me to revisit the topic [TS]

  because I wrote this series of articles [TS]

  that was warning about something bad [TS]

  that was going to happen I use 2010 in [TS]

  the title and here we are in 2010 so how [TS]

  did it turn out it's time so I hold [TS]

  myself accountable for these you know [TS]

  these dire predictions about horrible [TS]

  things so so what happened well here's I [TS]

  started out that what happened the [TS]

  article which is in the show notes with [TS]

  recapping the assumptions from the [TS]

  original series and the assumptions were [TS]

  just three of them one that fully [TS]

  automatic memory management will [TS]

  eventually be an expected feature of [TS]

  desktop application development that [TS]

  like this is something that everyone [TS]

  just can expect to have when they're [TS]

  writing desktop apps too is that the [TS]

  rest of the energy will have that will [TS]

  have this by 2010 ever the rest of you [TS]

  industry will have memory management API [TS]

  is in fully automatic memory management [TS]

  in their in their development [TS]

  environment and the third one was that [TS]

  existing technologies in 2005 and any [TS]

  sort of obvious evolutions of them [TS]

  didn't fit the bill for what Apple [TS]

  needed to fix their problem so those are [TS]

  my three premises ok so here's what [TS]

  happened first premise that that [TS]

  everyone is going to have automatic [TS]

  memory management for the desktop OS [TS]

  applications I think that's pretty much [TS]

  panned out there's not too many [TS]

  platforms it's just Windows and Apple [TS]

  and a couple other esoteric things but [TS]

  for the most part yet if you ask [TS]

  Microsoft I'm going to write a Windows [TS]

  application what should I write with [TS]

  they're going to say you see sharp [TS]

  Usenet use our new API use a new memory [TS]

  manage language that's how you write one [TS]

  to other applications so that that one [TS]

  panned out I and you know and I think [TS]

  it's in a kind of an expected feature [TS]

  like you're writing an application [TS]

  that's kind of what you expect I think [TS]

  when when developers new to iOS come [TS]

  along and they realize this in this [TS]

  funky language like objective-c I'll try [TS]

  that out and they realize [TS]

  they got a retaining release their own [TS]

  memory a lot of them are like huh you [TS]

  know I'm coming off years as a Java [TS]

  developer or whatever and this is kind [TS]

  of like going backwards to me but [TS]

  whatever you know I'll keep going you [TS]

  know developer iOS because that's where [TS]

  the money is or whatever but I think [TS]

  that expectation is in there for most [TS]

  developers who have who have lived [TS]

  elsewhere who have not been in the Apple [TS]

  camp forever and just accepted as the [TS]

  way it is is that if you're writing a [TS]

  GUI application at this point in time [TS]

  people just don't expect to be having to [TS]

  deal with with memory manually they just [TS]

  you know and I think Java is the big one [TS]

  to change that because so many [TS]

  developers use Java for so long and it [TS]

  really just got everybody out of the C++ [TS]

  thing and the only people using C were [TS]

  like device driver writers and stuff and [TS]

  then the final thing was that there were [TS]

  no existing technologies that Apple [TS]

  could sort of latch on to to get them [TS]

  out of their rut and I don't know if [TS]

  there were or not but the bottom line is [TS]

  that here we are in 2010 and when you [TS]

  want to write a Mac OS 10 application [TS]

  Apple says use Objective C and Objective [TS]

  C is still objective-c and they've [TS]

  enhanced it in many ways but it's still [TS]

  C based language it's still sort of the [TS]

  same as it ever was in terms of you know [TS]

  memory safety and the API that's that's [TS]

  tailored to it but the important thing [TS]

  that happened that it was not accounted [TS]

  for in 2005 series is a little thing [TS]

  called the iPhone in iOS [TS]

  mmm 2005 maybe that was a glimmer in [TS]

  somebody's eye and I remember I'm uh [TS]

  back at an old job we used to have a [TS]

  whiteboard where we were predict what [TS]

  was going to be announced at witc or mac [TS]

  world where we'd all put our predictions [TS]

  then we get points for you know who got [TS]

  what right and I was writing iPhone on [TS]

  that board for years before you know [TS]

  years before Apple had a phone or even [TS]

  talked about a phone or whatever I just [TS]

  wrote the word iPhone on there and every [TS]

  year was disappoint that there for years [TS]

  like nope no iPhone this year you know [TS]

  then they came out with it and I [TS]

  actually called it iPhone which was [TS]

  something that nobody expected I thought [TS]

  was just that placeholder but but back [TS]

  then no one was thinking about that so [TS]

  now iOS came along and mobile [TS]

  development developing for these little [TS]

  tiny dinky things has sort of pushed [TS]

  back the the urgency of this problem [TS]

  because basically the hardware regressed [TS]

  now we have these amazing Mac's now that [TS]

  are just ridiculously fast enough huge [TS]

  amounts of memory but people are writing [TS]

  applications for iOS devices which have [TS]

  a fraction of the memory in a tiny [TS]

  fraction of the CPU power and [TS]

  fraction of the CPU power and [TS]

  you know you know the they don't want to [TS]

  use all the CPU carbs that burns your [TS]

  battery too much you know so you can't [TS]

  like flash for example if a flash ran [TS]

  fast enough on a desktop or on an iOS [TS]

  device but like I find it runs fast [TS]

  enough but if it burns your battery down [TS]

  you're like no no stop running I don't [TS]

  care that you run fast enough you I [TS]

  don't want flash on this device because [TS]

  it burns my battery down so there's all [TS]

  these new constraints that make it so [TS]

  that all the advantages of objective-c [TS]

  which people in a chat room I'm sure [TS]

  then talking about while we've been [TS]

  chatting here all the advantages of [TS]

  objective-c are suddenly given a new [TS]

  lease on life Objective C is faster than [TS]

  these virtual machine-based language is [TS]

  closer to the metal there's less [TS]

  overhead there's no virtual machine [TS]

  running in the background you can you [TS]

  can you know manage your memory manually [TS]

  down to the byte so you you know you're [TS]

  using exactly what you want and all of [TS]

  these advantages which became much less [TS]

  important on a Mac with 4 gigabytes of [TS]

  RAM and a 3 gigahertz 8 core CPU [TS]

  suddenly become really important on a [TS]

  tiny little iOS device with in the [TS]

  beginning was it a 128 megabytes ram 512 [TS]

  megabytes some religious as well but to [TS]

  the original the original iPhone I think [TS]

  the original iPhone was 128 128 no [TS]

  kidding something like that I don't know [TS]

  what Kapiti would know but and then so [TS]

  the CPU is like less than a gigahertz [TS]

  dinky little in order or cores that just [TS]

  you know have no cpu power compared to [TS]

  what was available on a desktop and so [TS]

  that was like hey you know we're using [TS]

  reusing objective-c and guess what it's [TS]

  awesome that's why we're faster than [TS]

  everybody that's why we're bettering and [TS]

  if we had changed your memory manage [TS]

  language there's no way we'd be getting [TS]

  like c-sharp or net on here and even [TS]

  Android trying to bring Java onto it [TS]

  like well we're gonna have a native SDK [TS]

  too if you want to do games and stuff [TS]

  because we know those are too slow and [TS]

  Java so suddenly this this thing it was [TS]

  a problem for Apple it's got a new lease [TS]

  on life hey you know everyone's happy [TS]

  again don't worry about it guys you know [TS]

  we the subject you see turned out to be [TS]

  great move didn't it well I don't think [TS]

  I don't think that was a strategy I [TS]

  think they had no alternative but what [TS]

  you know what I'm going to say is I [TS]

  that's that's all well and good but [TS]

  they're kind of back in the same [TS]

  situation they or maybe they reset the [TS]

  clock a little bit but that trend line [TS]

  of more abstraction over time is not [TS]

  going away even though there's a little [TS]

  bump in the road here that trend line [TS]

  keeps going and at this point they're [TS]

  kind of in the same situation on the [TS]

  mobile platform because don't all the [TS]

  other mobile platforms such as they are [TS]

  offering manage memory manage language [TS]

  and API I could be right for Android you [TS]

  right in their little you know Java [TS]

  dalvik VM thing I don't call [TS]

  for licensing reasons but you write your [TS]

  applications in Java and Windows Phone I [TS]

  think they want you to write in c-sharp [TS]

  or maybe they'll let you write in [TS]

  Silverlight even or whatever then you [TS]

  have things like palm with the webOS [TS]

  where you're writing in like JavaScript [TS]

  and web technologies all those are [TS]

  memory manage language and API so here's [TS]

  apple without a memory manage language [TS]

  an API on the mobile platform and right [TS]

  now I think it's still an advantage for [TS]

  them because their devices are faster [TS]

  better have better battery life and [TS]

  everything like that but everyone else [TS]

  has not it chosen to go with that like [TS]

  they have some sort of native SDK where [TS]

  you can do games and stuff but they're [TS]

  trying to say no if you're right if [TS]

  you're writing a GUI application for our [TS]

  mobile OS use this memory manage [TS]

  language used as memory manage API and [TS]

  is that why they're slower now maybe but [TS]

  you know sometimes being slower pays off [TS]

  in the long run like Mac OS 10 in courts [TS]

  where their their display layer was much [TS]

  lower than everybody else especially in [TS]

  the early days but it pays off when the [TS]

  hardware finally caught up to it now [TS]

  they don't have to do it through this [TS]

  painful revision of the display layer [TS]

  like Microsoft has been going through [TS]

  you know getting rid of GDI and [TS]

  replacing it with whatever the heck [TS]

  their acronyms is that replaces GDI so [TS]

  when FX I know maybe some of the chat [TS]

  room knows but this if they're having a [TS]

  long painful process of changing their [TS]

  display layer from the old version to [TS]

  the new version whereas Apple shipped [TS]

  Mac OS 10 with a sort of next-generation [TS]

  display layer from day one it was slow [TS]

  as molasses but eventually the Arbour [TS]

  caught up and now Apple sitting pretty [TS]

  and Microsoft still struggling the chat [TS]

  room says WPF will windows presentation [TS]

  foundation I think that's a multiple use [TS]

  acronym where it applies to both the API [TS]

  and the and the API layer and the driver [TS]

  layer really right so I think this is [TS]

  still a problem and that's what more or [TS]

  less what I said in the revisit article [TS]

  is that okay so you you delayed this [TS]

  problem somewhat but the scary thing is [TS]

  that in 2010 I looked again at what what [TS]

  are the alternatives what are you going [TS]

  to do about this and there are don't [TS]

  seem to be many more choices the only [TS]

  thing I would say about Apple's choices [TS]

  now is that Apple has proven itself to [TS]

  be competent enough to have more options [TS]

  like it's we've seen where it can take a [TS]

  technology from somebody else like KHTML [TS]

  from the KDE initiative and make WebKit [TS]

  out of it and just saying oh we're going [TS]

  to own this from now on we're going to [TS]

  drive it we're going to fork your thing [TS]

  I don't know if they consider it a fork [TS]

  we're going to take your code [TS]

  and we're going to be the driving force [TS]

  behind development from it from now on [TS]

  and we're going to build it into a [TS]

  world-class browser engine called WebKit [TS]

  we're going to give it a name we're [TS]

  going to rebrand it we're still going to [TS]

  be open source but still share with you [TS]

  or whatever but we're not waiting for [TS]

  you we're not waiting for KDE people you [TS]

  know oh is it okay if we put this [TS]

  pageant no we're just plowing ahead as [TS]

  fast as we possibly can and we're going [TS]

  to do our thing and they decided to do [TS]

  with their compiler too they said well [TS]

  GCC you know it's nice that we had that [TS]

  for all those years but you guys aren't [TS]

  as receptive for the kind of changes [TS]

  that Apple needs and so we're just going [TS]

  to you know say thanks but no thanks [TS]

  we're gonna make our own compiler will [TS]

  make our compiler you know command-line [TS]

  compatible the GCC so we can build all [TS]

  our old programs with it but we're just [TS]

  going to go off in our own direction so [TS]

  they made you know they took the LLVM [TS]

  guys and made a new compiler based on [TS]

  that and they're you know it's a long [TS]

  difficult process to do that but all [TS]

  these technologies have to do with C [TS]

  based things and not memory manage [TS]

  languages but it does show that they can [TS]

  take someone else's project and just [TS]

  take it over a hundred percent say we're [TS]

  gonna we can hey we got it from here so [TS]

  now maybe they have more options in [TS]

  terms of all right so can Apple take [TS]

  c-sharp and just say thanks Microsoft [TS]

  but we're gonna go on our own direction [TS]

  with this thanks for giving us a good [TS]

  start you figured out a lot of the [TS]

  problems we're just going to make a new [TS]

  language and called you know Apple P [TS]

  sharp or something like that right and [TS]

  and make our own language alright so but [TS]

  the language is just one part of the [TS]

  equation I think if they make a new [TS]

  language it doesn't buy you anything you [TS]

  need a new API a new API that's built [TS]

  for that language right so that your [TS]

  programs become shorter that you need [TS]

  fewer API calls fewer instructions that [TS]

  you take advantage of all the native [TS]

  aspects of this fancy new high-level [TS]

  language that you've got to make [TS]

  programmers lives easier and and the [TS]

  final difficult bit is even after you've [TS]

  done those two things even if you pick a [TS]

  language is the most awesome language [TS]

  everyone everybody loves it [TS]

  and you you know you own it you control [TS]

  and you made it so great that just [TS]

  people can't even believe how awesome it [TS]

  is you make a new API built on like wow [TS]

  I could write a program in this let this [TS]

  API there's like a hundred times shorter [TS]

  than the cocoa application because all [TS]

  this stuff that you had to do in cocoa [TS]

  is just not it's just noise you know [TS]

  what stuff disappears all that [TS]

  marshalling of arguments and and [TS]

  creating those NS dictionaries and [TS]

  making any string objects and like no [TS]

  it's all of it doesn't language you get [TS]

  native strings we got native collection [TS]

  classes we got regular expressions built [TS]

  into the syntax we just got everything [TS]

  you know forget about that stuff [TS]

  making objects and classes everything is [TS]

  great then you need to say okay well [TS]

  you've got these great things but you've [TS]

  got a bunch of developers who are [TS]

  writing objective-c cocoa apps who know [TS]

  Objective C really well and like cocoa [TS]

  how you can get them to say okay well we [TS]

  would like you to write your programs in [TS]

  a different language now using a [TS]

  different API that you've never heard of [TS]

  and you can't really port your old [TS]

  programs to it so we really kind of like [TS]

  you just like rewrite them so maybe for [TS]

  the next version just do it in this [TS]

  different language and start over from [TS]

  scratch it is really really difficult to [TS]

  transition developers and to keep all [TS]

  your existing applications running and [TS]

  keep everybody happy just ask Microsoft [TS]

  Microsoft is spending I think it's got [TS]

  to be at least a decade at this point [TS]

  they built this infrastructure they're [TS]

  saying okay please people stop writing [TS]

  to the win32 API stop writing MFC [TS]

  application to stop writing whatever you [TS]

  know please use our new API is they're [TS]

  really good I swear [TS]

  you should use them and then they would [TS]

  say but of course well when we ship [TS]

  Windows or Windows applications are [TS]

  still going to be written with the old [TS]

  api's but no you should use them because [TS]

  they'll be really good for you we can't [TS]

  write into an Explorer using them [TS]

  because you know they just wouldn't work [TS]

  and yet Windows Explorer won't be [TS]

  written using them and ya know none of [TS]

  the applications in the operating system [TS]

  were written using them but now you [TS]

  should use them because they're really [TS]

  great and you don't have to worry about [TS]

  memory and it's just been a terrible [TS]

  terrible slog to try to get their [TS]

  developers onto this new API which at [TS]

  this point is like pretty darn mature [TS]

  and has some great new API is that have [TS]

  advantages yeah over over those other [TS]

  things with it like yeah but I have a [TS]

  working application it uses the old API [TS]

  and as long as you don't make the old [TS]

  API stop I'm going to keep using that so [TS]

  I think Apple has gotten a little [TS]

  reprieve here but they the problem still [TS]

  exists and this is where people start [TS]

  flipping out if they're not already [TS]

  flipping out in the chatroom is that [TS]

  they're gonna there we will swear up and [TS]

  down that what I'm saying is nonsense [TS]

  that Objective C is perfectly fine in [TS]

  fact it's awesome in fact objective-c is [TS]

  the reason why writing for a Mac OS 10 [TS]

  is better than writing for other [TS]

  platforms or that the Koki API is are [TS]

  the reason for writing you know [TS]

  objective-c all those faults you talked [TS]

  about they seem theoretically important [TS]

  but really in practice they're they're [TS]

  you know they're not a problem if our [TS]

  experience Objective C developers and [TS]

  Apple has been revising the languages [TS]

  and they added blocks down at the sea [TS]

  level and everything and they added you [TS]

  know synthesized properties and all [TS]

  these awesome things and fast [TS]

  raishin is just it's actually [TS]

  progressing we've got a lot of great [TS]

  features that you're talking about those [TS]

  high level angers we don't need it [TS]

  really it's kind of like that Winston [TS]

  Churchill joke where the woman I forget [TS]

  that I can scrub this joke but he talks [TS]

  some woman and offers her money for sex [TS]

  and and she refuses oh you know the show [TS]

  saved me for myself I don't I don't you [TS]

  don't know this joke no song at Rome [TS]

  really right [TS]

  the punch line is that madam I've [TS]

  already we've already established what [TS]

  you are now we're just haggling over [TS]

  price so go google that and find a joke [TS]

  part of it you can make your own joke [TS]

  someone says that George Bernard Shaw [TS]

  and not Churchill that's probably [TS]

  correct um but at any rate if you agree [TS]

  with the premise that we talked about [TS]

  earlier about abstraction increasing all [TS]

  we're arguing about here is a timeline [TS]

  no one is arguing that objective-c is [TS]

  going to be it forever or at least I [TS]

  don't think any sane people because you [TS]

  can't especially in the computer so you [TS]

  can't say Objective C will last forever [TS]

  our grandchildren's grandchildren will [TS]

  be doing writing an objective-c there [TS]

  will be dereferencing pointers well they [TS]

  will not it's just a matter of the [TS]

  timeline and this is the type of thing [TS]

  you can't just decide well looks like [TS]

  Objective C is kind of spent alone we [TS]

  pick something else new it takes [TS]

  literally decades or more to build up a [TS]

  foundation you can transition to and and [TS]

  you can't cheat by making bridges and [TS]

  you can't cheat by keeping the old ABI [TS]

  I'm putting a new language you just have [TS]

  to put in the work to figure out what is [TS]

  the next generation of developing for [TS]

  our platform going to be like and if [TS]

  Apple has some secret answer that [TS]

  they're that they're working on inside [TS]

  the the corporation I don't know about [TS]

  it I didn't know about in 2005 I still [TS]

  don't know about it maybe they have a [TS]

  skunkworks project that's been going on [TS]

  for 5-10 years that I don't know about [TS]

  but I seriously doubt it and I'm really [TS]

  concerned that they're not going to have [TS]

  an answer and I'm concerned because all [TS]

  their competitors have you already paid [TS]

  this price or are starting from scratch [TS]

  like palm with webOS and don't have to [TS]

  deal with this transition you know all [TS]

  their competitors are starting at a [TS]

  higher level of abstraction in them and [TS]

  Apple has tremendous advantages over [TS]

  them right now but if they don't you [TS]

  know if they do completely squash [TS]

  everybody else then everyone for like a [TS]

  Dark Age of objective-c where we can off [TS]

  this friggin language to a higher-level [TS]

  language but if they don't squash [TS]

  everybody else eventually they're going [TS]

  to be in that Coppola Mike situation [TS]

  where everybody else has [TS]

  and they're looking crappy and [TS]

  developers like ya iOS I was making a [TS]

  lot of money on that back and you know [TS]

  the first decade of the 2000s but [TS]

  nowadays just I can't deal with this [TS]

  this whole memory thing is just so much [TS]

  easier to write you know programs in [TS]

  these other languages and api's I have [TS]

  to ride half as many lines of code then [TS]

  I have to deal with all those argument [TS]

  marshalling and all this ridiculous you [TS]

  know strange objective-c stuff is just [TS]

  BS these days I shouldn't have to deal [TS]

  with that uh and that's what I'm worried [TS]

  about with it with the Copeland 2010 [TS]

  thing apparently I was way off on a [TS]

  timeline I didn't see iOS coming I [TS]

  didn't see how that was going to give [TS]

  them a new lease on life but I think [TS]

  it's the problem and no one I have [TS]

  talked to has said here's what Apple's [TS]

  going to do to get out of it they either [TS]

  say this is not a problem or I'll be [TS]

  retired by the time it's a problem so I [TS]

  don't care which is a valid argument you [TS]

  know say hey I'll be retired on an [TS]

  island I don't really care what Apple [TS]

  does it's not my problem and same thing [TS]

  for the people who are running Apple [TS]

  they could say that's not going to [TS]

  happen on my watch because I'll be [TS]

  retired by then but if anyone is looking [TS]

  out for the long-term health of the [TS]

  company in the flat form I think you [TS]

  have to have an answer to this and 2005 [TS]

  maybe it was too early to be worrying [TS]

  about it but I would say now in 2010 [TS]

  despite this iOS diversion someone needs [TS]

  to be thinking about this and I have no [TS]

  idea what they're going to do and I have [TS]

  never heard from anybody something that [TS]

  they're going to do that has convinced [TS]

  me that they're all set um so that's [TS]

  about it I had a whole other section [TS]

  here that we just simply do not have [TS]

  time for I'm I guess I'll make it into a [TS]

  whole other show topic but then that's [TS]

  where I mean you can argue about [TS]

  programming languages oh so you don't [TS]

  even want to go into Perl here that's I [TS]

  have a whole section on dynamic [TS]

  programming language this is I always [TS]

  start my my blog ideas with a title [TS]

  because once I have a title that I like [TS]

  I will eventually write something about [TS]

  it this is my longest-running title ever [TS]

  that you have or have not written about [TS]

  that I have not written about are you [TS]

  going to give it away [TS]

  I should just cuz I'm never gonna [TS]

  freakin write about it this is kind of [TS]

  the imarco thing where I don't want to [TS]

  talk about programming languages on like [TS]

  our technical article because people get [TS]

  too antsy about it and it's not my usual [TS]

  thing but the title which no one should [TS]

  steal because I swear I'll write about [TS]

  this in at least the next decade or two [TS]

  is General Dynamics which is a pun that [TS]

  normally even get unless you know about [TS]

  like defense contractors from the 80s [TS]

  but anyway General Dynamics isn't is the [TS]

  article [TS]

  title and it's about dynamic languages [TS]

  and the sad situation of therein but I [TS]

  think that should be a separate show top [TS]

  okay wait we can do that can do that [TS]

  someone's got a General Dynamics made [TS]

  the f16 that's right who doesn't know [TS]

  General Dynamics children of the 80s [TS]

  fans of jet fighter planes and defense [TS]

  contractors do you ever make models when [TS]

  you were a little kid I did you ever do [TS]

  an f-16 and f-18 all Ryu's to be able to [TS]

  identify any US military fighter [TS]

  aircraft from my lifetime or several [TS]

  decades prior why does that not surprise [TS]

  me that models of them all in my room I [TS]

  wish actually do a whole show on the [TS]

  Joint Strike Fighter [TS]

  that is a great gosh I can't wait for [TS]

  that one yeah that's a great example of [TS]

  it it's a great analogy to Apple and the [TS]

  technology market now here come the [TS]

  emails from the people who say you [TS]

  should totally do a show you know or the [TS]

  Osprey a couple of the military wonks [TS]

  print out the Osprey that gets more into [TS]

  like that's more show about government [TS]

  waste I think then about military here [TS]

  so let's wrap this up with it something [TS]

  positive for change why would we do that [TS]

  because I think I think there are a lot [TS]

  of people out there now here's my take [TS]

  on on objective-c [TS]

  I could never get used to the syntax of [TS]

  it I just don't like it I don't like the [TS]

  way it looks and this is weird this is [TS]

  really weird because say well who cares [TS]

  how it looks it's how does it feel any [TS]

  program etre you didn't give it enough [TS]

  time or you didn't give it a chance well [TS]

  I did I've written a bunch of absent [TS]

  objective-c and I you know you just at [TS]

  least in my case you know I'm the kind [TS]

  of person where if I don't like the the [TS]

  look of the IDE or I don't like the text [TS]

  editing window or I don't like the color [TS]

  of the terminal and the fonts I I won't [TS]

  be able to do anything I'll have to get [TS]

  them go can't do this is this is [TS]

  actually a Joint Strike Fighter [TS]

  connection I'm not will not explain it [TS]

  but people knit in the chat room Joint [TS]

  Strike Fighter not liking how something [TS]

  looks yes I will add that to the show [TS]

  non-school do it and follow up okay so [TS]

  in that situation for me that the way [TS]

  something looks the way the interaction [TS]

  all of that's very important and [TS]

  although I certainly understand the [TS]

  value of [TS]

  programming language like Perl it's it's [TS]

  not something that's enjoyable to read I [TS]

  was just sitting down with with the guru [TS]

  the guy who is the biggest mentor in my [TS]

  programming life I was just having lunch [TS]

  with him it's like our goodbye lunch [TS]

  because I won't see him again because [TS]

  we're moving to Austin I'll probably [TS]

  never see him again [TS]

  I mean Nevers a long time this person [TS]

  have a name or is it like secret that's [TS]

  why we have to calm the goo he's known [TS]

  as the Guru and to you or worldwide as [TS]

  if that's either of those do things have [TS]

  a different meaning and both alright [TS]

  I mean worldwide the the only I'm I am [TS]

  the only way that people would know [TS]

  about him [TS]

  so therefore worldwide known as the Guru [TS]

  I thought he was one of the very first [TS]

  picture of him that I'll add to the show [TS]

  notes there's a picture of him in my [TS]

  Flickr so he's taught me tons of [TS]

  information Tom to Ed so much so we were [TS]

  having lunch at Chipotle and we were we [TS]

  were talking about something sort of [TS]

  sideways related to this and you know [TS]

  for him he excels at all programming [TS]

  languages at you know he operates it [TS]

  very much a genius level and for him [TS]

  it's simply it's more like a different [TS]

  kind of muscle memory he types one way [TS]

  in one app another programming language [TS]

  rather a different way in another it's [TS]

  just the minor differences just okay [TS]

  that's how I do it here I I can't I [TS]

  don't get into I like I want to like the [TS]

  language that I'm using visually as well [TS]

  I want to like the way it looks on the [TS]

  screen I want to enjoy reading it is [TS]

  that weird maybe so for me when I look [TS]

  at a language like Objective C my first [TS]

  response is that it's ugly and they'll [TS]

  use something else [TS]

  is that weird that's not weird I mean [TS]

  that that also explains very neatly why [TS]

  you like Ruby yeah that's the main [TS]

  reason I like Ruby this is definitely an [TS]

  aesthetic appeal that I I don't I I [TS]

  actually might like the language or not [TS]

  I admire people who can deal with it I [TS]

  think they're they should be applauded [TS]

  to deal with something as [TS]

  ugliest objective-c because its if you [TS]

  if you're willing to do that if you're [TS]

  willing to to set aside everything that [TS]

  that your heart and and soul will tell [TS]

  you it's a very powerful language you [TS]

  could do amazing things like make a fart [TS]

  AB for you know million dollars among [TS]

  other really good apps I mean you know [TS]

  obviously the the amazing apps that are [TS]

  out there I think John are a testament [TS]

  to what can be done with Objective C [TS]

  first so forget the syntax part forget [TS]

  that it's a a rough language to to get [TS]

  into if you can get over that hurdle [TS]

  which admittedly I would never quite did [TS]

  if you can do that the whole world is is [TS]

  right there at your fingertips you can [TS]

  make apps you can make apps that help [TS]

  people apps that are just make you money [TS]

  apps that are useful educational great [TS]

  games what's wrong with that who cares [TS]

  if you if you get a deal with this all [TS]

  these things you pointed out who cares [TS]

  it just so what it says par for the [TS]

  course and so what if this is all we [TS]

  ever have why is that so mad well who [TS]

  cares now but what I'm saying is [TS]

  eventually people will care and to think [TS]

  otherwise it's just absolutely [TS]

  ridiculous on its face it eventually you [TS]

  know maybe in the people who are live [TS]

  today won't care is all be dead but [TS]

  eventually it will be ridiculous it'll [TS]

  be ridiculous as today if you say well [TS]

  if you want to write an application for [TS]

  the iPhone you got to do it in machine [TS]

  code so get out your hex out that would [TS]

  be very ridiculous that would be a sir [TS]

  or Eve or even assembly right but if you [TS]

  if we were having this conversation back [TS]

  in the 60s when you know computers were [TS]

  just coming online or whatever and I [TS]

  said well you know of course we write [TS]

  all our programs here assembly here in [TS]

  the military for this targeting computer [TS]

  or whatever and yeah assembly is a pain [TS]

  but if you can get past it boy you can [TS]

  do some great things and it's just you [TS]

  can really get down to the bare metal [TS]

  and it of assemblies all we ever have I [TS]

  think that'll be fine in 2010 we're [TS]

  still writing an assembly everybody will [TS]

  be fine with it that's not how progress [TS]

  works that's not how humanity works [TS]

  people will not be fine with Objective C [TS]

  forever so do you do you then suspect [TS]

  that at some point it's Apple that's [TS]

  going to take charge of this or do you [TS]

  think it'll come you know remember what [TS]

  was the name of that development [TS]

  language there's a full-on IDE was a [TS]

  code warrior code word I knew people [TS]

  that were using code warrior swore by [TS]

  code warrior and really resisted [TS]

  everything that came out when Xcode came [TS]

  out because [TS]

  a new matter they didn't have a new [TS]

  language but they had a new API API and [TS]

  new and used this uses our power plant [TS]

  API instead of writing to the Mac [TS]

  toolbox which had that line the Mac [TS]

  toolbox with ridiculously creaky and [TS]

  they built a higher level API on top of [TS]

  the same language I think it all depends [TS]

  on who's steering Apple at the point [TS]

  that the crisis starts till doom I think [TS]

  it's irresponsible for the company not [TS]

  to have a project about this already [TS]

  maybe they do I can't say that they [TS]

  don't because if they did it's not like [TS]

  they're going to tell people that they [TS]

  do maybe they've tried seven different [TS]

  directions and they're still [TS]

  experimenting internally but I'm going [TS]

  to say that if at this point Apple does [TS]

  not have some sort of plan in motion [TS]

  with people doing actual work to [TS]

  figuring out what's after objective-c [TS]

  and cocoa they're being irresponsible as [TS]

  a corporation despite the fact that all [TS]

  the leadership who are there now will [TS]

  likely be retired when it's time to [TS]

  execute in that plan they need to be [TS]

  thinking about it now I certainly hope [TS]

  to be alive at the point where I think [TS]

  it will be embarrassing to ask people to [TS]

  write an objective-c in cocoa for iOS [TS]

  and the only way that's not going to be [TS]

  embarrassing is if Apple comes to [TS]

  dominate so thoroughly that like I said [TS]

  it's the I think this will definitely be [TS]

  the show title the Dark Age of [TS]

  objective-c starts to rain sort of like [TS]

  a Dark Age of Windows when there was no [TS]

  progress in you know web technology [TS]

  because ie was dominant and not a lot of [TS]

  progress on desktop applications because [TS]

  they were just you know increasingly [TS]

  complicated Windows applications I just [TS]

  every version they had a ten new buttons [TS]

  to the toolbar and it took Apple to come [TS]

  along and sort of wipe the slate clean [TS]

  and say here's what you can do with [TS]

  application design that's different and [TS]

  you know here's what you can do with web [TS]

  browser design with uh with Mozilla and [TS]

  everything what technologies can [TS]

  actually be cool if you're not stuck in [TS]

  IE forever I don't want to see a Dark [TS]

  Age of objective-c but it's the only way [TS]

  that Objective C is not going to hit a [TS]

  crisis point in my lifetime assuming I [TS]

  live to a ripe old age and so I think [TS]

  there needs to be a plan and I have no [TS]

  idea what that good it should be but it [TS]

  needs to be something hopefully uh [TS]

  hopefully they're on the ball do you [TS]

  think you think when they do do it that [TS]

  it will be a universal transition the [TS]

  way that it was with Xcode in the past [TS]

  like this is the way to build it or do [TS]

  you think that they'll have [TS]

  complementary tools maybe or [TS]

  complementary compatibility so that so [TS]

  that when you want to make this [TS]

  transition it's your choice you can use [TS]

  whatever in [TS]

  structure coding infrastructure you'd [TS]

  like to use so if if I am the most [TS]

  optimistic and I say let's imagine that [TS]

  the most competent incarnation of Apple [TS]

  is the one executing this plan it's [TS]

  because the most competent Carnation of [TS]

  Apple is really really good at [TS]

  everything you need to be good at to do [TS]

  this they're really good at transitions [TS]

  that's how many transitions they've done [TS]

  from different CPUs at different [TS]

  languages different IDs they are really [TS]

  good at transitions at their best they [TS]

  can pull off amazing things and no one [TS]

  imagined like changing the entire CPU [TS]

  architecture of their entire line of [TS]

  products like without a little bump even [TS]

  that was just pretty amazing like they [TS]

  can pull it off they can do those types [TS]

  of things if that is the crew running [TS]

  the show and if they have a good plan [TS]

  the big you know because it's going to [TS]

  take years and years to do this no [TS]

  matter what if they start early enough [TS]

  and have a good plan and aren't acting [TS]

  out of panic or desperation and have [TS]

  good leadership I think they can pull it [TS]

  off with it with a complete transition [TS]

  sort of the way they put everyone on [TS]

  decks code right it was a little bit [TS]

  bumpy in the beginning right but they [TS]

  just they were slow and methodical and [TS]

  you know it Xcode didn't even exist they [TS]

  said stop using power plant we will [TS]

  support you with carbon for a little [TS]

  while but like seriously guys stop using [TS]

  power plant you should really use [TS]

  project builder we don't want you to [TS]

  build your application with metro works [TS]

  but it will still work for a little [TS]

  while and eventually like no seriously [TS]

  forget about that Metro work stop no [TS]

  more power plant I'm serious go on to [TS]

  project builder and byways there's [TS]

  nothing called Xcode forget about [TS]

  project builder I know you neckties are [TS]

  cranky but we're making a new app called [TS]

  Xcode and it'll be cool and you know [TS]

  they go with that for a few years and [TS]

  they say that Carbon thing we need to go [TS]

  you need to cut that out besides legacy [TS]

  crap or moving away from it [TS]

  Carbon guys sorry you know your apps [TS]

  will still work but you're not getting [TS]

  on the 64 bit train with us and Xcode [TS]

  we're going to do it as a single indoor [TS]

  interface it looks like iTunes and [TS]

  you're going to deal with it and we're [TS]

  just all in the Train everybody on the [TS]

  Xcode Train now and by the way that [TS]

  compiled that you like GCC we've got a [TS]

  new one forget about that ECC thing [TS]

  we're going to transition to a new one [TS]

  takes years and years and years in [TS]

  incremental steps but everybody gets [TS]

  funneled into it so I think when they do [TS]

  undertake this procedure it's going to [TS]

  be a big giant funnel and it's going to [TS]

  be like alright guys let's start you [TS]

  know start turning off the lights on [TS]

  that old stuff but you're going to be [TS]

  around for years and years but it's just [TS]

  going to be like powerplant and carbon [TS]

  and you know project builder and all the [TS]

  other stuff that you like and GCC it's [TS]

  not going to go away today it's not [TS]

  going to go away tomorrow but we're [TS]

  telling you it's a big long funnel and [TS]

  we're all going down the chute to the [TS]

  slaughter or wherever you want to think [TS]

  about these are all bad analogies [TS]

  and everyone together in a line and [TS]

  we're all going to transition to you [TS]

  know Apple basic or the hell they're [TS]

  going to come up with them is going to [TS]

  be a new API and Coco's great and [TS]

  everything and we'll still do bug fixes [TS]

  but I'm sorry but coco is not making the [TS]

  transition to 128 bit which is [TS]

  ridiculous yeah people think I'm serious [TS]

  about hundred twenty but but anyway [TS]

  that's the type of thing you're gonna [TS]

  but that's Apple at its best where they [TS]

  have a plan takes many years to execute [TS]

  and they do it in incremental steps and [TS]

  people grumble along the way but in the [TS]

  end everyone comes out the other side [TS]

  happier that is the best case scenario [TS]

  and I think they need to be working on [TS]

  that now [TS]

  all right I can't disagree I really [TS]

  can't disagree with you I like doing it [TS]

  when I can I try no I I want to I can't [TS]

  you can disagree with me on that then [TS]

  iMac languages yeah well will will have [TS]

  a lot to say then that's that's not say [TS]

  you're using Perl it's not nuts must be [TS]

  golden handcuffs thing we'll get to that [TS]

  the faintest thing ever [TS]

  alright let's wrap this up thanks [TS]

  everybody for tuning in thanks to [TS]

  Shopify dot-com remember use code 5x5 [TS]

  and you'll get three months free thanks [TS]

  to Rackspace comm slash king of the apps [TS]

  you could win ten we do a lot we give [TS]

  you we give you $10,000 in three months [TS]

  free do as much as we can here and [TS]

  thanks to John siracusa there's no Z and [TS]

  last time you said that follow-up you [TS]

  said could you spell my name instead of [TS]

  just saying there's no Z it's s IRAs IRA [TS]

  see us on Twitter I'm Dan benjamin on [TS]

  twitter and we appreciate you listening [TS]

  you can check out 5x5 TV here a whole [TS]

  bunch of other shows we've just got a [TS]

  new show just premiered today with Mike [TS]

  Montero it's called let's make mistakes [TS]

  so go check that out at 5x5 dot TV [TS]

  subscribe and have a good week thanks [TS]

  John [TS]

  you [TS]