Weekly Roundup: Blue Badges

edit: It's worth noting that I write these on the Saturday before they're published, and they are sent out to our mailing list every Monday or Tuesday. Sign up in the yellow box above to get the roundup early in your email every week.

I know that Cocoa Controls is supposed to be all about iOS and OS X software development, and I was actually all set to talk about how Apple's iBeacon technology is going to be their big sleeper hit technology of 2014 and 2015, but that'll have to wait. Earlier this week, Microsoft's new CEO, Satya Nadella, published a verbose, somewhat rambling missive about how Microsoft must reinvent itself to stay relevant in "a mobile-first and cloud-first world." I think that Jean-Louis Gassée summed it up best when he described Nadella's essay as "I have something to hide, but I want to be able to say I told you the facts."

Rumors point to layoffs far more wrenching than 2009's cuts of 5,000 blue badges, or Microsoft full-time employees. I expect Microsoft to cut 10,000-15,000 people, or about 10% of their global workforce, centered on Nokia. I'm pretty sure no one, except possibly for Steve Ballmer and Stephen Elop, think that the Nokia acquisition was a good idea for Microsoft. Historically, Microsoft has thrived by building ecosystems with hardware partners. This strategy has been growing increasingly unsustainable for several years now. The continued race to the bottom on pricing has devastated the PC industry. An attempt to replicate the PC ecosystem strategy with Windows Phone has failed, too, as device manufacturers are generally unwilling to pay licensing fees for an operating system far less popular than the free Android.

At the risk of sounding sycophantic, Apple has managed to buck the trends seen by the PC and devices industries by maintaining incredibly high margins on premium products that are made possible only through tight integration between hardware and software, a state of affairs that is nearly impossible for Google or Microsoft to replicate. Both companies have attempted to duplicate the Apple experience, with Google's Nexus devices, and Microsoft's Surface tablets and the Nokia acquisition. The strategy has largely failed for both companies, but it doesn't really matter for Google, given their Microsoft-like dominance of mobile operating system market share. However, Microsoft's situation is far more dire, with low single digit market share in the mobile market. They need to recognize that the world has changed, and they are—in more ways than one—a lot like IBM of the early 1990s.

Microsoft needs to recognize that, much like IBM a couple decades ago, they are no longer the dominant player in a homogenous computing world. They need to accept that for an increasing number of consumers and businesses, Microsoft solutions simply don't make sense. If Microsoft wants to continue being a major player, they need to ensure that their prospective customers can access Microsoft software and services from every computer and device. Windows is clearly still incredibly valuable, but it is also losing relevance. Office is still an incredibly valuable asset, but it risks becoming irrelevant if the millions of people who are becoming 'mobile first' can't access it without an Office 365 subscription.

Meanwhile, Azure is, in my opinion, rapidly becoming one of Microsoft's most valuable assets, and it is led by the inestimable Scott Guthrie, who I think is quite cognizant of the situation Microsoft is in, and has done an excellent job of ensuring that Azure is a great way of building services for any device running any operating system.

Layoffs always suck, and I have a great deal of sympathy for the people who are about to be out of a job. But, Microsoft absolutely needs to become more lean, and needs to refocus its corporate culture on ensuring not that there's a computer on every desk running Microsoft software and services, but that every computer and device can access Microsoft software and services, and that the developers building on top of those non-Microsoft platforms want to use Microsoft services.


What We're Reading


Control of the Week

TLYShyNavBar

TLYShyNavBar

Unlike all those arrogant UINavigationBar, this one is shy and humble! Easily create Auto-Scrolling Navigation Bars!

MIT licensed.

Find out more Add to Favorites  See a Video


Weekly Roundup

TaskQueue (Swift)

TaskQueue (Swift)

A great Swift class for managing asynchronous tasks that need to execute one after another. You just add tasks (as closures) to the queue and the queue takes care to execute them in the proper order.

As a bonus TaskQueue just makes using Grand Central Dispatch in Swift very very easy.

This is very useful for the cases you need to make a call to your API to fetch some data and then use the data to make another network call to perform a different operation. With TaskQueue this is very easy because you just schedule the network calls and the second one executes only when the first one has completed - and it's also very easy to pass data from the first to the second one.

The GitHub repo contains detailed code example, so just head there and read trough the example.

MIT licensed.

Find out more Add to Favorites


TwitterPagingViewer

TwitterPagingViewer

A Twitter-like navigation bar, page viewer.

MIT licensed.

Find out more Add to Favorites


UIImageView+Letters

UIImageView+Letters

UIImageView category for using initials as a placeholder image. It can automatically generate a random background color. This is useful for generating dummy images for user profiles.

MIT licensed.

Find out more Add to Favorites


PKLocationManager (Swift)

PKLocationManager (Swift)

A Swift based, centralized location manager, simplifying the CLLocationManager API by adding closures and automatically adjusting accuracy, based on the subscribers common needs.

MIT licensed.

Find out more Add to Favorites


Swift-Useful-Extensions

Swift-Useful-Extensions

lots of categories i used in objc, rewrite in swift, more coming.

MIT licensed.

Find out more Add to Favorites


ESImageViewController

ESImageViewController

A library that provides a way to view full screen images from thumbnail previews. Provides a custom modal transition to present and dismiss itself, as well as gesture recognizers to provide zooming capabilities.

MIT licensed.

Find out more Add to Favorites


OTMWebView

OTMWebView

Brings some of the missing features of the UIWebView to iOS. Features progress tracking, and custom user-agent support.

MIT licensed.

Find out more Add to Favorites


LTMorphingLabel (Swift)

LTMorphingLabel (Swift)

A learning-by-doing Swift project cloning the original Morphing Label of iOS 8 introduced in WWDC 2014.

MIT licensed.

Find out more Add to Favorites


LTBouncyPlaceholder (Swift)

LTBouncyPlaceholder (Swift)

A learning-by-doing UITextField extension written in Swift

MIT licensed.

Find out more Add to Favorites


MSMotionScroller

MSMotionScroller

A simple class that enables anything that can be scrolled to be scrolled by bumping the device in a certain direction.

MIT licensed.

Find out more Add to Favorites


SOMapPreview

SOMapPreview

A configurable static map image view that generates and caches a map snapshot and drawn line based on a provided MKPolyline object.

Intended for inline use with UITableView or UICollectionView where maps would be shown per cell or similar.

GPL licensed.

Find out more Add to Favorites


XDPopupListView

XDPopupListView

An iOS pop-up listview, like Spinner in Android. You can use it to create Android-like controls, such as Spinner or AutoCompleteTextView, for your iOS project. It's under MIT license, so help yourself and have fun.

MIT licensed.

Find out more Add to Favorites


VENTokenField

VENTokenField

Easy-to-use token field that is used in the Venmo app.

MIT licensed.

Find out more Add to Favorites


IPSqueezableViewController

IPSqueezableViewController

Offers a shrinking effect for the navigation bar like the one in Safari.app for iOS.

MIT licensed.

Find out more Add to Favorites


MGSpotyViewController

MGSpotyViewController

Beautiful viewController with a tableView and amazing effects like a viewController in the Spotify app.

MIT licensed.

Find out more Add to Favorites


UIViewController-ScrollingStatusBar

UIViewController-ScrollingStatusBar

Category for UIViewController with UIScrollView to scroll statusBar along scrollView

MIT licensed.

Find out more Add to Favorites


DDHTimerControl

DDHTimerControl

A UIControl subclass to input minutes or seconds.

MIT licensed.

Find out more Add to Favorites


BVCropPhoto

BVCropPhoto

BVCropPhoto is image cropping library for iOS.

pod 'BVCropPhoto'

MIT licensed.

Find out more Add to Favorites


IPDashedLineView

IPDashedLineView

IPDashedLineView provides a simple interface for creating dashed lines. Create individual lines or create a dashed border for a view.

MIT licensed.

Find out more Add to Favorites


MPGNotification

MPGNotification

MPGNotifications is an iOS control that allows you to display in-app interactive notifications that are fully customisable to suit your needs.

MIT licensed.

Find out more Add to Favorites


ENPopUp

ENPopUp

An UIViewController category to display any view controller in a modal popup.

MIT licensed.

Find out more Add to Favorites


GoogleWearAlert (Swift)

GoogleWearAlert (Swift)

An Android Wear style animated confirmation view for iOS - Written in Swift

This library is not intended as fully fledged alert view replacement (it has no buttons) this confirmation view is ideal for giving a success/fail/done/posted etc confirmation to the user.

MIT licensed.

Find out more Add to Favorites


AHKBendableView

AHKBendableView

BendableView is a UIView subclass that bends its edges when its position change is animated. Internally, BendableView contains CAShapeLayer, which acts as its background. The layer's path changes during animations, creating an effect of bending. Subviews stay intact.

MIT licensed.

Find out more Add to Favorites


ZFRippleButton

ZFRippleButton

Custom UIButton effect inspired by Google Material Design

MIT licensed.

Find out more Add to Favorites

Join the Mailing List

Sign up for the mailing list to get our articles and the coolest new open source controls delivered right to your inbox.

We'll never share your email with anyone else.

(optional)
(optional)