Successfully reported this slideshow.
Your SlideShare is downloading. ×

Lessons Learned Making Android Apps As A Side Project

Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Ad
Upcoming SlideShare
Buget planning system
Buget planning system
Loading in …3
×

Check these out next

1 of 18 Ad

Lessons Learned Making Android Apps As A Side Project

Download to read offline

Lessons learned from three paid apps on the app store with the first two published in December 2012 (the third was published in March 2013). With two full years on the app store, I thought it was time to look back and try to pull out some lessons learned. I hope the presentation will be useful to other developers thinking of making their own Android apps.

Lessons learned from three paid apps on the app store with the first two published in December 2012 (the third was published in March 2013). With two full years on the app store, I thought it was time to look back and try to pull out some lessons learned. I hope the presentation will be useful to other developers thinking of making their own Android apps.

Advertisement
Advertisement

More Related Content

Advertisement

Lessons Learned Making Android Apps As A Side Project

  1. 1. Android Apps As A Side Project Lessons Learned After Two Years Rand Graham rmcore.com
  2. 2. Why Android? ● Ecosystem ● Your Background ● Self Contained ● Portfolio ● Create Value rmcore.com
  3. 3. Always Check The App Store ● User Request ● Useful to You ● Fix Complaints rmcore.com
  4. 4. Best Book To Get Started ● Up To Date ● Code Samples ● Office Hours ● Multiple Formats ● Perfect For Side Project rmcore.com
  5. 5. Don’t Fear Design: Icons rmcore.com
  6. 6. Minimal Design ● Use A Theme ● Use Action Bar ● Use Icons ● Style Text ● Style Buttons rmcore.com
  7. 7. Talk To People ● Designer Referral ● ActionBarSherlock ● Feature Suggestions ● After Shipping: Users rmcore.com
  8. 8. The Emulator Is Painful Three Reasons 1. Paid Alternative Genymotion 2. Developers Don’t Use It 3. Microsoft Makes A Better One rmcore.com
  9. 9. Always Test On A Device ● Emulator For Development ● Use eBay rmcore.com “Java is a belt fed 240G automatic weapon where sometimes the belt has rounds, sometimes it doesn’t, and when it doesn’t during firing you get an NullPointerException, the gun explodes and you die.” Bjorn Tipling source
  10. 10. That Time I Shipped A Crash Bug ● Sanitize User Input “Also app crashes when trying to use decimal as em values for input widths.” rmcore.com
  11. 11. Sharing Is Easy rmcore.com
  12. 12. What is a JAR? Most Android libraries use Apache 2 rmcore.com Some Favorites ● AChartEngine ● ColorPickerPreference ● aFileChooser
  13. 13. Android Security ● Cannot override the home button o Make a home screen launcher o Example: MobiLock Kiosk Lockdown ● Cannot send email directly o Prevents device becoming a spam relay rmcore.com
  14. 14. Android Fragmentation Are the vast differences in possible screen sizes a problem? Not so much. rmcore.com FUD Actual
  15. 15. Best VCS For Side Project: Git Bitbucket Always use version control rmcore.com
  16. 16. Greatest Rewards Evidence of Value Creation “I used to pass around a pad and pen and then it would take me about a day trying to read everyone’s handwriting, not easy. When I do figure it out, many times emails bounced back because a letter was misread. The app makes things error free.” Happy Customers “Fantastic! Thank you for the update! I really appreciate it!” Portfolio rmcore.com
  17. 17. Q/A Questions? rmcore.com
  18. 18. Keep In Touch Check out my website at: http://rmcore.com Email: rdg at rmcore dot com Twitter: @rdg_rmcore rmcore.com

Editor's Notes

  • The Android robot is reproduced or modified from work created and shared by Google and used according to terms described in the Creative Commons 3.0 Attribution License.
  • Do you already own an Android device? (Or do you own a Macbook?)
    Do you already know C/C++ or Java? (Or do you already know Objective C?)
    A lot less moving parts than a web app.
    Gives you something to show during an interview. Potential to move your career in a new direction.
    Exchange value for value and make some money on your side project. My strategy is to offer paid apps. If the user sees the value they pay for the app. A straightforward approach.

    http://rmcore.com/android-apps-side-project-lessons-learned-introduction/
  • Which one is a paid app that competes with free?
    Which one was made from a user request on a forum?
    Don’t make a paid app when there are popular free alternatives.
    There are three good ways to find an app idea.
    Build something users are already asking for.
    Make something useful to you. Sworkit as an example of scratching your own itch http://www.sworkit.com/
    Search app store for popular apps that have complaints. Fix them. Example of slideshow apps and uploading to youtube.http://rmcore.com/paid-android-app-compared-free/
  • Hard copy is out of date by the time you receive it.
    Old books came with CDs. This code is on github.
    Text chat based office hours
    Comes in PDF, epub, mobi, and as an apk
    Format and samples are perfect when you don’t have a lot of time
    http://commonsware.com/Android/
    http://rmcore.com/best-android-book/
  • You don’t have to be a designer. Don’t let publishing something ugly be a stumbling block. Easier than ever to hire a designer.
    Which icon was custom created by a designer?
    Which icons were created from public domain clip art?
    Ways to Get An Icon
    Pay a designer.
    Use fiverr.
    https://www.fiverr.com/
    Make your own.
    http://tekeye.biz/2012/free-android-icons-via-clip-art
    https://openclipart.org/
    More links:
    http://rmcore.com/android-app-icon-design/
    http://rmcore.com/android-icon-links/
  • You can have a good looking app by doing a minimum amount of work.
    The Action Bar provides a consistent user experience on the Android platform. It also highlights your icon.
    Use Stock Icons
    Visual impact of stock icons
    http://www.kalzumeus.com/2006/08/26/the-visual-impact-stock-icons-make/
    Style text beyond the system default to make it look better.
    Same with the buttons.
  • Talk to people. You never know who has experience and could provide a referral.
    They may even turn you on to best practices such as the Action Bar.
    Once you have something working, put it in people’s hands and ask for feature suggestions.
    Provide and easy way for people to email you from the app and ask if they have any feature requests.
    Pay attention to repeated requests.
  • Is Google embarrassed by the stock Android emulator? Perhaps they should be.

    “As anyone who's used the Google Android SDK will know, the emulator it includes is desperately slow and totally unenjoyable to use. “ source:
    http://arstechnica.com/information-technology/2014/11/visual-studio-2015-goes-even-more-cross-platform-with-clang-android-emulator/
    http://blogs.msdn.com/b/visualstudioalm/archive/2014/11/12/introducing-visual-studio-s-emulator-for-android.aspx
  • The emulator is good to get started. You will find bugs that you don’t see on the emulator when you test on a real device.
    You can buy test devices off of eBay.

    Note: It is possible to debug Android device over WiFi
    http://www.techrepublic.com/blog/software-engineer/debug-android-applications-over-ethernet/
  • Users asked for the ability to set the field width.
    What could go wrong?
    Treating a float like an int in Java caused an exception and a crash bug.

    Note: the customer of the paid app was very respectful while I fixed the bug and shipped an update.
  • On Android, artifacts such as images can be shared from your app in four lines of Java code.
  • As a new user of Java, I learned about Java archives.
    These are powerful because they are so easy to integrated.
    Avoid app bloat by limiting total number of JAR files included.
  • Home key press not delivered to app:
    http://developer.android.com/reference/android/view/KeyEvent.html#KEYCODE_HOME

    https://play.google.com/store/apps/details?id=com.promobitech.mobilock
  • There is hw fragmentation.
    Possible CPUs Arm, MIPS, Intel Atom (mobile x86)
    MediaCodec API because devices have different hw accelerated audio and video codecs

    There is different sw on same device.
    Update video drivers with OTA update.
    GPad LG vs Google sw on same device.
  • Github is more famous. Github charges for private repos.
    Bitbucket hosts private repos for free.
    Git doesn’t require running a server. Makes version control fast.
    Don’t really learn it until you use it.
    Always use version control because you can revert files.
  • Customer Case Study:
    http://rmcore.com/collect-email-addresses-android/

    Portfolio:
    Both sides of the table.
    One of the best candidates I had when interviewing had worked on an app during college.
    Helped when interviewing for my current position.

×