The best article I ran across this past week didn't directly have anything to do with Apple, iOS, or Mac OS X. Instead, it was a look at the fall of QuarkXPress, initially the best desktop publishing application available for personal computers, from the perspective of one of their users. The article reminded me of the inherent tenuousness of being on top. Everyone is out to get you, you're never as agile as you were originally as a young upstart, and if you rest on your laurels, you're pretty much doomed. In the end, Adobe InDesign beat Quark because Adobe looked, listened, and respected their customers.
The comparison with Apple is pretty clear, even though Apple has never enjoyed a market share of 90% or more in the mobile phone space, and Apple has a history of not so much specifically listening to their customers but doing what they think is right for them. Apple, to their credit, is willing to take big risks, trash things that work and are well-regarded, and aggressively cannibalize their own product lines in favor of what they think is better. Dave Wiskus wrote a piece at Macworld about where he thinks Apple's design is heading in 2014, and I'm generally inclined to agree with him. Apple didn't have to release a version of iOS that was such a drastic departure from past versions—at least not yet[1]—but they felt it was right.
Somewhat relatedly, if you have a chance, I highly recommend picking up a copy of The Innovator's Dilemma by Clay Christensen. Although it doesn't speak directly to what I write about above, it is an incredibly insightful look at the tectonic forces in the technology industry that, over time, manage to utterly destroy once-dominant companies. I often wondered whether or not Steve Ballmer had ever read it, back when he was still CEO of Microsoft. In contrast, I know the top folks at Apple must have.
Best,
Aaron
[1] Arguably, though, waiting until they had to would've doomed them.
What We're Reading
- Objc.io Issue 10 - Data Synchronization
- Facebook Chisel - Xcode debugging tools
- Capturing Myself
- It took two years to cancel Singularity, and ten months to fix it
- How I Learned to Stop Worrying and Love Cocoa Auto Layout
Control of the Week
KFEpubKit
An Objective-C epub extracting and parsing framework for iOS and OSX. MIT licensed. |
Weekly Roundup
KVNBoundedImageView
RNBlurredSideViewController
RNBlurredSideViewController is a side view controller with a dynamic blurred background effect when swiping similar to the iOS 7 control center. It can be used to show views on the side like the Facebook or Path app. The unique feature of RNBlurredSideViewController is that it can blur the side view background dynamically when swiping which is similar to the iOS 7 control center. The implementation of the blur effect is not based on UIToolbar. The blur effect can be customized. RNBlurredSideViewController is available through CocoaPods, to install it simply add the following line to your Podfile:
MIT licensed. |
FGThrowSlider
THArrayView
iOS UI component to draw arrays MIT licensed. |
CCTableData
A class providing the ability to create a model for a UITableViewController and then "bind" a UITableViewController to the model. MIT licensed. |
CircularSliderDemo
Circular Slider can be used for scalar values, list of values, and time MIT licensed. |
FRDLivelyButton
KFToolbar
An easy to setup and use toolbar that can contain KFToolbarItems (what is actually a wrapper for NSButtons). MIT licensed. |
APDropDownNavToolbar
iOS7 Messages App style toolbar that drops down from navigation bar when tapping on the UIBarButton item. MIT licensed. |
RDRStickyKeyboardView
Replication of iMessage's text input behavior on iOS 7 (UIScrollViewKeyboardDismissModeInteractive + persistent inputAccessoryView) MIT licensed. |
TSAssetsPickerController
Highly customizable control used to select multiple assets (saved photos and videos) for use in your app. It works as UIImagePickerController, allows to browse all albums, select multiple assets and this control is highly customizable (read github documentation linked at the bottom). Control returns ALAsset objects which are easy to deal with. It also can filter assets by type and sizes. Available on CocoaPods
Demo of TSAssetsPickerController Licenses Apache 2.0 licence Features:
You can find more informations on project's github page. Apache 2.0 licensed. |
MXLCalendarManager
A set of classes used to parse and handle iCalendar (.ICS) files MIT licensed. |
GRCustomizableWindow
NSWindow subclass with support to custom titlebar height, background color and title color BSD licensed. |
Haneke
SLTDoubleTapSegmentedControl
A double-tap segmented control. Each segment functions as a discrete double-tap button. Apache 2.0 licensed. |
Easy Timeline
VENPromotionsManager
iOS Library to perform location & time-based promotions. MIT licensed. |
IDScrollableTabBar
Custom scrollable tab bar that highlights selected item like under magnifying glass. You can customize it as you wish! More information: MIT licensed. |
MVArrowOverlays
Simple class to draw an arrow as an arc of a circle given two points and the radius. MIT licensed. |
WCActionSheet
A customizable and elegant alternative to UIActionSheet with support for block syntax. MIT licensed. |