
Sign up to save your podcasts
Or


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 does believe, however, that recent rejections aren’t completely unsurprising, as Apple’s behaviour on this matter appear, to him at least, to follow some form of pattern.
Moving along very quickly, Jelly asks the other two what development they did over their breaks. Ben details a side project he did as part of a Christmas gift for his wife, Jake explains how he learned a little about functional, and then Jelly explains that rather than working on GIFwrapped, he did some “comfort” coding in PHP.
This leads them to discuss the low-reward jobs, like refactoring, that they sometimes do during downtime. Ben notes that Jake’s code is usually pretty good, and is commented, which takes them off down a path of discussing comments in code: when it’s good, when it’s bad and what the past practice for commenting your code might be.
Getting back on track, Jelly talks about his approach to implementing low level things as a method of learning how they work. He explains how he goes about it, detailing his experience backwards-engineering NSScanner in PHP.
As usual, Jake then spins the topic off onto Swift, explaining the inability to call UIAppearance’s appearanceWhenContainedIn: method in Swift. This leads to talking about Swift’s viability as a future-proof language, which in turn leads to discussing Swift as a server-side language.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 to build them for GIFwrapped.
When the discussion turns to Jake’s extension homework, he reveals that he’s more interested in debating the recent slew of extension-related rejections, or rather, pointing out something that he believes the internet has wrong. This kicks off a heated argument between he and Jelly, who believes that the issue has a much larger scope than what Jake is arguing.
Eventually, Jake manages to get his point of view across, despite Jelly’s best efforts to restrain him, and the two try to turn the conversation to a more positive note, discussing the best way to deal with app rejection and how to approach the situation in your own apps, and whether this fight makes the platform better or worse.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 how arrays work, for that matter.
Jelly brings up the topic of Watchkit, which has been out for a few weeks now. Even though none of the three have actually done anything with the framework, they decide to weigh in with their first impressions. This inevitably becomes a discussion about the potential of WatchKit, and how the iPhone’s ecosystem was moved forward by “misuse” of API features.
Ben asks Jelly, as a hold-out on Storyboards, what he thinks about the fact that Watchkit apps are storyboard only. This, of course, leads Jake to get all excited and start explaining how he implemented IB_DESIGNABLE with a class and has fallen in love with it.
Taking all of this back to Watchkit, Jelly points out that the “storyboards only” approach — which he’s totally cool with, by the way — might be suggestive of where Apple is trying to go with app development overall.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 leads to an exploration of what the real problem is with the scenario: the message that users get to remind them about the monitoring of locations in the background that is presented without context, and even if the beacons haven’t triggered the app.
Moving on to Swift, Jake weighs in on his thoughts about Swift and whether it is, in fact falling out of favour. With that in mind, he decides to share some things that he’s picked up in the past few weeks that might help others: how to concisely unwrap multiple optionals simultaneously, mutating arrays, dealing with implicitly returning single line closures, and detecting when collection view cells have been reused.
Finally, the couch talks about Microsoft’s recent move to open-source .Net on Github, and what effect that could have on the Apple development community. Jake spends a lot of of the discussion dreaming about what it would be like if Apple open-sourced some of its core libraries, giving Jelly’s cynicism a good solid workout.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 context is for asking users for permission to access features. This leads to a discussion of onboarding and whether it’s good or bad. The couch then discusses an app that Jake is working on currently, and how he might solve his issues with permissions and onboarding.
At this point, Jake turns the conversation a little by asking Craig what his point of view is on work hours. This spurs discussion about work ethic, what it means to work too hard, and eventually health. Jake and Jelly talk about how they’ve been trying to improve their health by walking more, and how to motivate yourself to do it.
The idea of motivating users prompts a conversation about gameification and what that means. Jelly explains his opinion that gameification has a bad rap because we’ve taken the wrong lessons from games, and ends up going back to onboarding, using the first level of Super Mario as an example.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 differences between the Objective C and Swift versions. Jake follows up on his previous follow up regarding gender diversity in tech by mentioning a Planet Money episode that discusses the history of the topic. This prompts much awkwardness, and then discussion of said awkwardness. Finally, Jelly follows up on the topic of today extensions, and how they communicate with their parent app.
Returning to the topic of supporting older iOS versions, the couch talks about what versions it’s worth supporting with releases and what the 6% of users that aren’t using iOS 7 actually means. Jake mentions that it feels like this change to iOS 8 feels a lot harder to support alongside older version because of the sheer number of new features.
Almost two-thirds of the way through the episode, Jake finally gets to ask Jane a few questions about her work, and what the differences between her current role at the Commonwealth Bank and her previous role at a digital advertising agency in Sydney are like. Jake also asks whether Jane’s team is looking at Swift at this point, and though they aren’t really, this prompts a discussion about IBDesignables with Interface Builder, which Jane has been exploring.
Finally, Jake looks for a solution to a tableview that feels too cramped on the larger iPhone 6 plus, and Jelly tries to talk him out of detecting the device model with two lines of CGRect-based code. But will he listen? Tune in next time to find out!
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 around too much. Plus, dealing with landscape orientation on various devices and thinking about all the different size, and shape, screens.
iOS8 shipped alongside a plethora of third-party keyboards and a new layout on the iPhone 6 plus landscape keyboard, and the couch spends some time discussing the downsides and decisions made about those keyboards; the first-load experience, additional buttons and the installation experience. Ben also talks about the limitations when creating extensions and how to pass data back and forth between your extension and your app.
The new API for checking your version number in iOS8 doesn’t actually work for version prior to iOS8, and this prompts a discussion of versioning and migrations, how it works, and the best way to implement them in your app, from clearing caches between versions to migrating Core Data stores from one version to another.
Ben talks about image feature detection, such as face and blink detection, in Core Image, and how to crop an image to show a person’s face, which is really easy and impresses Jake quite a bit. Jake then talks about taking that image and caching it with HanekeSwift, a generic, Swift implementation of the Haneke image cache.
Finally, Jelly brings up his attempts to autorotate based on possible size classes, to only allow landscape mode on devices which use a regular size class in that orientation, and Jake pulls a solution out of one of the WWDC sessions from earlier this year.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 and why Apple (or any tech company, really) would want to this.
Finally, Jake manages to actually talk about something development related, using the current discussion surrounding the Apple Watch and it’s price factor to discuss emotional design, and how the emotions evoked by the design of your app affects it’s utility.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 solution used to layout the collection view in GIFwrapped.
The most frustrating thing, however, is Apple’s solution to declaring support for the larger devices: detecting the presence of correctly sized launch images (of which there are now 20), or the use of a launch screen xib. The couch discusses the purpose of these and whether the issues they’ve seen with getting apps working across all devices.
Discussion then turns to the Apple Watch, and how this could be the launching point for a morse code resurgence. Jelly then turns the discussion to development, and with very little to go on, suggest the possibility that Apple Watch “apps” might end up as little more than extensions of apps on your iPhone.
From there, discussion turns to the Taptic Engine and its future as a feedback mechanism. When combined with iBeacons and other methods of detecting the world around you, will the watch become a player in giving you the ability to interact with the world around you?
Just to top off the episode, Jelly discusses his image caching adventures, discussing the pros and cons of three third-party image caching libraries: SDWebImage, Haneke and Path’s Fast Image Cache.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
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 interjects towards the end of the episode to discuss beacons and using context to improve app functionality in apps and devices. Because it’s tradition.
We'd love it if you got in touch! We are @_mobilecouch on Twitter and you can even email us at [email protected], if you're so inclined!
From the publisher's feed