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 xcodenoobies.blogspot.com.

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.

http://alden-tan.com/just-fuck-it/


______________________________


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

Hi.

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.

Hi

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.


Thursday, November 12, 2015

App Transport Security Settings Breaks Millions of Apps (Possibly)


iOS9, the final frontier. These are the voyagers of iOS seeking new bugs and new features and boldly go where no OS have gone before!

Star Trek intro is nerdy. I know right. xD

With iOS9, in an effort by Apple to make iDevices more secure, they introduced App Transport Security Settings thingamabob.

Unfortunately, it breaks some of my apps where the app intends to make connection to any HTTP:// url. With iOS9, only https:// (note the s, for secured http) request are allowed. So what the heck Apple.

This maybe sound as a trivial thing at first, but in many apps, we put links to our other apps in the form of http:// request - like affiliate links, link to our webpage, link to our other apps that are shortened (like bit.ly or glob.ly). So all those will break! Holy shmolly.

So, what do you have to do? Well, update your app, you must (says Yoda).

And in your PLIST file, add the following entry (as example, exception to my website domain):


I have no idea what the heck is TLSversion so don't ask me :D Just put it in, and you'd be good (make sure u test this before submitting, noob).

If you have more domain that you would like to iOS allow, then just add more dictionaries under "Exception Domains" with the same keys and values.

NSIncludesSubdomans = this means all your secondary domains (like iapps.emirbytes.com, noob.emirbytes.com, boxgames.emirbytes.com, yourmom.emirbytes.com, will all be excluded and allowed to load). You get the idea right.

Apple will be able to hold you responsible if you allow some shady domain to be requested by your app since they have data to prove that you allowed those sites. Ha! So yeah, ensure the sites you exclude in the list are safe... for your users' sake and uh, your own sake too. :D

So yeah. That's what's up with iOS9 that's kinda major thingamajigga.

Thanks for reading. Follow me for my development rants updates. Or not. Whatever.

Sunday, November 8, 2015

Weekend LOLs - How iOS developer check for internet

iOS apps that deals with sharing contents to internet, surely needs a way to check for connectivity (internet availability). There are proper ways of doing this. But many devs simply use GOOGLE, like so:


+(BOOL)isInternetAvail {
return ([NSString stringWithContentsOfURL:[NSURL URLWithString:@"http://www.google.com"] encoding:NSASCIIStringEncoding error:nil ]!=NULL)?YES:false;

}

If the app can access google, means there is internet. HAHA.

And there is Google thinking their homepage suddenly very popular. HAHA.

LOLLSSSS



Related Posts Plugin for WordPress, Blogger...