Software Dev

Duct Taped Software

I love this article on the ugliness of complicated (or not so complicated) software in the real world. A games goes open source, and developers are horrified by the code they see. πŸ˜±πŸ˜†

Beautiful. Disgusting.

I’m not surprised at all. Almost every successfully shipped system I’ve seen is full of really ugly code. At some point, you just have to ship that mother. πŸ€·πŸ»β€β™‚οΈ

πŸ‘‰ The truth is that many games are held together by duct tape

Via iOS Dev Weekly.

Software Dev

How to Design Offline-first Approach in a Mobile App – net guru

Nowadays, almost everyone has access to either wireless network or the mobile network. Does it mean that we shouldn’t be concerned with the availability of network when making mobile apps?
β€” Read on www.netguru.com/blog/how-to-design-offline-first-approach-in-mobile-app

Great overview of building an app that works offline first as a means to a great user experience.

The offline-first approach is not the universal solution to every problem you will experience with unreliable network connectivity – it heavily depends on your app’s requirements. It’s more like a design approach that lets you focus on what really matters to your end user: a robust app with a great user experience. 

The World

The Trouble with Manager Objects – Ben Sandofsky

Benjamin Sandofsky, a Software Engineer in San Francisco, California.
β€” Read on sandofsky.com/blog/manager-classes.html

A technical pet peeve of mine, this post does a nice job articulating why “manager” classes in software design can be a problem. To me, a “manager” class is like saying, “this class does some stuff” and the stuff has no boundary. But what does this class do? What is it’s purpose? It might be a sign of an unfocused and unsustainable design.

Or as the post says:

Managers can be a symptom of poorly-defined responsibilities. When you think about it, the word β€œManager” means nothing. In object oriented programming, every class is a manager. Cocoa Touch could have UIApplicationManager, UIViewManager, and even a humble NSStringManager.