Weekly Roundup: iOS 8 Adoption Stalls, GT Advanced Implodes

Aaron Brethorst, October 11, 2014

Two big (and not very happy) stories this week were the news that iOS 8 adoption has stalled, and that GT Advanced—Apple's big bet in sapphire—filed for bankruptcy.

First, it's been pretty widely reported that iOS 8 adoption hasn't made it out of the 40% range yet. In contrast, iOS 7 (despite representing a far great change to the iOS user experience) was already in the 70% range by this time after its release. When I first read about this, I assumed that it was a result of the 8.0.1 debacle, but as Gruber wrote this past week, I am now convinced that it's a storage space issue. And, let's be totally clear here: this is entirely Apple's fault:

  • They've been selling tons of 16GB iPhones
  • They've done an awesome job of untethering your iPhone from your Mac or PC
  • There isn't an easy way to migrate your full-sized photographs and videos off your iPhone unless you do tether your iPhone to your computer or you're running iOS 8

Rah-rah, go Apple. They've made the iPhone the most-used camera in the world. And, they've also managed to mangle their developer ecosystem. Apple pushes us hard to adopt the latest and greatest iOS features. It's easiest for us as developers to simply abandon older versions of iOS in order to support these new features, and—since we've been able to rely on incredibly good uptake of the latest version of iOS—it's been not unreasonable to immediately ditch support for a year-old version of the OS. But, with stalled adoption of iOS 8, we may see a vicious cycle develop where it's no longer necessary for users to upgrade to the latest version of the OS because there aren't any cool apps that require it. And those cool apps won't adopt the latest version, because user adoption has stalled. I really hope this gets fixed soon.

Meanwhile, GT Advanced, Apple's big bet on sapphire, unexpectedly filed for bankruptcy this past week. Their stock, which had peaked at $20 shortly before the announcement of the iPhone 6, dropped down to about $10 after it was clear that the 6 and 6 Plus would use Gorilla Glass screens, and then plummeted to less than $1 after their bankruptcy announcement. Since then, it's been a bit of a rollercoaster: up 100% in a day, then down 50%, up 30%, etc. The latest development is that GT Advanced has announced that it will be winding down its Arizona operations (which is where sapphire for the Apple Watch was to be produced). Analysts suggest this shouldn't harm Apple's ability to produce Apple Watches, as they will have alternate suppliers for these small sapphire screens.

Best,
Aaron


What We're Reading


Control of the Week

ADTransitionController

ADTransitionController

UINavigationController with custom transitions

BSD licensed.

Find out more Add to Favorites  See a Video


Weekly Roundup

InstagramSimpleOAuth

InstagramSimpleOAuth

A quick and simple way to authenticate an Instagram user in your iPhone or iPad app.

Quick How-To:

  • Create an instance of InstagramSimpleOAuthViewController and pass in an Instagram client ID, client secret, client callback URL and completion block to be executed with InstagramLoginResponse and NSError arguments.

  • Once the instance of InstagramSimpleOAuthViewController is presented (either as a modal or pushed on the navigation stack), it will allow the user to login. After the user logs in, the completion block given in the initialization of the view controller will be executed. The argument in the completion block, InstagramLoginResponse, contains an authToken and other login information for the authenticated user provided by Instagram API Response. If there is an issue attempting to authenticate, an error will be given instead.

MIT licensed.

Find out more Add to Favorites


SDiPhoneVersion

SDiPhoneVersion

Objective-C library for detecting running device model and screen size.

With the announcement of the new iPhone models, developers have a little more work to do. This library simplifies their job by allowing them to get information about the running device and easily target the one they want.

MIT licensed.

Find out more Add to Favorites


KIInPlaceEdit

KIInPlaceEdit

In-place editing for UILabel!

UILabel+InPlaceEdit.h enables users to edit a label in the place. No inheritance. Just import the category and [label ipe_enableInPlaceEdit];

:)

Related Links

X-editable http://vitalets.github.io/x-editable/

Jeditable - Edit In Place Plugin For jQuery http://www.appelsiini.net/projects/jeditable

MIT licensed.

Find out more Add to Favorites


HBVLinkedTextView

HBVLinkedTextView

UITextView subclass that lets you set a block to be executed when a user taps a specified word, phrase, or regex match.

MIT licensed.

Find out more Add to Favorites


CDSideBarController

CDSideBarController

CDSideBarController is a light and easy side bar with custom iOS7 animations and actions

Public Domain licensed.

Find out more Add to Favorites


Slidden

Slidden

Slidden is an open source, customizable, iOS 8 keyboard, written in Swift. iOS 8 brought us the ability to create fully customizable keyboards, but does not provide a strong foundation to start from. Slidden aims to remedy that by providing an easy way to get started making your own iOS keyboards.

MIT licensed.

Find out more Add to Favorites


SplittingTriangle

SplittingTriangle

iOS port of Splitting triangle, a simple loading-style animation.

MIT licensed.

Find out more Add to Favorites


FVSoundWaveDemo

FVSoundWaveDemo

Demo app for FVSoundWaveView. FVSoundWaveView lets you to display discrete wave forms with audio assets.

MIT licensed.

Find out more Add to Favorites


SCFacebook 3.0

SCFacebook 3.0

The SCFacebook 3.0 is a simple and cleaner to use the api facebook-ios-sdk Objective-C (https://github.com/facebook/facebook-ios-sdk - Facebook SDK 3.18) to perform login, get friends list, information about the user and posting on the wall with ^Block for iPhone.

MIT licensed.

Find out more Add to Favorites


SimulatorManager

SimulatorManager

Simple Mac Application to perform quick access iOS Simulator Application data

MIT licensed.

Find out more Add to Favorites


FDChessboardView

FDChessboardView
Features
  • Full vector graphics, fully scalable
  • Customizable themes and game graphics
  • Supports all single board chess variants: suicide, losers, atomic, etc.
  • Supports games with odd piece arrangement and non-standard castling (Fisher 960)
  • Very clean API, this is a view not a controller
Usage

Import, add the view to your storyboard and then set it up with:

#import "FDChessboardView.h"
...
self.chessboard.dataSource = self;

Then implement the data source:

- (FDChessboardPiece)chessboardView:(FDChessboardView *)board pieceForCoordinate:(CGPoint)coordinate
{
    return FDChessboardPieceEmpty; // or whatever piece should be at this square
}
Upcoming Features

These following items are in the API for discussion and awaiting implementation:

  • Display for last move
  • Mutable game state (i.e. can move the pieces)
  • Animation for piece moves
  • Highlighting of legal squares for a piece after begin dragging
  • Premove

MIT licensed.

Find out more Add to Favorites


XHRealTimeBlur

XHRealTimeBlur

RealTimeBlur applies to the view, transitions, background.

MIT licensed.

Find out more Add to Favorites


HanekeSwift

HanekeSwift

Haneke is a lightweight generic cache for iOS written in Swift. For example, here's how you would initialize a data cache:

let cache = Cache<NSData>("my-files")

Haneke also includes a zero-config image cache with automatic resizing. It resizes images and caches the result on memory and disk. Everything is done in background, allowing for fast, responsive scrolling. Asking Haneke to load, resize, cache and display an appropriately sized image is as simple as:

imageView.hnk_setImageFromURL(url)

Really.

Apache 2.0 licensed.

Find out more Add to Favorites


NCRAutocompleteTextView

NCRAutocompleteTextView

An NSTextView subclass that implements a popover to autocomplete words.

MIT licensed.

Find out more Add to Favorites


BWWalkthrough

BWWalkthrough

BWWalkthrough (BWWT) is a class that helps you create Walkthroughs for your iOS Apps. It differs from other similar classes since it hasn't a rigid template; BWWT is just a layer placed over your controllers that gives you complete freedom on views design.

The class comes with a set of prebuilt animations that are automatically applied to the subviews of each page but it can be easily substituted by your custom animations.

License unspecified.

Find out more Add to Favorites


RDImageViewerController

RDImageViewerController

Simple image viewer. It's containing prefetch feature.

MIT licensed.

Find out more Add to Favorites


DebugView

DebugView

A simple way to debug your view hierarchy

MIT licensed.

Find out more Add to Favorites


ReactKit

ReactKit

Swift Reactive Programming.

MIT licensed.

Find out more Add to Favorites


Alpha Channel Remover

Alpha Channel Remover

Mac OS X Application which allow users to remove alpha (transparency) from images. You can remove alpha channel of multiple files within seconds.

Public Domain licensed.

Find out more Add to Favorites


EBCardCollectionViewLayout

EBCardCollectionViewLayout

Have you ever tried to implement a simple UI showing element as cards? You ended up implementing a UIScrollView, didn't you? Well, you should have used a UICollectionView with a custom UICollectionViewLayout instead.

Here's that custom class you need :-)

MIT licensed.

Find out more Add to Favorites


DropboxSimpleOAuth

DropboxSimpleOAuth

A quick and simple way to authenticate a Dropbox user in your iPhone or iPad app.

Quick How-To:

  • Create an instance of DropboxSimpleOAuthViewController and pass in an Dropbox app key, app secret, client callback URL and completion block to be executed with DropboxLoginResponse and NSError arguments.

  • Once the instance of DropboxSimpleOAuthViewController is presented (either as a modal or pushed on the navigation stack), it will allow the user to login. After the user logs in, the completion block given in the initialization of the view controller will be executed. The argument in the completion block, DropboxLoginResponse, contains an accessToken and other login information for the authenticated user provided by Dropbox API Response. If there is an issue attempting to authenticate, an error will be given instead.

MIT licensed.

Find out more Add to Favorites


FloatRatingView

FloatRatingView

A simple rating view for iOS written in Swift! Supports whole, half or floating point values. I couldn't find anything that easily set floating point ratings, so I made this control based on the Ray Wenderlich tutorial found here: http://www.raywenderlich.com/1768/uiview-tutorial-for-ios-how-to-make-a-custom-uiview-in-ios-5-a-5-star-rating-view

MIT licensed.

Find out more Add to Favorites


KIProgressView

KIProgressView

Medium, Youtube-like Progress View in iOS!

MIT licensed.

Find out more Add to Favorites


THMoreFromDeveloper

THMoreFromDeveloper

Control to show other APPs from a Developer

MIT licensed.

Find out more Add to Favorites


AQPhotoPicker

AQPhotoPicker

It's a cool Photo Picker app for iOS (tested on iPhone, not on iPad yet), and quite easy to use. With this control, you can capture photos from iPhone camera or select photos from album by implementing only one callback method

MIT licensed.

Find out more Add to Favorites