Phreak Show

I was fortunate enough to be a guest on iPhreaks Show. For those not familiar with iPhreaks, it is a leading podcast for iOS development. I talked about my experience on the App Store and how I created an app that was featured by Apple on the app store. 

You can listen to the episode using the following link: 

The App Store with AzamSharp

How to Kill a Flappy Bird?

screen568x568.jpeg

Unless you have been living under a rock, you must have heard of Flappy Bird! Flappy Bird is a really simple retro style game developed by Dong Nguyen which took over the App Store by surprise. Flappy Bird reached the prestigious number 1 spot on both the Apple App Store as well as Google Play Store pulling in $50,000 a day. 

This story took a twist when the developer, Dong Nguyen, announced that he will remove the game from all the stores in 22 hours. The developer explained that he has gotten too much fame in too little time and it is going out of control. Further investigation revealed that he was getting a lot of death threats from the users of the game because of the insane difficulty of the game. 

Initially, the 22 hour take down notice was perceived as a marketing stunt but Dong kept his promise and took down the game. 

With Flappy Bird not being available on the App Store or Google Play, interested buyers went to Ebay to purchase iOS/Android devices which have Flappy Bird installed. The price of the Flappy Bird game which comes with an iPhone ranges from $90,000 - $100,000. According to latest reports Ebay has pulled down several of those listings.

Apart from the preinstalled Flappy Bird devices, many different Flappy Bird clones cropped up after its death to cash in on its success.  

"In the end it was not the green pipes that killed the Flappy Bird neither was it the fall to the ground but it was the people who killed it."

 

 

 

 

 

 

 

 

 

 

Daily5 iPhone App is Now Open Source

Transient

Daily5 is designed to focus on daily accomplishments! The one of a kind beautiful interface allows you to add at most five tasks for a given day. Why only five? Well, life is short and we want you to enjoy it life rather then thinking about incomplete chores.

 

 

 

Features:

- One of a kind user interface which is attracted by the laws of gravity
- Plan for five days ahead
- Travel through time for up to 5 days in the past

Usage:

- Double tap to toggle between complete and incomplete state
- Delete the text of the task to remove it

https://github.com/azamsharp/Daily5

Wearables

Wearables is an exciting new technology that will be the main focus of lot of a lot of tech companies in the near future. Google has already entered this market with the prototypes of Google Glass, Samsung rushed out Galaxy Gear, Pebble has already released consumer version of their smart watch and Apple might release iWatch sometime later this year. 

For me personally I see a huge potential in Google Glass technology. Ability to seamlessly consume information without looking at your wrist or juggling phone in your pocket is extremely intriguing. One of many great practical use is to retrieve information based on the user's geographical location. This means if I am standing in front of the Colosseum in Rome I will get all the details about the Colosseum right there in my Google Glass.

This image is taken from http://www.hdwallpapers.in/walls/the_colosseum_rome_italy-normal.jpg

This image is taken from http://www.hdwallpapers.in/walls/the_colosseum_rome_italy-normal.jpg

Google glass can be extremely handy when you are shopping. Just by scanning the bar code glass can figure out if you are getting the best deal or a better price is available at a different store or location. 

Heck even TSA members can wear glass and perform a face recognition and pull up data on the person. Not only this will speed up the process but will also work to make our airports much safer.

Of course, not everything is rainbows and unicorns in Google glass world. There are also downsides, driving is one of them. Although I live in Texas I am against talking on the while driving. I also admit that I do this all the time but this does not make it right. I do believe that more and more people will be driving while using their Google glass which will be extremely dangerous. Although the Google glass owners argue that it does not obstruct the driving view but keep in mind it only takes a less than a second distraction to cause an accident. 

The other concern revolves around socializing. It always breaks my heart to see young people sitting in a cafe with their mobile devices pulled out and ignoring each other. Google glass is going to amplify this problem since it will give an illusion that a person is actually looking and listening to you while in reality he/she was just reading the messages on his/her Facebook wall.  

Overall, I am excited about the possibilities and I am looking forward to the wearable devices and how they help us in our daily routine tasks.

Speak Up!

I have been in software development industry for quite some time now and one thing that has always amazed me is the lack of South Asian speakers in the tech industry. The south asian community forms the backbone of the Silicon Valley but during conferences it perceives itself as a spineless community.

When I attended Apple Tech Talks couple of years back I was quite amazed to see that 95% of the attendees were white. During the conference I felt like a himalayan snow leopard, rare and going extinct. Some might argue that south asian do not like to spend money on these things. That argument will fail quickly since most of these conferences are open to public at no cost. 

Take a look at the CocoaConf speakers. Take a look at 360iDev speakers. See the pattern! Not even a single south asian speaker... none.. nada.. ZERO. This reminds me of a RubyConf a while back which got cancelled due to all white speaker list. I contacted RubyConf organizers and told them the reason you don't have any non white speaker is because none of those people ever applied.

Some people might have a wrong idea that even if they apply they will not get selected but I disagree with them completely. Couple of years back I applied for 360iDev and I was selected and it was one of the best conference I ever attended. I have been speaking at Houston Tech Fest for almost 5 years now. I have given sessions at .NET user groups and iPhone user groups multiple times. 

Presently, I applied for mdevcon 2014 in Amsterdam. Due to the quantity and quality of sessions my chances of being selected are very low but it is still better than not applying at all.

My message to all the south asians is to stop being a 9-5 person and wake up and try to change the world. Don't give excuses of not having enough time. I have wife and two kids and I still find time to work on my side projects, create screencasts, play cricket, swim etc. Stop living in a cave and come out and explore. Let your voice be heard.. Speak up!!  

 

 

On Rating Dialogs

There has been a lot of ongoing discussion on the subject of rating dialogs in the apps. I believe John Grubber started this discussion in one of his post, later followed by Marco's post and others. This is an interesting discussion since it affects both sides of the equation, the consumer as well as the developer.

If ratings dialogs are handled irresponsibly then it creates a poor user experience. Consider the app which pops up ratings alert on every launch. These apps if lucky are placed in "Do not launch" folder or deleted at worst. The developer side of the story is quite different. In order to survive in the app store developer's needs to obtain reviews from customers. App store algorithm is based on placing the highly rated app on the top while the unrated apps gets lost in the crowd.

Although most of the developers might think that there is no workaround to this issue but they would be wrong. The key to the solution of this problem is "How you ask". As mentioned earlier most of the apps show the ratings alert prompt on every app launch with only two options "Yes" and "No". We need a third option "Never ask me again". This simple option will instantly improve the user experience. If you are thinking that you just lost that review then you are wrong. If the customer has not rated your app several times when you hijacked the app then it is more than likely that they are not going to rate the app ever. 

In my app "Vegetable Tree - Gardening Guide" I did not implement a rating dialog. Instead I allowed the user's to contact me directly using the "Contact Us" option. This created a relationship between myself and my customer. After fulfilling their request I requested them to review the app and they did. If you visit iTunes page for Vegetable Tree you will notice that most of the reviews are because of excellent customer service or as I call it personal attention. 

You might argue that I was able to give personal attention because my app has less users but that is not the case. In peak months I received 20-30 emails per week and I replied to every single of them. If your app is becoming huge then maybe you should invest in hiring representative who will answer the emails. 

One other option was to simply put the ratings option buried in the settings screen. This will result in a much cleaner experience for the user allowing them to rate the app when they desire. 

I do not think that Apple should ban these ratings dialog as the developer's paycheck is directly tied to the user's response. But I do believe that Apple should provide some API's where the ratings should be performed in a more fluent fashion from right within the app thus persisting the user experiencing. 

   

Don't Don’t Start a Company, Kid

This post is in reply to Aaron Hillegass post on "Don't Start a Company Kid".

Time is changing! I do not envision my one year old son sitting in front of the computer and writing code 8 hours a day. I do not see him driving to work because he can connect from anywhere, anytime.

We are already experiencing this revolution in the form of apps on the app store. Most of the popular apps are created by startups. Of course not everything is fine and dandy in the startup world since most of the startup will fail before they make a single dime.

The Hacker News post Aaron mentioned is a very different scenario. The post is about a mature adult with wife and kids. He took a chance and failed! This is quite different for young people because even if they fail, they have ample amount of time to get back on track.

My advice to young kids is go start a company OR join a startup. It can be in the form of app (Instagram for dogs). The things you will learn in startup in 2 months will be more valuable than your 4 year degree. If you fail then look for other alternatives.  

Aaron wrote "The point is, old companies are desperate for innovation and they have the resources to take your ideas to fruition."

My experience has been the complete opposite. Old, well established companies moves like snails and kill innovation. Most of the companies are already running systems in COBOL. I have worked for at least 5-6 fortune 100 companies and it takes them eternity to jump on the bandwagon.

"You miss 100% of the shots that you don't take"

Adjusting UIBarItemButton for UIToolbar in iOS 7

In iOS 7 the Navigation Bar extends up to the status bar. If you are using a background image for Navigation Bar then it should be 64 points in height instead of the classic 44 points. The first 20 points belongs to the status bar and the last 44 points belong to the Navigation Bar. 

You can also set the tint color of the navigation bar background by using the barTintColor property.  

[self.navigationController.navigationBar setBarTintColor:[UIColor blueColor]];

The result is the following: 

Screen Shot 2013-11-11 at 12.26.24 PM.png

Everything looks as you expected. Now, let's see how this will look like when you are using a Toolbar instead of the navigation bar. The screenshot below shows how you will adjust the toolbar using Storyboards. 

Screen Shot 2013-11-11 at 12.30.02 PM.png

The result is shown below:  

Screen Shot 2013-11-11 at 12.31.57 PM.png

The bar item buttons are too close to the carrier label as well as the battery label. In other words they are not adjusted properly. The main reason for this issue is that the toolbar is positioned at origin (0,0) and it is only 44 points heigh. In order to accommodate for the status bar the toolbar needs to be placed at origin (0,20) as shown below:  

Screen Shot 2013-11-11 at 12.36.28 PM.png

Run the application and you will notice the difference: 

Screen Shot 2013-11-11 at 12.37.55 PM.png

Well, that kind of solves the problem but now out toolbar does not extends up to the status bar which looks weird. In order to fix this problem you will need to return UIBarPositionTopAttached for the barForPosition property of the UIBarPositioningDelegate. The UIToolbar already conforms to the UIBarPositioningDelegate delegate and returns UIBarPositionBottom. 

-(UIBarPosition) positionForBar:(id)bar { return UIBarPositionTopAttached; }

Now if you run the application you will notice that the toolbar extends all the way to the status bar.  

Screen Shot 2013-11-11 at 12.50.25 PM.png

Oops Apple Forgot to Enable Delete All Photos in iOS 7

I am about to leave on a short trip and I wanted to just carry my iPhone to take pictures. Being a parent of two kids my iPhone contained thousands of images of my children. I quickly backed up all the images using Google Picasso so I can free up my space. 

In iOS 6 if you go to Settings => Usage => Photos and Camera you can slide the Camera Roll row and delete all the images in the photo roll. Unfortunately, in iOS 7 this feature does not work at all. When you slide on the Camera Roll row nothing happens.  

The other option was to go into the Photos app and then delete the albums. Below you can see the screenshot.  

photo 1.PNG

You can clearly see that there is an empty space on the left hand side where you typically see checkboxes which can be selected to delete the items. Unfortunately, we see nothing but empty space.  

And to rub a little salt on my cut you can go to Settings and remove the podcasts right from the Usages options. 

photo.PNG

Recognizing iOS 7 Device on XCode 4.5

At my work I am using Xcode 4.5 (Don't ask me why). The iPhone and iPads I am using for testing runs iOS 7. When I plug in the device to run the app on the device it is not being recognized by Xcode since the latest version of SDK on Xcode 4.5 is iOS 6. In other words there is no way to install the app targeted to iOS 6 on a device running iOS 7 using Xcode 4.5.  

But there is!!  

Plug your device into a laptop that has Xcode 5. It will recognize the device and show the name of the device in the Xcode device selector. Once, all the device information has been downloaded you can unplug the device and connect it to the Mac running Xcode 4.5. Now that computer will also recognize the device and you can install your iOS 6 app on the device running iOS 7.  

Please note that although you can install the app you will not be able to debug the app!! 

Speaking at Houston iPhone Meetup Nov 9 2013

I am humbled to be speaking at the Houston iPhone Meetup on November 9 2013. I will be talking about my 3 year experience on the app store. The description of the session is as follows:   

In this session Mohammad Azam will take you to a personal journey through the app store. Azam will talk about how to challenge yourself to finish a product. The session explains how to get ideas and spark creativity for your new app. Azam will also explain the decision that went into his apps and what worked well and what failed miserably.

The session will also cover the idea of treating app features like mutual funds and saying NO more than saying YES. Azam will unravel the mysteries of app pricing and explain how to price your app correctly. Azam will also explain that how customer service will place you apart from your competitors and get you higher ratings on the app store.

In the end the 3 year app store journey in compressed into an hour of knowledge and experiences.

http://www.meetup.com/Houston-iPhone-Developers-Meetup/events/146819242/

 

Daily5

When I tell people that I am working on a task management application they look at me as if I am crazy!! Maybe they are right maybe I am crazy to venture into a market of highly populated apps. But I also believe that the main reason app store is so successful is because it gives infinite choices to consumers. After using almost a dozen task management apps I came to the conclusion that none of them satisfies my needs so I decided to build one myself. 

The app is designed around my life which also reflects the life of millions of people. As a parent of two kids and having a full time job with long commute I can barely find time to do anything. I researched and found out that in a given day I can only accomplish at most five tasks..maybe even less. I also found out that if the task has not been done for five days then it will never get done. Same goes for planning ahead of tasks which can be planned five days ahead. 

Daily5

Daily5

Armed with all that knowledge I created an extremely simple app called "Daily5". Daily5 exhibits a unique, simplified and beautiful interface that focuses on current tasks for the day. 

WTF! Another Task Management App!

There are hundreds of task management apps on the app store. Clear, Wunderlist, Remember the Milk and Things are among the top ones. Even Apple has ventured into this category by creating Reminders app. 

I have used most of the apps and was amazed at the functionality they provided but at the same time I was also overwhelmed. Quickly all of these apps became a black hole where people merely throw things they want to do but never get anything done. I am even embarrassed to examine my list since it contains item from last year.   

This never ending list gives us sense of failure and creates anxiousness. I wanted to create an app that restricts us from piling up the work that will never get done.          

Daily5 is a simple task management app that makes sure you don't pile up the work that will never get done. The design of the app is also one of a kind and very different from all the other task management apps that you have seen in the past. The simplicity, unique design and practicality will allow Daily5 stand out in a massive world of task management apps on the app store. 

Daily5

Coming soon...

Apple Activation Hell Solution!

Few minutes ago my new iPhone 5 was bricked!! Yup! a white screen saying Activation Required was displayed asking to activate the phone. I entered my Apple ID and password and tried multiple times to activate the phone but the activation server was down.  

All of this was very weird because I was using the latest version of iOS 7 for few weeks now. The error also indicated that I can activate through iTunes. Luckily for me iTunes update was also down.   

When iTunes is launched due to plugging the device it says there is an update but when force it to download an update then it says the iOS version is up to date

Currently, I am downloading the image from developer portal and hoping that restoring the phone to the image will work. I will keep everyone updated!!  

 UPDATE

I just downloaded the latest version of iTunes 11.1.1. It immediately launched itself after installation. It said "Updates available". But when trying to download the updates by clicking the check for updates button it says software on iPhone is up to date.  

SOLUTION:  

I logged into the developer portal and downloaded the latest iOS 7 IPSW file. I launched the iTunes and then used that to restore on my device (HOLD Option Key and press Check of Updates in iTunes and select the IPSW file). 

It works and now everything seems good and normal.  

People who are non-developers and who paid $$ to developers to install the BETA version of iOS 7 on their device might have to wait a little to update to the released version of iOS 7 since the activation server is down!