Weekly Roundup: Coding in Anger

Aaron Brethorst, April 27, 2014

Brent Simmons continued his absolutely fantastic series of blog posts this past week with one entitled Atom XHTML Content Considered Jerky, which reminded me of one of my favorite phrases of all time: "coding in anger." As far as I can tell, the term originated with David Heinemeier Hansson, the creator of Ruby on Rails, in a blog post from late 2010.

I've been in that situation many times: having a tight deadline, needing to solve a specific problem, or just wanting to get on to more interesting work have all been examples for me in the past. In many cases, it's better to be done than to write 'perfect' code, whatever that means. If you're delivering something of value to your client or users, consider that they probably don't care that much how it's implemented. They care far more about it working.

Kludgily,
Aaron


What We're Reading


Control of the Week

MJParallaxCollectionView

MJParallaxCollectionView

This is a parallax for the cells inside UICollectionView. It gives us an effect just like scrolling the images in Whatsapp or scrolling through the Weather app for iOS.

MIT licensed.

Find out more Add to Favorites  See a Video


Weekly Roundup

ARWebServerActivity

ARWebServerActivity

A UIActivity subclass that share files via GCDWebServer with Twitter Bootstrap UI.

MIT licensed.

Find out more Add to Favorites


RSImageOptimPlugin

RSImageOptimPlugin

Xcode plugin to optimize images using ImageOptim.

MIT licensed.

Find out more Add to Favorites


Lyt

Lyt

A UIView category to make autolayout (more) readable and less verbose. Write this:

[view lyt_centerInParent];

Instead of:

NSLayoutConstraint *centerXConstraint = [NSLayoutConstraint
    constraintWithItem:view attribute:NSLayoutAttributeCenterX
    relatedBy:NSLayoutRelationEqual toItem:view.superview
    attribute:NSLayoutAttributeCenterX multiplier:1.0 constant:0];

[view.superview addConstraint:centerXConstraint];

NSLayoutConstraint *centerYConstraint = [NSLayoutConstraint
    constraintWithItem:view
    attribute:NSLayoutAttributeCenterY
    relatedBy:NSLayoutRelationEqual toItem:view2
    attribute:NSLayoutAttributeCenterY multiplier:1.0 constant:0];

[view.superview addConstraint:centerYConstraint];

Apache 2.0 licensed.

Find out more Add to Favorites


CCHexagonFlowLayout

CCHexagonFlowLayout

UICollectionView layout for both horizontal and vertical management of hexagonal cells

MIT licensed.

Find out more Add to Favorites


YHRoundBorderedButton

YHRoundBorderedButton

Button with rounded border and animation, which is identical to AppStore's open/download/update/.. button.

MIT licensed.

Find out more Add to Favorites


KAWebViewController

KAWebViewController

A UIWebView ViewController to be used with a UINavigationController or on its own as a modal segue.

KAWebViewController is a view controller class for UIWebView. I never found a similar solution that suited my needs so I decided to write my own basic UIWebViewController Class. You can use KAWebViewController outside a navigation controller with the use of KAWModalWebViewController. Feel free to use this as base for your own UIWebView ViewController. This class currently supports:

  • iPad and iPhone
  • iOS 6.1 to 7.1 (iOS6 on iPad could use some UI improvements)
  • Portrait & Landscape mode

MIT licensed.

Find out more Add to Favorites


LASIImageView

LASIImageView

iOS UIImageView subclass - download image with different progress indicators

BSD licensed.

Find out more Add to Favorites


BKSegmentedViewController

BKSegmentedViewController

One viewController can display multiple viewController, works like Tabbar or set of UIButton can placed anywhere by just connecting segues.

MIT licensed.

Find out more Add to Favorites


BEMAnalogClock

BEMAnalogClock

iOS library to create elegant, interactive clocks.

MIT licensed.

Find out more Add to Favorites


AFSoundManager

AFSoundManager

iOS audio playing (both local and streaming) made easy through a complete and block-driven Objective-C class. AFSoundManager uses AudioToolbox and AVFoundation frameworks to serve the audio. You can pick a local file or you can use a URL to stream the audio, the choice is up to you.

MIT licensed.

Find out more Add to Favorites


AMWaveTransition

AMWaveTransition

Custom transition between viewcontrollers holding tableviews. Each cell is animated to simulate a 'wave effect'.

MIT licensed.

Find out more Add to Favorites


MVTextInputScroller

MVTextInputScroller

Class to keep any selected input fields visible on screen when the keyboard is shown.

MIT licensed.

Find out more Add to Favorites


DVOMarqueeView

DVOMarqueeView

A lightweight view that adds marquee scrolling to any view.

MIT licensed.

Find out more Add to Favorites


DVOBouncer

DVOBouncer

Add gravity bouncing to UIScrollView content.

MIT licensed.

Find out more Add to Favorites


PAPreferences

PAPreferences

An easy way to store user preferences using NSUserDefaults.

BSD licensed.

Find out more Add to Favorites


MDSpreadView

MDSpreadView

A 2D table view for iOS apps, that works just like UITableView! This is the demo project, the code is available here: https://github.com/mochidev/MDSpreadView

MIT licensed.

Find out more Add to Favorites


Backlight

Backlight

Xcode plugin that highlights the current editing line in Xcode

License unspecified.

Find out more Add to Favorites


RBCollectionViewInfoFolderLayout

RBCollectionViewInfoFolderLayout

A UICollectionViewLayout that uses supplemental views to display a folder below a cell that looks like the screen was split. Mimics the pre iOS7 springboard groups visualization. Wrote this because all of the other "folder" controls like this use a screen shot to do the splitting, but I wanted my collection view to still be functional even with the folder open.

MIT licensed.

Find out more Add to Favorites


XHLoadingNavigationItemTitleView

XHLoadingNavigationItemTitleView

Temporarily adds a loading indicator below the title of your view controller.

MIT licensed.

Find out more Add to Favorites


BRSunTracker

BRSunTracker

Augmented Reality classes that track and display the sun position on the screen

Apache 2.0 licensed.

Find out more Add to Favorites


NYSegmentedControl

NYSegmentedControl

NYSegmentedControl is a customizable, animated replacement for UISegmentedControl inspired by controls found in Instagram, Foursquare, and other apps.

MIT licensed.

Find out more Add to Favorites


XLMailBoxContainer

XLMailBoxContainer

Custom container view controller ala MailBox app.

MIT licensed.

Find out more Add to Favorites


GFTransparentView

GFTransparentView

A iOS 7 NotificationCenter like view that helps you visualizing background elements just putting for example a white object on its top!

MIT licensed.

Find out more Add to Favorites


DESlideToConfirmView

DESlideToConfirmView

A block-based widget that brings slide-to-confirm interfaces to your apps.

Caveat emptor: Dream Engine has had apps approved with this widget, but we make no claim as to whether or not it is generally safe for the App Store.

MIT licensed.

Find out more Add to Favorites


KDCycleBannerView

KDCycleBannerView

A cycling or looping scroll view for banners and galleries.

MIT licensed.

Find out more Add to Favorites