Section Insights
Introduction to General Magic and Telescript
What was General Magic and its programming language?
General Magic was a company spun off from Apple in 1995 that developed a programming language called Telescript for agents. The company was backed by major tech players and aimed to create innovative user interfaces and operating systems.
- General Magic was a pioneer in developing a programming language for agents.
- Telescript allowed programs to be sent to different destinations for execution.
- The company had significant financial backing but struggled to deliver products.
Concepts of Telescript
What are the key concepts of the Telescript programming language?
Telescript introduced the concepts of 'agents' and 'places', allowing programs to travel and execute on remote machines. It emphasized safety, portability, and extendability, reflecting ideas that are still relevant in modern programming.
- Telescript's agents could execute remotely, a precursor to modern distributed computing.
- The language's design included innovative concepts that resonate with current programming paradigms.
- It had built-in security features, though they may not meet today's standards.
Innovations and Challenges in Telescript
What were some of the innovative features and challenges of Telescript?
Telescript featured unique syntax and programming constructs, such as union types and a method called 'go' for agents. However, the complexity and unconventional syntax may have contributed to its lack of adoption.
- Telescript introduced advanced programming concepts for its time, like union types.
- The language's syntax was complex, which could hinder usability.
- Despite its innovations, Telescript faced challenges that led to its decline.
Syntax and Structure of Telescript
How did the syntax of Telescript compare to other programming languages?
Telescript's syntax was reminiscent of C, with unique features like hoisting and method calls without parentheses. This blend of familiar and novel elements created a distinct programming experience.
- Telescript's syntax included elements similar to C, making it somewhat familiar to programmers.
- The language's design choices, like method calls without parentheses, were unconventional.
- Innovations in syntax may have contributed to both its appeal and its challenges.
Legacy and Impact of Telescript
What was the legacy of Telescript and its developers?
Despite its innovative features, Telescript was not widely adopted. However, many individuals who worked on it went on to have significant careers in technology, indicating the talent and potential behind the project.
- Telescript's lack of adoption does not diminish the talent of its developers.
- The language's innovative ideas influenced future programming languages.
- The legacy of Telescript lives on through its contributors who shaped the tech industry.
Transcript
0:00 I learned the most interesting thing today. From Avery here. And thing I learned is apparently there's already been a programming language for agents. It was built in 1995. And these guys were worth almost a billion dollars. How the heck did you learn about it and what is it? >> So, I I was listening to a a podcast called Planet Money. They did an episode on this company called General Magic. Yeah. which was backed by it was a it was spun off of Apple. And it was eventually backed by Sony, AT&T, and a bunch of other large players in the the tech industry at the time.
0:37 >> And and they built this they built the whole language already, which is fascinating to me. Like I think he showed me some of their UIs and it's I think the first time I saw this I was like, "What is this UI?" This is like literally their operating system that they're trying to sell you. >> Yeah, this is this was some of the first like I mean, I guess you can call this scheme workers. they they they were designing this for consumers and it was >> Like you'd walk into apps.
1:04 >> Yeah. >> Like yeah, it's look at this. You walk into America Online. What you walk into AT&T. You use little of machines over here. >> Yeah, cuz you got to remember at the time like I mean, I wasn't around, obviously. or I hope, obviously. But the like we didn't have the iPhone. People didn't know like there were there was no interface like this. Like this was one of the the first interfaces. This was one of the first like usable touch screens that they were working on.
1:36 And they it was really like a like a sort of proto iPhone. >> You know what's the thing that I always found the most funny thing is I was reading the language spec and reading through it. So, they built like this thing called the Telescript language reference. It was published in 1995. They shared it around. And to make this operating system work, they built the language around it. The whole language just caught it up with this concept called agents and agents would interact with each other. They petition each other for work.
2:03 And like the concept of like the terminology they're using is straight out of like an SF pitch deck today. It's like if you read some of this stuff. Engine requests meeting on a destination agent if petition. Destination agent agrees or rejects a meeting. This is literally out of like Claude's book today. And obviously it's magic confidential. >> You know, they're using the word agent in the the I mean agent has been like a word in like artificial intelligence for a long time.
2:32 But the the paradigm that they built around it was really unique and like it's in my opinion insane that they were even doing this in 1995. So like let's say you want to book a meeting with someone rather than your your device just sending a packet with the data like oh I want to book a meeting at this time. >> Let's see I hear we have a diagram for this. So like firstly like their stock was insane. It was a publicly traded company. It hired some of the best people in the world. We'll talk about that in a second. when we get to them cuz the people I came out of there like Andy Rubin worked there. He made Android after working here.
3:10 we'll talk about Telescript language in a second but I think this is kind of we have a diagram here that we found. Like right over here the Telescript engine. This is what you're talking about. >> Yeah, this is like ultimate portable execution. The idea was that rather than communi- your your devices communicating with each other with data you would just sends a program to someone and that program would act on your behalf on their >> On their I see >> Yeah, on or on remote hardware.
3:45 >> It's like direct execution, remote execution before sandboxes and before we had like billion dollar raises for that. >> Yeah, they had all sorts of security stuff built in. I'm sure it's not up to up to spec anymore, but >> I think the key part that I find really fascinating is like obviously the languages around that time like C and C++ they're the most popular ones. So they a lot of the syntax and we'll talk about this in a second refers to that.
4:09 But they had this concept of like like you said programs which they called agents and destinations which they called places. And you literally send your program or your agent to a destination execute it. And it talks about safety, portability, extendability, and elevation. And it's so funny cuz we talk about programming language concepts all the time, but their reference manual literally is like agents. And just reading this is like if someone pitched today and said I had this in their slide deck I'd be like I This is a programming language for agents. Of course it's going to have traveling to other places, executing on other machines, meeting other agents.
4:45 >> There there's parts of this doc that you could screenshot and convince someone that it was it was >> But yeah. >> >> The keywords are so fascinating here. Like they have a sponsor a sponsored it probably like some remote execution thing that they're doing. Yeah some unprotected they I see Rust had unsafe they got unprotected. And a lot of this stuff is kind of similar but I'm kind of really curious what magic cap does. maybe it's like I don't >> Just remind this is just reserved so you can reserve all sorts of >> That's true.
5:15 That's true. I want to see a little bit more actually. one really interesting thing about this is they had pattern matching in their language way back in 1995. Cuz all good languages that are for agents are going to need pattern matching apparently even back then. What else did we find? We found some other weird things down here when we were reading through this. I had the spec actually. We were just reading through the spec and the most fascinating part was when we were looking through the reference side of it.
5:46 I just scrolled through I think the reference >> See the one that said meeting other agents. >> Yeah, yeah, that was funny. Permits They have like a whole off protocol that they designed around like whether or not an agent can go to a place. So I guess you can define how permits work over here. >> And they spent a lot of time and a lot of effort engineering this. >> And and it's insane. They raised like they raised like a hundred million dollars back in 1995. And that's like For context if you account for like inflation like how the stock market has grown, that's either the on base pure inflation their company would be worth two billion today. If you look at how the stock market grew and what part of the index that they're worth on, their company is worth like 20 billion to 40 billion.
6:31 Or something like that. That's bonkers. No revenue obviously cuz this is a pipe dream company. I mean dot com bubble I will let it speak. Some of these concepts are actually genuinely good. Like this is like interesting tech to go build around. >> Yeah. There's an anecdote from the the place that I originally learned about this I had money. There there's an anecdote where they talked about how one of the one of the engineers initially implements a time and he just he made it go back to the year 1900.
7:03 And then another one went back and said, "Oh, his it doesn't go back far. What if you want to keep want to do something with this?" And then another one went back and said, "Oh, we need this to what if they want to do like deep historical like from the beginning of time of the Big Bang?" >> So they use what I they use like I 128 or something? >> Yeah, something crazy. >> And then time.
7:24 >> Like >> That's literally what Kai was saying to one of our team which is so funny. >> It's it's completely They had two they almost had one of the one of the takeaways is that they had too much money. And they spent too much time before shipping anything. >> This is so funny. An agent is an abstract interface that has a process. It has a single method called go. >> We were We were considering architecture very similar to this.
7:48 >> I know. Trip exception, if the trip failed. So, I guess there's like different things. There's like you can fail when you exit it. You can fail to get authorization. And obviously the trip can fail along the way. I want to see if I can find some slop. >> Slop up. >> Authenticator. >> They spent 5 years on this. 5 years and a billion dollars. >> A bit string Well, they were worth a million. A hundred million dollars. But still.
8:13 Calendar time. This is actually a pretty sane representation of calendar time. >> Actually, yeah. Yeah, this is a >> Integer, probably an I32 at that time. >> Unions. >> Yeah, they have union types. Actually, that's insane. C didn't have union types at that time. I mean, it does, but not in the same way. >> union types in C. >> I mean, you shouldn't use those union types in my opinion, unless you know you're doing it for performance reasons only.
8:40 Cased. mixing. >> Yeah, it's it's crazy. >> I kind of want to see if I see something interesting. Let's see. Class names, constructors, collections. Collection exceptions, compared I mean, they have interfaces for compare. I mean, honestly, it's like, you know, based off of Rust in a lot of ways. >> It's really interesting to me that they innovated in all these ways, but if you look on the Wikipedia for like some example program >> Oh yeah, we have those.
9:09 >> they have include files. >> >> So, like you innovated in all of these ways with all this other stuff. >> pattern matching. They had >> like like io.h or whatever. >> What does this even code even do? Let's just read this. You have a pie buyer. This is an agent that can go to pies. And you have a pie seller. >> Just a place. >> Yeah, so a place and an agent. So, you can sponsor an operation.
9:38 I got to Okay, we're going to go into Claude really fast and understand this. >> Someone should write code an engine for this. Open source it. That'd be sick. >> Let's open up a Claude. it's ChatGPT, okay, whatever. Explain this, dude. Show me. I guess you can see my side that thing. I wanted to salt them tomato slices. >> Makes them taste better. >> You get Oh, it knows it's all the script. It's in the training data. There we go.
10:09 An agent can migrate the wild bars that the pie buyers sent is calling remote methods. The agent can literally migrate to another machine and run there and then come back. It's like comp pointers in Windows. So, comp pointers can actually execute code on remote machines without doing anything on Windows machines. Let's take a look. A little mobile program. And that's a location that the program can visit. If I have a pie, give it to the buyer.
10:38 And in some ways, this is no different than crypto blockchains. >> Yeah. Smart contracts. >> It's basically a smart contract in some ways. Entire program is basically child to pie plus ask the local spy owner for a pie, travel home. Okay, and so let's read this. Let's read this code and see if we can get it. >> Did you see that star star means self? >> Star means self. Okay. >> That's insane. >> I would have never estimated star means self. Okay. So, agent self.go, but where's the go method? Oh, I guess go to self.destination. But how do you know what the destination is? Whatever.
11:16 Let's just take it for granted. >> Well, it's it's part of the agent actions. >> Oh, yes. All agents have goes. And all go always accepts a destination. But how do you Okay, well, we'll talk about how to execute this in a second. Self.go and self.destination. My pie is whether or not this place goes to here and you go to the your original place. This is a wild program to write. >> Syntax is weird. >> Yeah.
11:41 >> Ideas are there. >> And my seller, the place has op pi. Pi unions are insane that they had this. This has got to be one of the earlier languages to introduce. Is it? I mean, most of the languages probably have unions. I mean, type theory, they probably have it. Some PL language probably has >> It's really funny how they have This is like a modern let declaration just without let. >> Oh, yeah. Well, no, it's a hoisted It's like C hoisted.
12:08 >> They declare and then they define. >> Yeah. It's like C hoisted variables. Cuz C can do the same thing. But I guess it allocates it. >> Like with the colon and everything, too. >> That's true. That's true. Like syntactically, it's similar. Okay, so you get pi from stock. I want to see the full code. I'm missing >> god, they have equals single equals. >> This is monstrous. >> They're innovating. >> They should not. They should not do this. This is a mistake. This is probably why the company died. The bad equals.
12:38 Actually, I'm really curious about I want to see the full program here. I wonder if >> There's There's surely there's an example. >> Let's see if we can get ChatGPT to just spin up a full program. Right here. Can you show me the full code? There must be some full complete code. Cuz what I'm missing here is like >> Somebody needs to write a syntax highlighter. >> Okay. Okay, so you go to live method, which I guess must be a method to just put stuff live. This is insane still, the with statement.
13:14 Wait, this is the full example? Oh, is sell pi is defined here, but where is this defined? >> Oh. It's an M script file. >> Probably. >> Oh, show me the full file. Show me the full file. I have to see the full file. I'm so intrigued. >> Should I ask if there's like a reposs?
13:46 >> They can run this? >> I'm Somebody has got to made >> Oh, there's a pie store module. Oh, no, that's this thing. It doesn't matter. It's got to be in here. It's got to be in here. 12. >> I thought >> Oh, that's weird. They can't already. >> I'm sure somebody has made an open source like at least partial implementation of this engine. >> This sounds pretty sophisticated to try and replicate.
14:20 Yeah, it's Okay, this brings you back there. >> This is what happens when you let a bunch of >> I found the trail. There's no complete file. Yeah, this is literally what happens when engineers get 100,000. And immediately before the guide gives a pie interface, the pie interface has a name and op. Okay. What's missing? Partly shown. I see. >>.i for interfaces,.t for implementations.
14:51 >> Why.t? Oh, tell us script. Yeah. That I is honestly not that insane. I've seen worse. >> You one of those people that does.hh for C++? >> I did. I did. I like.hh. >> I like that too. >> It's way better to grep. Okay, so I guess they don't show it. But regardless, can I look at this code? It's like get the This is a method that you're calling, which is kind of wild to me cuz you don't call the method.
15:18 There's no parentheses. You get the method in the pie buyer. If you have a pie distribute this with a permit with no permissions. Wait for pie return the pie. I'm really confused. Oh, I guess they're doing some sort of distributed system like alignment thing. I guess yeah, they had to solve a lot of core distributed problems in their language.
15:48 >> Too bad no one used it. >> It's too bad no one did this. Anyway, the last thing about this programming language I thought was so fascinating is some kind of the people that went here. So, I think you had you had told me some of them and we asked Claude to pull up some of them. It's like okay. I think it's like the most insane thing was who were some of the people that went to work on this language and what did they do afterwards?
16:11 >> Okay, thank you was for flow. instant >> All right, it's probably in the corpus. It detected the language and I immediately detected this as >> That was not instant. There you go. >> They're not using instant. >> No, you you used instant. It wasn't instant. >> I don't want the note taker. Why is every app a note taker? Anyway. So, here's some of the people that went on to work there. that I thought was like super fascinating.
16:41 Good. Why is it giving me like a whole paragraph? Jim White, he did some stuff. Don't really care about him. He did What did he do? Smalltalk script. He went on to work on like WebTV and a bunch of other stuff I guess at Apple. When did or Google Chrome, Chromecast, Nest, and a few other things. I think the other person I saw that was fascinating was power Darren Adler, what did he do afterwards?
17:13 Oh, he went on to build WebKit and lead WebKit on on top of this. Kevin Lynch eventually became the CTO of Adobe, did a few other things over here. what's Andy I think was on this list too when we first looked where Andy actually went on to go build like Android after doing this, Andy Rubin. What did he do? He left for Netscape which well I guess had its own adventures. I guess he went on to go lead after Netscape he went on to become an SCVP of AI at Apple.
17:47 But it's just kind of the concept of what is so interesting is like they kind of had all these houses they had sandboxing computing, durable execution, delegated authority. All these things that we're trying to figure out now they built the language around this already. Obviously no one built this. But goes to show history's history's got some lessons. >> They they built it. It's just >> No one used it. >> No one used it. It was too expensive, it came too late.
18:11 It's it just wasn't >> And it wasn't worth a billion dollars back at that >> time. It wasn't a rate. >> two decades too early. >> Yeah.
Summary
- General Magic was spun off from Apple and backed by major companies like Sony and AT&T.
- Telescript was designed for "agents" that could communicate and execute tasks remotely, a concept ahead of its time.
- The language included features like pattern matching, remote execution, and a unique syntax reminiscent of modern programming languages.
- The company raised significant funding, equivalent to billions today, but struggled to deliver a viable product.
- Notable engineers from General Magic went on to influential roles in tech, including Andy Rubin, who created Android.
- The concepts developed in Telescript foreshadowed modern technologies like smart contracts and distributed systems.
- The company's failure highlights the challenges of timing and market readiness in tech innovation.
Questions Answered
What was General Magic and its programming language?
General Magic was a company spun off from Apple in 1995 that developed a programming language called Telescript for agents. The company was backed by major tech players and aimed to create innovative user interfaces and operating systems.
What are the key concepts of the Telescript programming language?
Telescript introduced the concepts of 'agents' and 'places', allowing programs to travel and execute on remote machines. It emphasized safety, portability, and extendability, reflecting ideas that are still relevant in modern programming.
What were some of the innovative features and challenges of Telescript?
Telescript featured unique syntax and programming constructs, such as union types and a method called 'go' for agents. However, the complexity and unconventional syntax may have contributed to its lack of adoption.
How did the syntax of Telescript compare to other programming languages?
Telescript's syntax was reminiscent of C, with unique features like hoisting and method calls without parentheses. This blend of familiar and novel elements created a distinct programming experience.
What was the legacy of Telescript and its developers?
Despite its innovative features, Telescript was not widely adopted. However, many individuals who worked on it went on to have significant careers in technology, indicating the talent and potential behind the project.