UICollectionView Doesn’t Fill The Screen. Leaves a Top and Bottom Thin Black Margin

If you have a UICollectionView in a UIViewController, you might see something like the image shown here. There are two horizontal black space running across the top and bottom of the Cell. The reason for this is because you might have

- (BOOL)prefersStatusBarHidden {
    return YES;
}

The spacing seems to be space set aside for the status bar.

Screen Shot 2014-03-28 at 11.45.44 am

Next Set of iOS Queries to Answer

  1. In the storyboard, which layout to work in? 3.5 or 4 inch?
  2. Do you drag the size of your view all the way to the edge of the 4 inch? How does this affect the 3.5 inch view?
  3. In a navigation controller, the Top Bar pushes down content when there’s a scroll view. It doesn’t push it down in a normal view. Why?
  4. How to manage autolayout and scroll view?
  5. Should you lazy instantiate all of your properties all the time? Including all the UILabels and UITextFields?
  6. Assuming I want the height of a view to occupy the few screen, what should the height of the UIView be in a navigation controller (with and without the status bar)
  7. In View Controller, what does Extend Edges — Under Top Bars/Under Bottom Bars/Under Opague Bars

SEO Growth Hack on PropertyGuru

PropertyGuru is the biggest property search engine in Singapore. With Singapore taking the crown for Most Expensive City in the World recently, this is a pretty damn good time to be a property search engine. 

One of the features of a paid account with PropertyGuru is that Agents get a website for free. Here are a few examples:

They all have the same boiler plate layout with data extracted from their PropertyGuru account.

That’s a pretty cool feature, double dipping the data twice and charging the agents for it. But that’s not the growth hack. Each deployment of this custom website comes with a bunch of static pages which are actually removable by the agent.

Screen Shot 2014-03-04 at 2.34.59 pm

Each of the static pages are targeting a set of keywords. For example, in buying guide, the keywords targeted are: residential property, HDB, private residential property and executive condominium. Links with those anchor text leads back to their website whereas links leading to other websites have anchor text labelled as ‘here’.

Screen Shot 2014-03-04 at 2.35.33 pm

While this is great for PropertyGuru, it’s not so great for the individual agent and the reason for this is duplicate content. When Googlebot sees 10,000 different pages all with the same content, it’s going to place lesser value on each of these pages. To a certain extent, it will also affect the link juice following back to PropertyGuru. However, the benefits seem to outweigh the negatives for now as PropertyGuru is absolutely killing it at the moment.

If I were PropertyGuru, I would start randomizing the content generated by these static pages and inject ‘unseen’ HTML to make each page seem more authentic. Another thing that puzzles me is that PropertyGuru seems to be leaving link juice on the table. Given that they have full control over the content, a listing page like this: http://www.81238888.com/13971572 ought to have a link back to the original listing on PropertyGuru as well. Perhaps they are just being cautious.

If I were a Property Agent, I would definitely host my site on my own domain and set up a Real Estate Themed WordPress implementation. Over reliance on one marketing channel is a very risky long term strategy. Content marketing and promoting your own brand is definitely the only sustainable long term online marketing strategy.

If you’re wondering what Growth Hacking is, check out my previous blog post: Growth Hacking. What is it?.

First App on the App Store! But wait.. what’s this?

2014-02-27 00.14.01

My first iPhone app, Urban City Wallpaper, just got published to the app store today! *confetti*

But that’s not the interesting bit. What’s interesting is that I actually submitted 2 apps. Both with identical source code. The only exception was that one app is calling /r/earthporn end points and the other is calling /r/cityporn endpoints, both on imgur.

One got rejected, the other got accepted. The earthporn app got rejected because it crashed when there wasn’t an active internet connection present on the device. It’s a legitimate bug which I’ve since patched and resubmitted. Now the same bug probably exists on the cityporn app but it got through. Actually it got reject also but it was due to keyword stuffing on the app title. I removed it and it got through. Funny enough, the earthporn app is also keyword stuffed but Apple hasn’t said mentioned it yet. Let’s see if it gets through. If it does, I’ll essentially have two different rejections reasons for 2 idential apps, each getting away with the other’s rejection.

FacebookSDK/FacebookSDK.h file not found

If you’re messing about with the Facebook SDK (version 3.12 as of my writing) for iOS and you’re getting “FacebookSDK/FacebookSDK.h file not found” error while building, you may need to re-add the framework.

  1. Build Phases
  2. Link Binary With Libraries
  3. Here FacebookSDK.framework is already added but click on + symbol to re-add it
  4. Add other
  5. If you didn’t change the install path when you installed the pkg file, it should be located in ~/Documents/FacebookSDK
  6. Build and run again