Define your Minimum Viable Product (MVP)

Minimum Viable Product

Why is this important?

I'm going to explain this in a little case study of my own Android development history.  It wasn't until I heard the concept of the minimum viable product that I really started to buckle down on my app and get something in the market.

Take time to learn

It took me a very long time to get my first app published.  Probably the better part of five years.  This was not because my first app was so complex and had so many features.  It was not because it required a lot of research from professionals and users.  It was nothing I wished it would have been.  Instead it was because I wouldn't take "less than" as acceptable.  I wanted my app to have every feature, all of the bells and whistles.  I kept thinking of ideas to add.  But then my app would get too big.  There would be too much code in too many places and seeing as how I was so early in my programming career, my skills would improve so quickly it became easier to start over than to correct old code. 

This is okay.  All good things take time to accomplish.  I wanted my first app to be the one that everybody talked about, the one that would sell for millions.  Again, not realistic.  What's realistic is taking the time to learn the steps to get me to this app.  And I honestly see it in my future, maybe not quite at that scale, and I sure won't be the only one behind it, but I know it is possible.

Don't get intimidated; keep coding

So I would start making a new app, a different app.  Something that wasn't even close to the original because that idea obviously didn't work.  I'd get a little further in to the development process than the previous one.  I'd spend hours upon hours focusing on tiny details instead of the big picture and I'd inevitably wind up in the same predicament.  It just didn't seem realistic to be able to bring an app to market.  Everything had to be perfect and I'm just one guy! And every day I'd hear about another wildly successful app, another team that made it.  They brought an amazing idea to market.  How did they do it?  I guarantee the majority of people that find success in Android development, or any software development for that matter, don't strike gold on their first try.  They had to start somewhere. 

MVP to the rescue!

Then near the beginning of my first published app, Don't Forget It, I heard something on an entrepreneurial podcast I listen to, Entrepreneur On Fire.  I don't remember who said it but I heard the concept of a Minimum Viable Product for the first time.  This is commonly abbreviated MVP.  An MVP is essentially the most basic version of the product you want to bring to market.  It was the minimum amount of features, bells and whistles, look, usability, etc. required to have something you can be proud to say you made and that you can put in front of potential customers.  It doesn't have to be great but it has to work.

This changed my world.  I couldn't believe people would do that.  I just assumed that would be a horrible idea.  Why would I think anyone would like anything but the best from me?

Well, a few reasons.

  1. I have no customers.  I thought if I build it, they will come.  Not the case.
  2. I have no idea what the app publishing process really entailed.  Or the marketing process.  Or the testing process.  And I don't take advice well.  I need to do it myself.
  3. I need to prove to myself, as a morale boost if nothing else, that I am capable of publishing an app.  Nobody else whose done it before me has anything I don't.  They can't do anything I can't.

For someone new to publishing apps, there is a lot to be gained by going through the process.  The whole process.  I knew Don't Forget It wouldn't be my last app.  In fact, when I started it, I never really intended on publishing it.  I just needed the tool for myself.  But once it started to become a real thing, I immediately thought I should throw in all of those bells and whistles.  But that's not realistic.  What I needed was just something to put on the store.  I needed some content in the world.  I needed a win and that's exactly what this was.  If there's a lesson I've learned from this, it's this: until you have something to show for your work, something that might attract the attention of someone else, you're not much farther ahead than when you started.



Create an Amazing Facebook ad with GIMP

Facebook ads are becoming a more common way for businesses of all types to promote on.  You can target specific audiences with a specific interest to make sure the right people see your ads.  You have control over the time your ad is ran and the money you're willing to spend on a campaign and best of all, Facebook will do all of the heavy lifting.  You, however, need to make the ad.  Here is a great, simple technique to produce a high quality ad for Facebook using GIMP.

This is the ad you'll be creating.


And this is how you do it.


1. Find your image

You need to use an image as a background for this ad.  It's not terribly important what image you use since as you can see, we blur it so its barely recognizable.  It's more important that the image has colors similar to the colors of your brand.  A couple great places to get free images are Pixabay and Pexels.   This is the image we're using for this tutorial.


2. Fire up your GIMP

Start GIMP and import your image.  Just go to File->Open and select your image.  The first thing you need to do, before anything else, is resize the image.  Facebook recommends a size of 1200 x 628.  To do this, click on the "Image" menu and click on Canvas Size.


Set the resolution to 1200 x 628 and click Resize. 

3. Blur the background

Next we want to create that out-of-focus look so our focus will be on the text of your ad and the call-to-action button.  Click on the "Filters" menu and scroll down to Blur.  Then click Gaussian Blur.  I generally set the Horizontal and Vertical Blur Radius to 50 but experiment with whatever works for you.  Click OK on the dialog to apply the blur. 

4. Fade the colors

This is the part where we accentuate your brand colors.  Click on the "Colors" menu and click on Hue-Saturation. 


Fade the Hue and Ligtness sliders to get the color you want.  Try and single out the one color that you most want to see.  Then drag the Saturation slider down to grey out the image but leave that one color that is now just a slight accent.  These are the settings I used.


5. Add the main text

Now let's add some text that says what we're trying to promote.  Click the Text tool, make the font size somewhere in the high 40's or 50's and set the justification for center.  Create a text box in the middle of your image.  Don't worry too much about placement yet since we will be fine tuning that later.  Then type your message.  So this is what we have so far.


6. Create the call-to-action button

Create a new layer and name it button.  Create a box under the text using the rectangle selection tool and fill it in white.

4bNow we're going to add a border.  With the rectangle still selected, click on the "Select" menu and click Shrink.  We'll be doing this a few times so remember that location.


On the dialog that appears, set the value to 2 and click OK.  Click the Delete key to erase everything inside the rectangle.  This should leave you with just a white border.  Then go back to the "Select" menu and click Shrink again.  This time enter a value of 1. Fill this in white.  You should now be left with the original white button with a slight see through border. 


Now add the button text.  For the color, I like to select a color just outside the border of the button to kind of make it look like the words are coming through the back of the button.  Or you can just color it black.  Your choice.  Then add your call-to-action text.  "Get this deal", "Take our offer", whatever you like.  We went with "Click to learn more".


7. Create the outside border

This is very similar to the button border except it uses the inverse colors.  Create another new layer and name this border.  Click the rectangle selection tool and click Ctrl+A to select all.  Go back to the Select menu and click on Shrink.  Enter a value of 32 and click OK.  Now fill everything inside with white.  Click Select -> Shrink and enter a value of 2.  Click OK and click the delete button on your keyboard.  You should be left with this.


8. Line it all up

The last thing we have to do is center the text and the button and Gimp provides a nice tool for doing this.  Create another new layer and name it Grid.  Go to the Filters menu, Filters->Render->Pattern->Grid. 


In the two boxes to the right of Spacing, type  157 for the horizontal lines and 200 for the vertical lines.  Then set the offset at 0 so the grid lines up with the outside.  This will give us perfectly sized boxes without leaving any space around our grid.  Now you just need to line up the text and button in the center of the grid.  It can be a little tough to grab the items you're trying to grab without moving anything else so I find it's easier to turn off the other layers using that eye icon in the layer panel. 


Once you have everything centered, delete that grid and you'll be good to go!

Thanks for having a look, there is a video tutorial here on my YouTube channel if you prefer video.  Good luck!

5 Things I Learned After Publishing My First App

I recently just published my first app, Don't Forget It.  The purpose of the app is to be able to quickly log all of those little tasks that come up throughout the day, picking up your prescription, calling a friend on the way home from work, things like that.  It came to me out of necessity.  I have a terrible memory and I have to do something about it.  It was an amazing process to go from a blank program to a fully working app but I could have made the last six months a little easier if I kept these things in mind.

1. It will never be perfect

It seemed that when I started the app, I had a very clearly defined goal of what I wanted the app to do.  As I continued writing it, I kept thinking of new features to add.  Some of the ideas were better than others but I was starting to lose the main focus of the app: log those tasks QUICKLY.  So I had to pick and choose which features to keep and which to get rid of.  But the real trouble lies underneath.  I am a team of one so with every feature that gets added, there is added time for implementation, testing, debugging, more testing, and so on.  I had to focus on that MVP (Minimum Viable Product) and get the app out the door.  There will be plenty of time to add the features later.  Having an app in the app store, especially the first one, is already a huge win.

2. Test test test

I almost published the app a month ahead of the actual date and that would have been a horrible thing.  I was antsy.  I just wanted to get it done already.  Late nights and early morning programming sessions were starting to wear on me and I was in a hurry.  But lucky for me, I am a little too much of a perfectionist.  I tested the app on my own phone for about two weeks every day before I even gave it to a friend to test.  And it was good that I did.  Software these days is held to an incredibly high standard.  How many times have you used an app or webpage, found one unresponsive feature, or something that just didn't work and said "I'm not coming back".  I sure have.  Take time to test.

3. You need some graphics

For some reason I forgot that once the app was ready to publish, I'd still need promotional material.  A few images at a bare minimum.  It's quick and easy but before you get blindsided by anything, make sure you have these ready to when you publish your app to the Google Play store.

  • At least five screen shots
  • Hi-res icon: 512 x 512, 32-bit PNG (with alpha)
  • Feature Graphic: 1024 wide x 500 high, JPG or 24-bit PNG (no alpha)
  • Promo Graphic: 180 wide x 120 high, JPG or 24-bit PNG (no alpha)
  • TV Banner: 1280 wide x 720 high, JPG or 24-bit PNG (no alpha)

And if you can do it, a little promo video is a great idea as well.

4. It's not as hard as it sounds

Honestly, it's not.  Persistence is the key.  Just don't give up.  Yes, there are plenty of apps in the app store.  Yes, there are a lot of scary statistics telling you odds of being the next Facebook are pretty low.  But you miss 100% of the shots you don't take (Wayne Gretzky).  You also don't make 100% of the shots you take.  More shots, more chances.  And just the feeling of having something in the world that anybody, anywhere can see is an amazing feeling.

5. Tell Everyone you know

I'm not big on self promotion.  In fact, I hate it.  But a little encouragement can go a long way.  It was about two weeks before I made a Facebook post about my app but when I did, the results were amazing.  Not amazing in the sense that it put Don't Forget It on the map, but amazing in the sense that a lot of my friends were happy for me.  They downloaded my app, gave me feedback, and just made me feel like waking up at 5 in the morning to program before work was kind of worth it. 
It's a long ride but well worth it.  I hope this serves as a little encouragement for someone looking to get into app development, or maybe needs a kick in the butt to finish theirs.  Good luck!

We just published our first app!

Don’t Forget It!  Our first app is in the Google Play Store.  This one was developed out of necessity for us and it’s what really launched Bag of Tricks Studios.  So many little tasks come up during the day that need to be dealt with by the end of the day.  But when our mind is engaged in something else, it’s easy to overlook the little things.  Enter Don’t Forget It (dun dun dun…).  This is the app that will take care of all of that.  When you’re deep in thought, working hard on a project, and you get a phone call asking you to pick up milk on the way home, Don’t Forget It is the easiest way to make sure you, well, don’t forget it.  In just a few clicks, open the app, type in “Get Milk”, set a reminder for 5:00 when you leave work, and you’re done.  You don’t need to clutter up your Google Calendar with little tasks.  You don’t need to write a post it note that you’re just going to lose anyway.  You don’t need to email yourself a reminder and have it get lost in the chaos of your inbox.  Don’t Forget It will remind you when it’s time and you’ll be on your way.  Get it here!

We just published our first Udemy course!

Hello!  We are proud to say that we are now an official member of Udemy, the website that teaches anybody, anything.  If you are not familiar with the site, Udemy is a marketplace of online classes.  People from around the world create online classes on anything from learning guitar to how to get better sleep.  And what sets Udemy apart from your average YouTube tutorial video is its strict policy on course quality.  Every class is monitored for strict audio and visual quality so the content you are paying for (or in some cases, free) is of the highest caliber.

Which brings us around to our topic.  We now have our first course on Udemy!  It’s a beginner’s class for learning Android programming.  Now, we know there is no shortage of Android tutorials so what sets ours apart is what I like to refer to as: Speed of Implementation.  It’s an hour and a half deep dive into the fundamentals of creating an Android app.  We leave out all of the fluff and repetitiveness of other tutorials.  We don’t waste time telling you how our day went in the videos.  We just get down to the essentials – creating apps!

We know everyone has busy schedules and just doesn’t have time to sit through several hours of class so we condensed several hours of information into one, short course.  Use this link here to get the class for free and let us know what you think!