Resurrecting iChat audio and video conferencing

106 points by thepipetogrep 18 hours ago on hackernews | 39 comments

jadar | 18 hours ago

This is awesome! I remember trying to figure out how this worked as a kid, and never made headway. Today my dream was realized. ;)

[OP] thepipetogrep | 6 hours ago

Oh neat! What was your computing experience like back then? Do you remember what you were trying to figure out?

jadar | 6 hours ago

I was 8 with an eMac, running OS X Tiger. I had whatever software came on disks or bundled with the OS, and was interested with playing around with whatever I could on the machine. I didn't really have anything specific, but I just wanted to get it to "work".

[OP] thepipetogrep | an hour ago

The eMac was so cool, and what a great first computer to grow up with. Those cases make for great cat beds when emptied out, btw! :)

mulanroo | 16 hours ago

SNATMAP is essentially Apple's version of STUN (RFC 3489, also 2003): learn your public IP and port from an outside server, swap them over chat, then both sides send packets at once to punch through NAT. That's why port-preserving NAT matters. Carrier-grade NAT, common on mobile and some ISPs, assigns a new port per destination and breaks it. Modern WebRTC falls back to a TURN relay, but iChat had none, so if calls still fail after the hosts fix, check for CGNAT on either end.

[OP] thepipetogrep | 6 hours ago

I'm curious why they did they're own thing and how closely it functions to the actual spec. I never did consider trying this against an actual STUN server.

krackers | 3 hours ago

You're replying to what's likely a bot comment. But apple has a history of creating their own specs e.g. NAT-PMP vs UPNP

penskymaterial | 16 hours ago

A time warp to when video conferencing actually worked, as opposed to every new release of FaceTime now being some kind of avant-garde art experiment with the UI being increasingly impossible to use for both technical and non-technical users.

The last straw for me was making the recents/contacts as confusing as it was, and I personally made some accidental calls to former contacts that for some reason were made front and center.

I expect the next version will hide even more controls behind a new, indecipherable icon that looks like a 2D abstract pair of testicles.

etatester | 16 hours ago

I don't see what's confusing about the app, both on macOS an iOS. You get a preview of your face, the last contacts you called and a green "New call" button.

To me this is simple to the point of being excessively simple, especially with the "missed calls" being in a 16x16 click target dropdown.

It looks like they optimized for "calls from grandma" mode.

valleyer | 16 hours ago

You don't see what's confusing, and then you proceed to mention something confusing. If a basic-skills user can't find "missed calls", that's confusing!

etatester | 7 hours ago

The call actually does appear in the Recents list in red, with the time of call, it just doesn't say "missed" explicitly. This matches how the Phone app has looked for the past 20 years.

The "missed calls" list I mentioned would be more of a filter, which is indeed annoying but not fundamental.

ErroneousBosh | 14 hours ago

> and I personally made some accidental calls to former contacts that for some reason were made front and center.

MS Teams is especially bad for this if you have a few people in your addressbook with the same name and corporate email naming gives you for example john.mcleod@place and john.mcleod2@place - oh, you messaged john.mcleod@ six months ago but you message john.mcleod2 multiple times per day? Then this time you must mean john.mcleod with no 2, this time surely!

My "patch" is basically just Scotland, about half the phone book for the north-west is McLeods, and the John McLeods alone are about two dozen pages, so duplicates are common.

maxrev17 | 13 hours ago

Yep Apple software is absolute garbage with a shiny veneer and everyone laps it up - ‘all about the marketing’

[OP] thepipetogrep | an hour ago

Lately, I'd agree. Back in early 2000s, OS X really was something new. It had the NextSTEP underpinnings that turned into a shiny, user friendly Unix that really did "just work" for the most part. Yeah, it had rough edges, but compared to where Windows XP and then Vista was at the time, it really did seem like the best option as far as commercial software was concerned. From OS X 10.1 - 10.4, it actually got better and faster with each release.

But it also had a full Unix shell underneath. That became my gateway into what was possible on other Unix like OSes, and then that led to going full time with Linux. Now all commercial operating systems are just a way to monetize and advertise to people. Thankfully the open source options have caught up and surpassed them.

That overengineered isight camera worked through multiple adapters up until the introduction of the M1, when they sadly finally removed the driver. I used to use it connected to my intel macbook pro for meetings in the the late 2010s for fun.

notpushkin | 14 hours ago

endemic | 8 hours ago

This is on my never-ending list of projects...
It was FireWire, wasn't it? Pretty sure I still have mine in a box somewhere.

[OP] thepipetogrep | 7 hours ago

Firewire. Yes.
It still worked for video on Apple Silicon, only the built-in mic stopped working (which was easily bested by the built-in mics on the laptop anyways). Only after they removed FireWire support in Tahoe did it die.

rajbot | 13 hours ago

> Then at Apple's World Wide Developer Conference (WWDC) in June of 2003, along with the G5 processor and OS X 10.3 panther, Apple announced "iChat AV".

This is wonderful. I love that people are still using this!

I worked on iChat AV video. We also added 4-way video conferencing with H.264 support in 2004. Really did feel cutting edge back then. Lots of all-nighters in those days, hand-writing altivec and hand-optimizing h.264 to work on iMacs and iBooks that didn’t have simd..

crest | 11 hours ago

Having to optimise for three very different microarchitectures with the G3 (short narrow pipeline, no AltiVec, small caches), G4 (short wide pipeline, focus on in-order AltiVec, useful OoO otherwise, large L2 yet memory bandwidth starved), and G5 (long and wide pipeline, focus on super-scalar OoO, AltiVec just glued on, more memory bandwidth) must have been "fun".

How many variants of the codecs did you have to implement to make it work?

rajbot | 6 hours ago

And Intel! We shipped QuickTime for windows, and then later launched intel-based macs. That was a lot of work to optimize for too! Lots of nights and weekends porting and optimizing for little-endian byte order and a completely different simd instruction set. Porting QT from OS9 to OS X was another major transition. It was fun though :)

rootsudo | 9 hours ago

I really love HN!

Thank you for working on this. You added so much enjoyment to using AIM on an eMac circa that time. People talk fondly of their 90's/80's computing experience, but this was mine. It really was a magical time...

qubex | 8 hours ago

I remember Jobs promising it would be released as an open standard. What happened behind the scenes to prevent that occurring?

yincrash | 7 hours ago

He also said the same thing about FaceTime in 2010

qubex | 7 hours ago

Maybe I’m confusing the two.

rafram | 7 hours ago

Yeah, you're thinking of FaceTime.

inemesitaffia | 6 hours ago

A lawsuit happened with FaceTime though

[OP] thepipetogrep | 7 hours ago

I was not aware of this.

dansalvato | 6 hours ago

Assuming you're thinking of FaceTime, I remember there being a patent lawsuit shortly after launch that apparently lasted a couple years: https://www.bbc.com/news/technology-20236114

By that time, not only was Android looking much more competitive, but FaceTime evidently demonstrated to be a massive hit that became very powerful for Apple's branding.

I also read that FaceTime eventually went from P2P to centralized servers (maybe in response to the lawsuit?), which of course is antithetical to the premise of being open.

Lastly, just speculating, but I imagine Steve Jobs had to have been a strong advocate for making it an open standard, if not the driving force. It makes sense that the promise would have fizzled out by the time the lawsuit was over, a year after his death.

[OP] thepipetogrep | 7 hours ago

This is incredible and thank you for the reply. My friend and I are obsessed with computing history and this time period was especially fun for the both of us. Thank you for being a contributor to it.

I'm curious, would you be open to talking about your experience on a podcast with us? https://forkbombpodcast.com/ It's noncommercial, no ads, and is just for fun.

If not, I'd love to know more here. You all must of been really proud of what you built.

rajbot | 5 hours ago

Very nice podcast! Such a breath of fresh air given how many podcasts these days seem mostly interested in selling ads. Will definitely check it out.

It might be a bit before I have time to do a podcast (and also there are many things I can’t talk about because of both the nature of Apple and also the legal mess that is the video field). Anything specific you want to hear more about?

[OP] thepipetogrep | 4 hours ago

Really, it's just a chance to hang out and know what you're about, what you enjoy doing, how you got into the industry, and anything about your time at Apple and with iChat that you care to (or are allowed to) share. We'd come up with a list of questions that we're the most curious about, but I see it as a way to just have a good time on a recording and have a good memory to look back on while sometimes making new connections and possibly friends along the way.

On a personal note, when iChat AV was released, I used to enjoy going into Apple stores and setting up the Macs there with a video conference via Bonjour and I would just leave them that way because I thought it was so neat.

rajbot | 3 hours ago

Oh cool! Send me the list of questions and you can decide if my answers are podcast-worthy.

The early days of the Apple Store were so fun. The company was smaller then, and as an employee (or really anybody) you could just show up and start answering customer questions.

I remember when the Palo Alto store opened in 2001 they handed out T-shirts on the first day. I still have mine in a big box of old apple T-shirts from back in that era.

[OP] thepipetogrep | an hour ago

How about this? We covered our previous attempt at getting iChat working with well known guest in the PowerPC community. https://forkbombpodcast.com/e/episode-37-ichatav-and-intervi... What if we have a part 2 now that we have it working with you as the subject matter expert on it? Just keeping it as a conversation, no real script, and questions as they come up.

We should probably keep the rest of this conversation private. My email is in the blog post, so feel free to reach out there if you're interested, and if so, thanks in advance!

dansalvato | 7 hours ago

I was a teenager at the time and would watch all of Apple's keynotes. I remember them making a big deal for a while about H.264 support. It's very cool to get a glimpse of the context where engineers like yourself were likely proud of your work, and I'm glad that it was shown through the way that Apple talked about it.

dewey | 13 hours ago

A few years ago I bought that iSight camera off eBay for no good reason, especially as I can't really use it. It's just a beautiful object to own.

JSR_FDED | 6 hours ago

I’ll still take that UI 1000x over Golden Gate.