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

  • 58: A Lot of Clicking Around

    31/05/2015 Duration: 01h14min

    With Ben off attending Google I/O, Jake and Jelly talk art exhibitions, storyboards, Jelly’s struggle with sync, and prepping for WWDC. Jake kicks things off by talking a little about features he’s recently discovered in Storyboards, such as the ability to mark constraints and constants in storyboards as “installed”. He’s slightly ashamed, since he’s realise that these features have been around for a while now, but never the less, it just makes him love them more. To make him feel worse, Jelly tosses out a new feature Jake’s never heard of: the ability to provide image assets based on device and size class. He also agrees that storyboards are the logical choice for visual layout design (WHAT?); things like autolayout constraints make more sense in a visual format than in code. Jelly then spins the discussion off to talk about his issues with sync in GIFwrapped: a year and a half into working on the app, he’s still having issues. In response to an announcement from Dropbox that they’re moving to a new versi

  • 57: What Has Happened Before Will Happen Again

    17/05/2015 Duration: 46min

    With the videos from the final NSConference out to watch for free, the couch discuss some favourites, as well as conferences in general. Plus, a brief look at presenting alternate view controllers, such as onboarding screens and login dialogs. After a brief (and ridiculous) discussion about what WWDC might have in store this year, Ben reveals that he has a list of his favourite videos from NSConference 7, and the couch spends some time discussing each one for a few minutes. Somewhere in the middle, they get sidetracked by a discussion of conferences, both first and third party, and Jelly’s one lament, which is that there isn’t more opportunities for conferences in Australia, while so many happen in America or Europe. With NSConference covered, Jake poses a couple of questions for Ben and Jelly to answer: how do you handle showing an onboarding sequence on first load, and how can you do something similar with login screens, showing a login modal over another modal if the user isn’t logged in?

  • 56: Special Opportunity

    03/05/2015 Duration: 53min

    Jake has his watch in hand, so after going back over some unit testing follow-up, and with a single weekend’s experience, the couch looks at first impressions, the various delays that people are struggling with, and handling multiple asynchronous tasks with dispatch groups. Jelly segues seamlessly into follow-up, and talks about how he spent some time since the previous episode creating unit tests for one of his open source projects. He struggled a little with getting started, but feels like the endeavour was worthwhile (it found bugs!). He’s still wary about full test-driven development though. Pre-ordered watches have started arriving, including Jake’s, and so the couch discusses the pre-order experience, Apple’s offer of expedited orders to random developers, and the watch labs that were offered prior to the launch for on-device testing of Apps prior to day one release. This leads to both Jake and Jelly giving their first impressions, including the delay that they experienced with waiting for Jake’s gla

  • 55: Confessing Your Naivety

    19/04/2015 Duration: 01h57s

    Leading with follow-up, Jake touches on his experiences with developing a WatchKit after having talked to David, how he’s fetching the content for his glance, and how the Swings analogy made him rethink the way he was trying to lay out his views (and thus making his efforts more successful). After getting nostalgic about a listener-submitted Codewarrior mug, Jake talks a little about the various Steve Jobs biographies he’s read, before touching on some assert related feedback. This leads Ben to pose the question about whether you should leave asserts on, or remove them for release code. The couch discusses where people use asserts, and in what cases you might actually want to ship asserts rather than displaying an error. Moving on, Jake asks if Ben has any opinions on testing, and this leads into a discussion about unit testing, and what exactly a unit test should cover. From the conversation expands to cover various other kinds of testing, like integration testing, and UI testing with UI automation. As t

  • 54: I Don’t Really Know What I’m Doing

    05/04/2015 Duration: 01h11min

    Joining the couch this fortnight is Underscore, a.k.a. David Smith, host of Developing Perspective and independent developer extraordinaire. There’s so much to talk about, but the biggest topic is the Apple Watch, and specifically developing apps for it, which is something that David has some experience with. To kick things off, Jelly asks David what drew him into developing in the first place. This leads to talking about why he keeps a large catalogue of apps, and how he achieves sustainability through diversity, while also providing him with the ability to satiate his short attention span. Turning their attention to the Apple Watch, David explains why he’s focusing on developing for Apple’s new device, and how’s he’s managed to create apps he believes are compelling for a device he hasn’t yet been able to fully experience. The couch then start talking about the actual development process in a bit more detail, discussing things like what methods are called at different points within the app’s lifecycle,

  • 53: Too Much Syntax

    22/03/2015 Duration: 01h09min

    While Ben is at NSConference, Jake and Jelly compensate by talking about the new Macbook, Jake’s recent experience with converting a Swift 1.0 project to 1.2, and a couple of Haneke-related tricks they’ve learned recently. Jake wants the world to know about the one thing he managed to predict correctly for the Apple Event: the inclusion of hardware other than the Apple Watch. This leads to talking about the new Macbook as a development machine, despite the slower compile times as compared to a Macbook Pro. This starts to lead into a discussion about Swift 1.2, which apparently has far improved compile times than the previous version. First of all, however, Jake lays some groundwork by detailing some bugs he fixed in an update for the app he talked about on the last episode, including the parental section accessibility issue and the solution he devised. Jake then finally gets to the details of his migration of the app’s codebase to Swift 1.2, including the changes to the as operator, and the changes to @aut

  • 52: It’s a Dubbit

    08/03/2015 Duration: 01h11min

    Jelly’s had some wine, and a long day to boot, so after a failed first attempt at recording the episode, the couch talks developing for Android, goes into more detail about the value types discussion from the last episode, discusses the Blue and Black/White and Gold dress dilemma, and makes predictions for the “Spring Forward” event. In the past week, the Australian media have been shocked to discover that you can send iMessages to people if you know their email address, much to Jake’s annoyance. Meanwhile, Jelly takes no stock in the mainstream media’s ability to report accurately on technology issues, citing people’s tendency to blame technology for things that are actually user error. This leads to a quick discussion of how old devices are treated and Ben’s inability to keep one charged off of the cable. Ben then starts to give a bit of a primer for getting started with Android development, including which IDE to grab and how to get the emulator running. This is soon somewhat derailed as Jake begins to l

  • 51: You Can’t Copy Dogs

    22/02/2015 Duration: 51min

    Tonight! Ben uses a Word template, Jelly iterates a build number, and Jake watches half of a video. Hot off the heels of the release of his book about Cocos2D, Ben gives the couch a quick walk through what it’s like to write a book, from what tech is used, having your work edited and your code reviewed, and what it’s like to deal with a publisher. Jake then begins to review some of the Testflight follow-up, prompting Jelly to vent about his plentiful issues that Testflight has caused over the previous week or so, such as build that don’t install and crashes that occur on launch. Jake then actually manages to touch on some bits that weren’t covered in the previous episode, as well as a new feature that launched since then. Moving on, Jake brings up the new version of Swift, which has a bunch of bug fixes, improvements and new features, such as: less compiler crashes, single line unwrapping of multiple optionals and improvements to let. While he’s on a roll, Jake also talks about video presentations he’s wa

  • 50: In My Heart I’m Ready

    08/02/2015 Duration: 54min

    Jelly has wanted to talk about Testflight for a while, and he finally gets his chance, comparing Apple’s beta distribution tool with the previous methods, like Ad Hoc and Enterprise distribution. After dealing with some follow-up backend services, Jelly brings up the topic of Apple’s Testflight, it’s new beta distribution tool. The couch discuss the previous methods for sending out builds, which involved provisioning profiles, UDIDs, and endless nightmares about testers not receiving builds immediately after getting the initial email. Turning to Testflight’s limitations, the trio go through some of the larger issues that it has, mostly looking at it’s iOS 8 requirement and the need to go through review before distribution, as well as the limitations of iTunes Connect accounts, which are a requirement for internal testers.

  • 49: That Language is Evil

    25/01/2015 Duration: 01h17min

    Russell Ivanovic (@rustyshelf) joins the couch to discuss back-end services for mobile apps, the differences between software-as-a-service and building your own web service, and go into why you might choose one over the other. After several side tracks, including trying to figure out who has the higher Crossy Road score, and a whole bunch of French, Jake kicks things off by asking why you might want to integrate web services to begin with. Since everyone pretty much agrees on the answer (and that iCloud does not a good back-end make), they move onto discussing some of the services out there, like Parse and Azure, that allow you to create something with some amount of transparency. Jelly feels left out, and begins to explain that his method of choice is to build a service from scratch, usually in (the abhorrently evil) PHP, and Russell chimes in to explain how the web services for Pocket Casts and Pocket Weather are built from scratch in Java and Ruby on Rails. Jake doesn’t feel like this is an option for h

  • 48: Reinventing the Wheel

    11/01/2015 Duration: 01h04min

    The couch is back from holidays, so they take the opportunity to talk about things that they worked on over the short break, and what they like to do during downtime to keep themselves sharp. Having received some feedback about extensions from the previous episode, Jelly details how Target Membership can help developers build extensions into their apps while supporting iOS7. He explains how this works, and why it might not be such a great idea. Jake then touches on his recent experiences with Android’s “support libraries”, which allow developers to support new APIs on older systems. This leads to discussing methods of supporting older versions of iOS, which doesn’t have this ability, and Jelly explains how he prefers feature detection over system version detection. Jake also follows up on his argument about Today extensions, citing Drafts reinstatement as partial proof that he is correct. Jelly can’t handle someone else being right, so he asks Jake to explain Pcalc’s reinstatement, which Jake can’t do. He

  • 47: Trepidation at Jumping Into Anything New

    21/12/2014 Duration: 01h09min

    The couch answer a question about where they go to learn about new things, Jelly discusses his experiences so far with implementing extensions and Jake gets frustrated by the recent discussion of app rejections. Starting with follow-up about GitHub’s Swift style guide, Jake discusses what he likes and doesn’t like about it, like the preference of structs over classes. He also takes the opportunity to mention a blog post about comparing Swift and Objective-C. Jelly mentions that he’s still using Objective-C, and this leads to a short discussion between he and Jake about their respective approaches to Swift: Jelly being a bit wary of it, and Jake being very gung ho. The couch then decide to answer a question about where they get their information, and they go on to list some of the sources they use for information, including podcasts, blogs and Cocoaheads. With follow-up out of the way, Jelly brings up the topic of iOS8’s extensions and discusses the problems and decisions he’s come across so far in trying

  • 46: Flipping the Boolean

    08/12/2014 Duration: 53min

    Jelly’s done his homework, so the couch explores his solution to getting a scrollview to page with peeking content. They also weigh in on Watchkit, discussing the way it works and what the future implications might be. Like all the cool shows, this one starts with the intro, or at least it tries, as Jake leads everyone off track into discussion of podcasts (specifically Chat 10 Looks 3, Serial and Start Up), as well as their style and sound quality. Finally getting themselves into gear, Jelly starts the discussion with the results of the bet about getting a scrollview to “page” with content that peeks on either side of the frame. Jake explains the problem he had, and then Jelly explains how he tackled the issue, as well as what he did with his results. More follow-up about Swift brings discussion of a listener-submitted Swift style guide, and the oddities about the optional language syntax. This leads to Jake admitting that maybe he’s still not clear about a few things, like how type inference works… or h

  • 45: Cynical About a Lot of Things

    24/11/2014 Duration: 58min

    Ben rejoins the couch from London, and Jake discusses his beacon woes, some tips and tricks he’s picked up while developing with Swift, and the recent open-sourcing of .Net frameworks by Microsoft. Following up on the discussion from the last episode, the couch talks about a possible alternative for finding things near you without requiring location services: requesting postcodes, or using a geocoding service to search for locations. At the mention of London, Ben chimes in to talk about his experience trying to attend NSLondon. Jake and Jelly fill him in on the surprisingly official Cocoaheads that Jake presented at. This brings up a bet that they’ve made about whether it’s possible to have a paged collection view that shows peeks of the previous and next page. Jake believes it’s not possible without hacks, and Jelly thinks he can find a way. Getting back on topic, Jake expresses his frustration that the proposed idea doesn’t really solve his dilemma with ranging for beacons in the background, and this lea

  • 44: Swings and Roundabouts

    10/11/2014 Duration: 01h19s

    Craig Stanford, co-founder of Clipp, joins the couch to talk about start ups, onboarding and the little men who run the internet. Following up on his attempts to space out his table view cells, Jake explains how he solved his problem and why he wanted to space out his cells in the first place: a header view that contains branding and collapses when scrolled. This prompts concern from Craig, and Jake ends up defending his position. Before Jake can launch into asking questions, Jelly suggests actually introducing their guest, and gets Craig to explain what Clipp is, what it’s like in the world of start ups, as well as a bit of the story about how Clipp got started. When Craig starts talking about how excited beacons get him, and how he’d love to find a good way to use them in Clipp, Jake takes the opportunity to complain about the permissions dialogs iOS presents, which he feels give the wrong impression to users. Jelly uses this to steer the conversation away from beacons, and to discuss what the best cont

  • 43: I Made That Button, Mum

    27/10/2014 Duration: 01h04min

    Jane Abernethy — part of the iOS development team at the Commonwealth Bank in Sydney — joins the couch to fill in for the globetrotting Ben, and to talk about her work, her team and IBDesignables. Also, follow up. Lots and lots of follow up. After attempting to convince Jake to use 1Password, Jelly talks about his internet troubles, and Jake follows up on his endeavours to get VDSL installed as mentioned in last week’s episode. Jane introduces herself and talks a little about how she got started as an iOS developer, which leads into a discussion of why each of the couch got into development in the first place, and what made the iPhone such an exciting device to make apps for. Jane talks about how it feels great that her mum uses the app she works on, but it’s frustrating that she hasn’t updated from iOS 6 yet, and the whole couch joins together in a chorus of sorrow about supporting older iOS versions. Delving into follow up, Jelly attempts to finalise the pronunciation of Haneke, and communicates the diff

  • 42: It’ll Be Great… Next Year

    13/10/2014 Duration: 01h24min

    Jelly is working on a big update for GIFwrapped, which prompts discussion with Ben and Jake about getting validation from shipping something cool, designing for single handed use, iOS8 extensions and rotation based on size classes. Jake retouches on the topic of diversity and gender equality in tech, mentioning the recently funded CODE documentary, and Annabel Crabb’s new book, The Wife Drought, which looks at both sides of the issues regarding flexible workplaces. Jelly talks about his recent experiences working on the next major GIFwrapped update, and how you need some form of validation to stay positive about a project, whether it be from implementing a cool little feature, having people see your well structured code, or from seeing a drop in crashes in the shipped product. The couch then talks about designing for multiple screen sizes, like using larger phones with one hand, and how app designers and developers can add little touches to allow users to perform tasks without having to move the phone arou

  • 41: The Pinnacle of Adulthood

    29/09/2014 Duration: 01h06min

    Jake deliberates on purchasing an unwanted iPhone 6 plus from a friend, while Ben talks about his first impressions and the bugs in the recently released iOS8, and Jelly gets shirty about the whole watch thing. An off-the-cuff comment from Jelly spurs a conversation about devices like the Microsoft Surface and a theoretical iPad Pro. This somehow devolves into a trip down memory lane, with Jake talking about his Psion handheld computer, and Jelly recounting his love for Snake on the Nokia 3310. A terrible first impression with the iPhone 6 has convinced Ben to try out an Android phone for a year. This leads to a discussion about the inherent bugginess of iOS8, especially on the new devices, and whether Apple has bitten off more than they could chew with this year’s releases. The couch then talks about the lock-in effect of being immersed within one company’s ecosystem, and whether that’s a deliberate move. Jake’s attempts to get Family Sharing set up spurs discussion about verifying people’s age and how an

  • 40: Tapping on Their Wrists in Morse Code

    15/09/2014 Duration: 01h24min

    Ben is back, and the couch dives into the September Apple event to try and determine what the future of development is going to be like with bigger screens, extensions that live on your wrist and the idea of connected devices. Apple Pay is being rolled out in America first, but when can Australia expect to see it? More importantly, what sort of impact will it have, given that Google Wallet, it’s closest competitor, completely fizzled? The iPhone now has much larger screen sizes, with the iPhone 6 coming in a 4.7” and 5.5” models, meaning that app creators will be forced to rethink the location of buttons and use of gestures. This also means that layout related calculations will have different implications, with the 5.5” model using different size classes to the iPhones that have come before it. When discussion turns to the downsampling performed by the iPhone 6 plus, Jake takes the opportunity to bring up Auto Layout, and how to create proportional width constraints. Jelly counters with his own math based

  • 39: Lines That I Can Paint Within

    01/09/2014 Duration: 01h22min

    Jelly tries his hand at hardware mods, Jake buys a yellow Nokia to try out development for Windows Phone, and Ben gets married. Jake’s Windows Phone experience leads to a discussion about the differences between Apple and Microsoft’s approach with their development environments, which begs the question about what Apple’s plans regarding Objective-C vs. Swift are, leading Jake to confess that he’s concerned Swift might end up as a modern version of Cocoa Java. Following up on the episode with Basil Shkara, they then discuss how one defines success as an “indie” developer, and whether pitching apps to potential clients is one method of finding success. Now that the outcomes of Google and Apple’s diversity reports are known, and it turns out that everyone is pretty much as bad as each other, Jelly turns the discussion of diversity to solving the lack of diversity in the tech industry. How do we, as businesses and individuals, encourage people of different backgrounds to become developers? Finally, Jake inter

page 3 from 5