Podcasts about your ipad

  • 21PODCASTS
  • 26EPISODES
  • 1h 4mAVG DURATION
  • ?INFREQUENT EPISODES
  • Mar 29, 2025LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about your ipad

Latest podcast episodes about your ipad

In Touch with iOS
351 - The Apple Roadmap: Vision Pro Visions & iPhone 16e Revelations

In Touch with iOS

Play Episode Listen Later Mar 29, 2025 73:22


The latest In Touch With iOS with Dave is joined by guests,Jill McKinley, Guy Serle, and Marty Jencius. We discuss Apple's Vision Pro updates, including UI improvements and Apple Intelligence features, debating its commercial viability. We review iOS 18.4 and macOS betas, enhanced DJ integration in Apple Music, and Marty's experience with the iPhone 16e C1 modem. Lighter topics include Apple Car interest rates, T-Mobile's MLB.tv offer, and Apple Music Classical updates. We wrap up by highlighting Apple TV+'s new series “The Studio” and promoting the upcoming Macstock conference in July. The show notes are at InTouchwithiOS.com  Direct Link to Audio  Links to our Show Give us a review on Apple Podcasts! CLICK HERE we would really appreciate it! Click this link Buy me a Coffee to support the show we would really appreciate it. intouchwithios.com/coffee  Another way to support the show is to become a Patreon member patreon.com/intouchwithios Website: In Touch With iOS YouTube Channel In Touch with iOS Magazine on Flipboard Facebook Page BlueSky Mastodon X Instagram Threads Spoutible Summary We dive headfirst into the world of Apple's Vision Pro, unpacking the latest release candidate for version 2.4. The updates promise sharper interfaces and smoother spatial experiences, but we can't help but speculate about those elusive Apple Intelligence features lurking on the horizon. While some are dazzled by the enhancements, others remain unconvinced—sparking a spirited debate over whether Vision Pro can justify its hefty price tag and overcome lukewarm reviews. The question lingers: Can Vision Pro truly redefine spatial computing? Shifting focus, we explore the newest iOS 18.4 and macOS betas, where priority notifications and ambient music control take center stage. Jill tests out the new sketch features, delivering a candid review of their usability and what she hopes to see polished by the final release. Meanwhile, the Apple Music app steps up its game with improved DJ integration, aiming to stake its claim as a heavyweight in the music scene. Marty then takes us on a real-world test drive with the iPhone 16e and its shiny new C1 modem during a conference in Orlando. The connectivity results? Surprising and impressive. We dissect his findings, comparing them to other devices and contemplating what these performance gains mean for Apple's hardware evolution. With WWDC looming on the horizon, we can't help but speculate about the big reveals and potential breakthroughs that could reshape user experiences. Switching gears to lighter fare, we chat about the Apple Car's savings account interest rates and how they stack up against competitors. Nostalgia kicks in when we reminisce about T-Mobile's annual MLB.tv offer, a testament to loyalty perks that keep customers hooked year after year. As we wrap up, we delve into Apple's entertainment ecosystem with updates on Apple Music Classical and the latest Apple TV+ comedy series, “The Studio.” We celebrate Apple's relentless push for innovation across content and subscription services while encouraging listeners to join us at the upcoming Macstock conference this July—a must-attend event for Apple enthusiasts. It's a jam-packed discussion filled with fresh insights, hot takes, and plenty of excitement for what Apple has planned next. Topics and Links In Touch With Vision Pro this week Apple Seeds Release Candidate Versions of visionOS 2.4, tvOS 18.4, and watchOS 11.4  4 visionOS 3 features that can turn Vision Pro into an everyday device Beta this week. iOS 18.4 Release candidate this week.  Apple Seeds iOS 18.4 and iPadOS 18.4 Release Candidate With Priority Notifications, Ambient Music and More iOS 18.4 Release Candidate comes bundled with over 50 new changes and features [Video] This sneaky new musiciOS 18.4 Release Candidate comes bundled with over 50 new changes and features [Video] - 9to5Mac feature in iOS 18.4 is actually a hidden gem CarPlay in iOS 18.4 adds three new features that will be here soon iPadOS 18.4: Your iPad's getting four new features soon iOS 18.4 Coming Soon With These New Features for Your iPhone  iOS 18.4's notification upgrade is easily one of Apple's best AI features  watchOS 11.4 Will Make Sure You Don't Miss Alarms In Touch With Mac this week Apple Seeds Second macOS Sequoia 15.4 Release Candidate With Mail Categorization Can't Update to the macOS 15.4 RC? Here's Why Apple Seeds macOS Sequoia 15.4 Release Candidate With Mail Categorization Marty's iPhone 16e C1 Modem experience. Apple announces 'incredible' WWDC 2025 slated for June 9-13 WWDC 2025 Includes In-Person Apple Park Event - Here's How to Attend Sorry, iPhone Mini Fans: Apple Isn't Planning Another Small Phone Apple Music Now Integrated With More DJ Apps AirPods Max With Lightning vs. USB-C Buyer's Guide: All Differences Compared AirPods Max to Gain Lossless Audio and Low-Latency Audio in iOS 18.4 Don't Buy Into Apple's Hype About AirPods Max Gaining Lossless Audio Apple Now Selling USB-C to 3.5mm Audio Cable Apple's base iPad didn't get AI, and this chart totally explains why News Apple Leadership Reshuffle Continues as Company Appoints New Global Head of Stores Apple names Vanessa Trigub to new role as VP of retail stores Final Cut Pro for Mac Gains Adjustment Clips, Image Playground Integration and More - MacRumors Apple Card Savings Account's Interest Rate Lowered Apple Card Savings still holds strong, here's how its interest rate compares to others WhatsApp Can Now Be Your Default Call and Messaging App on iPhone Hilarious new comedy series 'The Studio' streaming now on Apple TV+ T-Mobile Brings Back Free MLB.TV Subscription Perk Apple Music Classical Updated With Three New Features Announcements Macstock 9 is here for 3 Days on July 11, 12, and 13th, 2025. Super Early bird tickets here save $100. Register | Macstock Conference & Expo Book your room with a Macstock discount here. Location | Macstock Conference & Expo Our Host Dave Ginsburg is an IT professional supporting Mac, iOS and Windows users and shares his wealth of knowledge of iPhone, iPad, Apple Watch, Apple TV and related technologies. Visit the YouTube channel https://youtube.com/intouchwithios follow him on Mastadon @daveg65, and the show @intouchwithios   Our Regular Contributors Jeff Gamet is a podcaster, technology blogger, artist, and author. Previously, he was The Mac Observer's managing editor, and Smile's TextExpander Evangelist. You can find him on Mastadon @jgamet as well as Twitter and Instagram as @jgamet  His YouTube channel https://youtube.com/jgamet Marty Jencius, Ph.D., is a professor of counselor education at Kent State University, where he researches, writes, and trains about using technology in teaching and mental health practice. His podcasts include Vision Pro Files, The Tech Savvy Professor and Circular Firing Squad Podcast. Find him at jencius@mastodon.social  https://thepodtalk.net  About our Guest Guy Serle is the host of the MyMac Podcast and the (hopefully) reconstituted Guy's Daily Drive…which isn't daily, but is done by driving so half accurate. email Guy@mymac.com @MacParrot and @VertShark on Twitter Vertshark.com,  Vertshark on YouTube, Skype +1 Area code  703-828-4677 Jill McKinley works in enterprise software, server administration, and IT. A lifelong tech enthusiast, she started her career with Windows but is now an avid Apple fan. Beyond technology, she shares her insights on nature, faith, and personal growth through her podcasts—Buzz Blossom & Squeak, Start with Small Steps, and The Bible in Small Steps. Watch her content on YouTube at @startwithsmallsteps and follow her on X @schmer

Thoughts on Illustration
Let Your Ideas Gain Interest Over Time

Thoughts on Illustration

Play Episode Listen Later Sep 10, 2024 33:54


Take Drawing is Important on Skillshare — https://skl.sh/3UWWY00 — Use my link to get 30 free days on the platform!Just like saving money in the bank, your drawings can gain interest over time. In this episode I explain how this works, and I share how this principle has yielded both creative and financial rewards in my own life. I open up the episode with some recap from the summer! In the end you'll learn how to set your daily drawing practice up for success with my 5-step plan. Happy to be back for Season 3!How to SupportShare this episode and podcast with a friend! — https://thoughts-on-illustration.simplecast.com/episodes/let-your-ideas-gain-interest-over-timeBecome a Drawing Buddy on Patreon — http://patreon.com/tomfroeseLike and follow/subscribe!Episode LinksInky Maps (Procreate Edition) — Create an Analog-Inspired Map on Your iPad — https://skl.sh/3Swd9SKDrawing is Important — https://skl.sh/3UWWY00In This EpisodeIntroOpening thoughts and summer recapNew ClassThe Friday Five newsletter on SubstackMain ContentBanking your ideas and drawingsWhat do I mean by this?Example: My daily drawing practiceEvolution - we don't just evolve forward, but see how we were evolved in the pastMindset: Not about creating "great" work in the moment, just showing upLater, seeing with fresh eyes, appreciating what we didn't beforeThe PlanPurposeMediaInspiration SourceSustainable ScheduleSharing Strategy2 examples of how it yielded fruitPublished in a bookBecame the basis of a major Skillshare classOutro PODCAST TEAM/CREDITS Mark Allan Falk, Audio/Video Engineerhttps://linktr.ee/semiathleticAll Music, including Theme Song and Cues by Mark Allan Falk. FIND ME ELSEWHERE www.tomfroese.com

Thoughts on Illustration
Lisa Bardot AKA the Kyle T. Webster of Procreate Brushes

Thoughts on Illustration

Play Episode Listen Later Jun 18, 2024 81:30


Take Lisa's class, Imaginative Map-Making in Procreate on Skillshare  — Use this link to get 30 days free! — https://skl.sh/3z8zI9aJoin in on my conversaion with  Lisa Bardot, who teaches people how to make art on their iPad. But that job description is deceivingly simple. She may be best known for her vast catalogue of analogue inspired procreate brushes, aka Bardot Brush. (She's kind of the Kyle T. Webster of procreate brushes). But she also teaches making digital online in places like Skillshare, YouTube and her own membership platform called Art Maker's Club. She also runs in-person art trips — her most recent one being in France. If that weren't enough, she's also the author of a brand new book called Drawing Digital, The Complete Guide for Learning to Draw and Paint on Your iPad, AND she even provides monthly prompt lists for inspiration-seeking artists, which she calls Make Art Every Day. Lisa has created an entire universe of creativity and community around her passion for drawing and illustrating in Procreate. I really think she's a perfect guest for the podcast, as she embodies the whole ethos of this podcast of showing up everyday and growing through it, no matter what (and thriving because of it). >>> Video edition available on YouTube.

iOS Today (Video HI)
iOS 653: Get on Board for iPad Gaming Fun - Wingspan: The Board Game, Ticket to Ride, Carcassone, Phase 10

iOS Today (Video HI)

Play Episode Listen Later May 9, 2023 93:14


Your iPad is an excellent gaming device — not just for high-powered, graphics-driven gaming, but also for single- and multi-player board games! Rosemary Orchard and Mikah Sargent share some of their favorite iPad board games in the App Store.   Wingspan: The Board Game Ticket to Ride Carcassonne – Tiles & Tactics Love Letter - Card Game Catan Universe Exploding Kittens UNO! Phase 10: World Tour Reverse Color Score Anything News The downfall of Brydge: iPad keyboard company folds, leaving staff unpaid and customer orders unfulfilled Apple launches 20 fun new games for its award-winning Apple Arcade service Apple Music Live returns for a brand-new season with Ed Sheeran Apple brings Final Cut Pro and Logic Pro to iPad Apple Watch Pride Edition celebrates the LGBTQ+ community Shortcuts Corner Eric wants to toggle Siri's ability to announce notifications on the device's built-in speaker. Dave thanks Rosemary and Matthew for providing the advice needed to patch an Airtable record. Jeremy inquires about the Sleep Focus Mode on iPad. Feedback & Questions Michael wants to import a Voice Memo recording into their Apple Music library without using a Mac. App Caps Rosemary's App Cap: Wingscore: scoresheets Mikah's App Cap: Peridot Hosts: Mikah Sargent and Rosemary Orchard Download or subscribe to this show at https://twit.tv/shows/ios-today. Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit You can contribute to iOS Today by leaving us a voicemail at 757-504-iPad (757-504-4723) or sending an email to iOSToday@TWiT.tv. Sponsors: joindeleteme.com/twit promo code TWIT grammarly.com/GO lectricebikes.com

iOS Today (MP3)
iOS 653: Get on Board for iPad Gaming Fun - Wingspan: The Board Game, Ticket to Ride, Carcassone, Phase 10

iOS Today (MP3)

Play Episode Listen Later May 9, 2023 93:14


Your iPad is an excellent gaming device — not just for high-powered, graphics-driven gaming, but also for single- and multi-player board games! Rosemary Orchard and Mikah Sargent share some of their favorite iPad board games in the App Store.   Wingspan: The Board Game Ticket to Ride Carcassonne – Tiles & Tactics Love Letter - Card Game Catan Universe Exploding Kittens UNO! Phase 10: World Tour Reverse Color Score Anything News The downfall of Brydge: iPad keyboard company folds, leaving staff unpaid and customer orders unfulfilled Apple launches 20 fun new games for its award-winning Apple Arcade service Apple Music Live returns for a brand-new season with Ed Sheeran Apple brings Final Cut Pro and Logic Pro to iPad Apple Watch Pride Edition celebrates the LGBTQ+ community Shortcuts Corner Eric wants to toggle Siri's ability to announce notifications on the device's built-in speaker. Dave thanks Rosemary and Matthew for providing the advice needed to patch an Airtable record. Jeremy inquires about the Sleep Focus Mode on iPad. Feedback & Questions Michael wants to import a Voice Memo recording into their Apple Music library without using a Mac. App Caps Rosemary's App Cap: Wingscore: scoresheets Mikah's App Cap: Peridot Hosts: Mikah Sargent and Rosemary Orchard Download or subscribe to this show at https://twit.tv/shows/ios-today. Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit You can contribute to iOS Today by leaving us a voicemail at 757-504-iPad (757-504-4723) or sending an email to iOSToday@TWiT.tv. Sponsors: joindeleteme.com/twit promo code TWIT grammarly.com/GO lectricebikes.com

All TWiT.tv Shows (MP3)
iOS Today 653: Get on Board for iPad Gaming Fun

All TWiT.tv Shows (MP3)

Play Episode Listen Later May 9, 2023 93:14


Your iPad is an excellent gaming device — not just for high-powered, graphics-driven gaming, but also for single- and multi-player board games! Rosemary Orchard and Mikah Sargent share some of their favorite iPad board games in the App Store.   Wingspan: The Board Game Ticket to Ride Carcassonne – Tiles & Tactics Love Letter - Card Game Catan Universe Exploding Kittens UNO! Phase 10: World Tour Reverse Color Score Anything News The downfall of Brydge: iPad keyboard company folds, leaving staff unpaid and customer orders unfulfilled Apple launches 20 fun new games for its award-winning Apple Arcade service Apple Music Live returns for a brand-new season with Ed Sheeran Apple brings Final Cut Pro and Logic Pro to iPad Apple Watch Pride Edition celebrates the LGBTQ+ community Shortcuts Corner Eric wants to toggle Siri's ability to announce notifications on the device's built-in speaker. Dave thanks Rosemary and Matthew for providing the advice needed to patch an Airtable record. Jeremy inquires about the Sleep Focus Mode on iPad. Feedback & Questions Michael wants to import a Voice Memo recording into their Apple Music library without using a Mac. App Caps Rosemary's App Cap: Wingscore: scoresheets Mikah's App Cap: Peridot Hosts: Mikah Sargent and Rosemary Orchard Download or subscribe to this show at https://twit.tv/shows/ios-today. Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit You can contribute to iOS Today by leaving us a voicemail at 757-504-iPad (757-504-4723) or sending an email to iOSToday@TWiT.tv. Sponsors: joindeleteme.com/twit promo code TWIT grammarly.com/GO lectricebikes.com

iOS Today (Video)
iOS 653: Get on Board for iPad Gaming Fun - Wingspan: The Board Game, Ticket to Ride, Carcassone, Phase 10

iOS Today (Video)

Play Episode Listen Later May 9, 2023 93:14


Your iPad is an excellent gaming device — not just for high-powered, graphics-driven gaming, but also for single- and multi-player board games! Rosemary Orchard and Mikah Sargent share some of their favorite iPad board games in the App Store.   Wingspan: The Board Game Ticket to Ride Carcassonne – Tiles & Tactics Love Letter - Card Game Catan Universe Exploding Kittens UNO! Phase 10: World Tour Reverse Color Score Anything News The downfall of Brydge: iPad keyboard company folds, leaving staff unpaid and customer orders unfulfilled Apple launches 20 fun new games for its award-winning Apple Arcade service Apple Music Live returns for a brand-new season with Ed Sheeran Apple brings Final Cut Pro and Logic Pro to iPad Apple Watch Pride Edition celebrates the LGBTQ+ community Shortcuts Corner Eric wants to toggle Siri's ability to announce notifications on the device's built-in speaker. Dave thanks Rosemary and Matthew for providing the advice needed to patch an Airtable record. Jeremy inquires about the Sleep Focus Mode on iPad. Feedback & Questions Michael wants to import a Voice Memo recording into their Apple Music library without using a Mac. App Caps Rosemary's App Cap: Wingscore: scoresheets Mikah's App Cap: Peridot Hosts: Mikah Sargent and Rosemary Orchard Download or subscribe to this show at https://twit.tv/shows/ios-today. Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit You can contribute to iOS Today by leaving us a voicemail at 757-504-iPad (757-504-4723) or sending an email to iOSToday@TWiT.tv. Sponsors: joindeleteme.com/twit promo code TWIT grammarly.com/GO lectricebikes.com

All TWiT.tv Shows (Video LO)
iOS Today 653: Get on Board for iPad Gaming Fun

All TWiT.tv Shows (Video LO)

Play Episode Listen Later May 9, 2023 93:14


Your iPad is an excellent gaming device — not just for high-powered, graphics-driven gaming, but also for single- and multi-player board games! Rosemary Orchard and Mikah Sargent share some of their favorite iPad board games in the App Store.   Wingspan: The Board Game Ticket to Ride Carcassonne – Tiles & Tactics Love Letter - Card Game Catan Universe Exploding Kittens UNO! Phase 10: World Tour Reverse Color Score Anything News The downfall of Brydge: iPad keyboard company folds, leaving staff unpaid and customer orders unfulfilled Apple launches 20 fun new games for its award-winning Apple Arcade service Apple Music Live returns for a brand-new season with Ed Sheeran Apple brings Final Cut Pro and Logic Pro to iPad Apple Watch Pride Edition celebrates the LGBTQ+ community Shortcuts Corner Eric wants to toggle Siri's ability to announce notifications on the device's built-in speaker. Dave thanks Rosemary and Matthew for providing the advice needed to patch an Airtable record. Jeremy inquires about the Sleep Focus Mode on iPad. Feedback & Questions Michael wants to import a Voice Memo recording into their Apple Music library without using a Mac. App Caps Rosemary's App Cap: Wingscore: scoresheets Mikah's App Cap: Peridot Hosts: Mikah Sargent and Rosemary Orchard Download or subscribe to this show at https://twit.tv/shows/ios-today. Get episodes ad-free with Club TWiT at https://twit.tv/clubtwit You can contribute to iOS Today by leaving us a voicemail at 757-504-iPad (757-504-4723) or sending an email to iOSToday@TWiT.tv. Sponsors: joindeleteme.com/twit promo code TWIT grammarly.com/GO lectricebikes.com

Baring It All
How Delayed Gratification Set Entrepreneur Jerry Malcolm Up For Long Term Success

Baring It All

Play Episode Listen Later Oct 14, 2022 46:02


Jerry Malcolm understands how to fight for himself and achieve his goals. In today's inspirational episode, Jerry recalls his journey of staying true to himself and overcoming adversity. From humble beginnings, he avoided the gangs that surrounded him and leaned into himself and kickboxing. His determination and ability to fight for delayed gratification allowed him to become an entrepreneur and real estate investor by his early 20s. Listen in as Jerry shares his story of triumph, keys to focusing on your own programming, and hear valuable advice for success. IN THIS EPISODE: [02:54] Jerry shares his backstory and how he overcame stereotypes.  [07:53] Jerry gives advice for young adults with similar upbringings.  [14:04] How Jerry had the courage to make big life decisions.  [21:59] Intelligence should not be categorized by the amount of higher education, success can look different for everyone.  [37:44]  Jerry expands on where he sees himself in five years.  [41:00] An excellent analogy about programming an iPad to your own desires.  [43:39] Jerry shares how he would like to be remembered. KEY TAKEAWAYS:  In this age of instant gratification, one important skill to learn is delayed gratification or playing the long game. Be persistent in working towards your goals.  Put yourself around people you want to be like. Don't be intimidated by their success, be inspired by it, and learn from it. You have to program your life for yourself. For example, on an iPad, you only have so much storage, so you choose the apps that mean something to you. You delete what you don't use and back up the programs that you use everyday. Your iPad mirrors you. It wouldn't be helpful to have someone else's, you need your own programs. Life is the same. RESOURCE LINKS: Jerry Malcolm Instagram Jerry Malcolm Website Jerry Malcolm Clubhouse Jerry Malcolm Youtube Baring it All Website BIO: Jerry Malcolm is a real estate investor and growth coach born in DC. He later moved to Belize with his mom and siblings as a child but was raised in a single mom's poverty-stricken areas of Los Angeles. At an early age, Jerry got into martial arts and competed in kickboxing and submission wrestling. His fighting background led to the birth of his “7th Round” brand, reminding him that success was like a competition and winners are made in the championship rounds.

Origin Stories w JJK

Origin Stories is sponsored in part by High Five Books, a beautiful and incredible indie bookshop here in Florence, Massachusetts. Check out StudioJJK.com/OriginStories for links to buy Lucy's books from this fabulous indie. And while you are over on the High Five website, check out their curated lists of book recommendations. Truly High Five Worthy.If you are enjoying my chat with Lucy and want to SEE the conversation, which includes visuals of the books we reference, check out StudioJJK.com/OriginStories. I recorded this talk via Switcher Studio. Switcher Studio is a simple and powerful IOS app that makes your live video feeds look like a professional produced piece. Your iPad becomes like the production control room as you switch between your iPhone camera (which acts as a webcam), your remote guests, and any pre-recorded video or visuals you want to bring on screen. I would like to thank Switcher Studio for sponsoring this podcast. And as a thank you to you for listening, you may use code “StudioJJK” at switcherstudio.com to receive a free month of the service!

Origin Stories w JJK

Hi! I'm graphic novelist Jarrett J. Krosoczka and welcome to Origin Stories. In this podcast, I go on a deep dive into the upbringings and artistic developments of some of the very brightest and most talented graphic novelists working today. In this episode, we are going to get to know how Jerry Craft became Jerry Craft!I like to rib Jerry and call him an “overnight success.” Jerry's first full-length graphic novel, NEW KID, published in 2019. And it did what many in the publishing community thought for years was unattainable—it won the prestigious Newbery Medal. THE GOLD MEDAL—for a graphic novel. While the Newbery is quite arguably the most legendary of the book awards, NEW KID also garnered Jerry a Coretta Scott King MEDAL for writing! Truthfully, I lost count as to how many awards stickers Jerry's book won. NEW KID is such an important book. We follow Jordan Banks and we get to see the world through his eyes, a young Black man who enters a predominantly white private school. Oh, and why is it ironic to call Jerry an “Overnight success”? Well, you're about to find out!Let's get to know Jerry Craft's Origin Story!Before we get into my conversation with Jerry Craft, Origin Stories is sponsored in part by High Five Books, a beautiful and incredible indie bookshop here in Florence, Massachusetts. Check out StudioJJK.com/OriginStories for links to buy Raul's books from this fabulous indie. They even have a limited supply of autographed copies. And while you are over on the High Five website, check out their curated lists of book recommendations. Truly High Five Worthy. Okay, on to my chat with … JERRY CRAFT!If you are enjoying my chat with Jerry and want to SEE the conversation, which includes visuals of the books we reference, check out StudioJJK.com/OriginStories. I recorded this talk via Switcher Studio. Switcher Studio is a simple and powerful IOS app that makes your live video feeds look like a professionally produced piece. Your iPad becomes like the production control room as you switch between your iPhone camera (which acts as a webcam), your remote guests, and any pre-recorded video or visuals you want to bring on screen. I would like to thank Switcher Studio for sponsoring this podcast. And as a thank you to you for listening, you may use code “StudioJJK” at switcherstudio.com to receive a free month of the service!

Origin Stories w JJK

Hi! I'm graphic novelist Jarrett J. Krosoczka and welcome to Origin Stories. In this podcast, I go on a deep dive into the upbringings and artistic developments of some of the very brightest and most talented graphic novelists working today. In this episode, we are going to get to know how Raul the Third became Raul the Third!Raul blasted onto the comics scene in 2014, with the publication of LOWRIDERS IN SPACE. Written by Cathy Camper and illustrated by Raul, this beautiful graphic novel series celebrates lowrider culture through an action-packed out-of-this-world adventure. Raul made his debut as an author/illustrator in 2019 with Vamos! Let's Go to the Market, a picture book that celebrates Raul's own origins growing up in a border town in Texas. The Vamos series took off, creating an entire universe of Raul's making. More picture books, early readers, plushies, and even an animated cartoon in the works!Let's get to know Raul the Third's Origin Story.Before we get into my conversation with Raul the Third, Origin Stories is sponsored in part by High Five Books, a beautiful and incredible indie bookshop here in Florence, Massachusetts. Check out StudioJJK.com/OriginStories for links to buy Raul's books from this fabulous indie. They even have a limited supply of autographed copies. And while you are over on the High Five website, check out their curated lists of book recommendations. Truly High Five Worthy. Okay, on to my chat with …If you are enjoying my chat with Raul and want to SEE the conversation, which includes visuals of the books we reference, check out StudioJJK.com/OriginStories. I recorded this talk via Switcher Studio. Switcher Studio is a simple and powerful IOS app that makes your live video feeds look like a professionally produced piece. Your iPad becomes like the production control room as you switch between your iPhone camera (which acts as a webcam), your remote guests, and any pre-recorded video or visuals you want to bring on screen. I would like to thank Switcher Studio for sponsoring this podcast. And as a thank you to you for listening, you may use code “StudioJJK” at switcherstudio.com to receive a free month of the service!

Origin Stories w JJK

In this episode, we are going to get to know how Ngozi Ukazu became Ngozi Ukazu.In 2013, Ngozi created called Check, Please! The webcomic follows vlogger and figure-skater turned ice-hockey player Eric "Bitty" Bittle as he enters college.Bitty deals with hockey culture, toxic masculinity, as well as his identity as a gay man. Oh, he also bakes delicious pies.In 2018, First Second brought Ngozi's Check, Please! To print and the book became a massive success!Please note that this interview was recorded some months ago BEFORE I knew just what I should be doing with my microphones. I considered re-recording the interview but there is just something magical about learning of a friend's history in the moment.  Let's get to know Ngozi Ukazu!Origin Stories is sponsored in part by High Five Books, a beautiful and incredible indie bookshop here in Florence, Massachusetts. Check out StudioJJK.com/OriginStories for links to buy Maia's books from this fabulous indie. They even have a limited supply of autographed copies. And while you are over on the High Five website, check out their curated lists of book recommendations. Truly High Five Worthy. Okay, on to my chat with …If you are enjoying my chat with Ngozi and want to SEE the conversation, which includes visuals of the books we reference, check out StudioJJK.com/OriginStories. I recorded this talk via Switcher Studio. Switcher Studio is a simple and powerful IOS app that makes your live video feeds look like a professional produced piece. Your iPad becomes like the production control room as you switch between your iPhone camera (which acts as a webcam), your remote guests, and any pre-recorded video or visuals you want to bring on screen. I would like to thank Switcher Studio for sponsoring this podcast. And as a thank you to you for listening, you may use code “StudioJJK” at switcherstudio.com to receive a free month of the service!

Rene Ritchie
Apple Ecosystem 2021 — Cheapest to Most Expensive!

Rene Ritchie

Play Episode Listen Later Jul 7, 2021 9:53


NO ADS + bonus content! CuriosityStream & Nebula for less than $15 a YEAR! https://curiositystream.com/reneritchie/The ecosystem. It's what everybody always talks about. What makes Apple products so damn sticky, competitors so hella jelly, regulators so silly salty, and customers just… so happy… if sometimes… straight jacket itchy?Your AirPods automatically switch between all your other Apple devices, sometimes miraculously, others times… way too promiscuously. Your Apple Watch unlocks your iPhone when you're wearing a mask, or your Mac.. any time. Syncs your rings to Fitness+ on the Apple TV at workout time. Copies your Apple Pay off your iPhone so you can oh so easily tap to pay.Your iPhone unlocks your Apple Watch, hands off a message to your iPad, a song to your HomePod mini, scans a document into your Mac. And soon, will be pushing a FaceTime movie over SharePlay to your Apple TV.Your iPad copies and pastes a photo to your iPhone, or works as a Sidecar display for your Mac. Projects a 3D spatial audio with dynamic head tracking experience to your AirPods.Your Mac does all the big editing and batch jobs, from photos to music to contacts to, soon, Shortcuts that all get synced back to all your other devices, all the time. And, soon, will act as an AirPlay target for your iPhone or iPad or other Mac, or will take control of your iPad or other Mac for a fully unified experience.But… at what cost? What's the buy in?See Privacy Policy at https://art19.com/privacy and California Privacy Notice at https://art19.com/privacy#do-not-sell-my-info.

iPad Pros
1st Generation iPad Pro in 2021 with Mark Crump (iPad Pros - 0116)

iPad Pros

Play Episode Listen Later Jun 24, 2021 43:27


Mark Crump is a writer who is still using the original 12.9” iPad Pro from 2015 with 128GB of storage. We dive into what Mark uses the iPad Pro for and his upgrade approach; when is it finally time to upgrade a tool? If you've ever been tempted to upgrade when perhaps your old iPad can still do the job this episode is for you. Read Mark's work at www.MarkCrump.com.Bonus content and early episodes with chapter markers are available by supporting the podcast at www.patreon.com/ipadpros. Show notes are available at www.iPadPros.net. Feedback is welcomed at iPadProsPodcast@gmail.com.Chapter Markers00:00:00: Opening00:01:52: Patreon.com/iPadPros00:02:29: Mark Crump00:03:19: Enough00:06:07: PDF Magazines00:08:06: Ulysses00:08:47: Your iPad's role at work00:11:13: Apple Pencil Battery Life00:12:34: Pro vs Air00:13:16: Ulysses00:13:35: Smart Keyboard?00:14:49: Virtual Keyboard00:15:27: Not your only computer00:16:16: Sidecar00:16:55: iPad Pro Configuration00:19:18: Series 000:21:45: Cameras And Phil00:23:43: Display Tech00:30:36: iPad Pro Features For $32900:32:27: RAM00:34:48: Final Thoughts Original Pro in 202100:38:45: Zinio00:38:52: Libby00:39:18: Things00:40:44: OmniGraffle00:40:51: AutoCAD00:42:30: Where Can People Find You Online?00:42:57: Closing See acast.com/privacy for privacy and opt-out information.

Intego Mac Podcast
New, New, New from Apple!

Intego Mac Podcast

Play Episode Listen Later Sep 18, 2020 31:51


Apple announced new Apple Watch models, updated iPads, a new fitness subscription service, and a subscription bundle, Apple One. While iOS 14 and iPadOS 14 were released this week, there's still no news on macOS. Josh and Kirk look at all the new stuff, and try to figure out what's best for most users. Show Notes: Apple Introduces New Apple Watch, iPad Air, and AppleOne Services Bundle Which iPad Is Best for You? Everything you can do with the Apple Pencil and Logitech Crayon on Your iPad Apple releases iOS 14, watchOS 7 and more with security updates Change Activity Goals on the Apple Watch in watchOS 7 Intego Mac Premium Bundle X9 is the ultimate protection and utility suite for your Mac. Download a free trial now at intego.com. First-time buyers can save 40% by using coupon code PODCAST20 at checkout. Intego Antivirus for Windows keeps your Boot Camp, VM, or PC protected from the latest malware threats. Download a free trial now, and use this link for a special discount when you're ready to buy.

In Touch with iOS
075 - Too many iOS Bugs with Co-Host Warren Sklar

In Touch with iOS

Play Episode Listen Later Nov 25, 2019 61:19


In this episode of In Touch With iOS Your host Dave Ginsburg is joined as always by co-host Warren Sklar. Are all these iOS bug updates bugging you? They are for us we discuss what Apple is going to do about it. Apple Music vs iTunes Match do you need them both? Plus more on this Thanksgiving episode.  Show notes are at InTouchwithiOS.com 
Direct Link to Audio News  Apple Launches New Smart Battery Cases for the iPhone 11, iPhone 11 Pro and iPhone 11 Pro Max Apple announces press event on December 2 Apple launches Research app, US users can enroll in three health studies Topics Apple Music vs iTunes Match do you need them both? Is the family membership worth it? Cancelling iTunes Match? Here’s how to download your iCloud Music Library before you do so All these Apple updates! Is Apple finally reevaluating their process? Apple may finally be getting serious about stopping iOS bugs before they reach our iPhones Apple releases iOS 13.2.3 with more background app improvements, Mail fixes, more Apple Seeds Third Betas of iOS 13.3 and iPadOS 13.3 to Developers Apple Dvelopers conf vs WWDC  iOS 13 and the release dates and we see why it's so bad.  13.0      9/19/19 13.1     9/24/19 13.1.1   9/27/19 13.1.2    9/30/19 13.1.3     10/15/19 13.2      10/28/19 13.2.1      10/30/19 13.2.2      11/7/19 13.2.3      11/18/19 13.3 (Coming soon!)   3rd beta released    Tips  How to Print From An iPad Scanning documents to the Files app on iPhone or iPad without an app. How to Hide Apps on Your iPhone (& Find Them Later) How to Delete & Uninstall Apps on an iPhone How to Use a Bluetooth Mouse with Your iPad (or iPhone)    Picks of the Week Scanner Pro Warren Reading Glasses for your eyes they make things big.  Scansnap  Macstock Conference and Expo 2020 July 25-26, 2020  Sign up for the Macstock newsletter here: Macstock  you willl be notified that there will be a Cyber Monday Early Bird sale 1 day December 2nd saving $100 off the 2 day price the best discount you will see.  About our Co-Host Co-Host: Warren Sklar, @Wsklar is an IT Consultant and moderator of the Mac To The Future FaceBook Group with over 3000 members talking about all things Apple. Request to join this group to be among people who love Apple. 

Living 4D with Paul Chek
EP 58 - Nir Eyal: Digital Technology: Bondage or Freedom?

Living 4D with Paul Chek

Play Episode Listen Later Nov 12, 2019 89:40


Are you struggling to find the time to be productive and be present with the people in your life who really matter?No time is wasted time so long as you have a plan, one of the many nuggets of wisdom you’ll discover in Paul’s latest Living 4D conversation with Nir Eyal, author of the new book Indistractable: How to Control Your Attention and Choose Your Life.And, if you want to see for yourself why Paul recommends Indistractable, Nir is offering a FREE 80-page workbook that will help you better manage your life and timeLearn more about Nir’s work at Nirandfar.com and find him on Twitter at @nireyal.Show NotesNir believes the world is getting better and technology is facilitating this, so long as it’s not getting the best of us. (7:32)The regret test measures the differences between coercion and persuasion. (10:21)Our default bias: What’s new is always scary. (16:04)When kids don’t feel a sense of autonomy, relatedness or competency, they look for it online. (24:30)The lives of kids are so regimented, they have no time for play. (29:05)The mainstream media’s negativity bias. (32:52)Motivated reasoning that mislabels distractions as addictions. (35:37)“Your iPad is not an iNanny.” (43:48)Why Nir wrote Indistractable. (49:00)Why do you keep checking your email, even at the dinner table with your family? (58:10)Social antibodies protect you. (1:05:58)What we can learn from the myth of Tantalus. (1:09:12)When you don’t define with intent what you want to do with your time, everything becomes a distraction. (1:15:17)Your three life domains. (1:24:19)ResourcesHooked: How to Build Habit-Forming Products and Indistractable: How to Control Your Attention and Choose Your Life by Nir EyalMind to Matter by Dawson ChurchFactfulness: Ten Reasons We’re Wrong About the World and Why Things Are Better Than You Think by Hans RoslingEdward Deci and Richard Ryan’s self-determination theory (SDT)Drive: The Surprising Truth About What Motivates Us by Daniel PinkDr. Peter Grey’s TED Talk on The Decline of Play and Rise of Mental DisordersThe study of Forensic AnthropologyArnold Patent’s Universal Principles

On the Brink with Andi Simon
130: Michael Davis—Cybersecurity: Pushing Defenders Ahead of Attackers

On the Brink with Andi Simon

Play Episode Listen Later Apr 22, 2019 31:46


Michael Davis explains why cybersecurity is more urgent than ever! Are you a small business and think cybersecurity is really not a concern for you? The hackers are going to go after the big guys: banks, insurance companies, large retailers, not you. Right? Wrong. Listen in as Michael Davis takes us through the swift evolution of cybercrime and the urgent need for all businesses to stop the attackers before they attack you. You literally can't afford to miss this podcast, it's that important. Listen, learn and share. And be careful out there. If you use the Web, you can be hacked Case study: A chain of pizza stores had its point of sale invaded by malware through which hackers could watch transactions taking place and capture individual customers' information. What was even more lucrative for the hackers was watching the chain's bookkeeper post monies to the company bank account, then redirecting the funds into their own account, stealing $300,000 in a quick minute. Even worse, once they knew the way in, they could blackmail the pizza chain's owner for monthly fees to avoid being hacked again. Welcome to the modern-day version of Jesse James. Cybersecurity: what businesses of all sizes should be concerned about:  Whether you think your installed malware is sufficient, or you feel you need to hire a chief security officer, or you've decided to outsource your security to a professional cybersecurity firm, now is the time to find out more so you can make the right moves for you and your business! Indeed, this podcast is coming at a great time for all of us. Who is Michael Davis?  Michael A. Davis has been educating the global community on the evolution of IT security for several years now. His portfolio of clients includes major corporations such as AT&T, Sears and Exelon, as well as the U.S. Department of Defense.  Michael’s early embrace of entrepreneurship earned him a spot on BusinessWeek’s “Top 25 under 25” list, stemming from his launch of IT security consulting firm Savid Technologies, recognized as one of the fastest growing companies of its decade. With a passion for educating others, Michael is a contributing author for the “Hacking Exposed” book series and has become a keynote speaker at conferences and symposiums worldwide.  Most recently, Michael has served as CTO of CounterTack, provider of an endpoint security platform delivering real-time cyber threat detection and forensics. Michael recognizes, as should all of us, that the cybersecurity battle is moving to the endpoint, and that conventional IT security technologies can’t ultimately protect enterprises. Firms such as CounterTack offer consumers continuous attack monitoring backed by automated threat analysis.  What you can learn from Michael Davis's podcast that you can do today:  One of the reasons I am so anxious to share with you Michael’s podcast is that I have a good friend, a fellow consultant and culture change expert, who recently had her data hacked. She paid a ransom but never got her data back. Has this happened to you? Could it? According to Michael, we're all vulnerable. Here are just a few of Michael's tips from our conversation:  Your iPad, iPhone and Android are engineered to be much less vulnerable to hackers than your Mac or PC. Use them as much as you can to secure your information. The cloud is an excellent way to thwart hackers. Consider shifting from your office servers to Dropbox, Box and other cloud-based services. They are far more secure and have backups to protect you. Instruct your staff not to open phishing or other suspicious emails. There are lots of training programs that can help you create a more secure business environment. Some blogs and podcasts on this subject you might enjoy: AI Is Infiltrating Every Corner of the Business World. Is This A Good Thing? 4 Top Ways Technology Is Transforming Accounting Firms Jared Tate—Creating DigiByte, Cryptocurrency With the Best Speed, Ease and Security Ask Andi—Why Companies Have Got To Change Or They Will Not Thrive Michael Gale—The Digital Transformation Coming to You Additional resources: My book: "On the Brink: A Fresh Lens to Take Your Business to New Heights" Our website: Simon Associates Management Consultants    Download the 1-page synopsis of my book, "On the Brink: A Fresh Lens to Take Your Business to New Heights" here

Geeks and Beats
No Sex Robots, Please

Geeks and Beats

Play Episode Listen Later May 26, 2015


The iCar is coming — if you believe the latest court documents filed against Apple. Are these your drums? David Letterman signs off with the Foo Fighters and we look at his fetish for the skins. Your iPad is about to get a much needed upgrade. We’ll tell you why your spouse will be pleased. Plus: an update on our Roku 3 streaming video player giveaway, and proof Alan is obsessed with Sex Robots. The post No Sex Robots, Please appeared first on The Geeks and Beats Podcast with Alan Cross and Michael Hainsworth.

Tech EDGE - Utility
Tech Edge, iPads In The Classroom - Episode 163, How to Make Space on Your iPad

Tech EDGE - Utility

Play Episode Listen Later May 18, 2015


Technology Information: How to Make Space on Your iPad

ipads classroom make space tech edge your ipad
Tech EDGE - For Teachers
Tech Edge, iPads In The Classroom - Episode 163, How to Make Space on Your iPad

Tech EDGE - For Teachers

Play Episode Listen Later May 18, 2015


Technology Information: How to Make Space on Your iPad

ipads classroom make space tech edge your ipad
Tech EDGE - For College Students
Tech Edge, iPads In The Classroom - Episode 163, How to Make Space on Your iPad

Tech EDGE - For College Students

Play Episode Listen Later May 18, 2015


Technology Information: How to Make Space on Your iPad

ipads classroom make space tech edge your ipad
The Tech Night Owl LIVE — Tech Radio with a Twist!
The Tech Night Owl LIVE Apr 21, 2012

The Tech Night Owl LIVE — Tech Radio with a Twist!

Play Episode Listen Later Apr 21, 2012 157:17


Tonya Engst, of TidBITS and Take Control Books, speaks about the Department of Justice's antitrust lawsuit against Apple and major book publishers from the viewpoint of a small ebook publisher. She'll also discuss her latest book, "Take Control of Your iPad." From Laptop magazine, Avram Piltch, the Online Editorial Director, discusses the 15 technologies that will be history by the time his newborn son, Isaac, becomes a teenager. You'll also learn about the most secure methods to transfer your files from Ian Shray, Co-founder and CEO of WellRedApps, who will be talking about the release of a new file encryption app, DropKey.

ceo apple tech take control tidbits night owls your ipad avram piltch take control books
Schools and Tech
Schools and Tech #24 - An Introduction to Creative Commons

Schools and Tech

Play Episode Listen Later Sep 14, 2010


SaTP24.mp3 Listen on Posterous News of the Week:1) Forget What You Know About Good Study Habits - NYTimes 2) In a New Role, Teachers Move to Run Schools - NYTimesNEWARK — Shortly after landing at Malcolm X Shabazz High School as a Teach for America recruit, Dominique D. Lee grew disgusted with a system that produced ninth graders who could not name the seven continents or the governor of their state. He started wondering: What if I were in charge?       Three years later, Mr. Lee, at just 25, is getting a chance to find out. Today, Mr. Lee and five other teachers — all veterans of Teach for America, a corps of college graduates who undergo five weeks of training and make a two-year commitment to teaching — are running a public school here with 650 children from kindergarten through eighth grade.       3) A Full Year of Algebra Class on Your iPad - Gizmodo ...Houghton Mifflin Harcourt is launching the app, a new Algebra 1 app,  in a year-long pilot program in California, allowing students to work through practice questions, take notes, watch video lessons and more on their iPads. The app is the first on HMH Fuse, a platform developed by the publisher for delivering interactive educational content to mobile and touchscreen devices.4) Public Schools Face Lawsuit Over Fees - NYTimes...In the suit, to be filed in a state court in Los Angeles on Friday, the American Civil Liberties Union of Southern California names 35 school districts across California that list on their Web sites the fees their schools charge for courses including art, home economics and music, for Advanced Placement tests and for materials including gym uniforms.5) Article on The iConnected Parent - Inside Higher Ed - on the new book, The iConnected Parent: Staying Close to Your Kids in College (and Beyond) While Letting Them Grow Up...Students who were in the most frequent contact were the least autonomous. Some of these students have parents who are using the calls to continue regulating their behavior as they did in high school, reminding them what and when to study, for example, and these students are the least satisfied with the parental relationship, describing it as controlling and conflictual. Others report a “best friend” phenomenon with their parents, wanting to talk to them daily to tell them everything that is going on, and these students seem to be trading off autonomy for closeness. By contrast, there are families with moderate contact who have learned how to maintain a connection but in healthy ways that permit growing independence of thought and behavior.6) Stanford Encyclopedia of Philosophy - Stanford Report ...Students, here's an Internet site you can footnote. The entries in the online Stanford Encyclopedia of Philosophy are written by leading experts and vetted by others before they appear. From quantum mechanics to "Human/Non-Human Chimeras," these articles, based on serious research, attract 700,000 visits per week.Main Topic: Creative Commons, Licensing, Fair Use & Copyright - joined by Student Success Teacher from Kamoka, Ontario, Rodd Lucier of the blog TheCleverSheep. Creative Commons - what is it? what's its history? how can students and educators use it effectively? The Creative Commons site A helpful Scribd synopsis & good starting point for understanding what CC is and how it might benefit student publishing *borrowed from http://www.masternewmedia.org/how-to-publish-a-book-under-a-creative-commons-license/ Open Educational Resources (OER) movement Open High School of Utah’s DeLaina Tonks: Open Education and Policy How do you see the role of Creative Commons within the OER movement? How can CC help?The mission of Creative Commons, to increase sharing and improve collaboration, is powerful for all of the right reasons. It hearkens back to the things we learned in Kindergarten about sharing and playing nice with others. The best part about Creative Commons is the breadth of licensing options available to educators in all arenas, and how nicely they dovetail with open-source curriculum, giving us the ability to select the license that best fits our needs. The challenge becomes increasing awareness, helping educators to understand how best to use Creative Commons and why it is important, and providing a forum in which to publish. The Open High School of Utah is doing its part by releasing several courses at the end of this month, all appropriately CC licensed, of course, which will draw attention to the merits of Creative Commons licensing. Keep up the good work! Connextions - a place to view and share educational material made of small knowledge chunks called modules that can be organized as courses, books, reports, etc. Steven Downes - highlights a variety of resources for open education. A final word on the origin of copyright: Article I, section 8, clause 8 of the United States Constitution provides that Congress shall have the power: "to promote the Progress of Science and useful Arts, by securing for limited times to Authors and Inventors the exclusive Right to their respective Writings and Discoveries." ... At the time of the writing of the Constitution "science" denoted, broadly, knowledge and learning. So the core purpose of copyright law, as expressly stated in the Constitution is: to promote the progress of knowledge and learning. Tim's Tech Tidbit:  Skype and Call RecorderEndorsements: Roger: Reusable Prezi Templates Kevin: Jonathan Coulton: Great music licensed with Creative Commons Tim: Microsoft CyberSecurity Book for Teens (FREE) Cammy: Sugata Mitra’s TED talk (Child-Driven Education) & Quiz Buzzer for IWB   Permalink | Leave a comment  »

Metamuse

Discuss this episode in the Muse community Follow @MuseAppHQ on Twitter Show notes 00:00:00 - Speaker 1: But this totally changes how the data is persisted, and I think that’s important because the only way you get good results on sync systems, especially when you’re talking about offline versus online and partially online, it has to be the one system that you use all the time. You can’t have some second path that’s like the offline cache or offline mode that never works. It needs to be the one true data synchronization persistence layer. 00:00:29 - Speaker 2: Hello and welcome to Meta Muse. Muse is a tool for thought on iPad and Mac, but this podcast isn’t about Muse the product, it’s about me as the company and the small team behind it. I’m here today with two of my colleagues, Mark McGranaghan. 00:00:43 - Speaker 3: Hey, Adam. 00:00:44 - Speaker 2: And Adam Wulf. 00:00:46 - Speaker 3: Yeah, happy to be here. 00:00:48 - Speaker 2: Now Wulf, you are not at all new to the Muse team, I think you’ve been with us for coming up on 2 years now, but it is your first appearance here on this podcast, a long overdue one I would say. So we’d love to hear a little bit about your background and how you came to the team. 00:01:03 - Speaker 3: Yeah, thanks, it’s exciting. Before Muse, I worked for a number of years with Flexits on their calendar app, Fantastical, both on the Mac and the iPhone and iPad. Really enjoyed that. At the same time, I was also working on an iPad app called Luose Leaf, which was an open source just paper inking app, kind of note taking app of sorts, really enjoyed that as well. 00:01:28 - Speaker 2: And I’ll know when we came across your profile, let’s say, and I was astonished to see loose leaf. It felt to me like a sort of the same core vision or a lot of the same ideas as Muse, this kind of like open-ended scratch pad, multimedia inking fluid environment, but I think you started in what, 2013 or something like that, the Apple pencil didn’t even exist, and you were doing it all yourself and, you know, in a way maybe too early and too much for one person to do, but astonishing to me when I saw the similarity, the vision there. 00:02:03 - Speaker 3: Yeah, thanks. I think the vision really is extremely similar. I really wanted something that felt physical, where you could just quickly and easily get to a new page of paper and just ink, and the, the app itself got out of your way, and it could just be you and your content, very similar to you sitting at your desk with some pad of paper in front of you. But yeah, it was, I think I started when the iPad 2 was almost released. And so the hardware capabilities at the time were dramatically less, and the engineering problems were exponentially harder as a result of that, and it was definitely too early, but it was a lot of fun at the time. 00:02:42 - Speaker 2: And I think one of the things that came out of that, if I remember correctly, is this open source work you did on ink engines, which is how we came across you. Tell us what you did there. 00:02:52 - Speaker 3: Yeah, there’s a few different libraries I ended up open sourcing from that work. One was the ink canvas itself, which that was the most difficult piece for me. The only way to get high performance ink on the iPad at the time was through OpenGL, which is a very low level. Usually 3D rendering pipeline. I had no background in that, and so it was extremely difficult to get something up and running with that low level of an architecture. And so, once I had it, I was excited to open source it and hopefully let other people use it without having to go through the same pain and horror that I did to make it work. But then one of the other things that was very useful that came out of loose leaf was a clipping algorithm for Bezier curves, which are just fancy ways to define ink strokes, basically, or fancy ways to describe long curvy, self-intersecting lines. And that work has also been extremely important for Muse as well. We use that same library and that same algorithm to implement our eraser and our selection algorithms. 00:04:05 - Speaker 2: And when you’re not deep in the bowels of inking engines, or as we’ll talk about soon sinking engines, what do you do with your time? 00:04:13 - Speaker 3: Oh, I live up in northwest Houston in Texas with my wife Christie and my daughter Kaylin. And she is in high school now, which is a little terrifying, and learning to drive and we’re starting that whole adventure, so that’s been fun for us. I try and get outside as much as I can. I’ll go backpacking or hiking a little bit. That can be fun, and the Houston summer, it’s rather painful, but the springs and the falls, we have nice weather for outdoors and so. 00:04:42 - Speaker 2: What’s the terrain like in the day trip kind of range for you? Is it deserty? Are there mountainous or at least hilly areas, or is it pretty flat? 00:04:52 - Speaker 3: It is extremely flat and lots and lots of pine trees, and that’s pretty much it. Just pine trees and flat land. Sometimes I’ll drive a few hours north. We have some state parks that are nice and have a bit of variety compared to what’s immediately around Houston, so that’s a good backup plan when I have the time. 00:05:14 - Speaker 2: Flat with a lot of trees sounds surprisingly similar to the immediate vicinity of Berlin. I would not have expected Texas and northern Germany to have the commonality there. It gave me a lot of appreciation for the San Francisco Bay Area, while that city didn’t quite suit. Me, as we’ve discussed in the past, one thing that was quite amazing was the nature nearby and a lot of that ends up being less the foliage or whatever, but more just elevation change. Elevation change makes hikes interesting and views interesting and I think itself leads to, yeah, just landscape elements that engage you in a way that flatness does not. 00:05:55 - Speaker 3: Yeah, absolutely. I lived in the Pacific Northwest for a while, and the trees there are enormous, and the amount of green and elevation change there is also enormous. And so when we moved back to Houston, it was a bit of a shock almost to see what I used to think were tall trees in Houston are really not very tall compared to what I lived around up in Portland, Oregon. 00:06:21 - Speaker 2: So our topic today is sync. Now Muse 2.0 is coming out very soon. We’ve got a launch date May 24th. Feels like tomorrow for our team scrambling to get all the pieces together here, but the biggest investment by far, even though we have the Mac app and we have text blocks are a part of it, the biggest kind of time, resource, energy, life force investment by far has been the local first sinking engine. And we’ve spoken before about local first sync as a philosophy generally in our episode with Martin Klapman, but I thought it would be good to get really into the details here now that we have not only built out this whole system, both the client side piece and the server piece. But also that we’ve been running it in, won’t quite call it production, but we’ve been running it for our beta for a few months now, and we have quite a number of people using that, some for pretty serious data sizes, and so we’ve gotten a little glimpse of what it’s like to run a system like this in production. So first, maybe Mark, can you describe a little bit how the responsibilities breakdown works in terms of between the two of you on the implementation? 00:07:32 - Speaker 1: Yeah, so I’ve been developing the back end or the server component of our sync system, and Wulf has been developing our iOS client that is the core of the actual app. 00:07:45 - Speaker 2: Yeah, on that side, I kind of think of the client persistence or storage layer as being the back end of the front end. So that is to say it’s in the client, which obviously is a user interface heavy and oriented thing, but then it persists the user data to this persistence layer which in the past was core data, is that right? Well the kind of standard iOS storage library thing. 00:08:08 - Speaker 3: Yeah, that’s exactly right. Yeah, we used core data, which is Apple’s fancy wrapper on top of a SQL light database. And that just stores everything locally on the iPad, like you were saying, so that way the actual interface that people see, that’s what it talks to. 00:08:25 - Speaker 2: And then that persistence layer within the client can talk to this back in the mark has created. And much more to say about that, I think, but I thought it would be nice to start with a little bit of history here, a little bit of motivation. I’ll be curious to hear both of your stories, but mine actually goes back to using my smartphone on the U-Bah, so that’s the subway system here in Berlin, when I was first working with some startups in the city back in, I guess it would have been 2014, so, 8 years ago I had this experience of using different apps and seeing how they handled both the offline state but actually the kind of unstable state because you have this thing where the train car goes in and out of stations and when you’re in the station, you usually have reception, weak reception, and you leave the station that fades off to you essentially fully offline, and so you’re in this kind of unreliable network state all the time. And two that I remember really well because they were really dramatic, was one was pocket, which is the relator tool I was using at the time, and it handled that state really well. If it couldn’t load an article, it would just say you’re offline, you need to come back later, but the things it had saved, you could just read. The other one I was using was the Facebook mobile app, and there I was amazed how many errors and weird spinners, and you go to load a thing and it would get half of it, but not the rest of it, and the app just seemed to lose its mind because the network was unreliable, and I found myself thinking, what would make it possible to make more apps to work the way the pocket does and less the way that Facebook works. And I also had the opportunity to work with some startups here, including Clue and Wunderlust and some others that had their own. Essentially everyone needs this. Everyone needs syncing because they want either one, the user to be able to access their stuff from different devices, or 2, they want some kind of sharing, and I think Vonunderlust was an interesting case because they built out this crack engineering team. To develop really good real-time syncing for a very simple case. It’s just a to do list, and the common case that people use it for, I think was, you know, a couple that’s grocery shopping and they want to like, make sure they don’t overlap and pick the same things in the cart. But it worked really well, but they built this huge, I think it was like a 15 person engineering team that spent years of effort to make really good real-time sin, and it seemed strange to me that you need this big engineering team to do what seems like a simple thing that every app needs. We went down this road of trying CouchDB and Firebase and a bunch of others, and all were pretty unsatisfying. And then that further led in, you know, that kind of idea, the sync problem lodged in my mind and then when we got started at ink and Switch, some of our early user studies there were on sync and how people thought about it. And one thing that stuck with me from those was we looked into just kind of syncing on. And note taking apps and talked to a whole bunch of people about this, and we didn’t have a product at the time, so it was just kind of a user research study, but we went and talked to a bunch of folks, most of whom were using Evernote was kind of the gold standard at the time. And almost everyone we talked to, when I asked what’s your number one most important feature from your notes app, they said sync and said, OK, so that’s why you chose Evernote, and they said, yeah, and they said, how well does it work? And they said terribly, it fails all the time. You know, I write a note on my computer, I close the lid, I go to lunch. Half an hour later, I go to pull it up on my phone. It’s not there. I have no idea why. And so some combination of those experiences sort of lodged this thing in my mind of the technology industry can just do so much better, and this is important and everyone needs it. What’s the missing piece. And I wasn’t really sure, but that led into once I met up with folks in the research world who indeed had been working on this problem for a while, and I got excited about the technologies they had to offer. 00:12:15 - Speaker 1: Yeah, and then I guess I was downstream of that because I got introduced to space by Peter Van Hartenburg with time was a principal at the Inn Switch Research Lab, and it’s now the director of the lab. And he showed me a demo of the Pixel pusher project, and we can link to the article on this, but essentially this is a Pixel art editing tool that was peer to peer collaborative, and the app itself is very standard, but was amazing to me was he had implemented this app and he had 2 devices or 2 windows on the same device, and they were doing real-time collaboration, but there was no server. And I had come from this world of wherever you add a feature to an app, you gotta write the front end and then you gotta write the back end, you gotta make sure they line up whenever anything changes, it’s a whole mess, and it was just magical to me that you could just type up this JavaScript app and have it collaborating with another client in real time. So I went down that rabbit hole, and there was the obvious attractions of the austere locations and, you know, minimal network connectivity and things like that. And also at the time the research was very oriented around P2P, so there was this notion of the user having more control of their data and perhaps not even requiring a central server, but a couple of things became even more appealing to me as I researched it more. One was that Potential of higher performance. And I ended up writing a whole article about software performance that we can link to. But one of the key insights was that it’s not physically possible to have acceptably fast software if you have to go anywhere beyond the local SSD. Now, certainly if you’re going to a data center in Virginia or whatever, you’re totally hosed. So it was very important to incorporate this performance capability into Muse. 00:13:49 - Speaker 2: Yeah, that article was eye opening for me and that you connected the research around human factors, things that looked at what level of latency you needed for something to feel snappy and responsive, and then separately the speed of light, which is how sort of the maximum possible speed that information can travel, and if you add those together or do very simple arithmetic on that, you can instantly see it’s not about having a faster network connection. You literally cannot make something that will feel fast in the way that we’re talking about if you have to make a network round trip. 00:14:21 - Speaker 1: Yeah, and the one other thing that was really interesting to me about this space was the developer experience. I alluded to this earlier with the Pixel Pusher demo, but in the before times there were two ways to develop apps. You had the local model where you were typically programming against the SQL database, and everything was right there and it sort of made perfect sense. You would query for what you need and you write when you have new information and so on. And then there was the remote model of you would make rest calls, for example, out to some service like admit this edit or add a new post or whatever. But then these two worlds were colliding where we always wanted to be adding sync and collaborative capabilities to our apps, we would try to kind of jam one into the other, like you would try to patch some rest onto the database or you try to patch some database on yours and it just wasn’t working, and I realized we need to do a pretty fundamental rethink of this whole architecture, which is what we end up doing in the research lab and then now with Muse. The last thing I’ll mention about my journey here was my background was in back in engineering and distributed systems engineering, and so I had encountered variants of the sync problem several times, for example, at Hiroku, Adam. We had this challenge of we had these routers that were directing HTTP requests to a back end that was constantly changing based on these dinos coming up and down, and the routers needed to maintain in memory router tables based on the control plan that was being adjusted by the API. And so we had a similar problem if you need to propagate consistently in real time state to the in-memory databases of all these router nodes, and sure enough that work kind of came full circle and we were applying some of the same lessons here with Muse. So it’s a problem I’ve had the opportunity, for better or worse, to make a few passes at in my career. 00:15:57 - Speaker 3: Yeah, I think it’s an extremely hard problem that comes up so often across so many projects is eventually you need data over here in Box A to look the exact same as data over here in Box B. and it’s one of those problems that’s just surprisingly hard to get right, and there just aren’t that many libraries and existing solutions for it to drop in and implement. A lot of other libraries you can just go out and find it, and there’s code out there, or you can license it or open source, whatever, but for whatever reason, sync is one of those things that’s for every project, it needs to be custom baked to that project, just about every time. 00:16:38 - Speaker 2: And that’s part of what blew my mind back 8 years ago when I was looking for a sinking layer for clue and realizing that, yeah, I just had this feeling like surely everyone has this problem, everyone needs it, everyone needs the same thing. It’s really hard, you know, an individual company shouldn’t be distracting from their core competency of building their app to create the sinking layer, and yet to my surprise, there really wasn’t much, and that continues to basically be true today. 00:17:06 - Speaker 1: Yeah, and this gets into our collaboration with Martin Klutman on CRDTs. So briefly you can think of there being two pieces to this problem. One is conveying the physical data around, and the other is, OK, you have all this data that synchronize, what do you do with it, because it’s all a bunch of conflicting edits and so on. And that’s where the CRDT technology came in. I think one of the reasons why we haven’t seen widespread standard libraries for this stuff is the thinking problem is hard. We’ll talk more about that. But another is that we haven’t had the computer science technology to make sense of all of these edits. Well, we sort of did. There was like operational transforms, but you literally need to hire a. Team of PhD computer scientists have any shot at doing stuff like that. And so Google Docs basically had it and maybe a few others, but normal humans couldn’t do anything with it. But the CRDT technology and automerge, which we’ll talk more about, made it much more accessible and possible to make sense of all these conflicting edits and merge them into some useful application state. So that’s the kind of why now of why now is a good time I think to be pursuing this. 00:18:06 - Speaker 3: Yeah, and I think almost surprisingly to me, the solution we came up with at Muse, I think is actually really generic, and I think we solve it in a really elegant way that’s even more foundational to the technology than solving just for use. I think the solution we have. Can certainly solve from use in the future and is futureproof in that regard, but is broad enough to be applicable to a whole number of different uses and applications, which I think is really exciting too. 00:18:37 - Speaker 2: Maybe it’s worth taking a moment to also mention why we think local first in the style of sync is important for you specifically. I think certainly Mark and I have had a long time interest in it. Well, if you have an interest in it, so it’s just something that’s more like we’d like to see more software working in this way where the user has a lot more sort of control and literal ownership over the data because it’s on their device. In addition to being mirrored in the cloud, certainly the performance element is huge for me personally, and I think for all of us on the team. But I think Muse, as we go to this multi-device world, on one hand, we think that every device has its own kind of unique mood. The iPad is this relaxed space for reading and annotating, whereas the Mac or a desktop computer is for focus, productivity, you know, the phone is for quick capture, the web is good for sharing. OK, so really you need your work to be seamlessly across all of them. But at the same time, you know, we want that sense of intimacy and certainly the performance and the feeling that it’s in your control and you own it, and it belongs to you. I think that maybe matters less for some consumer products, or maybe it matters less for more kind of B2B, you know, enterprisey products, but for this tool, which is for thinking. Which is very personal, which is very kind of needs to be at your fingertips and friction free. I think the local first approach would be a good fit for a lot of software, but I think Muse needs it even more than most. So that’s why I’m really excited to see how this works out in practice as people try it out, and we really don’t know yet, right? It may be that we’ve made this huge engineering investment and in the end customers just say, I’d be happy with the cloud, yeah, it’s fine. I have some spinners, I can’t access my work offline. I hope not. But that could happen. We could be like falsifying the business hypothesis, but I really believe that for our specific type of customer, you’ll go to use this product with the sinking layer, you know, once we shake out all the bugs and so on and say, you know, this feels really fundamentally different from the more cloud-based software that I’m used to like an ocean and also fundamentally different from the non syncing pure local apps that I might use. 00:20:51 - Speaker 3: Yeah, I really think that with as connected as this world is and is becoming, there’s always going to be places of low connectivity, there’s always going to be places of just dodgy internet, and having an application that you know just always works, no matter what’s going on, and figures itself out later once it has good internet, is just so freeing compared to Those times when, you know, your device is switching Wi Fi networks or the LTE is just not quite what it needs to be to make things happen. I think it really does make a really huge difference, especially when you’re deep in thought, working on your content in use, the last thing you want is to be interrupted for even half of a second with a small spinner that says please connect to the internet. And so just being able to free the application and free the user from even worrying about the internet at all, even if it works 99% of the time, it’s that 1% of the time that breaks your train of thought that is just really frustrating. And I think that’s what’s exciting about being able to be purely offline is it fixes that really huge problem of that really small percentage of time that it happens. 00:22:10 - Speaker 2: Very well said. Now with that, I’ll do a little content warning. I think we’re about to get a lot more technical than we ever have on this podcast before, but I think this is a topic that deserves it. So I’d love to, and me especially as someone who’s not deep in the technology and just observing from the sidelines, I’d love to hear about what’s the high level architecture, what are all the pieces that fit together here that make this syncs when you’re on the internet and lets you keep working even when you’re not? What is it that makes all that work? 00:22:41 - Speaker 1: Yeah, I’ll give a really quick overview and then we can dive into some of the specific pieces. So to start with the logical architecture, the basic model is a user has a bag of edits, so you might have 1000 edits or a million edits where each edit is something like I put this card here or I edit this picture, and over time the user is accumulating all these edits and the job of the sync system is to ensure that eventually all of the users' devices have the same bag of edits. And it passes those edits around as opaque blobs and different flavors of blobs we’ll talk about. Basically there’s a bunch of bits of binary data that all devices need to have the same, and then it’s the device’s responsibility to make sense of those edits in a consistent way. So given the same bag, each device needs to come up with the same view of the muse corpus of that individual user, what boards are alive and what cards are on them and so forth. And then briefly in terms of the physical architecture, there’s a small server that’s running on Hiokku, data is stored in post grass and S3 and it’s implemented in Go, and again the server is just shuffling binary blocks around basically. And then there’s different front ends, different clients that implement this synchronization protocol and present a use corpus model up to the application developers. So the most important of these is the SWF client. We also have a JavaScript client and both of these back to SOI databases locally. 00:24:09 - Speaker 3: Yeah, and I think what’s really interesting about this architecture is that we actually maintain the entire bag of edits. Edits only get added into the bag, but they never really get removed. And so the current state of the application is whatever the most recent edit is. So if I make a card bigger on my Mac, and then I go to my iPad and I make that same card smaller. And then we synchronize those two things. Well, at the end of the day, either the card is going to be smaller on both devices, or the card is gonna be bigger on both devices, and we just pick the most recent one. And that strategy of just picking the most recent edit actually makes conflicts essentially invisible or so small and so easy to fix that the user can just, oh, I want that big, let me make it big again. It’s really easy to solve. For the user side without showing up one of those really annoying, hello, there’s been an edit. There’s a conflict here. Would you like to choose copy A or copy B? Just being able to automatically resolve those is more than half of the magic, I think, of this architecture. 00:25:13 - Speaker 2: I also note this is a place where I think the muse domain, if you want to call it that, of the cards on a canvas model works pretty well with this sort of automated resolution, which is if you moved a card in one direction on one device and you moved it somewhere else on the other device, it’s not really a huge deal which one it picks as long as it’s all kind of like flows pretty logically. By comparison, text editing, so what you have in a Google Docs or certainly I know auto merge team and the incode switch team has done a huge amount of work on this, is a much harder space where you can get into very illogical states if you can merge your edits together, strangely, but I think a card move, a card resize, add remove, even some amount of reparenting within the boards, those things just are pretty natural to merge together, I think. 00:26:02 - Speaker 3: Yeah, I think so, and I think even with the new text block feature in Muse, we end up slicing what would be a really long form text document into much smaller sentences or paragraphs. And so then text edits, even though we’re only picking the kind of the most recent one to win, we’re picking that most recent at the granularity of the sentence or of the the paragraph, and so. Conflicts between documents for us are larger than they would be for automerge or for Google Docs, but are small enough that it’s still ignorable for the user and easily solvable by the user. 00:26:42 - Speaker 2: Which incidentally I think is a trick we sort of borrowed from FIMA, at least on the tech side, which is in FIGA and also in Muse. If one person edits, you know, the red car and someone else edits the blue car, you don’t get the red blue car, you just get one or the other, and it turns out for this specific domain, that’s just fine. 00:27:03 - Speaker 3: Yeah, I think we kind of lucked out having such a visual model, and we don’t need to worry about intricacies of multi-user live document editing. 00:27:13 - Speaker 1: Yeah, I would point to both Sigma and actual budget as two very important inspirations for our work. I would say those are two of the products that were most at the forefront of this space, and thought about it most similarly to how we did. And notably they, as well as us sort of independently arrived at this notion of basically having a bunch of last white wins registers. As the quote unquote CRDTs. So these are very, very small, simple, almost degenerate CRDTs where the CRDT itself is just representing one attribute, for example, the X coordinate of a given card. But this is an important insight of the industrial application of this technology, if you will. That’s a good trade-off to make it. It basically covers all the practical cases, but it’s still very simple to implement, relatively speaking. 00:28:03 - Speaker 2: I also mentioned briefly actual budget, great in the basically made by one person app and recently open source, so you can actually go and read the custom CRDT work there and maybe learn a thing or two that you might want to borrow from. 00:28:17 - Speaker 3: I think one of the really interesting problems for me about the CRDT was Deciding which edit is the most recent because it just makes logical sense to say, oh well, it’s 3 o’clock, and when I make this edit at 3 o’clock and I make a different edit at 3:02, obviously the one at 3:02 wins. But since computer clocks aren’t necessarily trustworthy, sometimes I have games on my iPad that reset every day and so I’ll set my clock forward or set my clock backward. Or if I’m on an airplane and there’s time zones, and there’s all kinds of reasons the clock might jump forward or jump backward or set to different problems, and so using A fancier clock that incorporates a wall clock, but also includes a counter and some other kind of bits of information, lets us still order edits one after the other, even if one of those clocks on the wall is a year ahead of schedule compared to the other clocks that are being synchronized. I don’t know how in depth we want to get on that, but it’s it’s called a hybrid logical clock. 00:29:23 - Speaker 1: Yeah, I think this is another great example along with choosing very simple CRDT structures of industrial style architecture where you could go for a full blown vector clock, and that gives you perfect logical ordering and a bunch of other nice properties, but it’s quite large and it’s expensive to compute and so on. Whereas if you choose a simpler fixed size clock, that can give you all the benefits that you need in practice, it can be easier to implement, it could be faster to run, and so on. 00:29:52 - Speaker 3: Like everything in life, it’s all about trade-offs, and you can get accuracy, but it costs more, or you can get a little bit less accuracy, and it costs a lot less, and for us that was the better trade-off to have a fixed size clock that gives us Enough of the ordering to make sense, but might not be exactly perfect ordering. 00:30:13 - Speaker 1: And we’ve been alluding to trade-offs and different options, so maybe it’s time to address it head on in terms of the other options that we considered and why they weren’t necessarily as good of a fit for us. So I would include in this list both iCloud and what you call like file storage. 00:30:27 - Speaker 2: It might be like cloud kit or something, but yeah, they have one that’s more of a blob, kind of, you know, save files, what people will think of with their sort of iCloud drive, almost kind of a Dropbox thing, and then they also have a cloud kit. I feel like it’s a key value store, but in theory, those two things together would give you the things you need for an application like ours. 00:30:47 - Speaker 1: Yeah, so there’s iCloud as an option, Firebase, automerge. CouchDB maybe, then there’s the role you’re on which we ended up doing. 00:30:57 - Speaker 2: Yeah, the general wisdom is, you know, you don’t write your own, if there’s a good off the shelf solution, you name some there that are commercial, some are built into the operating system we’re using, some are indeed research projects that we’ve been a part of, what ultimately caused us to follow our own path on that. 00:31:15 - Speaker 1: Yeah, so there was a set of issues that tended to come up with all of these, and it was more or less in different cases, but I think it’d be useful to go through the challenge that we ran into and talk about how they emerged in different ones of these other solutions. So one simple one, it would seem it’s just like correctness slash it works. And the simple truth is, a lot of the singing systems out there just do not work reliably. Hate to pick on Apple and iCloud, but honestly, they were the toughest in this respect where sometimes you would, you know, admit data to be synchronized and just wouldn’t show up, and especially with opaque closed source solutions and third party solutions, stuff would not show up and you couldn’t do anything about it, like you couldn’t see what went wrong or when it might show up or if there was some error. And then bizarrely, sometimes the stuff would pop up like 5 or 10 minutes later. It’s like, oh, it’s actually sort of worked, but it’s off by You know, several zeros in terms of performance. So that was a really basic one, like the syncing system has to be absolutely rock solid and it kind of goes back to the discussion Wulf had around being offline sometimes. If there’s any chance that the sync system is not reliable, then that becomes a loop in the user’s mind. Am I gonna lose this data? Is something not showing up because the sync system is broken. Our experience has been that if there’s any lack of reliability or lack of visibility into the synchronization layer. It really bubbles up into the user’s mind in a destructive way, so we want it to be absolutely rock solid. Another important thing for us was supporting the right programming model. So we’ve been working on news for several years now. We have a pretty good idea of what capabilities the system needed to have, and I think there were 4 key pillars. One is the obvious transactional data. It’s things like what are the cards and where are they on the board. This is data that you would traditionally put in a SQL database. Another thing that’s important to have is blob support, to a lot of these binary assets in use, and we wanted those to be in the same system and not have to have another separate thing that’s out of band, and they need to be able to relate to each other correctly. 00:33:09 - Speaker 2: This is something where a 10 megabyte PDF or a 50 megabyte video just has very different data storage needs than the tiny little record that says this card is at this X and Y position and belongs to this board. 00:33:23 - Speaker 1: Right, very different, and in fact you’re gonna want to manage the networking differently. Basically you want to prioritize the transactional data and then load later, or even lazily, the binary data, which is much larger. Yeah, so there was transactional data, blob data, and then real-time data slash ephemeral data. So this is things like you’re in the middle of an ink stroke or you’re in the middle of moving a card around and this is very important to convey if you’re gonna have real time and especially multi-user collaboration, but again, you can’t treat this the same as certainly blob data, but even transactional data, because if you store every position a card ever was under your finger for all time, you’re gonna blow up the database. So you need those 3 different types of data, and they all need to be integrated very closely. So for example, when you’re moving a card around, that’s real time, but basically the last frame becomes a bit of transactional data, and those two systems need to be so lined up to each other that it’s as simple as changing a flag. If you’re going on a 2nd or a 3rd band for real-time data and need to totally change course for saving the transactional data, it’s not gonna be good. It was quite rare. I don’t know if we found any systems that support all three of these coherently. 00:34:33 - Speaker 2: The ephemeral data element I found especially interesting because you do really want that real timey feeling of someone wiggles a card with their finger and you can see the wiggling on the other side. That just makes the thing feel live and Just responsive in a way that it doesn’t otherwise. But yeah, at the same time, you also don’t want hundreds of thousands of records of the card moved 3 pixels right, and then 3 pixels left. And one thing I thought was fascinating, correct me if I misunderstood this, but is that because the client even knows how many other devices are actively connected to the session, it can choose to not even send that ephemeral data at all. It doesn’t even need to tap the network. If no one else is listening, why bother sending ephemeral data? All you need is the transactions over time. 00:35:21 - Speaker 1: Right, this is actually a good example of how there’s a lot of cases where different parts of the system need to know or at least benefit from knowing about other parts. So it becomes costly or or maybe just an outright bad idea to separate them, especially as we’re still figuring out as industry how they should work. I think there’s actually quite a bit of benefits to them being integrated. Another. that we could talk about eventually is prioritizing which data you download and upload, you might choose to first download blobs that are closer to you in board space, like it’s in your current room or it’s in adjacent rooms, and then later you can download other blobs. So that’s something you could do if the application had no notion of the networking layer. It actually brings us to Another big challenge we saw with existing systems, which is multiplexing. So I’ll use an example of automerge here, and this is something we’ve seen with a lot of research oriented CRDT work. It’s very focused on a single document, so you have a document that represents, you know, say a board or whatever, and a lot of the work is around how do you synchronize that document, how do you maintain correctness, even how do you maintain performance when you’re synchronizing that document across devices. Well, the challenge with Muse with our model. You might have, you know, easily 1000, but, you know, potentially tens of thousands up to millions of documents in the system corresponding to all your individual cards and so on. And so if you do anything that’s order and in the number of documents, it’s already game over. It needs to be the case that, here’s a specific challenge that I had in mind for the system. You have a corpus, let’s say it’s a million edits across 10,000 documents or something like that, and it’s 100 megabytes. I wanted the time to synchronize a new device that is to download and persist that entire corpus, to be roughly proportional to the time it would take to just physically download that data. So if you’re on a 10 megabyte connection, 100 megabyte connection, maybe that’s 10 seconds. But the only way to do that is to do a massive amount of like multiplexing, coalescing, batching, compression, so that you’re taking all these edits and you’re squeezing them into a small number of network messages and compressing them and so on. So you’re sort of pivoting the data, so it’s better suited to the network transfer and the persistence layer. And again, you need to be considering all these things at once, like how does the application model relate to the logical model, relate to the networking protocol, relate to the compression strategy, and we weren’t able to find systems that correctly handle that, especially for when you’re talking about thousands or millions of documents being synchronized in parallel. And the last thing I’ll mention is what I call industrial design trade-offs. We’ve been alluding to it in the podcast so far, but things like simplicity, understandability, control, these are incredibly important when you’re developing an industrial application, and you tend not to get these with early stage open source projects and third party solutions and third party services. You just don’t have a lot of control and it was too likely to my mind that we would just be stuck in the cold at some point where system didn’t work or it didn’t have some capability that we wanted, and then you’re up a dead end road, and so what do you do? Whereas this is a very small, simple system. You could print out the entirety of the whole system it would be probably a few pages, well it’s a few 1000 lines of code, it’s not a lot of code, and it’s across it’s a couple code bases, and so we can load the whole thing into our head and therefore understand it and make changes as needed to advance the business. 00:38:38 - Speaker 3: Yeah, I think that last point might honestly be the most important, at least for me. I think having a very simple mental model of what is happening in sync makes things so much easier to reason about. It makes fixing bugs so much easier. It makes preventing bugs so much easier. We’ve been talking about how sync is hard and how almost nobody gets it right, and that’s because it’s complicated. There’s a bajillion little bitty edge cases of if this happens, but then this happens after this happens, and then this happens. What do we do? And so making something really really simple conceptually, I think was really important for the muse sync stability and performance at the end of the day. 00:39:21 - Speaker 2: I’m an old school web developer, so when I think of clients and servers, I think of rest APIs, and you maybe make kind of a version API spec, and then the back end developer writes the endpoint to be called to and the front end developer figures out how to call that with the right parameters and what to do with the response. What’s the diff between a world that looks like that and how the new sync service is implemented? 00:39:50 - Speaker 1: Yeah, well, a couple things. At the network layer, it’s not wildly different. We do use protocol buffers and binary encoding, which by the way, I think would actually be the better thing for a lot of services to do, and I think services are increasingly moving in that direction, but that core model of you have, we call them endpoints. You construct messages that you send to the endpoint and the server responds with a response message. That basic model is pretty similar, even if it’s implemented in a way that’s designed to be more efficient, maintainable, and so on than a traditional rest server. But a big difference between A traditional rest application and the muse sync layer is that there are two completely separate layers, what we call the network layer and the app layer. So the network layer is responsible for shuffling these binary blobs around the transactional data, the ephemeral data, and the big binary assets. And the server knows absolutely nothing about what’s inside of them by design, both because we don’t want to have to reimplement all of the muse logic about boards and cards or whatever in the server, and also because we anticipate eventually end to end encrypting this, and at that point, of course, the server can’t know anything about it, it’s not gonna be possible. So that’s the networking layer and then if you sort of unwrap that you get the application layer, and that’s the layer that knows about boards and cards and edits and so on. And so it is different, and I would say it’s a challenge to think about these two different layers. There’s actually some additional pivots that go on in between them, versus the traditional model of you would like post V1 slash boards directly and you’d put the parameters of the boards and then the surfer would write that to the boards table and the database. There’s a few different layers that happen with this system. 00:41:30 - Speaker 2: So if we want to add a new card type, for example, or add a new piece of data to an existing card, that’s purely in the application layer on the back end, or it doesn’t know anything about that or no changes are needed on the back end. 00:41:44 - Speaker 1: Yeah, no changes are needed. In fact, one of the things I’m most proud about with this project is we basically haven’t changed the server since last year, December, and we’ve been, you know, rigorously iterating on the app, you know, adding features, changing features, improving a bunch of stuff, and the servers, it’s basically the same thing that was up 4 months ago, just chunking along, and that’s a benefit. It’s a huge benefit, I think, of this model of separating out the application model and the network model, because the network model is eventually gonna move very slowly. You basically figure that out once and I can run forever. And the application model has more churn, but then when you need to make those changes, you only need to make them in the client or the clients that maybe you update the application schema so that current and future clients can understand that, and then you just start including those data in the bag of edits. 00:42:26 - Speaker 3: Yeah, I think one thing that’s really nice is that those protocol buffers that you were talking about are type safe and kind of statically defined, so that way it’s when we’re sending that message over the wire, we know 100% we’re sending exactly the correct messages no matter what, and that guarantee is made at compile time, which I think is really nice because it means that a lot of bugs that could otherwise easily sneak in if we’re using kind of a generic JSON framework, we’re gonna find out about when we hit the please build muse button. Instead of the I’m running views and I randomly hit a bug button. And that kind of confidence early on in the build process has been really important for us as well to find and fix issues before they even arise. 00:43:11 - Speaker 1: Yeah, to my mind this is the correct way to build network clients. You have a schema and it generates typesa code in whatever language you want to use. There’s just enormous benefits to that approach. I think we’re seeing it with this on use and again, I think more systems, even more traditional B2B type systems are moving in this direction. By the way, everyone always made fun of Amazon’s API back in the day. I had this crazy XML thing where There’s a zillion endpoints. I actually think they were closer to the truth and the traditional, you know, nice rest crud stuff because their clients are all auto generate and sure enough they have like literally a zillion endpoints, but everything gets generated for free to a bunch of different languages. Anyways, one challenge that we do have with this approach is, you know, one does not simply write a schema when you have these multiple layers. So again, if you look at a traditional application, you have a protocol buffer definition of, say, a board B board and probuffs. And that would have fields like title and width and height or whatever. And when you want to update the board, you would populate a memory object and you would encode this to a protocol buffer and you would send this off to the server. Well, it’s not quite that simple for us because we have this model of the small registers that we call atoms. So an atom is the entity, say a board, the attributes say the title, the value say use podcast, and the time stamp. And your bag of edits is comprised of all these different atoms, but the problem is, how do you encode both how you’re gonna send an atom, which is as those twopos, as well as what a logical board is, you know, what the collection of atoms is meant to look like, you know, it’s gonna have a title and the width and height and so on. So that’s been honestly a pretty big challenge for us where it doesn’t fit into any of the standard schema definition approaches, certainly not the regular protocol buffer schema, which again we use for the network and for encoding the messages that are wrapped up in the network, but you need a separate layer that encodes the application model, as we call it, you know, what is a board, what is a card, what attributes that they have and so on. 00:45:06 - Speaker 2: And Wulf, if I recall you have a blog post about these atomic attributes. I’ll link that in the show notes for folks. 00:45:14 - Speaker 3: Yeah, so unfortunately no relation between my name and Adam. It’s a TOM. 00:45:18 - Speaker 2: Yes, we have two Adams on this podcast. The ADAM is different from the ATOM. 00:45:25 - Speaker 1: Yeah. A big inspiration on this, by the way, is Tomic, I don’t know if we’ve mentioned that yet on this podcast, but Atomic is a database system developed by Rich Hickey and team who is also the creator of Closure. And it uses this model in contrast to the traditional relational model you have tables and columns and rows. The atomic model is more like a bag of time stamped attributes where you have an entity, an attribute, a value and a time stamp. And from that, it could be more challenging to work with that model, but it’s infinitely flexible. You can sort of put whatever model you want on top of that, and it works well for creating a generic database system. You know, you couldn’t have a generic post graphs, for example, that could run any application. You need to first create tables that correspond to the actual application you’re trying to build, whereas with an atom oriented database, you basically have one huge table which is atoms. So it’s useful again for having this slower moving more stable synchronization layer that handles moving data around that you build the application on top of that moving quickly. 00:46:27 - Speaker 3: Yeah, and like we talked about earlier, it’s so much simpler to reason about. All of the problems of my iPad is on version 1, my Mac is on version 2, and my iPad Mini is on version 3. They’re sending data back and forth. At the end of the day, every single database on all three of those clients is gonna look the same, even though they have completely different logic, maybe different features. But all the simplicity of that data store makes it much, much easier to reason about as the application gets upgraded or as two different versions of the client are synchronizing back and forth. 00:47:03 - Speaker 2: How does that work in practice? So I can certainly imagine something where all of the data is sent to every client, but a V1 client just doesn’t know what to do with this new field, so just quietly stores it and doesn’t worry about it. But in practice, what happens if I do have pretty divergent versions between several different clients? 00:47:23 - Speaker 1: Recall some podcasts ago, we suggested that everything you emit should have a UU ID and a version. Well sure enough that’s advice that we take to heart with this design, where all the entities, all the messages, everything has a UU ID and also everything’s version, so there’s several layers of versioning. There’s the network protocol is versioned and the application schema is versioned. So by being sure to thread those versions around everywhere, the application can then make decisions about what it’s gonna do and Wulf can speak to what the application actually chooses to do here. 00:47:54 - Speaker 3: Yeah, exactly. If we’re sending maybe a new version of a piece of data on the network layer that device A just doesn’t physically know how to decode from that work, then it’ll just save it off to the side until it eventually upgrades and then it’ll actually read it once it knows what that version is. 00:48:11 - Speaker 2: So is there someone like, can I make a crude metaphor here, someone emails me a version of a Word doc from a later version that I don’t have yet, I can save that on my hard drive, and later on when I get the new version, I’ll be able to open the file. 00:48:25 - Speaker 3: Yeah, exactly right. It’s very similar to that. And then I think there’s a different kind of upgrade where we’re actually talking the same language, but I don’t know what one of the words is that you said. So let’s say we add a completely new content type to muse called the coffee cup, and everyone can put coffee cups on their boards, right? That coffee cup is gonna have a new type ID attribute that kind of labels it as such. New clients are gonna know what type 75 means coffee cup, and old clients are gonna look at type 75 and say, oh, I don’t know about Type 75, so I’ll just ignore it. And so the data itself is transferred over the network schema and kind of the app schema and understands those versions, but it might not understand the physical data that arrives in the value of that atom. And in that case, it can happily ignore it and will eventually understand what it means once the client upgrades. And so there’s a number of different kind of safety layers where we version something. If we’re unable to even understand kind of the language that’s being spoken, it’ll be saved off to the side. If we do understand the language that’s spoken, but we don’t understand the word, we can just kind of safely ignore it, and then once we are upgraded, we can safely understand both the language and the word. 00:49:47 - Speaker 1: Yeah, so maybe to recap our discussion of the low level synchronization protocol before we go on to the developer experience and user experience, might be useful to walk through a sort of example. So suppose you are doing a thinking session in your nice comfy chair on your iPad, you’re offline, you’re making a few dozen edits to a series of different boards and cards in your corpus. Those are going to write. New atoms in your database, and those are essentially gonna be flagged as not yet synchronized, and then when you go online, those atoms, assuming it’s some plausible number, you know, it’s maybe less than 1000 or so. Those are all gonna be combined into a single network message. So this is that multiplexing efficiency where you certainly don’t need to check every document in your corpus, and you don’t even need to do one network right per every edit or even one network right per document. You can just bundle up all of your recent changes into a single protocol buffer message and could potentially compress it all with GSIP, and then you send that out to the server. The server doesn’t know anything about these edits, you know it’s just one big binary packet. The server persists that, and then it sends a response message back to the client and says, OK, I’ve successfully received this. You can now treat this as synchronized and the server will take responsibility for broadcasting it out to all the clients. And then clients as they come online, if they’re not already online, they will immediately receive this new packet of data called a pack. And then they can decompress and unpack that into its constituent atoms, and once they’ve processed those, tell the server, I have successfully saved this on my device and in the background of the server is essentially maintaining a high watermark of for each device that’s registered for this user, what’s the latest pack or block they successfully persisted, and that way as devices come on and offline, the server knows. What new data needs to send to each individual device, and that works both for essentially conveying these updates in near real time as they happen, as well as for doing big bulk downloads if a device has been offline for a long time. And I know we’ve mentioned a few times, but to my mind this multiplexing and batching and compression is so important, so it’s the only thing that makes this even remotely feasible with the Muse data model of having a huge number of objects. And then I think this leads pretty naturally to a discussion of the developer experience. So we’ve talked about this sort of sync framework, and that essentially is gonna present a developer interface up to the application developer. So Wulf, maybe you can speak a little bit to that. 00:52:19 - Speaker 3: Yeah, we’ve talked some about the simplicity that we’re aiming for, just conceptually and how synchronization works. I think it’s equally important for this to be extremely simple for the end developer to use as we’re building new features in use or as we’re, you know, changing the user interface around. That developer, whether it’s me or Julia or anybody else working on Muse, doesn’t need to be able to think in terms of sync at all. We just need to be able to write the application is the ideal world, needs to be very, very simple. And so keeping that developer experience simple was a really big piece of designing what sync looks like inside of Swift for iOS. Since we had been built on core data beforehand, a lot of that developer interaction ends up looking extremely similar to core data. And so we build our models in Swift, it’s a Swift class. We have all of the different attributes where there’s position, and size, and related document, and things like that, and we just stick what’s called in Swift a property wrapper, it’s just a small little attribute. In front of that property that says, oh by the way, this thing, this thing belongs in the sync database. This property is gonna be merged, and that one little piece of code, that one little kind of word in the code program is what fires up the sync database and the sync engine behind it to make all of this stuff work. And that has been really important both for conceptually building new features, but also for migrating from core data to sync. Because the code that core data looks like beforehand, and the code that sync looks like now, is actually extremely similar. Early on in the development process, our very first kind of internal beta, internal alpha, pre-alpha, whatever version you want to call it. Very early on in the process, we actually ran both core data and the sync engine side by side. So some of the data in Muse would load from core data and other bits and pieces would load from sync, but both of those, because they looked very, very similar from the developer’s perspective, from kind of how we use both of those frameworks. It allowed us to actually slowly migrate use over from one to the other, by replacing bits of core data with bits of sync, and then this little bit of core data with this little bit of sync. I mean there’s, you know, thousands and 10s of thousands of lines of custom logic to make muse muse. And so it was really important to keep all of that logic running, and to keep all that logic separate from the physical data that logic was manipulating. And so making those appear similar to the developer, let us do that. It let us keep all of that logic essentially unchanged in use while we kind of swap out that foundation from underneath it. 00:55:15 - Speaker 2: And I remember when you implemented the first pass at this persistence library, and I forget if Yuli was maybe away on holiday or maybe she was just working on another project, but then she came in to use your kind of first working version and start working on the sort of porting it across and she had a very positive reaction on the developer experience, you know, you are sort of developing the persistence layers so you naturally like it because. Here, maybe the way you like it and you’re thinking about the internals, she’s coming at it more from the perspective as a consumer of it or a client or a user, and the developer experience, and I found that to be promising because I mean, she, like most, I think iOS developers has spent many, many years in her career using core data. Which is a long developed and well thought through and very production ready persistence layer that has a lot of edge cases covered and is well documented and all that sort of thing. So in a way it’s a pretty high bar to come in and replace something like that and have someone just have a positive reaction to using it as a developer. 00:56:21 - Speaker 3: Yeah, I was so happy when she said that she kind of enjoyed using it and kind of understood how it worked, because of course every developer likes their own code, but when a developer can use and is comfortable with another developer’s code, that’s really, really important. And that was absolutely one of my goals is to make sure that it was simple for Julia to use and simple for any other developer that comes onto the Muse team that doesn’t have background in Muse and in our code base. For them to be able to jump in quickly and easily and understand what’s going on, was a really important piece of how this framework was built. 00:56:57 - Speaker 1: Yeah, I think this is a really important accomplishment, and Wulf is maybe even underselling himself a little bit, so I want to comment on a few things. One is, while there’s just this simple annotation of I think it’s at merged is that it Wulf. Yeah, that’s right. Sometimes when you see that, that annotation instructs the framework to do something additionally on the side, on top of the existing standard relational database, you know, like basically do your best, try to synchronize this data out of band with some third party service or whatever. But this in fact totally changes how the data is persisted and managed in the system, so it’s sort of like a whole new persistent stack for the application. And I think that’s important because we constantly see that the only way you get good results on sync system, especially when you’re talking about offline versus online and partially online, it has to be the one system that you use all the time. You can’t have some second path, that’s like the offline cache or offline mode that never works. It needs to be the one, you know, true data synchronization and persistence layer. So I think that’s as important though. There’s another subtle piece here, which is the constraints that you have with the industrial setup. So a lot of the research on CRDTs and synchronization basically assumes that you have one or a small number of documents in memory, and that if you’re going to be querying these documents or managing synchronization of these documents that you have access to the full data set in memory. But it’s not practical for our use case, both because of the total size of memory and the number of documents we’d be talking about. So a lot of critical operations can take place directly against the database or the data layer can smartly manage bringing stuff in out of memory. It’s not like we have the whole new corpus up in memory at any one time, the system has to smartly manage what gets pulled up from disk in the memory and what gets flushed back, and then that. Introduce a w