Posts Tagged 'Programming'

KoboldTouch

Now this is certainly a Herculean endeavour: Messr. Steffen Itterheim of Learn Game Development with Cocos2d renown is launching a subscription-based full-blown fork of cocos2d!

koboldtouch_softwareboxopentop.png

In case you’d missed it so far, cocos2d has had its vision … refined … after the Zynga acqhire:

Vision

Currently cocos2d is: A fast, easy to use, free, and community supported 2D game engine.

And we want to do is go redefine it as: A fast, easy to use, free, multi platform,/ and community supported 2D game framework.

By multi platform, we mean iOS and Android in the mobile space and Web Browsers:

• Write once, run it on the supported platforms. The common language is JavaScript

By framework, we mean:

• An integrated framework for building 2D games:

Game engine: cocos2d

Physics Engine: Chipmunk

World Editor: CocosBuilder

Well, that’s a thing there, isn’t it? Always nice to have a new cross-platform game option joining the plethora already available, but if you’re reading this, chances are you’re of the attitude that you want to craft an awesome iOS game first and foremost and spend time thinking about those other, lesser, platforms sometime between “much later” and “never”, amirite? Well, you’re who KoboldTouch is aimed at then:

… It’s going to be a framework to program iOS & Mac games in, where best practices evolve naturally, where Cocoa programmers feel right at home, where beginners are not left in a void * EXC_BAD_ACCESS … and where Cocos2D is still at the heart of it.

KoboldTouch takes control over Cocos2D, to allows users to implement best practices naturally. Cocos2D provides the view, KoboldTouch provides the controllers, models and the framework to write your code in.

The Goals for KoboldTouch

Take the good parts of Cocos2D, improve Kobold2D and fix what’s been criticized, build KoboldTouch as a Cocoa-esque game framework around Cocos2D views, add Lua scripting and ensure tight integration with Apple’s OS features.

Little by little I want to transform Cocos2D from the rendering engine that it is and embed it into KoboldTouch, the game development framework…

And that’s where the money comes in. KoboldTouch is going to be a $200/year subscription product. How many out there think this sounds like a good enough idea to pay for it? Well, if you’re thinking it might, head to the KoboldTouch product page and check out the video and all the other links there!

Continue Reading →
1

Monetization: MoPub

So this is a monetization platform that you might want to check out seriously for your advertising needs:

MoPub — “Mobile Advertising Done Right”

For mobile publishers, MoPub is the only “one-stop shop” ad server designed to manage all your app monetization needs. MoPub’s three-pronged platform means that you can choose how you monetize through direct sold ads, ad networks, and our real-time bidding system, MoPub Marketplace. Designed for unmatched control over and transparency into how ads are performing on your app, MoPub’s platform makes sure that you’re maximizing your ad revenue potential — without sacrificing your user experience. And, since MoPub was founded by app developers, for app developers, our single, open-source SDK is easy to integrate and our platform scales to serve billions of ads every month…

Seems pretty much like the set of services you get with Burstly that we liked on first try a couple years back, right? Well, we’re a good bit wiser since then in the ways of ad mediation. Not to put too fine a point on it, all ad SDKs suck. If one appears to not suck, wait for the next system upgrade. And they conflict with your code, and you can’t get a patch for crashes in them even when you can prove where the problem is, yadayadayada. We worked for more than we care to remember of last year on a custom Mobclix-based mediation layer bringing in something like a dozen different kinds of custom video/rich media interstitial providers for an app that gave up on attempting to integrate Burstly because of a vast array of issues, but what it really came down to was that it wasn’t open source so we couldn’t do anything about the problems we found. Compare and contrast:

MoPub’s client code is hosted on GitHub in the mopub-client project. As app developers, we got frustrated with the fact that most ad networks required a separate SDK binary integration and constant updates to get the latest features. We came up with the “low footprint,” source level approach as a solution to that problem. Integrate a single set of source files into your app, directly through subversion or git, and then you will never have issues with updates…

A compelling consideration, that. Especially as one thing we learned doing that custom mediation layer mentioned above is that all the big money in advertising these days comes from the small upstarts doing rich media and geolocated ads and so forth, so if you’re serious about making money off your advertising you’re going to be messing around with custom SDKs with low fill rates and having them fall back to the chump change you get from the bigger networks. And that process will be much MUCH easier with an open source mediation layer.

However, it’s the money that most of you will quite sensibly make your final call on, no doubt; any of you Dear Readers have actual deployment experience with MoPub and can tell us how it compares to Burstly or Mobclix or whatever else you tried?

Continue Reading →
1

Roundup: Passbook

So you got a client that’s demanding to support Passbook in the next release, somehow, someway? Yep, us too, so let’s take a look at what resources are available out there, shall we?

As you’d expect, over at Caer Wenderlich there’s some nice introductory tutorials,

Beginning Passbook in iOS 6: Part 1/2 and Part 2/2

which are much abbreviated excerpts of a couple chapters of iOS 6 By Tutorials — which if you haven’t bought yet you should immediately, covering as it does pretty much everything significant new in iOS 6.

But back to Passbook in particular, here’s another good introduction set with sample code (h/t ManiacDev):

iOS 6 Tutorial: Integrating Passbook into Your Applications

iOS 6 Tutorial: Supporting Passbook within Your Enterprise Systems

Another nice one that goes into great detail on how to handle the provisioning portal is found at, of all places, the Xamarin online docs:

Introduction to PassKit

If you don’t feel like creating passes yourself, there’s a wide variety of services springing up to help you out with that:

PassSource – “Your source for free iOS 6 Passbook passes”

PassTools – “The easiest way to build and manage passes for Apple® Passbook®.”

PassKit – “Create, Distribute and Manage Apple® Passbook® Content Across All Major Mobile Platforms”

Passdock – “So cool to create Passbook passes with Passdock!”

PassPages – Hmmm, no allegedly catchy tagline here.

Or there’s some helper implementations showing up on github:

mattt / passbook_rails_example – “This project is an example implementation of this web service specification in Rails, and will serve the basis for a more comprehensive Rails generator in the near future.”

renstrom / passbook_flask_example – “An Example Implementation of a Passbook Webservice on Flask, based on matt’s passbook_rails_example”

tschoffelen / PHP-Pass – “A PHP class for creating a Pass for Passbook in iOS 6.”

SimonWaldherr / passkit.php – “a php function to create passes for Apple Passbook”

skyzyx / passbook – “PHP component and CLI app for creating Apple PassBook files for iOS 6.”

bitzeche / jpasskit – “jPasskit is an Java™ implementation of the Apple™ PassKit Web Service.”

Any other resources you’ve found particularly helpful setting up Passbook integration with your projects, Dear Readers?

UPDATES:

PassSlot “is a free service for developers that aims to make Passbook integration easy – Really easy.”

Getting your business on Apple’s Passbook, DIY style

iOS Passbook Tutorial

Continue Reading →
0

Grabbag: Graphic Tweaks

A salmagundi of tips and techniques for refining your interface elegance today:

kgn / KGNoise (h/t ManiacDev)

I’ve been developing this noise drawing code for quite some time. It all started with drawing noise in the title bar of INAppStoreWindow. The original implementation of the noise drawing for the titlebar used CIFilter, but this took up an unusual amount of memory and also didn’t look so great. So I began my quest for the best noise drawing solution, this project contains the third version which I feel is finally ready for prime time on the Mac and iOS!

KGNoise generates random black and white pixels into a static 128×128 image that is then tiled to fill the space. The random pixels are seeded with a value that has been chosen to look the most random, this also means that the noise will look consistent between app launches…

Perform a blur using vImage from the Accelerate framework Tutorial

I went looking for some sample code on how to set up and use the vImage components of the accelerate framework a few months ago. To my chagrin, there is nothing. Googling just brings you to StackOverflow questions about how to use the framework, with no answers provided. Well, I now provide answers (at least a few)…

Deep-dive into CALayer Shadows

A while back I had done a lot of work with CALayer shadows in iOS. Now I know there is a lot of posts on how to add one. There just is not a lot of information on how to add shadows to your application while keeping the performance hit down to a minimum. Here I will take shadows in Objective-C to the next level by showing you a few optimization techniques…

Image Anti-Aliasing in Objective-C

Recently I had played around with a lot of object transforms in iOS and I noticed that the more you scale and rotate an image, the more it would start to show you jagged edges or pixelate. At first I thought this was an issues with the image itself but it has to do with the way that Objective-C handles image scaling and transforms. I would like to share with you a few tricks that will give you better anti-aliasing and smoother images…

nicklockwood / FXImageView (h/t ManiacDev)

FXImageView is a class designed to simplify the application of common visual effects such as reflections and drop-shadows to images. FXImageView includes sophisticated queuing and caching logic to maximise performance when rendering these effects in real time.

As a bonus, FXImageView includes a standalone UIImage category for cropping, scaling and applying effects directly to an image…

khanlou / SKBounceAnimation (h/t @romainbriche)

SKBounceAnimation is a CAKeyframeAnimation subclass that creates an animation for you based on start and end values and a number of bounces. It’s based on the math and technology in this blogpost which in turn was based partially on Matt Gallagher’s work here

khanlou / SKInnerShadowLayer

SKInnerShadowLayer takes the graphical properties of a CAGradientLayer that let you set the shadow, gradient, and border of a layer, and adds four properities that let you control the look of an inner shadow for the layer…

Something there to polish up anybody’s UI a bit; and just as we finish up here, congratulations to Felix Baumgartner on landing safely! You were all watching, weren’t you? If not, here’s your obligatory One @#(*$^!! Of A First Step™ shot:

_63460154_baumgartnerapredbullstratos.jpg

UPDATES:

Open Source iOS Library For Creating Modal Views That Automatically Blurs The Background

Fingertips / FTAssetRenderer – Create image assets at runtime in any color when used as mask and/or at any resolution when it’s a PDF

iOS Library For Automatically Generating A Color Scheme From An Image Like iTunes 11

MLPSpotlight – “…display a spotlight effect over a specific point on the screen in a convenient manner.”

Getting Creative with CALayer Masks

Blur Effect in iOS Applications

Ciechan / BCGenieEffect: “An OSX style genie effect inside your iOS app.”

Open Source iOS Control Providing Keylines That Adjust Based On Device Tilt Like The Music App

Easy CGGradients

hfossli / AGGeometryKit: “Create CATransform3D with quadrilaterals, useful math functions, calculate angle between views ++”

iOS Image Processing Library Allowing You To Define Custom Image Filters Using A JSON File

A potential pitfall of CGRectIntegral

Designing for iOS: Blending modes

Continue Reading →
0

Remote View Controllers

This is an interesting read on how the guts of iOS 6 have changed to use XPC for system-provided controllers:

Remote View Controllers in iOS 6

In my previous article on sharing in iOS 6, I hinted at the possibility that Apple was working on a more powerful method to enable sharing between apps without compromising the iOS security architecture.

In fact, Apple is already using a new undocumented concept called Remote View Controllers in iOS 6. This post is an attempt at investigating what is going on under the hood in iOS 6 and what this may mean for future versions of iOS…

Also, a couple interesting tools from the footnotes:

nst / iOS-Runtime-Headers: iOS 6 headers generated using Runtime Browser for iPhone.

Pimping recursiveDescription to include controllers as well as views.

h/t: @osxdevel!

UPDATES:

More on Remote View Controllers

Continue Reading →
1

Remote Configuration: Ground Control

Here’s a nice start on remote configurability you might look at for adding into your apps:

mattt / GroundControl

Break free of the two-week tyranny of the App Store approval process!

Many developers don’t realize that they are allowed to remotely control the behavior of their app (provided that the application isn’t downloading any new code).

GroundControl gives you a dead-simple way to remotely configure your app, allowing you to add things like feature flags, impromptu A/B tests, or a simple “message of the day”

We’ve got pretty much exactly the same thing as a feature at the day job, and why yes it’s pretty darn handy to be able to patch, extend, or completely replace the functionality and display of a particular app on the fly. Where by “pretty darn handy” we mean “if you buy us a martini or seven and swear to keep silent, boy do we ever have some stories for YOU…” But any-ways, point is here, if there is anything that you can foresee might need changing on your app that doesn’t require new code, it would be very forward-looking of you to consider integrating something along the lines of this piece!

h/t: ManiacDev!

Continue Reading →
0

AGImageChecker

Now this looks like a downright lifesaver for all those of you who oversee a framework that powers a dozen team apps and counting with several hundred individual skinned and themed images going into each …

… oh, wait, that’s just us, is it? Well, no matter how many images you need to check, this’ll help:

angelolloqui / AGImageChecker

AGImageChecker is a lightweight iOS library that helps developers to find problems in their used images. It detects when images are smaller or different sized than their container views, producing resized or blurry images. Wrong images will have a colorfull border that helps you to detect them. Additionally, it adds a long press gesture to open an image detail and check useful information about the problem, such as the image size, the view size, the contentMode, the presence of retina version, the associated view controlller,… All of it out of the box, without changing your code (device and simulator)…

Screen Shot 2012-09-29 at 5.55.41 PM.png

That’s some handy diagnostics, indeed.

Speaking of images, if you need some handy placeholders during development, nowhere better to go than {placekitten}

…because everyone’s day is happier with kittens in it!

h/t: @cocoapods!

Continue Reading →
0

Extended Objective-C

Here’s a library of language extensions worth looking into:

jspahrsummers / libextobjc : “A Cocoa library to extend the Objective-C programming language.”

The Extended Objective-C library extends the dynamism of the Objective-C programming language to support additional patterns present in other dynamic programming languages (including those that are not necessarily object-oriented) … libextobjc currently includes the following features:

  • Safe categories, using EXTSafeCategory, for adding methods to a class without overwriting anything already there (identifying conflicts for you).
  • Concrete protocols, using EXTConcreteProtocol, for providing default implementations of the methods in a protocol.
  • Simpler and safer key paths, using EXTKeyPathCoding, which automatically checks key paths at compile-time.
  • Compile-time checking of selectors to ensure that an object declares a given selector, using EXTSelectorChecking.
  • Easier use of weak variables in blocks, using @weakify, @unsafeify, and @strongify from the EXTScope module.
  • Safer private methods, using EXTPrivateMethod, for declaring methods on a class, and getting notified if they conflict with other existing methods.
  • Scope-based resource cleanup, using @onExit in the EXTScope module, for automatically cleaning up manually-allocated memory, file handles, locks, etc., at the end of a scope.
  • EXTNil, which is like NSNull, but behaves much more closely to actual nil (i.e., doesn’t crash when sent unrecognized messages).
  • Synthesized properties for categories, using EXTSynthesize.
  • Algebraic data types generated completely at compile-time, defined using EXTADT.

Some pretty cool stuff there, yeppers. @onExit in particular looks like it remedies the only thing we occasionally miss about C++, stack-declared resource management wrapper classes. Even if you’re not chomping at the bit for any of this stuff though, digging around the implementation mechanics is extremely educational. Lots of material for Truly Evil™ interview questions here, indeed.

h/t: @JSpahrSummers!

Continue Reading →
0

Fingertips: Presentation Mode

This is a slick little helper for if you’re writing software designed to run presentations, or if you want to record some screen tutorials:

developmentseed / fingertips

Fingertips: Presentation mode for your iOS app

Fingertips is a small library (currently, one class) that gives you automatic presentation mode in your iOS app. Note that currently, this is only designed for the iPad 2 and iPhone 4S (or later), which feature hardware video mirroring support. This library does not do the mirroring for you!

Just drop in our replacement UIWindow subclass and your app will automatically determine when an external screen is available. It will show every touch on-screen with a nice partially-transparent graphic that automatically fades out when the touch ends.

Here’s a demo video

Handy if you need it!

h/t: @romainbriche!

Continue Reading →
0

UICollectionView Collection

So if you’ve paid any attention to new iOS 6 stuff at all, you’ve probably noticed that this UICollectionView thing sounds remarkably interesting:

A collection view is a way to present an ordered set of data items using a flexible and changeable layout. The most common use for collection views is to present items in a grid-like arrangement, but collection views in iOS are capable of more than just rows and columns. With collection views, the precise layout of visual elements is definable through subclassing and can be changed dynamically. So you can implement grids, stacks, circular layouts, dynamically changing layouts, or any type of arrangement you can imagine…

Yeah? That kinda strains your credulousness a bit, doesn’t it? Let’s look for a second opinion, shall we?

The Awesomest UI Class I’ve Ever Seen

UICollectionView is spectacular. The combination of a clear interface and incredible flexibility make it an absolute masterpiece of API design. The UIKit engineers who designed it have truly outdone themselves. It is by far my favorite feature of the iOS 6 SDK. Make sure to watch WWDC sessions 205 and 219 if you haven’t yet seen them…

“Awesomest”. “Spectacular”. “Masterpiece”. Don’t hold back, tell us how you really feel. How about a third opinion? A fourth?

… Barely containing excitement. :) ) UICollectionView* stuff is Magic, pure Magic.

… UICollectionView is fucking awesome. It will change the face of iOS apps.

“Pure Magic”. “Fluffily Awesome”. Yes, a concrete degree of enthusiasm can be ascertained there as well. Anyone else?

UICollectionView is possibly the most important enhancement Apple has ever made to iOS’s base control set … Expect to see amazing new UIs in iOS 6 apps that do things with visual data presentation that were never possible before. Expect to see dynamic grids that can be resized, reordered, and visually transformed in imaginative ways…

Well, then. Looks like UICollectionView winds hands down the Industry Achievement Award for “Most Gushing Fanboism Ever Over a Flippin’ API”, indeed. Looks like it’s pretty safe to predict that there’s going to be a lot of people doing nifty stuff with it, and we might as well get a jump on that by collecting the first few introductions to it out of the box here:

First off, if you haven’t got it already, we thoroughly recommend you head over to chez Wenderlich and pick up the iOS 6 By Tutorials book; the two chapters on UICollectionView are worth the price alone if you haven’t been experimenting with it already, and hey there’s 25 other chapters bonus covering pretty much everything significant new there is.

Second off, rather than completely splitting your presentation layer code at iOS 6, you might wish to look into steipete / PSTCollectionView:

Open Source, 100% API compatible replacement of UICollectionView for iOS4.3+

You want to use UICollectionView, but still need to support iOS4/5? Then you’ll gonna love this project. I’ve originally written it for PSPDFKit, my iOS PDF framework that supports text selection and annotations, but this project seemed way to useful for others to to keep it for myself :) Plus, I would love the influx of new gridviews to stop. Better just write layout managers and build on a great codebase.

The goal is to use PSTCollectionView on iOS 4/5 as a fallback and switch to UICollectionView on iOS6. We even use certain runtime tricks to create UICollectionView at runtime for older versions of iOS. Ideally, you just link the files and everything works on older systems…

Ideally, yes. In practice, no doubt this is a good opportunity for collaboration by us all, yes? (h/t: ManiacDev)

It’s even there for people too cool to use Objective-C:

Xamarin: Introduction to CollectionViews

RubyMotion: RubyMotion gets iOS 6, iPhone 5, debugger

And here’s other intros and tips to get you started … which will no doubt become a longer list in the nearish future:

UICollectionView Example (h/t @romainbriche)

How to Use NSFetchedResultsController with UICollectionView (h/t ManiacDev)

UICollectionView Sample code for iOS 6

A simple UICollectionView tutorial

UPDATES:

Example iOS Source Code Of A Customizable Coverflow Container Using UICollectionView

Beginning UICollectionView In iOS 6: Part 1/2 and Part 2/2

LXReorderableCollectionViewFlowLayout for iOS

Sticky Headers for UICollectionView using UICollectionViewFlowLayout

LXReorderableCollectionViewFlowLayout “Extends`UICollectionViewFlowLayout` to support reordering of cells.”

A Springboard-Like Layout With the UICollectionView Class

UICollectionViewWaterfallLayout “This layout is inspired by Pinterest. It also is compatible with PSTUICollectionView.”

How to Add a Decoration View to a UICollectionView

UICollectionView custom layout tutorial

MagrackCollectionView

Deleting cells from UICollectionView via NSNotification

Pinterest-style UICollectionViewLayout for UICollectionView

RFQuiltLayout “is a subclass of UICollectionViewLayout that positions various sized cells like a mason laying bricks.”

MSCollectionViewCalendarLayout ” is very similar to the “Week” view in the Apple Calendar/iCal app.”

UICollectionView Example with UICollectionViewFlowLayout

Workaround to vanilla UICollectionView+UICollectionViewFlowLayout using non-integral origins.

Custom iOS UICollectionViewLayout Modeled After The iCal App

Putting a UICollectionView in a UITableViewCell

mpospese / IntroducingCollectionViews has several samples from a conference talk.

How To Create A Rotating Image Wheel Using UICollectionView

Creating a Paged Photo Gallery With a UICollectionView

Continue Reading →
0
Page 3 of 82 12345...»