
Empower Apps
217 episodes — Page 5 of 5
Ep 17Subcontracting 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 Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 16Cross 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 pl
Ep 15Test-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
Ep 14iOS App Architecture with René Cacheaux and Josh Berlin
GuestsJosh Berlin - @jab2109René Cacheaux - @RCachATXBook - Advanced iOS App ArchitectureLinksSwinjectRxSwiftAdvanced Unidirectional Architecture with Rene Cacheaux - Live Tutorial Session - RWDevCon 2018Alcatraz RIPXcode ExtensionsPrevious EpisodesEpisode 7: Apple 2019Episode 8: Cloud and Backend ServicesEpisode 12: iOS Developer Interviews with Alex BushShow NotesChallenges with Architecture in iOS Application DevelopmentDealing with the lack of guidance from AppleSlow team velocity caused By large volumes of codeArchitecture is important when the team is large enough to benefit One day when the team grows more, you’re going to potentially have more problems.Josh BerlinThe need to slow down and establish an architecture in an appconstant communication and early meeting to discuss patterns and practices (i.e. Architecture)How team dynamic affects the need for leadershipApplying Patterns to iOS Application Architecture MVC vs Other Patterns such as RxSwiftHow design patterns naturally developUsing third party librariesThe importance of team DNAThe importance of dependency injectionTooling - iOS and Swift vs Android and KotlinThe problems with Storyboards and having healthy architectureWWDC Hopes and DreamsJosh Berlin - @jab2109Dark Theme (iOS)René Cacheaux - @RCachATXMarzipanSwift Concurrency PrimitivesLeo Dion - @leogdionXcode ImprovementsMore Exposure for Services and Server Side SwiftSwift Package ManagerMore Developer ToolsWhat happened to Alcatraz and Xcode Extensions?Social MediaTwitter - @brightdigitFacebook - BrightDigitBrand New Instagram! - @brightdigitTranscriptLeo Dion (Host): [00:00:00] Hello, welcome to another episode of EmpowerApps Show today. We have with us René Cacheaux and Josh Berlin. Guys, thanks for coming on. René Cacheaux (Guest): [00:00:08] Thanks for having us. Josh Berlin (Guest): [00:00:09] Yeah.Leo Dion (Host): [00:00:09] So I've heard a lot of issues that companies have with architecture especially architecture with iOS apps and I know you guys have a book coming out as part of the Ray Wenderlich series - IOS app architecture. So this is something I'm really interested [in]. Maybe if you can kind of define the problems you've seen a lot of companies run into when it comes to architecting a successful mobile app, especially in iOS. René Cacheaux (Guest): [00:00:40] Yeah, one of the biggest challenges with iOS development is that there's really no strong opinion from Apple. So everyone's really kind of left to roll their own patterns. The biggest issues that I've seen is just slow in-team velocity, because we read a lot more code than we write. Everytime that we go into a code base to add a new feature, fix a bug, or something - the more tightly coupled all the pieces of your app are [and] the more you have to read to kind of understand all the things that you need to understand to make a safe change without breaking something. And so, kind of architecture really helps speed up your team because if you can kind of use the right patterns and break things up into no easy to reason about chunks. It's much much easier to find where you need to make the change and have confidence that you are not going to break something. So that's what I would say kind of like the main points on that.Josh Berlin (Guest): [00:01:39] Yeah and another thing is like a lot of apps that are built usually start with maybe like one person or a small team and that developer has an opinion about how to architect the app and as a team grows and the product org wants more changes [it] becomes a lot harder to make those changes if the team isn't on board with one type of architecture and everyone is going to have their own opinion. It's going to be a lot easier to make these changes. If everyone agrees on one architecture and knows where to our find everything, everything is documented because one day when the team grows more, you know, you're going to potentially have more problems - like René was saying finding things in the code base. When the app is small it's not as big of a deal but when it grows it becomes a lot more challenging, so it's good to get these architectural patterns in early on and have everyone on board.Leo Dion (Host): [00:02:36] Maybe talk a little bit about your background and how did you guys get into iOS development? René Cacheaux (Guest): [00:02:40] So I got into it back in around 2008. I was doing a bunch of kind of web Java server face, you know internal it development and my wife had bought an iPhone and was kind of really trying to get me on board with the Apple ecosystem. Back then I was kind of Microsoft guy. You know, I was like, I'll try developing for this it would be interesting and I just got hooked honestly like. Working with like very abstract things kind of in the cloud and kind of in the background versus working on something that you can kind of feel and touch and look and show your friends kind of a really really cool thing. That's how I got into it. Leo Dion (Host): [0
Ep 13Apple and Video with Paul J Schmidt
UnoDeuce Multimedia and StorytellingUnoDeuce MultimediaYoutubeInstagramTwitterFacebookPrevious EpisodesApple 2019 - Apple and ServiceMarch 25th EventOther ServicesApple ArcadeApple CardApple NewsApple MusicHow is Apple positioning itself compared with other Streaming Services?Apple TVApple TV+Amazon Prime NetflixDisney+Exponent Episode - Family-Friendly DisneyHuluHow to start telling stories with video nowFilmic ProClipsiMovieRecording with an iPhoneEditing with an iPadiMac vs iMac Pro for VideoHD vs 4KHigh Color GamutFinal Cut ProMac MiniRunning IT in an Apple Run BusinessDropboxArchiving and Hard Drives LacieWestern DigitalBackBlaze Hard Drive Stats For 2018Lansing Marketing HackersLansing Marketing Hackers MeetupLearning a New Skill with Alexa with Paul J SchmidtWWDCNew Mac Pro?Pro App Updates Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 12iOS Developer Interviews with Alex Bush
Alex's LinksOn Twitter @alex_v_bushiOS Interview Guide Inside iOS Dev PodcastPrevious EpisodesEpisode 8 - Cloud and Backend Services For AppsWhat makes interviewing iOS Developers special?Apple Design PatternsModel-View-ControllerDelegation PatternProtocol Oriented ProgrammingSpecial Background and Knowledge in Frameworks: UIKit, HealthKit, AVFoundation, WatchKit, etc...Common mistakes employers make interviewing iOS candidatesNot understanding their own appHiring a consultant to help estimate and understand what iOS knowledge is nessecaryNot understanding the phase their app and whether general iOS developers are needed as opposed to iOS developers with specialtiesAlgorithms and Optimization Interview QuestionsInterview Questions about building a UI in iOSFinding out whether the applicant understands the pros and cons of various methods: Storyboards, Coding, etc...Make sure they are willing to work with the teamCommon mistakes iOS developer applicants and candidates makeNot having broad knowledge of various solutions an app may need: Data Storage, Networking, UI...Some Backend KnowledgeFull TranscriptionLeo Dion (Host): Hey Alex[00:00:01] Alex Bush (Guest): Hey Leo [00:00:01] Leo Dion (Host): how are you doing, sir? [00:00:02] Alex Bush (Guest): Great. How are you doing? [00:00:04] Leo Dion (Host): Fantastic glad to have Alex Bush on from IOS interview guide and inside iOS Dev podcast. If you are interested in iOS development, you should definitely check his podcast out. Alex, what are you up to right now? [00:00:21] Alex Bush (Guest): I am sort of getting up to speed after Microconf and vacation.[00:00:27] Leo Dion (Host): I hear you. I'm in the same boat microconf and peers and vacation and starting a new contract. So I know where you're coming from. [00:00:35] Alex Bush (Guest): Right and yeah, and I'm Contracting as well iOS so doing that getting up to speed on that [00:00:42] Leo Dion (Host): Who are you working with right now? [00:00:43] Alex Bush (Guest): Currently with Uber. Yeah, Silicon Valley, you know all the companies, around probably be looking for another gig soon enough. [00:00:53] Leo Dion (Host): Yeah. If you are interested in architecture, definitely check Alex's podcast out like your specialty really is in helping iOS developers get jobs and specifically the interview process, correct. [00:01:11] Alex Bush (Guest): Yes, that's sort of been my aim my focus lately last couple of years. Yeah, I wrote a book as you mentioned on the topic helping iOS developers get jobs right prep for interviews. [00:01:26] Leo Dion (Host): Okay. So if you're like a company hiring iOS developers, what are some things that make interviewing a potential iOS Developer different from - I guess the biggest thing is web developers, right? So what makes it different from hiring your standard web developer. [00:01:45] Alex Bush (Guest): That's a good question and it's sort of how the whole book thing and helping iOS devs interview started. I was at the time at a different consultancy helping them hire people for their iOS project. And as I was interviewing sort of same things will come up and I would kind of jot some notes take some notes on what to ask what to remember you get to ask and probe as I interview people and in general sort of when you interview, let's say a web developer or just a software developer right you go for a broader software topics, right?[00:02:30] Roughly speaking algorithms and then design patterns and architectures, right but overall for software not specific for iOS and I think that's what's different when you're interviewing and hiring iOS people. The one thing is to in the sort of web world and specifically backend world in my opinion.[00:02:52] You can hire a generalist and they can adapt. Quick enough I guess but in the iOS world it's very crucial to for for developers to really know very well the the frameworks that they work with and I think that's the main biggest difference when you're interviewing iOS people to sort of aim at that and assess their knowledge not just overall software development knowledge, but specifically iOS development.[00:03:23] Leo Dion (Host): But I guess like you like it comes to mind because it drives almost everything maybe we'll particulars about UI kit are you thinking people should really know about [00:03:34] Alex Bush (Guest): it also depends right? Like if you're hiring for just I guess you don't have a heavy UI animation or performance concerns for your project or your app.[00:03:46] Then you don't really need a specialist. Who knows. Low-level details some of that right but sometimes for example social networking apps or apps that have social networking aspect of some kind they struggle with scrolling performance. Right? Let's say you have a some sort of a Instagram like feed with pictures infinitives feed that you can scroll and it's dynamically size, right if that's a crucial part of your app.[00:04:14] It's important to make the performance but
Ep 11External Developers with Jaim Zuber
Previous EpisodeEpisode 6 - Project Estimation Guest: Jaim Zuber of Sharp Five Software Sharp Five SoftwareJaim Zuber BlogMarch 25 Apple EventNot following Apple Events Cable CuttersNew MacsWhat does that mean working with external developers?Types of DevelopersEmployees vs. ConsultantsMobile Developer vs. iOS DeveloperTypes of ConsultantsWhat is the best way to know you have a good developer?How about “cheaper” developers?What are other gotchas with developers?Follow Jaim at jaimzuber.com Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 10Business and IT Applications
Previous EpisodesEpisode 9 - iPad Apps for Businesses and ProsReddit Threadsr/macsysadminr/osxr/appleDatabase Collaboration ToolAirtable FileMaker NinoxManaging DevicesJAMF - Manage Multiple Mac, iPads, and iPhonesMore Details Managing Software and DiskDaisyDisk - Manage and Visualize Disk SpaceHomebrew - Command Line Application Package InstallerCreative AppsAdobe Creative Cloud - Includes Photoshop, Illustration, Audition, Premier and more...Ulysses - Distraction Free Writing AppFiLMiC Pro - Professional Video Recording AppFiLMiC Remote - Companion App for FiLMiC ProMarketing Apps Buffer - Manage Social Media QueuesFacebook Page - Manage Your Facebook PageGoogle Analytics - Visual Your Analytics from your PhoneWordpress - Post to and Edit Your WebsiteMailChimp - Manage your Email List and CampaignsZoom - Conference Calling AppCommunication and Todo AppsFullContact - Manage Multiple Different Address BooksSlack - Chat ApplicationDoodle - Setup Polls, especially for MeetingsTodoist - Todo app, pro version includes sharing of tasksFinances AppsQuickbooks - Business AccountingGenius Scan - Scan Documents From Your PhoneReceipt Bank - Scan Receipts and Hook up to your QuickbooksExpensify - Scan Expense Receipts and Hook up to your QuickbooksWave - Business AccountingPaypal - Transfer MoneyMusic by Bimbotronic from Fugue Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 9iPad Apps for Businesses and Pros
Apple March EventApple makes moves towards services (Previous Episode - Apple in 2019)Apple March 2019 Special Event PreviewNew Non-Pro iPads and iPad Minis coming outHistory of the iPad Is the iPad Still Transitioning Similar to SmartPhones and Notebook Computers did? Leo's iPad JourneyWhat makes iPad and iOS work well What’s the difference between Professional and Business Apps?Limitations of the iPad Hardware Limitations Battery Life Connectors External Drive SupportFiles ManagementUI IssuesTouch vs Keyboard and MouseFaceID and TouchIDManaging Apps and Split ScreenResponsive Web SitesApp Store Monetization AdsFlat priceIn-App PurchasesSubscriptionsWhere is Group Licensing?Enterprise Licenses How Enterprise Licensing Works (Apple Support Page)What is Enterprise Licensing ForHow did Facebook abuse Enterprise Licensing? (Recode Article) Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 8Cloud and Backend Services For Apps with Erik Gillespie
Previous EpisodesEpisode 7 - Apple 2019Episode 6 - Project Estimation EpisodeDefine Whether You Do Need Cloud or Backend ServicesYou Do Not Need If…Privacy-Sensitive DataNo Cloud Backups NeededAlready Storing Using a Third Party APIsExample App Developed by BrightDigit - CE GeniusYou Do Need If..Multiple Devices In Sync Cloud Backups NessecaryExample App Developed by Shiny Frog - BearWhat To Consider When Deciding How To Store Data?MVP vs EnterpriseWhat is an MVP? Most Viable ProductStart With the User - Project Estimation EpisodeWhat Devices Does the App Support?How Complex is the Data and Queries?Are Outside Jobs Needed? Such as Cron Jobs, Backups, Push Notifications, etc…Consider Prices - Bandwidth and StorageConsider Developer Team’s Comfort LevelDevelop Abstracting User Experience From Data LayerBuild a Custom Web AppVirtual Machine OptionsAmazon EC2LinodeDigital OceanWeb App OptionsKubernetesDockerHerokuDatabase OptionsMySQLMariaDBPostgreSQLMongoDBRedisProgramming OptionsPHPNode.jsC#and ASP.NET Web APIsRubyElixirSwift OptionsVapor - ReviewKituraPerfectServer Software OptionsIISNginxApacheOther Software ConsiderationsCloudflareNew RelicSupervisorMobile Backend As A ServiceParseCloudKitFirebaseUsing Multiple Services REST API vs GraphQLMusic by Roman Bulakhov from FugueFull Transcript[00:00:00] Erik Gillespie (Host): Hi Leo, it's me. Again. [00:00:01] Leo Dion (Host): Hey, Eric. Glad to have you on to help host this episode. So today we're going to talk about back-end and cloud services for your IOS app. And I think first we should talk about when you should need a back-end or cloud service because I don't think it's needed in every absolute case when it comes to an IOS app or any mobile app.[00:00:25] Erik Gillespie (Host): Yeah, I'm really curious to hear what your ideas are on this. [00:00:27] Leo Dion (Host): So one thing to consider is there's a lot you can get away with without even doing cloud services. The thing with an IOS app is if you're storing your data in something that is like iCloud or in a lot of cases people really don't need the cloud to store their data. They can just sort on their phone itself. I think often times when we think about building an app that's something to think about is like do you really need this stored in the cloud and if you maybe can provide a manual mechanism to backup the data into some sort of iCloud storage as a file that saves a lot of trouble and saves you a lot of time and money quite frankly when you're building your mobile app. And then that way you don't really need a cloud service or a back-end service in a lot of cases. [00:01:15] Erik Gillespie (Host): What are some situations where you think it's okay to go with a back-end service or on the flip side choose to only or mostly store things directly on your users phones. [00:01:27] Leo Dion (Host): I think anything that's privacy sensitive. I think you should definitely just store on the phone locally because that's a whole other headache you having to deal with if you're worried about that stuff being stored in the cloud and if it's very simple stuff if it's things that they just need on their phone and if they lose it, it's not the end of the world I think it's totally legitimate to only store that stuff on the phone. Also, if you're using any third party apis in other words. Like let's say you're using Twitter or YouTube or some other API where you're not really storing data. Data that's being stored is essentially being stored in this third party structure than it's not really necessary because you can just use that third party API as your database in many ways.[00:02:06] I'll just tell you one case I built an app for nurses and doctors to do continuing education for their career and all that data was just stored in core data, which is essentially a SQL lite database abstraction layer. And so all that stuff was sort of essentially in SQL and it was all sort of locally and there was just a simple option. They don't have the budget for it. They didn't have the timeline for it either. So the simple way we did it is we just have a manual backup process that you can run and it essentially creates a zip file of this data stored as a Json or JavaScript object notation file. And so if they wanted to back up they can just sort it in iCloud and if they ever wanted to restore it they can always restore it back on their iPhone. Where I think a back-end service and a cloud service is really helpful is if you're going to have it available on multiple devices .So for instance I'm a big user of Bear, which is an awesome note taking app that's available on all Apple devices and they use kind of combination iCloud and CloudKit they store their stuff in the back end and then that way if I pull up my notes on a Mac or on my iPad or my iPhone. I always have it accessible because it's all stored in the cloud. I think that's where something like a back-end service is really useful. [00:03:19] Erik Gillespie (Host): Like w
Ep 7Apple 2019
Previous Episodes iPhone XrLow-Cost MacsSlowing iPhone SalesChinaSamsung 4th Quarter GuidanceApple’s Precarious and Pivotal 2019 - M.G. SieglerApple Revises Guidance - Accidental Tech PodcastApple's China Problem - StrecheryDecrease in Computer Sales4 Charts That Explain The Decline in PC SmartPhones Plateau / MatureSmartphone Sales Are SlowingApple's Battery ProgramGrowth in ServicesApple's Servies Segment Continues to GrowApple and BusinessHow does Apple balance quality and price in the PC Market?How will Apple tailor their growing services segment for businesses? Apple and DevelopersWill Apple encourage more services in the cloud?Amazon Web ServicesAWS Lambda (Server-Less)Google Cloud PlatformMicrosoft AzureApple CloudKitWill Apple encourage more services for developers?MacStadiumWill Apple offer some sort server-side services?VaporPerfectKitura Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 6Project Estimation
Speculid TalkDevelopment AlternativesIonicReact NativeXamarianCordovaNativeScriptContinuous Integration for iOS OptionsMacStadiumTravis-CIJenkins MacinCloudXcode ServerCircleCIHockeyAppComplete Transcription[00:00:00] Theresa Jasko (Host): I feel like last time we had our podcast you've maybe done a few speaking engagements. [00:00:06] Leo Dion (Host): I spoke at ArborMoon at the Ann Arbor Cocoaheads group about Try! Swift which is the conference, I went to Labor Day week. And then I also talked about Speculid which is a Mac App for developers that I've been working on for building graphics for apps. I just talked about how it works and kind of the guts of the challenges I faced building the app. [00:00:31] Theresa Jasko (Host): Nice, So what is IOS development? [00:00:34] Leo Dion (Host): IOS, of course, is the operating system for iPads and iPhones. So typically it's the process of coding, designing, testing, and packaging an app and delivering it in whatever way a customer would want.[00:00:52] Theresa Jasko (Host): Yeah, so if someone's looking into doing that what kind of factors go into getting a quote for that kind of service.[00:00:59] Leo Dion (Host): So really it depends on the features and kind of the timeline of the app. So faster timeline is going to mean a higher quote then integrating any sort of third party services. So if you're integrating something like Facebook or integrating any sort of special controls or sensors on the iPhone like motion controls then that's going to up your quote. And then the complexity of the data that's being used, especially if it's data that's going to be stored locally or remotely - there's going to be some complexity there and that will take take more time. [00:01:40] Because that's essentially what we're talking about is quality and time the more you pay the more time it will take and the more higher quality will also mean a higher quote for those Services because that quality also takes time of course. So offline capabilities - not a lot of apps necessarily need that but a lot of apps want to have the ability to just having online and offline capabilities so syncing and things like that. Any sort of UI complexity and any UX complexity, chat, the amount or number of screens is a good indicator of how complex an app is going to be and how much the price is going to be. [00:02:26] And then this is much more an issue on Android but as far as iOS is concerned, It's what operating system versions you support. What devices you support. So is this just an iPad app is it just an iPhone app is a support iOS 12, iOS 11 how far down the chain are you going and that usually factors into the price of the quote for developing an app.[00:02:53] And also another thing to mention is in many cases we're thinking a green app, but starting an app from scratch that has its challenges but also picking up an app that's already been developed on has its challenges as well. So that's something to that will weigh into the quote of developing an IOS app.[00:03:17] Theresa Jasko (Host): Yeah, so when you talk about like those factors just now is there like a common app that you could use it as an example of like kind of illustrating some of that stuff? Is there maybe like a weather app or something like when you talk about like UI ux complexity and things like that? I'm having a hard time envisioning what that means in real life.[00:03:38] Leo Dion (Host): Sure. So the way I think about it is a lot of times customers depending on how much they want to do when it comes to getting requirements for an app have a pretty good idea of what screens they want. And so I usually get into the process of asking them - Okay, what does this app do? What are you trying to do? What is your end goal and then figure out - okay, we'll need a screen for this and a screen for that and then the screen will go to that. Then I'll start thinking about like different edge cases because we always have to think like what happens in this case what happens in that case. What I do is in spreadsheet will write out the different screens that an app will need in order for it to essentially work. [00:04:26] For instance, we developed a nurse training app and that uses about four different tabs and probably each of those have different dialogues for adding credits for a nurse. And so we'll have say 12 screens in that app. Just kind of roughly and so that I look at the complexity how much data is being entered is it like one field, 2 fields, 3 Fields? How complex is that data? Is that data dependent on certain variables? Is there a certain range of acceptable values and then that factors into some of the UX that's involved or the user experience because I want to make sure that the user is walked through the app. Easily and knows what they need to do and it's intuitive.[00:05:17] So I kind of rough guess how many hours that's going to be for each screen. We also talked about for instance with a brand new app, there's some
Ep 5Apple Watch Series 4
I'm an Emergency Physician and wanted to talk about Apple Watch's new ECGWatch Faces Infographic and Infographic ModularPrevious EpisodesEpisode 3 : Low-Cost Macs - MacBook Air & Mac MiniEpisode 4 : iPhone Xs vs iPhone Xs Max vs iPhone XrApple Developer VideosDesigning for Apple Watch Series 4Developing Complications for Apple Watch Series 4Using SubscriptionsDesigning for Subscription Success Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 4iPhone Xs vs iPhone Xs Max vs iPhone Xr
Episode 3 - Low-Cost MacsInterview with Kevin Scott on Machine LearningStratechery - The iPhone FranchiseSwift Thoughts on try!Swift NYC 2018Building Apps for iPhone XS, iPhone XS Max, and iPhone XR Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 3Low-Cost Macs - MacBook Air & Mac Mini
Apple September Event 2015 Daring Fireball - Let’s Really Think About This ‘New Low-Cost Laptop to Succeed MacBook Air’ ThingReddit Threads/r/Apple - Dear Mac Mini Owners... (Three Questions)/r/MacOS - Dear Mac Mini Owners... (Three Questions) /r/iOSProgramming - Dear Developers with a Mac Mini... (Two Questions)/r/Swift - Dear Developers with a Mac Mini... (Two Questions)PlexMacRumors Buyers Guide Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 2September 12th Apple Event - iPhone and Apple Watch 2018
Tom's Guide - Apple Will Launch New iPhones at Big Sept. 12 EventiMore - iPhone Xs (2018) rumors: Release date, specs, price, and features!Gizmodo - Apple’s Next Smartphones and Watch Allegedly Revealed in New LeakAccidental Tech Podcast #289 - How does the budget "iPhone 9" fit?MKBHD - The 2019 iPhone Models!Light L16 CameraMKBHD - Top 5 Smartphone Cameras: The Blind Test! [2018]Original Apple Watch Event - March 2015 Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★
Ep 1WWDC 2018 - What Does It Mean For Businesses?
In this episode, we talk about WWDC 2018 and what it means for the technology industry and businesses. It seemed like a fairly quiet conference for Apple but maybe that's a good thing. Is Apple cleaning house?Will iOS 12 work on your current iPhone or iPad?Why should old people in business and tech like us care about Memoji? (Hint: AR and ML)When is a good time to install the new OSes?What is new with the Mac App Store?What are the new features in macOS Mojave?How is development changing for macOS Mojave in 2019?LinksPokemon Go Memoji WordLensIkea Place Thanks to our monthly supporters Swapnil S Steven Lipton ★ Support this podcast on Patreon ★