Want to create Pinterest like layouts in your next iOS app?

I have been quite busy last week on building some new iOS components I had in mind. One of them is a GridView control that lets you create dynamic cells with varying heights just like Pinterest has.

Watch the video about MasonryView for iOS. 

MasonryView for iOS from Sarp Erdag on Vimeo.

You can check it on BinPress and send me an email to send you a demo if you want to try it before purchasing it.

Fork SEHumanizedTimeDiff on GitHub

I recently open sourced a small NSDate Category that I use quite a lot while building social apps especially. 

It just creates humanly meaningful time intervals since / until today’s date. Great for use in timeline like events.

SEHumanizedTimeDiff is licensed under MIT and you can grab it here:  https://github.com/sarperdag/SEHumanizedTimeDiff

What is your true purpose in life?

I have been thinking quite deep nowadays… Here are some of my recent thoughts and the things I keep saying to myself for the last couple of days. 

Believe that you are on this earth, and you are who you are because of a specific reason. You have a reason to live and if you discover your life’s true purpose, all of your decisions will be much easier and your path will be clearer. 

Many of you have heard this saying: “There is no wind that blows right for the sailor who doesn’t know where the harbor is.” 

And the hardest part of life is not reaching your harbor, but discovering which harbor is yours to reach. 

Contrary to popular wisdom, you need to first feel happy inside and then you can reach success in life. When you are driven by your true purpose of life, you will have passion, courage, self trust and you will be happy in the way you are going on and it will be much easier for you to succeed whatever endeavor you have. 

What is your true purpose of life? 

While loading a custom UIView from a xib

Instead of this:

NSArray *bundle = [[NSBundle mainBundle] loadNibNamed:@”CategoryView” owner:self options:nil];

CategoryView *categoryView = (CategoryView *)[bundle objectAtIndex:0];

for (id object in bundle) {
if ([object isKindOfClass:[CategoryView class]])
categoryView = (CategoryView *)object;

}  

Isn’t this nicer and shorter? 

CategoryView *categoryView = (CategoryView *)[[[NSBundle mainBundle] loadNibNamed:@”CategoryView” owner:self options:nil] objectAtIndex:0];

SESpringBoard is now paginated!

I just added some paging support to my new iOS control. Now if you have more than 12 items in your stack, it is gonna get paged beautifully and will have a page control in the bottom of the screen.

You can grab SESpringBoard from GitHub and use it in your projects freely. Be sure to fork it if you have some ideas for any additional functionality :)

Decided to learn Objective-C and iOS?

So you are learning Objective-C and all about the iOS framework to create iPhone apps. Keep in mind that you are investing in a closed platform and it might not be as valuable as today in 2-3 years time.

Investing in HTML5 and being able to create multi-device apps faster than writing ObjC, will be much more important in the future. 

In the end, everything is about user experience and about the ability to use APIs to reach private functions of the devices. 

Learn iOS and ObjC, but know that the moment HTML5 has the ability to provide the UX native apps have, it will be over. 

How much does it cost to develop an iPhone app?

Many times we are asked how much we would charge for developing apps like X, Y or Z in the App Store. This is quite an immature question. 

If you want to get a house built you don’t ask the builder how much it will cost in total. You might build a pre-fabric hut with no windows or doors or you might want to get a huge medieval castle. In the end, both are “houses” that you can live in.

Apps are similar. Think about the thousands of recipe apps. There is Jamie’s Recipes and there are a ton of little weekend projects listing static recipes content. Like any other software, development costs for mobile apps depend on how much time the developers spend on it, and how high quality it will be. 

If you are gonna get an app developed by an agency or a freelancer, it is better to think about how much you can afford and check the hourly rates around. It all depends on your budget.

SESpringBoard: A customizable launcher for your iOS apps

I have decided to release as open source, a part of the latest app we are developing for a client at Apperto

It is a custom springboard for you to use in your iphone apps. Although it is quite against Apple’s user interface conventions, it might come handy especially when you need have lots of menu items and don’t find the classic Tab bar big enough. 

Anyway, grab SESpringBoard from GitHub now and feel free to fork it and stuff. 

The URL is dying

I am almost certain we will not be seeing an address field in web browsers in like 3 years time. 

How many of you are actually typing a site’s url to the address field? What you do is to just Google it even if you know the address perfectly well. Or you use your bookmarks.

We are living in the era of smartphones and apps. The web is not dying but it is changing form. Instead of individual pages, brands and apps are gaining importance. In the end, a URL is the ugliest thing to remember and interact with for the non tech-savvy.

Think about just a brand name. Same everywhere on your desktop, mobile or tablet… That’s how it’s gonna be, no URLs, no dot coms, no domain names. 

That’s why, I am also giving a thumbs up for Raven, a new browser that just turns your favorite sites into apps. 

Homebrew and PIL on Snow Leopard

Installing the python imaging library has always been a PIA for me after something screws up in my Mac OS X setup and I do a total reinstallation. I am still sticking to Snow Leopard because I do not trust Lion’s stability especially for developer tools for the upcoming 6 months or so. 

So this weekend’s small task was to install Snow Leopard and everything all over. This included setting up Google App Engine’s environment too for doing further development on GrupGuru.com.

Anyway, the fastest and easiest way to install PIL is over Homebrew, which is an excellent package manager, especially if you think MacPorts is driving you crazy. And here in 3 steps, you get PIL installed nice and easily.

brew install pip
$
export ARCHFLAGS="-arch i386 -arch x86_64"
$ pip install pil

Tags: pil homebrew