Empower Apps cover image

Empower Apps

Latest episodes

undefined
Oct 13, 2019 • 41min

Continuous Integration with Kyle Newsome

Guest Kyle Newsome - (Twitter @kylnew)Continuous Integration - What, Why & How feat. Bitrise - SwiftTOSponsorsBrightDigitSpecialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch10 years of experience developing for a variety of Apple platformHelping dev shops which lack experience with Apple platforms and SwiftContact me if you need help today.We have an opening for sponsorsDo you have a product or service which can target our ever growing community of developers as well as technology and business leaders? Contact me today if you are interested in sponsoring or go to our Patreon page.New iPhone 11 ThoughtsCamera ImprovementsMax vs Not-Max SizeDSL vs iPhoneNight ModeContinuous Integration Issues with iOSDeployment IssuesCache IssuesContinuous Integration 101How to Get StartedRemoving Dependencies on People and FilesReproducible AnywhereUsing Pull Requests or Code Reviews As TriggersHaving Tests to Address Pain PointsDealing with Certificates and Provisioning ProfilesHashiCorpUsing Tools Like FastlaneComparing ServicesCloud ServicesBitrise - Focused on Mobile Development (Android and iOS)Travis-CI - Free Open Source (includes macOS)Circle-CI - Free Open Source (includes macOS)Self-HostingJenkinsXcode ServerRunning Your Own Mac Virtual MachineHybrid SolutionsMacStadiumDifferences between macOS and iOS building SpeculidTutorial Setting Up Speculid and macOS on Travis-CIFeedback Loops and CIHaving Healthy Unit Tests Rapid Results through AutomationProofing Builds Before QASocial MediaTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitPatreon - empowerappshowTranscriptionLeo Dion (Host): Hey, Kyle, how are you doing? [00:00:01] Kyle Newsome (Guest): I'm doing great. Thanks very much. It's unfortunately a slightly rainy day in Toronto here, but otherwise, a good mood. [00:00:07] Leo Dion (Host): Yeah, same here. It's been a weird, cause. I don't know what Ontario's like, but Michigan. It's like one day was 80 degrees and then the next day dropped down to like 50 or 60 [00:00:18] Oh, sorry. That's Fahrenheit. But you get what I mean. [00:00:20] Kyle Newsome (Guest): It's okay. I lived a little bit in the States, so I like can do the conversion. I know that like 70 is nice and comfortable. Eighties getting to hot sixties like not too bad. [00:00:30] Leo Dion (Host): I think fall's finally here. Yeah, so another sign of fall is the new iPhones. Did you get anyone iPhone?[00:00:38] Kyle Newsome (Guest): I got the new iPhone 11 pro max. Which I've been waiting to upgrade for a few years. So this is like my first experience with like the X, you know, edge to edge screen as well. [00:00:49] Leo Dion (Host): What do you think of it? [00:00:51] Kyle Newsome (Guest): Honestly, so far I'm pretty impressed with it and as much as people have complained about how the three lenses look, I actually think it looks pretty nice.[00:00:58] They've done something good with the glass backing, so it looks pretty refined, so I can't really complain about that. I've played around with the camera and the night photography a little bit and it's pretty cool to see how much it can capture in low light. [00:01:11] Leo Dion (Host): What did you have previously? [00:01:13] Kyle Newsome (Guest): Previously I had the iPhone seven plus. [00:01:17] Leo Dion (Host): Okay. And do you really like the max size? [00:01:19] Kyle Newsome (Guest): You know, like I'm used to it in my hand now, so I can't complain. You know, for the longest time I didn't think that I would like it, but I believe when the seven plus was the only one that had the two cameras, and I was really interested in that functionality.[00:01:32] So I upgraded to the largest one, and now I'm kind of used to it. But I think that both the regular size and the max size are both pretty good in terms of screen size you got. I'm just sort of used to this in my hand and I liked that when they at least made the change from the old ones to the new ones, they kept the size of the same and then just you got more screen space so it feels exactly the same as my old phone in my hand.[00:01:56] Leo Dion (Host): Yeah, I was a plus size user and I loved that. And then I went to the 10s, not max. And I don't feel like I miss the size because the screen size is pretty much the same. But I was just curious, like if you see like a big advantage with the max. [00:02:12] Kyle Newsome (Guest): No, I don't really think so. I guess it gets a little bit longer battery life, which is always nice, but otherwise, yeah, they both look pretty nice.[00:02:20] I was sort of on the fence whether to go with one or the other, but I think ultimately it was kind of like hand feel that I just like, I was used to the weight and everything, so I just wanted to make a seamless transition like that. [00:02:30] And the big selling point for me with the plus was the extra lens. And like now we don't have that.[00:02:35] Leo Dion (Host): Like the extra selling point isn't there because he can pretty much get that with the regular pro. So like that was my big thing was I just want a really good camera. Like I don't have cameras anymore. Like I think I sold my DSLR and my other digital cameras a couple of years ago cause I wasn't really using them.[00:02:54] And like the convenience of having an iPhone was always worthwhile to me. And like the dual came...
undefined
Sep 29, 2019 • 53min

Modularizing in Xcode with Abbey Jackson

Guest Abbey Jackson - (Twitter @earthabbey)Modularize All the Things - Abbey JacksonSponsorsBrightDigitSpecialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch10 years of experience developing for a variety of Apple platformHelping dev shops which lack experience with Apple platforms and SwiftContact me if you need help today.We have an opening for sponsorsDo you have a product or service which can target our ever growing community of developers as well as technology and business leaders? Contact me today if you are interested in sponsoring or go to our Patreon page.Themes from ConferencesThe Importance with Meeting New PeopleLearning Old FeaturesTrying to Deep Dive into SwiftUI and its FutureThe Benefits of SwiftUI for DesignersComparing HTML and SwiftUIBreaking Down How Xcode WorksHow Different Components in Xcode Can Help Organize Your CodeHow an Xcode Project WorksHow Files result in TargetsDifferences between Targets and Build ConfigurationDealing with Target DependenciesTesting with Targets and XcodeHow Workspaces Differ from ProjectsModularizing ComponentsWhat are the best ways to organize your product?Modularizing Your Persistence LayerImportance of TDD and Protocol Oriented ProgrammingOther examples of modularizing: Network, Feature-cased, Authentication, User Profile, LocationFollowing Apple's SDK Framework ExampleDealing with Source ControlUsing Git SubmodulesDependency Management Tools (i.e. SPM, Cocoapods, Carthage)Using SDK TargetsSwift Package ManagerThe Benefits of ModularizingDecrease Build TimesShare Code and FunctionalityOptimize Your Build PipelinesPost-September Purchasing ChoicesApple Watch Series 5iTunes vs App Store Gift CardsiMac BackpackSocial MediaTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitPatreon - empowerappshow Thanks to our monthly supporters Bertram Eber Edward Sanchez Satoshi Mitsumori Danielle Lewis Steven Lipton ★ Support this podcast on Patreon ★
undefined
Sep 15, 2019 • 19min

September 2019 Event

Full VideoYoutube Video - https://youtu.be/5Qn22CN3hAASponsorsBrightDigitSpecialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch10 years of experience developing for a variety of Apple platformHelping dev shops which lack experience with Apple platforms and SwiftContact me if you need help today.We have an opening for sponsorsDo you have a product or service which can target our ever growing community of developers as well as technology and business leaders? Contact me today if you are interested in sponsoring or go to our Patreon page.Apple Arcade and Apple TV+Can there be a subscription service for apps similar to Arcade for games?Was the pricing reasonable for most iPad (7th Generation)Is the iPad ready to be a laptop replacement?Is the app ecosystem ready for professional apps on the iPad?Apple Watch Series 6What the continuing trend of the Apple Watch battery improvement?Is the Apple Watch the device of the future?iPhone 11A continuing trend of maturity in the smartphone market?Is the iPhone a phone or a camera?iOS 13Thoughts on if Apple bit off too much on the OS upgrades to deliver everything on time? - @tonydehnkeSocial MediaYoutube - BrightDigitTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitPatreon - empowerappshow Thanks to our monthly supporters Bertram Eber Edward Sanchez Satoshi Mitsumori Danielle Lewis Steven Lipton ★ Support this podcast on Patreon ★
undefined
Sep 8, 2019 • 53min

Developing for Multiple Platforms with Manton Reece

Guest Manton ReeceMicro.blog@manton - Micro.blogCore Int - Podcast with DanielSponsorsBrightDigitSpecialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch10 years of experience developing for a variety of Apple platformHelping dev shops which lack experience with Apple platforms and SwiftContact me if you need help today.We have an opening for sponsorsDo you have a product or service which can target our ever growing community of developers as well as technology and business leaders? Contact me today if you are interested in sponsoring or go to our Patreon page.Micro.blogSelf-Hosted and Indie Web FocusDealing with Twitter IssuesDeveloper-FriendlyPrivacyCommunity IssuesMarketing to an AudienceReach Out and Let People KnowStarting a Mailing List and Blog to Reach OutSlow Growth Allows For Intermittent Improves Based On Audience FeedbackMaintaining EngagementUsing Automation with Mailchimp and other Mailing ListsUsing Kickstarter for Funding a New ProjectFinding the right niche or nichesProviding value outside of comparing yourselfDeveloping for Multiple Apple PlatformHosting through Linode using Sinatra + RubyHow Micro.blog works behind the scenesHaving a Public API and Dealing with Third-Party APIsAdopting standardsDealing with Multiple Different UIsBuilding Frameworks for other DevelopersDifferences between developing for the Mac vs. iPhoneCatalyst vs SwiftUI on the MacConstantly Releasing UpdatesApple September EventWhat the new iPhone might mean for developers?Maturity of the iPhoneEmphasis on Photography with third lensIndependence of the Watch AppSocial MediaTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitPatreon - empowerappshow Thanks to our monthly supporters Bertram Eber Edward Sanchez Satoshi Mitsumori Danielle Lewis Steven Lipton ★ Support this podcast on Patreon ★
undefined
Aug 25, 2019 • 1h 5min

WWDC 2019 - Mac Development with Daniel Jalkut

Guest Daniel JalkutRed Sweater - Software CompanyDaniel's Blog - https://bitsplitting.orgCore Int - Podcast with Manton(@danielpunkass) | TwitterPrevious EpisodesEmpower Apps | WWDC 2019 - Apple Watch with Gary Sabo | Episode 18Empower Apps | WWDC 2019 - Swift UI with Jason Anderson | Episode 19Core Int | Episode 378: Hi, I make Macintosh SoftwareCore Int | Episode 377: Just A Tiny CompanyCore Int | Episode 376: I Had A Vegan QuesadillaTalk Show with John Gruber - Episode 257 - A Real SandwichSponsorsBrightDigitSpecialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch10 years of experience developing for a variety of Apple platformHelping dev shops which lack experience with Apple platforms and SwiftContact me if you need help today.We have an opening for sponsorsDo you have a product or service which can target our ever growing community of developers as well as technology and business leaders? Contact me today if you are interested in sponsoring or go to our Patreon page.WWDC 2019SwiftUI is the Future but is it Ready?SwiftUI and Pragmatic Adoption and MigrationHow has Apple changed over the years?Apple conservative approach towards changeNot Releasing FirstWhat happened to Marzipan?Project Catalyst vs. SwiftUIUsing SwiftUI with AppKitArtisanal vs Cross-PlatformWhy would a company develop using Catalyst?When a rewrite isn’t: rebuilding Slack on the desktop Is Slack in the business of writing exemplary apps?Pragmatism vs Art in Product DevelopmentHow does Apple develop products?Leading by DesignWould you use SwiftUI in a Brand New App?Future of macOSLocking Down of macOSTalk Show with John Gruber - Episode 257 - A Real SandwichMac App Store vs. Distributing YourselfHow does Notarization work?How does Gatekeeper work?Daniel's Article - A Real GatekeeperApple - Making macOS more secure or more annoyingIs Sandboxing and the 30% cut worth it for the Mac App Store?Speculid - Easily Manage Graphics in Xcode ProjectsFastScripts - Powerful script management utilityNon-Consensual SoftwareRunning an App BusinessLimits of the App Store as a BusinessHow to be a successful business and build great apps?Build Your Saas - Hosting Costs Stratechery - The First Post-iPhone KeynoteFind Where the Market IsSocial MediaTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitPatreon - empowerappshow Thanks to our monthly supporters Bertram Eber Edward Sanchez Satoshi Mitsumori Danielle Lewis Steven Lipton ★ Support this podcast on Patreon ★
undefined
Aug 11, 2019 • 23min

WWDC 2019 - SwiftUI with Jason Anderson

Guest Jason Anderson (@_jasonranderson) | Twitterjasonranderson GitHubPrevious EpisodesEmpower Apps | WWDC 2019 - Apple Watch with Gary Sabo | Episode 18Sponsors360|iDev- August 25 - 28th - Denver, COThe Leading indie iOS/Mac (and watchOS, and tvOS) Developer conferenceIt’s all about Community and Code!Four days of hands-on training, amazing sessions, and the great community. All Swift.Use the promo code FriendsInHighPlaces to get 20% off registration.We have an opening for sponsorsDo you have a product or service which can target our ever growing community of developers as well as technology and business leaders? Contact me today if you are interested in sponsoring or go to our Patreon page.Functional Reactive ProgrammingReactiveCocoa · GitHubCombine | Apple Developer DocumentationModel–view–viewmodel - WikipediaFirst-class function - WikipediaUnderstanding Declarative ProgrammingBetter for Multiple DevicesImproved Team CollaborationXcode LivePreviewKeep View Model and Data Model SeparateFaster Iterative Development Long-TermDrawbacks of using Swift UILimited to latest OS (iOS, macOS, watchOS, tvOS)Lack of Documentation and SupportCollection Views (i.e. Grids)Good Support of Communication Between of UIKit and SwiftUINot Best for New Recent ReleasesDo Need To Use It NowLeo’s Swift UI StreamSocial MediaTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitPatreon - empowerappshow Thanks to our monthly supporters Bertram Eber Edward Sanchez Satoshi Mitsumori Danielle Lewis Steven Lipton ★ Support this podcast on Patreon ★
undefined
Jul 28, 2019 • 41min

WWDC 2019 - Apple Watch with Gary Sabo

GuestGary Sabo‎MyndArc, LLC Apps on the App StoreHealthKit SlackPrevious EpisodesUnit Testing EpisodeApple Watch Series 4Sponsors360|iDev- August 25 - 28th - Denver, COThe Leading indie iOS/Mac (and watchOS, and tvOS) Developer conferenceIt’s all about Community and Code!Four days of hands-on training, amazing sessions, and the great community. All Swift.Use the promo code FriendsInHighPlaces to get 20% off registration.We have an opening for sponsors and patrons Do you have a product or service which can target our ever growing community of developers as well as technology and business leaders? Contact me today if you are interested or join our Patreon.Thoughts on WWDCSwiftUI and the slow demise of StoryboardsGruber’s rumor about Declarite ProgrammingSwift and the slow demise of Objective-CGithub Repo on TalksExploring New Data Representations in HealthKit - WWDC 2019 - Videos - Apple DeveloperSwiftUI on watchOS - WWDC 2019 - Videos - Apple DeveloperCreating Independent Watch Apps - WWDC 2019 - Videos - Apple DeveloperGreat Developer Habits - WWDC 2019 - Videos - Apple DeveloperGithub Repo on SwiftUIYou’ve been sherlocked - Operating systems‎HockeyTracker on the App StoreGear Towards Your Specific AudienceSpecific Activities with specific metricsIndependent Apple Watch AppsWhy does Apple Watch apps need iPhone app counterparts?iPhone Counterparts of Apple Watch workout apps are for visualizationSlow Deprecation of WatchConnectivityHow do you syncing certain data between Apple Watch and iPhone?HealthKit ,StoreKit, etc…What’s the position of the iPhone in the future with AR and the Apple Watch?SwiftUI on the Apple WatchThe new Apple Watch App StoreWhere’s the Focus of the Apple WatchHealth and Fitness - Niche FitnessAdvanced NotificationsLocation Tracking - GPS and Indoor Positioning System (Indoor GPS)Accessibility and Haptic FeedbackMore Sensors in the Future?Maturity of HealthKitLacking Inability to EditApple Partnering with Health CompaniesAllowing HealthKit on iPad and macOS?Social MediaTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitPatreon - empowerappsshowComplete TranscriptionLeo Dion (Host): Hey Gary, how's it going? [00:00:01] Gary Sabo (Guest): Doing well, Leo, how are you doing? [00:00:02] Leo Dion (Host): Good. Good. So what were your thoughts from WWDC? [00:00:07] Gary Sabo (Guest): Boy, so much. I think like a lot of people, just my immediate reaction was this with UI. I didn't hear rumors. I mean, I heard maybe I heard something about, you know, declarative framework, but I didn't expect that.[00:00:18] And sort of the, what seems to be the eventual abandonment of the storyboard. So yeah, that was the biggest shock to me. [00:00:26] Leo Dion (Host): We had some rumors about like declarative programming. I think Gruber had talked about that, but people were just kind of like, not making it as big of a deal about it because I think everybody was like marzipan, marzipan, marzipan.[00:00:38] Right. And then it's like the project catalyst is kind of an afterthought. It's like, Holy crap, they're replacing the entire UI. Framework UI kit. I think it's still vibrant. I don't think it's dead by any means, because they've made some major improvements. It looks like to the way table views and even more so collection views are done, but you can kind of see the writings on the [00:01:01] Gary Sabo (Guest): wall.[00:01:02] Leo Dion (Host): Yeah, it's like Swift. It's like Swift four years or a . It's like, yeah, I mean objective is going to be here for awhile. It's going to be forever, quite frankly. But like that's called Swift UI. It's not called objective-C UI for specific reason. [00:01:18] Gary Sabo (Guest): Right. And obviously companies have existing code bases, and if you were just starting out today, I still don't think I'd dive into Swift UI yet.[00:01:27] You know, companies are going to need to support their existing projects for years, [00:01:31] Leo Dion (Host): and somebody who's been playing around with it for two weeks. Yeah. Don't. I don't suggest jumping into it right now. [00:01:38] Gary Sabo (Guest): Yeah. And it's still in beta, so keep that in mind as well. [00:01:42] Leo Dion (Host): Very much so. Yeah. It was a big year. It's probably the biggest WWDC since Swift was introduced.[00:01:49] We can safely say. [00:01:50] Gary Sabo (Guest): I haven't gotten through all the talks. There's a github repo that I found or came across that kind of lists bullet points of the talks just so you don't have to invest the full 40 minutes. You can kind of just see if it's what you're interested in. So I've been going through that and just, I've been starting with obviously the ones that are most near and dear to me, like the WatchKit the Healthkit.[00:02:11] But yeah, it seems like there's a lot to unpack. The combine is another thing there. Their foundation API. I didn't have a cha...
undefined
Jul 14, 2019 • 41min

Subcontracting with Joe Cieplinski

Guest Joe Cieplinski jcieplinski (@jcieplinski) - TwitterMicro.blog - @joecRECaf - Effortless Caffeine TrackingRelease Notes | The Business of Online BusinessesPrevious EpisodesCross Platform Comparison with Rob KerrSponsors360|iDev - August 25 - 28th - Denver, COThe Leading indie iOS/Mac (and watchOS, and tvOS) Developer conferenceIt's all about Community and Code!Four days of hands-on training, amazing sessions, and the great community. All Swift.Use the promo code FriendsInHighPlaces to get 20% off registration.BrightDigitSpecialize in helping businesses build apps for iPhone, iPad, Mac and Apple Watch10 years of experience developing for a variety of Apple platformHelping dev shops which lack experience with Apple platforms and SwiftContact me if you need help today.Thoughts on WWDC WWDC on a BudgetAltConfBusiness + Developer ConferencesPeers ConferenceRelease Notes 2019Why Should You Be A Subcontractor?An Agency needs flexibility and an extra developer for a projectAn Agency needs a special expertise (i.e. HealthKit, WatchKit, etc…)Fill a need for a particular platform and expertise (i.e. iOS) on team with other platform developersThings to Consider for iOS DevelopersHave a portfolio and resume - help the agency sell you to other companiesBe a T-shaped developer - know the how to build an iOS app but also have a special expertise in an areaConsider being a consultant - help build iOS development teams for companies while also making more moneyKnow developers of other platforms - such as Android - if you can work with them then this provides even more value to the agencyChallenges of Being a SubcontractorGiving up Flexibility - you can be dropped at anytime because you only filling a role till a full-time employee is hiredCommunication and Management - Understood Your Role Within the StructureDon't Talk Money with Client Directly - Discussions on Money and Time should go though the agency always not directly with the clientDon’t Sell Yourself as an Individual - remember you represent the agencyListen to the Team - Follow the agency and client’s protocols and guidelines such as their coding style, etc…Speaking at 360|iDevJoe’s Talk - When a Simple Algorithm will DoLeo’s Talk - The Multi-Threaded Asynchronous Parallel World of SwiftSocial MediaTwitter - @brightdigit  Facebook - BrightDigit LinkedIn - BrightDigit Instagram - @brightdigit  Thanks to our monthly supporters Bertram Eber Edward Sanchez Satoshi Mitsumori Danielle Lewis Steven Lipton ★ Support this podcast on Patreon ★
undefined
Jun 30, 2019 • 35min

Cross Platform Comparison with Rob Kerr

GuestRob Kerr - @rekerrsiveWhy should companies go with a cross-platform solution?Consistent User Experience (whether that's a good idea or not)Synchronicity in Code BaseBudget - Use existing team expertise What are the differences between cross-platform solutions?Web Based - Cordova, Ionic, PhoneGapBridging Solution - Flutter, React Native, NativeScriptLanguage Based - Xamarin - Use C# to Call Native APIWhat are the challenges with cross-platform solution?Dependent on Vendor SupportDev teams need to keep Cross-Platform Tooling up to dateUsing a Specific API (Metal, HealthKit, etc…) May not be supported by Cross-Platform ToolThere may be instances such as UI - you want differences between devicesSocial MediaTwitter - @brightdigitFacebook - BrightDigitLinkedIn - BrightDigitInstagram - @brightdigitTranscript[00:00:00] Leo Dion (Host): Today with us. We have Rob Kerr. You want to go ahead and introduce yourself. [00:00:05] Rob Kerr (Guest): My name is Rob Kerr. I'm a consultant working primarily in mobile platforms a lot of native development but more and more it's cross-platform with Xamarin, Flutter, and some other tools and I work with primarily business customers who are looking to deliver applications to both IOS and Android with the most efficient development process that they can experience.[00:00:29] Leo Dion (Host): Awesome, really glad to have you on Rob. I've known you for three or four years now. It seems like. [00:00:35] Rob Kerr (Guest): Something like that. [00:00:37] Leo Dion (Host): Yeah, and we've met either at meetups or touch base every so often. So it sounds like recently you've been doing a lot of cross-platform development. And like I said, I have a little bit of experience with that of dabbled a little bit in Cordova as well.[00:00:54] My bread-and-butter, my expertise is obviously Swift [that is] native Swift development. That's what I like to do. I think it has a lot of advantages but there could be situations like business reasons valid business reasons to go cross-platform, right? [00:01:10] Rob Kerr (Guest): Yeah, I think so. And I think you and I have similar backgrounds in solutions as far as Apple. I've done a ton of native development in Swift and iOS and some on Android as well. Probably the last year or two a lot of my work has been cross platform and it's kind of driven by that business need or want to you know, hit both platforms efficiently. And currently in the IOS app store has you know about 1.8 million apps and the Play Store has about 2.1 million but the stats tell us that I think AppFigures had a study that only 450 thousand apps are truly cross platform where the same application is deployed in both platforms, which is you know, it's really small numbers less than 10 percent.[00:01:54] And so when will you find is you know, Everyone would kind of like to be on both platforms at the same time, but not a lot of folks are or at least not not an efficient way. So in the past you mentioned Cordova and PhoneGap and probably five or six years ago that was almost the only game in town.[00:02:11] But now this cross-platform frameworks are you know sprouting up quite a bit and all of the mega vendors offer something like Flutter or React Native or Xamarin from Microsoft. And so it's definitely coming into its own and there's certainly those those applications like business applications, especially where you need to have both platforms, but maybe don't want to fund building the app twice once for each so yeah, I think so.[00:02:38] Leo Dion (Host): What are some situations where businesses should choose cross platform as opposed to a native? [00:02:46] Rob Kerr (Guest): Yeah, that's a good question. And that's you know comes up a lot because the sort of the reasons not to usually drive into accessing very exotic APIs and things like that. In my mind if a business really wants to deliver on both platforms, especially if they like to do it at the same time that kind of tends toward cross-platform if you can particularly if the user experience they wanted to be the same on both platforms then using something cross-platform maybe doesn't mandate it but certainly makes it much likely that an application is going to work the same way so that when the support call comes in then you know somebody who needs to help a user doesn't have to think about you know, how does this work on Android how does this work on iOS. How's the potentially work on Windows? [00:03:29] Then the obvious, you know elephant in the room is just budget. If you have to build the same application twice that costs, you know potentially twice as much typically usually other different teams that work on IOS and Android if they're done completely native.[00:03:44] And then you know, you really have to think about in the long term how does that go into support cost? So if the application has to have a life cycle, new features that we added bugs need to be fixed, if they're written in two different languages than two platforms than that's something to think about so. As I think about it and on the consumer market, if you are going to develop an application to compete with one of Apple's native apps or Android and it needs to be really exotic, you know, cross-platform might not be the right choice for that.[00:04:16] But for the vast majority of apps are content consumpution or business orientated and so on It's probably the majority of the leading cross-platform tools can deliver an app with the same user experience. So something to think about.[00:04:33] Leo Dion (Host): It's funny you mention user experience. I would say that can be a benefit of cross-platform but also a hindrance in a lot of ways because like recently I was doing work with the client and they were really good about making sure that the user experience was actually different on both platforms precisely because of the expectations that certain like Android users have with their UI and Apple users have with their UI - there are definitely big differences. Specificly I'm just like thinking about like hamburger menus is like we don't have hamburger menus is very much on iOS and that's that's one of the jarring things is when you use a cross-platform app.[00:05:18] It can be obvious and jarring when you're using an app that is built cross platform, but doesn't like take into account like the user experience differences between both platforms. [00:05:33] Rob Kerr (Guest): Yeah, there's a little bit to unpack there because as I've worked with clients that you know, definitely wanted pixel-perfect identical experiences in both platforms.[00:05:42] Now, you might argue that you shouldn't do that right and Google and Apple and tell you shouldn't do that because you're not following their conventions and that's a very va...
undefined
Jun 16, 2019 • 47min

Test-Driven Development with Joshua Greene and Michael Katz

GuestsJoshua Greene - @jrg_developer - Senior Author for raywenderlich.comMichael Katz - @themikekatz - Senior Author for raywenderlich.comBook - iOS Test Driven DevelopmentLinksNimbleQuickPrevious EpisodesEpisode 14: iOS App Architecutre Show NotesThe Components of Test-Driven DevelopmentKeep Your Iterations SmallTest First Circular Progress of Testing and Developing FunctionalityAvoid Testing other APIs (i.e. Integration Testing)Use Mock Data for Outside DependenciesBehavioral Driven Development vs XCTestHow to Encourage TDD in Your Team and CompanyMake sure Maintainability and Specs are MetPrevent Regressions with New FeaturesRegular Code ReviewsTests Should Be Required Before DeploymentEncourage a Culture of TestingSlow Add Tests to Projects Missing ThemCommon Mistakes When Doing Test Driven DevelopmentFollowing the Golden Pathand not testing edge cases and errorsFollowing Test Coverage too strictly or not enoughUse Multiple Test TargetsWrite Tests FirstFor Experimenting with New APIsUse Spike Solutions to ExperimentWrite Temporary TestsUse Playground to Test CodeContinuous Integration ToolsJenkinsTravis-CICircleCIXcode ServerFastlaneWWDC and TDDNew Performance TestsTest Plan for XcodeSwiftUI, Live Previews, and ModelingWWDC 2019 - Testing in Xcode Social MediaTwitter - @brightdigitFacebook - BrightDigitBrand New Instagram! - @brightdigitFull TranscriptionLeo Dion (Host): So hey guys, how's it going? [00:00:01] Michael Katz (Guest): Great. How are you?[00:00:02] Leo Dion (Host): Good good, just been trying to catch up with WWDC. What's your general thoughts so far. [00:00:07] Michael Katz (Guest): It seems like this is about the biggest one we've had since they introduced Swift. There's just so much stuff. [00:00:12] Leo Dion (Host): Yeah, that's exactly what I was thinking especially with the UI changes. So have you started investing money to buy a $1000 stand? [00:00:20] Michael Katz (Guest): Yeah, I wish. Fortunately at my company, we actually do video editing. We have editing bays already have racks of Mac Pros. So I assume that those will get upgraded with the new machines at the fancy monitor so I can go downstairs and drool over them when I'm not actually. It's working on my MacBook. [00:00:36] Leo Dion (Host): Yeah, I mean that's the thing about these devices. They're not for developers like there for video editing like massive 3d rendering that kind of stuff and big production companies [00:00:45] Joshua Greene (Guest): Maybe if you're doing like 3D games or something as a developer. I could see it being really worthwhile but for business or Enterprise type apps it may be a little bit of an overkill which is definitely pretty awesome. But day to day maybe not so much. [00:00:59] Leo Dion (Host): Yeah, exactly. So if people want to tweet at us or we're also at brightdigit on Twitter at brightdigit on Instagram and Facebook. Let us know your thoughts on WWDC and any thoughts you might have about all the new stuff that's coming  out.[00:01:15] Guys, so apparently you have a book coming out pretty soon. Is that correct? So go ahead and introduce yourselves to let me know a little bit about this book. [00:01:24] Joshua Greene (Guest): So my name is Joshua Greene. I am a longtime author for RayWenderlich.com[00:01:30] I've done everything from creating tutorials to books to videos. This is a new project that we're putting together to teach test-driven development it's called iOS Test-Driven Development by Tutorials [00:01:45] Michael Katz (Guest): And I'm Michael Katz and similar story. I've been with Ray Wenderlich for a number of years and also done books tutorials.[00:01:53] Spoke at the RW Devcon. Haven't done any screen cast yet, but maybe someday and they are passionate about test-driven development and we both came I think independently to the idea of writing a testing book and editor-in-chief put us together. And here we are most of the way through it.[00:02:11] Just getting ready to finally finish it up. [00:02:13] Leo Dion (Host): So test-driven development, I remember once it was like almost more than half decade ago, probably almost 10 years ago, I went to a conference in Chicago and I think it was Bob Martin who gave a talk on test-driven development the idea being like first you write your test and then you write your code.[00:02:33] Is that kind of the gist of it or what are the components of test-driven development? What exactly does that mean? [00:02:39] Joshua Greene (Guest): Yeah, definitely writing tests first is definitely a big part of it. Keeping iterations small. I think test-driven development is all about, you know, writing one small thing you write a small test to implement something that you need to get implemented.[00:02:54] You show the test actually doesn't pass you implement. Whatever code is required to get it the pass and then you verify it passes. And you just repeat this process over and over so that when you finally, you know, got your app out not only have you got all the features written you've got all of the tests that you're going to need alongside it but it's not like you just write all the tests in advance. It's literally a small step by a small step is kind of what makes it different and special. [00:03:20] Michael Katz (Guest): It's a circle you just go over and over again at a little test and yet add some code to fix that test and you test the next piece and you add the code for that and so on so you're always in lockstep. [00:03:31] Leo Dion (Host): So the problem I have had with test-driven development and iOS is some of the stuff that is pertaining to like the UI or perhaps like test-driven development, sometimes you have different screen sizes, obviously, you might have to deal with something like core data or networking. How do you overcome tho...

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode