Inspired developers, here we bring you precious advice directly from the big guns. So if you want to watch out for any guidelines on how to develop your app, the following blog offers direction, methodology and a systematic approach to ensure your app development faces the least friction and ultimately earns a raging success.
Considering the importance that the mobile applications have gained in the current market, it is understandable that every business is thinking about developing mobile apps so that they are not left behind in this technological race.
Let’s gain some insight from these big experts.
Designation: Chiref Editor of Drdobbs.com
Here are some advices that surely helps you out:
- Read a lot code by excellent developers. Not by the guy at work with three years’ more experience, but world-class programmers who have written open-source software.
- Know your tools well. Spend the time to learn what all the features of your IDE do and use them.
- Write a lot of code and get feedback on it from good programmers.
- Plan your code before you write it. By this, I mean actually write down what it’s going to do and how, use diagrams, even if drawn by hand. Don’t scrimp on this.
- Write tests as you code.
- Read about programming. This last point is less important than points 1-5, but long-term it’s crucial to your continued growth.
Designation: Founder of M.A.D. Men
- Hire a reputable development company, in your own country of origin, if you are not developing and coding the apps yourself.
- Write a business plan and try to stick to it. This will keep you focused on goals, benchmarks, and the like, which is vital to achieving success.
- Conduct thorough due diligence on the competitive landscape, so as not to waste your time and money on an idea that has been done, or is ahead of you in development.
- Don’t tell anyone your idea! This industry evolves at the speed of light, and there are many individuals and companies with more money, just waiting to steal your idea.
- Budget! You will need to spend at least double the cost of developing the app in marketing initiatives post launch.
- Discern which ecosystems you want to launch your app on, whether Android, iOS, Windows 8, BlackBerry, etc. Consider an exclusive relationship with iOS, which may benefit you in the long run.
- Expect the unexpected, and have a surplus of money for just such obstacles. Nothing in this industry goes as originally planned, so have a contingency plan for every issue you might encounter.
- Test, test, test! When you launch your app in the real world, it will likely be used, touched, swiped, probed, crashed, started, reset in ways you didn’t imagine. Make sure your app has been thoroughly tested BEFORE you launch.
- Price it right! FREE still reigns in the app world, so consider in-app purchases and/or advertisements as a means of generating your revenues.
- Solicit reviews and ratings. You won’t succeed, no matter how good your app is, if you don’t get hundreds or thousands of people to rate it highly and write positive reviews. Don’t get caught dealing with suspect companies that offer to sell you ratings and reviews. This takes a grassroots effort, but will pay off BIG in the end.
Designation: iOS Engineer at Adam and Luna
I’ve been developing iOS apps for 5.5 years and there are some things I wish I knew when I started. I’ve divided this into a few sections talking about different parts of getting started.
How to get help when you are stuck
One of your best resources will be Stack Overflow. If you ever have any questions ask them there; however, be careful to think through the question before you post. You will never get better unless you try and figure stuff out on your own. Also, when you post, don’t just post all your code. Ask about your specific problem.
Another resource is local iOS meetups. I didn’t even know these existed til about 3 months ago. Checkout http://www.meetup.com and see if there are any near you. These meetups really help you get better and get help because you can talk to and get help from more experienced iOS developers.
How to learn about good practices
Once you have the fundamentals of iOS development down, I recommend going to github.com and reading some code from other people.
I don’t know much about your background but if you don’t have a background in design, I recommend checking out the design section of Nathan Barry’s website Design | Nathan Barry (just to let you know, I worked for him so I am a little biast).
Learning the basics
So there are a few ways to learn the basics of iOS programming. First, if you don’t know another more basic language, I recommend learning one before you start learning Obj. C. Obj C. can be a very complicated language so it’s best if you already understand programming concepts. After you know the basics of programming, I would either get an iOS programming book and/or just start watching videos on youtube. Start by searching for “iOS SDK Hello World.”
Designation: Entrepreneur, Founder at Towards IT Technology Pte Ltd
Here’s some of my tips:
(From a business point of view)
- Ensure your app idea is something different from other existing apps(Innovation).
- Greater improvement over an existing app(Enhancement).
- Choose a smartphone SDK(Software Development Kit) carefully for a learn start and future development.
(From a developer point of view)
- Read up on Android, iOS, BlackBerry development.
- Read up on best practices when developing or designing your app. This ensure your app is stable for future development, less bug and is at top notch performance.
- Have a strong passion with a never die attitude to complete and polish the app!!
Designation: Global Business Development – Mobility (Consumer & Small Business) at Dell
- Define your audience and make sure that you continue to develop for them.
- Ensure that you are providing a value add and not just replicating what they could do through a web browser.
- Define your distribution plan.
- Know the competitive landscape – what is your differentiating factor?
- Keep it simple and fun!
Designation: Head Software Engineer at Rewardme.com
The best way is to get your hands dirty. Start with a simple app idea. You’ve used other iOS apps before so stick to doing some simple things you’ve seen before. Keep yourself focused by doing a layout of all the views, what you want to happen in each view, how to get around the app and when you want to finish it.
Here are a few bullet points that will act as a nice little launch pad before you deep dive into iOS:
- What view controllers do and how it interacts with a view. Know what MVC is. Here you’ll learn and must know what CA Layers and delegates are. Delegates are so sexy. Once you learn how to use them and figure out how to create your own protocols you’ll wonder how you ever lived without them.
- How to manipulate the view. Within this area you can create and play around with custom views using Core Graphics.
- Figure out how to add animations when transitioning between views. Add animations within a view. Learn how to chain animations. Know what blocks are. Blocks are super duper awesome.
- How to add touches and gestures events.
- Don’t get too sucked into how the app looks, but know how to add and manipulate view elements. It takes a lot of time to get everything just right. Stay true to what you’ve already laid out.
- Don’t forget to code with empathy for yourself and others!
Designation: Mobile UI/UX designer, iOS developer at Hipmunk.com
Learning Objective-C is pretty important advice if you’re going to start your career in iOS development. There are all kinds of alternative tool chains out there that purport to let you skipping learning Objective-C.
What you’ll find, though, is that the very best, most polished (non-game) apps are built with Apple’s tools. So learn them, if you’re serious about doing good work on the platform.
Use nibs when they make sense. Pay no attention to the whackadoodles who say never to use nibs. Their advice will create many tedious lines of repetitive code in your future.
Without more specific guidance, it’s hard to know what to tell you. I’ll say this:
Matt Neuberg’s book on learning iOS 5 is easily best-in-class and maybe one of the better programming books yet published. Very readable and he covers the entire stack of knowledge necessary. Many books assume you already know C/Objective-C. Neuberg starts you from the ground up on both languages. If I’d had this book when I started, things would have been infinitely easier.
Designation: Talent Acquisition, Mobile & E-Commerce Developer at Bestbuy.com
Start with a small, simple app and push it through the app store approval process. Learn and understand the full life cycle. Always focus on:
- Simple Fluid Design
- Functions Well
- Provide huge value to the users
Designation: Founder, CEO at Appbackr.com
- Give a clear, concise, and well-written description of your app.
- Have defined, precise goals for the money you raise, and for how much you want to raise.
- Tell users why the app will be a success – market opportunity, using the latest iOS features.
- Tell users why you will make it a success – your experience, education, awards, drive.
- Market the app campaign with emails and social media, keep your network with the app’s progress.
Designation: CEO/Owner at Appaholics
Facebook: Raghav Sood
- Never, ever, ever do processing work on the UI thread. It makes your app laggy and gives users a crappy experience.
- Follow the Guidelines laid out by Google. A holo app that is consistent with the system provides a better experience than one that isn’t.
- Under no circumstances should you try to replicate iOS (or Windows or BlackBerry) UI on Android. It is unintuitive for this platform, and makes your app harder to use.
- Follow Lint warnings. They exist to help better your performance, code quality and compatibility with future Android versions.
- Don’t abuse permissions. Never take a users private data and upload it somewhere (like contacts or SMSes etc.) without their explicit consent.
- Don’t be afraid to use third party libraries. ActionBarSherlock, Holo Everywhere, NineOldAndroid etc. help provide a consistent user experience across OEMs and Android versions.
- Google provides you with almost everything you need to develop apps for Android.
- Device testing is always faster and more precise than emulator testing, especially when using Nexus devices.
- Don’t reinvent the wheel. Many tasks you want to do have been done before and many of them are available prebuilt as well written and efficient libraries.
Having a blue print to your strategy plan is always a safe place to begin with, knowing that above all consistency and determination are the key notes to get the job done. Here’s hoping you develop an app that tops the charts and makes the entire process worthwhile! Best of luck!