Sunday, October 16, 2016

How to REALLY Enable "Slide to Unlock" in iOS 10 on iPhone and iPad

Kinda expected it.

Friggin Apple double triple standard on apps they approve.
Reason for the Unlock for iOS10 deletion is:

"We found that your app only provides a very limited set of features. While we value simplicity, we consider simplicity to be uncomplicated - not limited in features and functionality." 

Well I am not gonna argue or resubmit. They approved even a lot simpler app than this.

So, anyway, as such, I release this awesome app's source code here. So you guys can copy and use it in your iOS10 devices. Heck. You could also submit it to appstore if you like. Maybe they'll approve it.


What Unlock for iOS10 does:

Basically allows you to Unlock your Home screen without pressing Home button or using any Touch ID. You just need to press Home/Power button once (as usual), and then slide to right side to reveal the Today's widget and tap on the Unlock button.

Techincal concept: It is a today's widget. Nothing complicated. On that widget, you put a UIButton. On that button you wire up an IBAction to open up the main app, and on the main app, you terminate itself (by calling exit()). Hey presto, you have unlocked the screen!

I am using this app on my iPhone 6 right now. It is a bit slower than the old slide to unlock, but slide and tap to unlock is way better than second press on the physical Home button. Long Live Home Button!

I hope someone could make this app into the appstore, I'd definitely use it.


Sunday, September 18, 2016

iOS10 and iPhone7: My thoughts

Hi babe, ;)

Apple has come a long way. Steve Jobs (RIP) ideology in Apple products revolutionized the world in the IT sector. The Mac, the mobilephone, the OS. All being pulled towards his direction and style.

Lets be honest, iPhone is built with excellent user friendliness. The first iPhones were built to be so simple that anybody (even a baby) can play with it. Heck even cats are playing with it XD. The concept is simple - a device with big screen, with touch sensors. And minimalistic iOS. Each apps in the iOS works in its own sandbox.

Among the best feature of iPhone to me is, the Slide to Unlock. I even make a tutorial back then on how to make the Slide to Unlock feature in your app. See HERE. Which is why the latest iOS10 is so disappointing to me - THEY DELETED THE SLIDE TO UNLOCK FEATURE! Now users have to press Home Button (again) to go to Home screen.

Many blogs wrote about how to enable the Touch ID so you can unlock with just fingerprint. Problem is, I have a condition where my palm and fingertips easily get sweaty so Touch ID doesnt work like 50% of the time. Quick access to the Home screen is a MUST! So I don't know why they complicate it with needing to press buttons twice. It is NOT a hard job, but it basically doubles the usage of the Home button. And we all know, how long the Home button lasts before it malfunctions.

I am countering this stupidity as I write this blog. I saw an opportunity to add an unlocking feature without pressing any physical buttons and I am making it. The app is called "Unlock for iOS10" and currently is Waiting for Review. Lets hope it gets approved.

Easy Unlock will basically enable unlocking of your iPhone with iOS10 WITHOUT THE USE of Home button, or the TouchID trick. I am using the app myself right now on iOS10 and I think it is great to save that extra clicks on the Home button. If you want to check it out, go here:

PS. The app is not approved yet on 18 Sept 2016. Check back later when it is approved.

Anyway, the iOS10 feels the same in my iPhone 6 which is good news. I hate any iOS update that make the device lags. The noticeable change is the FUGLY Home Screen font! WTF IS THAT FONT? I don't know. Apple engineers probably were drunk when they chose that font. The second noticeable change is the new design for the Widgets/Notification/Control Center - which is... meh.. ok I guess. They now appear as white floating window.  Most of my apps that I ran on iOS10 WORKS NORMALLY. And this is the thing that makes me happy the most - coz I don't have to update them. HA! And finally the EMOJI looks nicer. Guess they become more realistic than before. Perhaps in iOS20 it will be like this:


As for iPhone7, I think the removal of HP jack is a big mistake. While one still can listen to music with earpod with lightning cable, but one can no longer listen WHILE CHARGING. I am SPECULATING Apple might have integrated a "wireless charging" contraption inside iPhone 7. And perhaps Apple will announce it later after its own Wireless Charger Mat is released. That would be awesome. If I am Steve Jobs, that is what I'd do.

Other than that, I think the iPhone7 cool feature is the fact that it is waterproof. I have always wanting to take photos in the pool or at the beach in the water. It really makes me want to get the iPhone 7 :P But since my iPhone 6 is still considerably new, I have to put aside the desire... that said, if anybody want to donate me an iPhone 7, it'd be great... XD

Sunday, August 21, 2016

The End of Solo Indie Life 2016

"The AppStore. The Final Frontier. These are the voyages of the starship IndieDev. Its many-years mission: to explore strange new frameworks, to seek out new libraries and new SDKs, to boldly go where no man has gone before."

.. and the starship crashed. Hahah!

The Apple Appstore is violent and non forgiving. Back in 2009 or even earlier, if any developer releases an app, they're bound to make comfortable amount of money. Heck even the fart app made a lot of money too. There was iBeer, iTank, iCrap, and so on. LOL. Many people who were struggling in life, joined the bandwagon (me included) and started to make a living from the Apple App Store. Back then, a group of decent apps will get you between 500 to a few thousand dollars.  There were some solo devs who were making 10s of thousands of dollars too with a list of exceptional apps, especially those who releases on multiple platforms (android was gaining popularity too at the time). And some even resort to cheating - gaming the appstore to make money. But it is a risky move since many have their account terminated due to this. I, as a believer of honesty in everything, did no such thing.

A small minority of these, even ended up making a lifetime worth of income. Earning millions of dollars. Instantly turning them into CEOs and Founders of new game development companies. Back then, once you are FEATURED, you're all set. But your app must be great. If it is substandard, features won't get you to the top, instead it kills you fast with negative reviews.  Right after your're out of a feature, it is a downhill journey. FEATURES are basically a double-edged sword.

For me, my first break was the iQuikSplash app - a "clone" of Color Splash but with a different method to splash colors. Color Splash relies solely on Manually selective areas (drawing with finger) to splash. Color Splash is a simple app, but it is very well made. The design is intuitive and easy to use. The pan and zoom feature especially is great to detail an area.

iQuikSplash however selects a color by iterating the pixels of a photo and choose the "similar" color to the one selected by the user. For example:

User selected color:
R: 10
G: 90
B: 10

This, is basically green-ish color. So what iQuikSplash does is, iterates through all the pixels, and if the color is "close to" the user selected values, let them be, if it is "far from" the user selected color, turn it to black and white.

In pseudo-code, this is

if (pixelcolor-usercolor<=range) 
  pixel = pixel; // no change
} else {   
  pixel = greyscale;

range is the adjustable slider that user can change.  Grayscale is just (R+G+B)/3.0.

Result is something like this:

It automatically "select" any area with similar shades of color in a photo. Cool isn't it?

This "smart" (I guess it was "smart" to me at least hahah) method to splash a particular color caught the attention of an Apple Reviewer and they featured my app in New & Noteworthy back in Feb 2010. The app was free though. This feature shoots the app into #2 Top Free Photo App in US App Store. It was also featured at over 70 countries worldwide. And at that time, I didn't even know what are mobile ads. I did not even turn it into a paid app while it was featured since I have the word "FREE" in the icon. That, plus the fear of Apple deleting my account if I suddenly change my app to paid while the icon says free, made me not change the app price to $1. That was a big opportunity loss for me. Could've easily earned $10K or $20K per day. Instead I earn 0 during that few days.

During the feature, fellow indie dev in forum told me to add a link in the free app to a paid app which I already have in  the App Store (AppliFX). I quickly updated it and request for expedite review and boom AppliFX became Top 20 in Paid Photography category. The money was good. But only for a few days and once iQuikSplash is out of Feature, the app sales of AppliFX drops dramatically.

The mistake here was, AppliFX was a totally DIFFERENT APP. It is an app with different sets of filters. Back then I didn't know a lot about apps marketing & strats, appstore, basically the whole shebang. I only know how to make an app. Since then I often visits the Business & Marketing forums in iOS Apps forums like iphonedevsdk[dot]com and toucharcade, reading other people's posts and learning from them.

Back then, iQuikSplash gets a tonnes of NEGATIVE REVIEWS. Because of lots of things. One of the thing is because of Apple's own feature "Rate Upon Deletion". It is pretty stupid really - iOS asked people to rate app that they delete. Like what the hell. Obviously the user hates the app, that's why he's deleting it and asking to rate is like saying "hey, wow you're deleting this app? come lets trashtalk about it in appstore! yay!".

What I really love is to get feedbacks directly from customers. Mind you, this is A FREE APP. Nobody ever care about a free app. But I WAS GETTING FEEDBACKS FOR A FREE APP! I really love that. That there are people actually appreciate my free app and wanting it to be fixed or made better. Among the features that people asked was "draw area" like Color Splash app, so I added that. I also added a feature to save the photo in Full Resolution, which at the time, many apps didn't have. Later on, I added a "PRO" version of iQuikSplash with more features and added ads in the free version. I also added Affiliate links to earn extra money from that. That time, LinkShare was the thang. Now affiliates don't seem to worth any more unless your sales are really really high.

The app sales was doing good. Not monumental, but enough for me to support my family comfortably. I then continued making more apps - notably iQuikDOF (which adds out of focus effects to areas), Label Craft, iTronixPal, and recently HazeToday and SwagStats for Dota2. I also made some games to learn SpriteKit. The apps sales were quite stable for 2 years at least with good "spikes" on December/January. The sales started going down, around April 2013. The Apple stock  first dropped around this time too.

Chart: Trend of total downloads (including free apps) for all of my apps/games in AppStore from 2010 to 2016 at the end.
(First spike: Feature of iQuikSplash).

Being solo indie developer means, you do everything, alone. From concept, design, graphics, codes, publishing. It is hard work. Work all day, all week, all nights. Which might explain why I have so many grey hairs at 39 years old today xD. And it is not about making new apps only but also updating and often remaking old apps that no longer works (or was made badly) in new version of iOS.

From 2013, I continued to persevere, making new apps, and updating existing apps to make them better and so on, but nothing is far from the truth:

1. More Giants and Experts Software Companies are Joining The AppStore. (Tough competition)
2. The AppStore Market is Saturated with millions of apps.
3. The AppStore App itself  (search algo mostly) make app discoverability super hard.
4. People are less interested to spend money (not even $1) on any apps. (except games).
5. People are bored with apps.

So finally, I decided recently to get a day job and abandon the indie life because I can no longer support my family with apps and games. Good bye indie life. I still enjoy making apps and games. I will probably continue making simple apps and games during the weekends and small updates for my existing apps and I will continue writing tutorials over at

To fellow indie devs, I wish you all the best with your apps and games. I guess I don't really care if I am an indie or not, since I am still doing the same thing that I love the most - DEVELOPING APPS! XD

Finally, Stats of my top apps since beginning:

iQuikSplash (now called LiveSplash): Total 1.62Million Downloads
LiveDOF (now called LiveDOF): Total 1.24Million Downloads

Check out the apps (ITS FREE!)

Tuesday, August 2, 2016

Just Fuck it - Shit Happens, Deal With It and Go On.

Hi people. Came across this superb writing in imgur. This basically sums up what life is all about
and how to take it.

Fuck it. Just fuck it. I asked for a girl’s number at a club once. She just shook her head at me. Whatever. Fuck it. I walked away. I’ll get to know other girls. My first ever girlfriend didn’t allow me to have sex with her because of God and shit. She manipulated me to break up with her so she could be with her ex, and they were sleeping together. Whatever. Fuck it. Bitches be bitches. I’ve had better relationships after her. I nearly flunked out of college after my first semester. The dean made me go see him and shit. Whatever. Fuck it. Studied harder after that and doubled my GPA. Graduated eventually. Didn’t give a fuck about other kids who kept comparing grades and based their self-esteem on it. Dad died when I was only 20. Whatever. Fuck it. Moved on eventually. I struggle with my business. Whatever. Fuck it. I am learning and I am proud of my art. I make less money than my peers. Whatever. Fuck it. I don’t spend on needless shit like they do. Wrote some articles. Nobody read or shared it. Whatever. Fuck it. Continued to write. The girl I thought I’d marry disappeared on me at the end. Whatever. Fuck her. I don’t need to deal with toxic people who don’t want to act like adults. Not even sure if anyone would give a shit about this answer. Whatever. Fuck it. It’s not about trying to convince your mind or whatever. Things go wrong all the time. Nobody is perfect. We’re all just playing along and trying to figure it out along the way. This is a fact. Whoever told you otherwise is nothing but a god damn liar. Just live. Do your shit. Do your work. You’re not an idiot. You learn shit. Just keep on keeping on and stop overthinking the shit out of everything. That’s pointless. If at this point you feel like you’ve a ton of questions and you’re like, “But, but, but…” Whatever, just, whatever, okay? Fuck it. It will be okay.


Sunday, June 19, 2016

How to Download GIF images from Twitter Mobile App.

GIF Animation is really fun.

It's advantage is such as to show a short movie that doesn't require a movie player. Post it on a website and it autoplays it nicely.

Giphy is a cool website that stores all the GIF you need. Many other social sites make use of them too. Some of these GIFs are then shared to Twitter, but you will find that you cannot download them!

That is because the downside of GIF is its size. It can be really huge file (in the 10s of MBs) for a short animation. Thus many sites convert them into compressed format and display them as needed (in their server is the compressed version, and displayed through other process). This makes the GIF unable to be downloaded as a normal image can.

To download GIF from your Twitter Timeline in your mobile phone, you can download this awesome app: GIF Grabber for Twitter. The app parses the compressed GIF image and processes them frame by frame and finally converting it back to a normal GIF image. It is pretty cool.

So if you find any GIF you love in your Timeline, you can easily download it into your device Photos Album (or export to other apps as needed) with this app. It is really easy to do (internet required).

PS. GIF Grabber for Twitter was developed by me xD. 

Monday, April 4, 2016

How To: Create iOS App Preview Video


I made my first App Preview video today. It was for my latest game called Dodgy Traffic. At first, I thought, making the app preview video involves recording the simulator. Then it occured to me, simulator runs very slow for SpriteKit games.

So I tried recording from the device straight away using my iPhone 6 and QuickTime player. But I would really like edit the video and trim as needed and join clips together. So I create new project in iMovie and imported the videos however iMovie turns it into a landscape sized movie. This can't work because iTunesConnect demands a video the same size as the screenshots. (For eg, App Preview video for iPhone6 must be sized 1334x750).

So I did more research on it (ie Google xD), and found out that iMovie 10 on Yosemite can produce App Preview video. There is actually a menu option to create App Preview! Didn't even notice it lol. How awesome is that?

Just click on that and start editing the video clips as you normally would. But bear in mind the duration of the video must NOT exceed 30 seconds (iTunesConnect requirements).

Then just click the share button at the top right hand corner and select "App Preview" (see pic below)

The size of the video is around 12MB for a 20sec clip. I then chuck it in Handbrake, ensuring the size is not altered, selecting H.264 video codec with variable framerate, constant quality (FP set to 20), format set to MP4, and process that - it gives me a new video of only 2.8MB!!!! Quality is not compromised. It's great because it means the preview video will load faster. Thank you HANDBRAKE!

So that's how you make App Preview video. I just made one for iPhone 6 dimensions, because I don't have iPhone 6P and iPhone5 or iPad Retina. That's it for now. Hope this post helps someone in making their App Preview video. Good bye and have a nice day!

Friday, March 4, 2016

Chartboost - Account Suspended out of the blue.


I would like to write about recent experience with Chartboost. One of ad network that I used in some of my iOS games since years ago.

I put the ad because of recommendation from a friend, supposedly they provide better revenue. Truth is, revenue is just average. I get even more from Google Admob.

What I want to talk about here is how they simply SUSPEND my account without any explanation with data backing up their claims. Supposedly I gamed their ads to get revenue. But truth is, I just put the ads in my game and forget. That's how I been doing for so long. I put admob in and forget about it. I put iAd in and forget about it. I leave to the market to decide. I may play my own games a little for beta testing and pre updating, but that's all. I don't even click on any of the ads. Why would I do that because I am aware that is against the rules for all ad networks!

So recently, they simply suspended me and end of story. I replied asking to know more details but no reply. Because to be honest, which stranger want to tap on the ads ON MY GAMES PURPOSELY everyday so that I get more revenue? I know the rules, and I won't be breaking it by doing it myself either. So wtf? My suspect is their rival/competitor doing. But I also dont have any proof.

Anyway, good riddance. Im sticking with the big boys - Apple iAd and Google Admob. Bye Chartboost, FOREVER. And saying NO to all other smalltime ad networks company too. What's funny is after they suspended my account, they even have the nerve to send email advertising to me their programs and shit! Seriously? WTF!

Bye Chartboost. Boost your checking system and maybe provide proof if you accuse me of something that I did not do. Unless you're being unjust and you're ok with kicking people out without solid proofs.

Related Posts Plugin for WordPress, Blogger...