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"
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:
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.
The result is shown below:
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:
Run the application and you will notice the difference:
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.
Now if you run the application you will notice that the toolbar extends all the way to the status bar.
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.
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.
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!!
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.
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.
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.
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.
I published a screencast on UIKit Dynamics yesterday. It is a basic introduction to UIKit Dynamics which includes gravity, collisions etc.
Check it out!
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!!
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.
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!
We are very proud to announce that Vegetable Tree 3.0 is now available on the app store. Vegetable Tree 3.0 reflects a beautiful iOS 7 design with the focus on the content.
We removed all the distractions when the user is browsing through our catalog of vegetables.
We have added a new beautiful calendar for iOS 7 design. It looks absolutely gorgeous!
We are very excited about the new look and we hope you enjoy all the updates and new features!
If you set a budget of $100 to buy yourself a car then most probably you will end up with a shitty car. The same is true for when hiring a mobile developer to create your next app. For the past few weeks I have been researching on several different websites about the iOS contracting jobs. The result has been disappointing! Almost 95% of all the postings start with "I need a simple project..". Apparently, it is not that simple that is the reason you posted the job right! In this post I will discuss some of the work that goes into creating a mobile app.
Every technical solution does require some level of creativity but building an app just requires more. The app development process is different from creating a website since an app can be presented in many different ways while a website is usually flow or column based. When creating an app you also have to pay special attention of how it will be used by the user. This process is different when creating a website since the user has the advantage of using the pointing device to perform the navigation. During the development of "Vegetable Tree - Gardening Guide" I paid special attention to where the user was focused and displayed events at that location on the screen. Just like a physical mobile device, a great app become an intimate part of a user.
Identifying theme is an important part of the application. Theme includes primary and second colors as well as the their relationship with natural objects in the world. The primary color in Vegetable Tree app is green which represents vegetables, organic, health and the secondary color is white which represents calmness, serenity and peace. You can avoid identifying themes but then you will end up with a rainbow colored pony,
Although an iOS app developed for an iPhone will work on an iPad just fine but it does not only have to be just fine. Creating a universal app takes time and effort. Although your services layer remains the same but you have to rethink your interface design. I have worked with clients who insisted that why we have to redesign the interface for an iPad when iPhone is already completed. The simplest way for me was to press the 2X button.
After working on tons of iOS applications I have realized that writing code is not the main thing. Don't get me wrong writing clean code is an extremely important task which must be dealt seriously. But I believe that simplicity of the app is far more important then any other aspect of development. When looking at different gardening apps I was quite amazed that every single app listed harvesting days as a single integer value.
Days to harvest = 128
The above would be fine if the apps were designed for computers but unfortunately, they were designed for humans and humans don't process mathematical information quickly. A much better way of writing the same information would be in plain English.
Harvest in more than 4 months
The above information is simple, concise and beautiful.
If I have a budget of $200 for an app then I would spend all of it on the icon. An app icon is the life and blood of an app. Icon is the first thing users come across and it is the path to your app. If that path looks like trash then no one will walk on it.
I am not a designer and that is why I spent my budget of $150 - $200 hiring someone else to create the Vegetable Tree icon.
Realist vs Hobbyist:
It is always a good idea to separate out the realist from a herd of hobbyist. The website howmuchtomakeanapp is a good starting place. The website allows the user to go through a series of steps and then come up with an estimate of creating an app. The emphasis is on the word estimate. This tool will allow you to separate out the serious customers among people with $100 in their pocket and an idea!
Most people tend to outsource their projects and hire developers for $10/hr. They are really proud that they have finally found the alternative and saved a ton of money. Unfortunately, the reality is on the other end of the spectrum. When you hire a cheap $10/hr developer you get an app which reflects those $10/hr. Most of the projects I have worked on were initially awarded to offshore companies. The client spent hundreds of thousands of dollars in making those application and it turned out every single app ended like crap! I am not saying that offshore developers are stupid and illiterate but I am saying that a great developer will charge reasonable amount no matter which part of the world he/she resides in.
If you read this point and was wondering where I am going to list all the prices of type of apps then you will be disappointed because I won't. The purpose of the post was to enlighten you as what goes on when developing an app. This post touches only the tip of complexity in developing mobile applications. In the future I will cover other aspects of true cost of developing a mobile application.
I have always been interested in the idea of standup desk but never was interested in spending hundreds of dollars. Last year we did wood flooring in our TV room and I thought that maybe I can use the same wood flooring to create a flat surface for a standup desk.
The beauty is that if after using for couple of months you get bored with the look of the desk you can always go to the hardware store and buy a different color of wood/vinyl flooring, this will keep things spicy!
Most of the wood flooring do not require any glue to join them together. You can just connect them one by one. This also gives you the opportunity to create weird looking surfaces. Since, you are always applying the downward force on the wood floor surface they are not going to become loose and be intact all the time
Everything will work best if the table being converted to standup table is sturdy. Currently, I am using a foldable table which is not as sturdy as I would like. Also, for the height I am using book but you can use coke cans or printer paper etc.
So, that's it! A standup desk that will cost less than $10. I will be experimenting with my invention over the couple of months and will update how it stands up to the task.
I worked on a small iOS app for a community. The app is called "My Chandas" which means donations. It uses local SQLite database to track the donations, budgets etc. The app also has the ability to take pictures of the receipts and attach with the donation amounts.
You can download "My Chandas" for free from the app store using the following link:
You can find the code on Github using the following link:
I am hosting a FREE webinar on Introduction to iOS development. This webinar is for people who have never done any sort of iOS development. The session will cover which devices to buy, signing up for developer membership, tour of the XCode and very basic Objective-C language.
More details are below:
Time: 7:00 PM - 8:00 PM US CENTRAL TIME
I am a .NET programmer by day and iOS developer by early morning and weekend. By reading the last sentence you can guess where my true passion lies. Few days ago I was having a conversation with my mother where I was telling her that my current project is too boring for me and she replied with "It's a job!". I was kind of stunned with this answer since I heard the same exact answer from my uncle and another friend few weeks back.
I completely disagree! Job is an important part of our lives. Most of us work 8 hours a day with commute added it turns out to be 10 hours daily for five days a week. A person's job shadows 2/3 of his/her life. That is a huge chunk of life. Most of us are constraint by family, location, benefits etc.
I tend to fill the void of enjoyment by waking up early in the morning and working on my own personal iOS projects hoping that maybe I get to do this for the 2/3 of my life.
What is your story? Do you see your kids doing the same type of job you are doing?
It is quite unfortunate to witness so many developers give up their dreams because of the ABD Syndrome. ABD Syndrome or Already Been Done syndrome is an illness where a developer discards his/her idea only after searching for its existence.
Most of the things in life have already been done! Does that mean we should stop doing those things? Love songs have been composed, action movies have been made, horror books have been written etc.
Imagine a world if every developer was thinking like that! We would not have awesome tools like TweetBot, Clear and many more!
The journey on already been done road should not be seen as a dead end but as a fork with multiple creative destinations.