"ios" entries

Conquering iOS Core Data

Worth the Blood, Sweat, and Tears?

Joshua Smith (@kognate) is a Lead Mobile Developer at iRx Reminder, frequent Cocoa Conference speaker and author of an upcoming book with O’Reilly on core data. We recently sat down to talk about core data and its complexities.

  • What exactly is core data? [Discussed at the 0:18 mark.]
  • Which is right for your persistent data – Atomic, memory, or NSSQLite? [Discussed at the 2:15 mark.]
  • Core Data is hard to learn, not use. [Discussed at the 3:51 mark.]
  • Using templates like Helios or MagicalRecord can make things easier. [Discussed at the 6:04 mark.]
  • Concurrency within core data is all about the context. [Discussed at the 6:41 mark.]
  • What are the differences between how Android OS and iOS handle data structures? [Discussed at the 9:50 mark.]
  • You can view the entire interview in the following video:

    Read more…

    Upward Mobility: Should There Be Only One?

    Admittedly, the idea of Ballmer, Cook and Schmidt all battling it out Highlander-style is appealing...

    As long as most people can remember, the smartphone space has been a contested one. Before the iPhone became temporarily ubiquitous, RIM and Palm were fighting it out to own the market, and today you have a plethora of platforms to choose from, including Android, iOS, Windows, and Blackberry. And because many mobile OS vendors license their products to third-party manufacturers, some mobile operating systems have little market share wars of their own, such as HTC fighting it out with Samsung and Motorola for the Android customer base.

    I’ve talked before, in the context of languages, about the damage that the paradox of choice can bring to societies. Having more product choices may not make us any happier, or even lead to better products, but only create the vague uncertainty that whichever product choice we make, it wasn’t the correct one.

    For obvious reasons, a monopoly doesn’t usually work out that well either, at least in mature markets with stable standards. Very few will argue that Microsoft’s most innovative years occurred during the period that they sat “fat, dumb and happy” with 90%+ desktop market share. But I would argue that there comes a time when some choices should be left to die a dignified death, and that both Windows and Blackberry mobile products are at that point.
    Read more…

    Four short links: 25 April 2013

    Four short links: 25 April 2013

    iOS Package Manager, Designed Satire, API Fragility, and Retweeting WWI

    1. Alcatraz — package manager for iOS. (via Hacker News)
    2. Scarfolk Council — clever satire, the concept being a UK town stuck in 1979. Tupperware urns, “put old people down at birth”. The 1979 look is gorgeous. (via BoingBoing)
    3. Stop Designing Fragile Web APIsIt is possible to design your API in a manner that reduces its fragility and increases its resilience to change. The key is to design your API around its intent. In the SOA world, this is also referred to as business-orientation.
    4. @life100yearsago (Twitter) — account that tweets out fragments of New Zealand journals and newspapers and similar historic documents, as part of celebrating the surprising and the commonplace during WWI. My favourite so far: “Wizard” stones aeroplane. (via NDF)

    Building native apps from JavaScript using Appcelerator Titanium

    An interview with John Anderson

    In this interview, the author of Appcelerator Titanium: Up and Running describes how Titanium can be used to generate native mobile apps from JavaScript code. He distinguishes the Titanium platform from native API programming and from other popular JavaScript platforms for mobile devices. We look at the way Titanium exploits the expressiveness and flexibility of JavaScript, and some of the directions that the Appcelerator company is taking Titanium.
    Read more…

    Upward Mobility: Automating iOS builds with Jenkins

    If Jenkins is good enough for Apple to use, why not give it a try yourself?

    One of the pleasant surprises I learned last year at WWDC is that Apple uses Jenkins to automate their iOS app builds. Since we were already using Jenkins to do the same thing at the Day Job, it was a nice confirmation that we had taken the right approach.

    However, until recently, getting Jenkins to fire off an Xcode build, bundle it into an IPA, and sign it correctly was a real pain. Thankfully, in 2012, a Jenkins plugin for Xcode integration was released. It can be installed directly from the Jenkins plugin management page, and once installed, gives you a new build step called Xcode that you can add to a build.

    Read more…

    Four short links: 1 April 2013

    Four short links: 1 April 2013

    Machine Learning Demos, iOS Debugging, Industrial Internet, and Deanonymity

    1. MLDemosan open-source visualization tool for machine learning algorithms created to help studying and understanding how several algorithms function and how their parameters affect and modify the results in problems of classification, regression, clustering, dimensionality reduction, dynamical systems and reward maximization. (via Mark Alen)
    2. kiln (GitHub) — open source extensible on-device debugging framework for iOS apps.
    3. Industrial Internet — the O’Reilly report on the industrial Internet of things is out. Prasad suggests an illustration: for every car with a rain sensor today, there are more than 10 that don’t have one. Instead of an optical sensor that turns on windshield wipers when it sees water, imagine the human in the car as a sensor — probably somewhat more discerning than the optical sensor in knowing what wiper setting is appropriate. A car could broadcast its wiper setting, along with its location, to the cloud. “Now you’ve got what you might call a rain API — two machines talking, mediated by a human being,” says Prasad. It could alert other cars to the presence of rain, perhaps switching on headlights automatically or changing the assumptions that nearby cars make about road traction.
    4. Unique in the Crowd: The Privacy Bounds of Human Mobility (PDF, Nature) — We study fifteen months of human mobility data for one and a half million individuals and find that human mobility traces are highly unique. In fact, in a dataset where the location of an individual is specified hourly, and with a spatial resolution equal to that given by the carrier’s antennas, four spatio-temporal points are enough to uniquely identify 95% of the individuals. We coarsen the data spatially and temporally to find a formula for the uniqueness of human mobility traces given their resolution and the available outside information. This formula shows that the uniqueness of mobility traces decays approximately as the 1/10 power of their resolution. Hence, even coarse datasets provide little anonymity. These findings represent fundamental constraints to an individual’s privacy and have important implications for the design of frameworks and institutions dedicated to protect the privacy of individuals. As Edd observed, “You are a unique snowflake, after all.” (via Alasdair Allan)
    Four short links: 3 October 2012

    Four short links: 3 October 2012

    Military Open Source, State of Internet, Visualizing Budgets, and Hacking Your iDevice

    1. Mil-OSS 4 — 4th military open source software working group conference, in Rosslyn VA. Oct 15-17. Tutorials and sessions will cover: Linux, Geospatial, LiDAR, Drupal, cloud, OSS policy and law, Android and many other topics. The last day will have a 1/2 day unconference for up-and-coming issues.
    2. State of Internet Slides (Business Insider) — Apple could buy Disney using cash at hand. Boggle. This presentation has plenty of numbers for those who like them.
    3. See Penny Work — an open source (GPLv2) toolkit for budget visualizations, from Code For America. (via Tim O’Reilly)
    4. libimobiledevice — LGPLed open source library which talks the protocols to support iPhone®, iPod Touch®, iPad® and Apple TV® devices. Unlike other projects, it does not depend on using any existing proprietary libraries and does not require jailbreaking. It allows other software to easily access the device’s filesystem, retrieve information about the device and it’s internals, backup/restore the device, manage SpringBoard® icons, manage installed applications, retrieve addressbook/calendars/notes and bookmarks and (using libgpod) synchronize music and video to the device. Runs on Linux, OS X, and Windows.

    Mastering iOS development

    Matt Neuburg has suffered through the difficult bits of iOS development so you don't have to.

    Matt Neuburg is an O’Reilly author and long-time writer for tidBITS.

    We sat down recently to talk about iOS development and how best to build solid apps … the secret is take the time to learn the basics.

    Key points from the full video (below) interview include:

    • All of the real power in iOS development is in C. [Discussed at the 1:26 mark]
    • Don’t use the Cocoa Framework, let it use you. [Discussed at the 2:56 mark]
    • Even though you don’t have time, understanding the underlying foundation of the OS makes you better a developer. [Discussed at the 8:07 mark]
    • Take a deep breath … Apple is actually working on improving the dev experience. [Discussed at the 10:54 mark]

    You can view the entire interview in the following video.

    Read more…

    Objective-C and Cocoa: The core of solid iOS apps

    Jon Manning and Paris Buttfield-Addison share their insight on what's new with Objective-C and Cocoa

    Jon Manning (@desplesda) and Paris Buttfield-Addison (@parisba) are co-founders of Secret Lab and authors of the forthcoming Learning Cocoa with Objective-C, 3rd Edition

    Key points from the full video (below) interview include:

    • Embrace Objective-C’s verbosity [Discussed at the 0:30 mark]
    • Just getting started with Objective-C? Check out the WWDC videos and… [Discussed at the 1:45 mark]
    • Long awaited updates to Objective-C make a big impact [Discussed at the 2:27 mark]
    • When it comes time to submit your app to the App Store, think about it as Apple would [Discussed at the 3:47 mark]

    You can view the entire interview in the following video.

    Read more…

    Developing cross-platform mobile apps with C#

    Greg Shackles on using C# and .NET to build apps that work across mobile platforms.

    Web developer and author Greg Shackles reveals the advantages of using C# over C++ for writing mobile apps. He also explains why Android and iOS developers should give C# a serious look.