Mobile Couch

Informações:

Synopsis

Design, development and business, these guys do it all. Ben and Jelly are two iOS developers who work on everything from games to client projects, and get together every fortnight to talk about techniques and best practices for creating stunning mobile applications.

Episodes

  • 78: I Should’ve Just Gone to GitHub

    06/03/2016 Duration: 43min

    Giovanni Lodi (@mokagio) joins the couch to teach Ben and Jelly about the automation of tasks, and especially about the automation of the build and deploy process for iOS apps. Together, they look at the various Fastlane tools and what they each do, why you would automate these parts of your process, and how to recognise when something should be automated.

  • 77: The Green Ladybug

    21/02/2016 Duration: 01h01min

    Jelly’s been using JetBrain’s AppCode to get some work done in the last few weeks, and he and Ben go over the overall experience. Together, they discuss some of AppCode’s best features: inspections, the incredible level of customisation it provides, and best of all, Swift refactoring. It wasn’t all happy though, and Jelly also spends some time unloading on Ben about the issues he faced, how he dealt with it, and what JetBrain’s support is like.

  • 76: For That Cinematic Experience

    07/02/2016 Duration: 01h03min

    This past week, Ben attended the Apple TV Tech Talks in Sydney. Meanwhile, Jelly didn’t get the opportunity, so Ben covers of a lot of the major points he learned on the day, covering concepts like the “Focus Engine”, and discussing talks like the one given by the App Store Review team (a.k.a. the best talk ever). It turns out there’s a whole lot of stuff that can be easily missed when creating apps for tvOS, and if you missed the tech talks, you’ll want to listen to the end!

  • 75: Now I’ve Got More Work to Do

    24/01/2016 Duration: 43min

    Ben’s been working on a side-project over his break, and wants to actually flesh it out into something complete and polished. There are a few things he’s not sure about, however, so he gets Jelly’s advice. Should you consider the monetisation of an app for version 1.0? How finished does an app need to be to be placed in the hands of testers? How do you get past the ever-growing list of bugs and get to the point where you can release?

  • 74: Thou Art Not a Real Programmer

    10/01/2016 Duration: 46min

    Russell Ivanovic jumps on the couch to chat about what makes code good or bad, and how the perception of code changes over the years. They look at how they’ve learned to approach both their own and other people’s code, helping others learn and grow their skills, and most importantly, whether code style is important or not.

  • 73: Somewhere in the Middle

    27/12/2015 Duration: 48min

    Ben and Jelly take a look back at the things they’ve learned over the past year with their approach to work as well as with the technical side of development. They reflect on what’s changed for them, and look forward to next year to consider things they’d like to approach and try in the future.

  • 72: Don’t Even Have a Response to That

    13/12/2015 Duration: 41min

    Christmas came early this year as Apple followed through on their promise to open-source the Swift language. Ben and Jelly take a look at all the things that have been included in this somewhat unprecedented release (it may even blow your mind) and look at what this might mean for the future, both for the platforms Swift now extends to, and for its predecessor, Objective-C.

  • 71: Customers… They Just Don’t Understand

    29/11/2015 Duration: 58min

    After talking about dealing with — supporting — clients, Jelly thinks it’s worth touching on supporting the users of your app. He and Ben talk about his experiences with GIFwrapped and get into why it’s important to be positive, how to improve your app to get in front of support requests, and why support can be part of your marketing strategy.

  • 70: Communication Makes it Happen

    15/11/2015 Duration: 59min

    If you deal with clients, you’ll discover that there’s a lot of ins and outs to working with them on a project. Ben and Jelly talk about how they deal with clients, from the refining the app idea, through scoping and quoting, to communication and running the project. Along the way, they cover finding the email sweet spot, dealing with clients who want everything, and coming up with your hourly or daily rate.

  • 69: I Don’t Even Have Coupling

    01/11/2015 Duration: 38min

    In response to a topic suggestion, Jelly draws on his recent experiences with GIFwrapped to discuss ways to ensure an app’s architecture is loosely-coupled, thereby making it easier to extend and maintain it’s functionality. He and Ben go into several important techniques that they use in the apps they write, and back each up with examples to show the benefits of approaching your code in these ways.

  • 68: We’ve Finally Made It

    18/10/2015 Duration: 42min

    A new version of iOS means new features, and this year brings a handful of big ones, slide over, split view, picture in picture and 3D Touch. Ben and Jelly takes a good long look at each of these new features, talk about how to go about implementing them, and investigate some of the things you’ll need to remember to create the best experience possible.

  • 67: The Opposite to Spaghetti Code

    04/10/2015 Duration: 40min

    For the past few weeks, Jelly has been refactoring the core components of his app, so he feels like he needs to talk it out with Ben. The two look at their experiences with refactoring code and talk about the best ways to approach it, what it’s place is within your regular workflow, and most importantly, how to know when you’re finished. Along the way, they explore the basics of extreme programming, the problems with building up technical debt, and the longevity of Swift and Objective-C. Keyboard Shortcuts: Command + Shift + J: Highlight current file in Project Navigator Command + Shift + /: Menu Search

  • 66: Sounds Like a B-Movie

    20/09/2015 Duration: 35min

    Ben and Jelly cover some tips and tricks they use to get through their work day, from basics like keyboard shortcuts to bash scripts for automating build numbers. Xcode Open Quickly: Command + Shift + O Fold/unfold Everything: Command + Option + Shift + Left/Right Search for Method: Control + 6 Open Quickly in Assistant: Option + Enter (from Open Quickly) Close Assistant: Command + Enter Close Left Sidebar: Command + 0 Close Right Sidebar: Command + Option + 0 Edit in Scope: Control + Command + E Show Variable Type (Swift): Option + Click AppCode/Android Studio Search for Action: Command + Shift + A

  • 65: The ’80s Always Comes Back

    06/09/2015 Duration: 48min

    After dealing with some follow-up about privacy policies, as well as mentioning a couple more methods for handling blocks within blocks, Ben introduces Jelly to the basics of functional programming. Together they walk through their approaches to the handling of a parsed JSON structure, as Ben explains several functions, such as filter, map, reduce and flatMap, as well as the underlying approach and how it can benefit your code.

  • 64: You Can Never Just Make a Choice

    23/08/2015 Duration: 39min

    Jelly has been implementing some more analytics in GIFwrapped over the last few weeks, so he and Ben take a look at the various aspects of tracking your user’s behaviours. Tracking your users has obvious privacy implications, and it’s not just Apple enforcing them. Australia’s privacy laws require that you don’t capture information that could reasonably identify someone. With that in mind, analytics are extremely useful for learning how people use your app, and using this knowledge to try and improve it. Jelly explains a little about what he’s been starting to track and why he thinks it’s useful. With the why and what out of the way, they begin talking about the how: discussing a handful of analytics services, including Apple’s Testflight, Answers, Google Analytics and Snowplow. The two examine the pros and cons of each service, discussing the core features and their experiences with each.

  • 63: Only Ever Accept Salmon

    09/08/2015 Duration: 39min

    Jelly and Ben start the show by covering some quick follow-up about CocoaPods and Carthage, which blurs the lines between their differences. This leads into a quick discussion about how CocoaPods is now being supported by a bunch of companies with libraries, such as Google, Twitter and Hockey. Ben then puts forward the problem of “blockception”, the effect that blocks within blocks have of excessively indenting your code, making it more difficult to read and harder to maintain. There are some native ways of dealing with the issue, but they’re still not ideal, so he has taken a look at some ways of solving the issue. The first of these is PromiseKit, a third-party library that wraps asynchronous calls in Cocoa with versions that use promises. This allows you to keep all your blocks at the same level of scope, which has the additional benefit of ensuring that each block only captures the variables that they actually need, making memory management a little easier. Another is ReactiveCocoa, a well-known implem

  • 62: Google Your Problem

    26/07/2015 Duration: 50min

    After touching on some Core Data follow-up, Jake proposes that the couch talk about Frameworks. Apple’s Cocoa includes a lot of things, and arguably more than most other first-party SDK, but there’s alway a need for additional frameworks to solve common issues. He starts by laying out a few different pieces of the framework puzzle, from how to discover them, how to actually get the code, and how to implement it in your own projects. One solution for managing these third-party dependencies is to use Git’s submodules. Jelly mentions that this is how he manages and maintains the external libraries he maintains alongside his code. Another is Cocoapods, which solves all three aspects of finding and using libraries, including finding of projects, and the actual integration with your Xcode project. Finally, the cool kid on the block right now is Carthage, which only deals with the building and preparation of the dependency tree, whereas discovery and the actual integration is dealt with by the developer.

  • 61: A Lower Priority

    12/07/2015 Duration: 40min

    Following-up from the last episode, Jelly tries to recover from his failed attempts to explain why he believes that opening up Radar isn’t the solution to all of Apple’s issues with bug reporting. This causes Jake to note that part of the problem with Radar is that Apple, as an organisation, seems to care a lot less than Google about reported bugs in general. That’s not to say that the engineers themselves don’t care, which becomes obvious when you do hear from them directly, whether in labs at WWDC or through avenues outside Radar, such as Twitter or Apple’s developer forum. Jelly’s about to release an new version of GIFwrapped, so he’s been thinking about things like deadlines and code freeze and how developers handle those things. So he asks Ben and Jake a few questions about how they approach an app release. Jake feels like the best approach is to develop iteratively, and aim for regular, short release cycles (like Facebook’s two week cycle). Jelly takes issue with that, explaining that as a single dev

  • 60: Automated Monkeys

    28/06/2015 Duration: 01h13min

    In the wake of WWDC, the couch discuss their favourite sessions and lab experiences, and some of the answers to the questions they had following the keynote. Ben and Jake start by sharing some of their highlights from the labs at WWDC. They both explain some of the issues they took to the engineers, and the responses they got in talking them talking over. This leads into a discussion about Radar, especially in contrast with Google’s more open bug reporting tool. Everyone agrees that there are giant holes in Apple’s tool, and Jelly’s actually convinced we might see something change next year. Jake mentions at this point that he’s excited about the current focus from Apple on education, even in things as small as being able to run apps on device without having to be a paid developer. Jelly is quick to point out that there’s a lot of evidence that Apple has being thinking about education for at least a couple of years now. From here, Jelly asks Ben and Jake to name their favourite sessions from the conferenc

  • 59: Final Battery Warning

    11/06/2015 Duration: 01h17min

    The WWDC 2015 keynote has come and gone, but Eddy Cue’s dance moves will forever haunt us. Jake and Ben call in from San Francisco to talk about developer-y things that got announced during the keynote and the Platforms State of the Union, while Jelly, who watched from his lounge room, fills in the gaps on some of the new APIs and kits. Starting with the keynote, the couch quickly cover the general feeling of the presentation, the highlight of which was the inclusion of two female VPs presenting things on stage. Not to mention the brief inclusion of an app that Ben wrote in one of the videos shown as part of the presentation. Moving into development stuff, Jelly breaks down the addition of Search APIs which use NSUserActivity, and content indexed from the internet, to create indexable content that appears in the home screen search. This builds on a new feature from last year, and along with “universal links”, allows for easier access to content within apps. Another new feature is App Thinning, which is ac

page 2 from 5