Wednesday, October 26, 2011

Bigger and Better

It's been a little while since my last post because it has been a very busy past few weeks.  ScoreApp has limped along to very mediocre sales, but it was a great learning experience.  I've had some very high-level discussions with the board of directors (which consists of me and my wife) about the direction of CloudApp IT, LLC.  We laid out goals and a business plan that will help us achieve those goals.  Despite our dud on the first app, we're going to continue to focus on the App Store and it's potential.  Our ultimate goal is to make this business sustain itself and be able to adequately support my family.  We've got a long way to go before we get there, but here is one of the things we're going to do to start.

Our Next App

We're obviously not going to be able to buy a value meal let alone support ourselves with ScoreApp.  But we are going to identify some things that we did wrong as well as things we did right with ScoreApp and go to our next endeavor.  Here are some key areas that we want to improve:


  • Genre - When you program an app, you spend a lot of time with it.  When you market it, you have to spend even more time with it and really be excited about the content of it.  ScoreApp was a good, fun little utility.  However, it was not something that I wanted to spend all of my free time on and tell all my friends about.  It was simply a learning experience.  To make our next app succeed we're hoping to pick a genre and idea that will be a lot more exciting for us.  We've decided to take a stab at a slightly new, slightly re-invented social networking idea that I personally think will be pretty neat.
  • Artwork - Of all the pointers that people gave us about our last app, artwork was by far the most universal negative point.  Everyone who looked at our app had design pointers.  And to be honest, I designed everything from a programmers point of view instead of a users point of view.  I took cool little graphics which I ripped off and stuck them in my app with no thought of how they meshed with the rest of the app.  I updated the app graphics a little bit with version 1.1.  It gave the app a completely different look, but it still isn't going to be winning any awards.  Our next app will feature some more well-thought layouts and graphics.  They will probably be subtle graphics and nothing amazing, but I'll spend a little more time in UI quality assurance before releasing the next app.
  • Pre-Launch - The most important days of an app are probably the days right after launch.  When you're a lowly app developer trying to break on to the scene, these first days are when your app has the most visibility on the App Store.  You'll be featured in the new section of your chosen genres.  You'll likely get a few looks from customers that you wouldn't get on keywords alone.  So, if you generated a little bit of monmentum for you app prior to that launch day, you'll give yourself an even better chance to succeed and stay featured on the store.  Before launching, we're going to have the entire infrastructure in place.  Facebook page, support materials, website, contact info, etc.  We hope to have all of this up and try to get at least a little bit of traffic there prior to launch.  We've also made friends with a few reviewers out there and we'll try to get them on board with our app launch and see if we can leverage those relationships as well.
  • Updates - As mentioned a little above, a lot of time goes into making an app.  You have to love the app if you really hope to do it right.  I'm excited for this app and have a road map of where it will go in the future.  I'm excited enough about the app that I will probably update the app even if the user base never comes.  I want to do it just to prove that I can and so I can use it for my own entertainment.  Updates put subconcious thoughts into people's minds that the app is alive and evolving.  They respond to that.  They share those apps with their friends.  If nothing else, they see your icon to remind them about your app when the go to perform updates.
  • Pricing - pricing models are a mystery to many people.  The way you price your app could mean success or failure.  I'm going to have to look at this aspect a little more thoroughly before releasing the next big thing to make sure I get it right.
Well, those are a few points that I am going to consider and improve on for our next app adventure.  Stay tuned for more as we begin development on our next big thing.  Until then, reach for the clouds!

Monday, October 10, 2011

ScoreApp Update

A little more than a week after releasing my first app and I think I will now start to focus on other future apps.  Here is a recap of what I've been up to the past few days with ScoreApp:

New artwork:  I have added new artwork to my app.  There were some definite design issues in ScoreApp 1.0.  It had a really pretty wood background and some blue text that would often get washed out.  There wasn't enough contrast.  So I switched to a more standard background.  I really like the cross-hatch grey standard Apple designed background, so I just decided to use it in my app.  It cuts down the download size of my app, and looks really nice too.  I also changed the look of my buttons.  I stuffed some buttons in the tool bar before and some I left out of the tool bar and used a button image.  For consistency, I converted all of my buttons to images of a brushed metal texture that I whipped up on Gimp.  The contrast and colors were kept pretty neutral and I think they pop a lot better than before.  And, of course, the icon was updated.  I posted it in my last blog entry if you'd like to see what it looks like.  I like it a lot more.  Simple, not overly complicated.  You can tell what the app does quickly by looking at the icon.  It may not be absolute professional graphic design, but it is a big improvement over my last design in my opinion.

Review sites:  I've mentioned review sites in my past posts.  App-score.com has continued to be a very friendly site that reviewed my app.  They gave my app a 6/10 rating, which honestly is about what I was expecting.  I know that there are some short-comings with it, but it's a decent first attempt at the app store.  Here is their review:  App-score.com Review  I've since been in contact with them and they may be doing an updated review with the new version 1.1 of ScoreApp in the coming days.  I imagine that they review will appear in the same spot with the same url once it comes out.  I'll keep you posted on that.

Other than these few updates, I've not really been spending too much time on ScoreApp.  Sales have hovered right around a couple downloads a day, and some days those couple downloads are the promo codes that I've handed out.  But, it's been a great learning experience and I'm now going to be moving on to a couple other projects.  This past weekend, my wife and I sat down and wrote some 1 week, 1 month, 1 year, and 5 year goals for our business.  We really want to get to the point where we can be spending our working hours on these apps.  We really believe in this platform and happen to love working with it!  In my next post, I'll reveal a couple of our goals and let you know how we plan to achieve them.  Until then, reach for the clouds! 

Wednesday, October 5, 2011

Updating my App

Today's post will be pretty quick. The app has been on the App Store for a little less than a week and it is not getting the kind of success that I would have hoped. But I have learned a ton about the App Store, about my app, and about business in general. Here are some highlights of what I have learned: 

1. Appearance is everything!

 I've asked for feedback from many sources on my app. Without fail, the reviewers have noted that my UI and icon could use work. I am partial to the style of icon and UI that I chose to use, so I apparently had blinders on. No one else, besides my lovely wife, liked the graphic design of my app. I was humbled, but glad that people gave me this feedback. I'll look forward to more feedback that is brutally honest as I continue in the app store. I'm going to be redesigning my app and hopefully it will look somewhere in between professional (which I am not when it comes to graphics) and amateur. Here is a sample of a possible new icon:

2. Keywords are important

 It was obvious that keywords are important for apps on the App Store. My keywords were fairly obvious, or so I though. I'd but "score keeper" and "score" in the keywords. But I missed some nuances that could have helped my app launch more successfully. Things like "score keeper" return almost 100 results. "Score keeping" returns far less results and may be more effective. I'm going to revisit the keywords of my app and I'll let you know if that affects sales.
3. People are old and devices are small

As a developer, I always try to maximize my available real estate. I use the highest resolution settings my monitor will allow and use pretty tiny font generally. But iPhones don't have much real estate. And what real estate they do have CAN NOT be overcrowded or you will get complaints from users. People don't like clutter. They like iPhones because of the clean lines, no mess design. They expect the same from their apps. I assumed a certain amount of iPhone literacy with my design of my app, and it got lost a little bit. Rule of thumb is, if you can decide for the user, do it. If you can make something simpler, it's worth the time it takes to make it happen. Keep it simple.

 4. Don't get too discouraged

 I kept telling myself that I was not going to blow all my fortunes as soon as I earned my first paycheck from Apple. I had to prepare myself not to get too high off the awesome results. Well, the same is true on the other side of the spectrum. Low sales the first day was not the end of the world. My best days were actually yesterday and today. An even keel is always the attitude that you should have with the App Store. Keep at it.

 Well, those are just a couple of the things I learned the past week with my app. I'll keep you posted going forward as I prepare and update my app for the first time. Until then, reach for the clouds!

Friday, September 30, 2011

We're on the App Store!

After all of the waiting and watching, we're finally on the App Store!  Yesterday evening I was on my way to the lake to get some wake boarding in when I received the notification from iTC mobile (the mobile itunesconnect app) that my app was "Ready for Sale".  And now begins another waiting game...

I never really thought of what was going to happen once my app finally made it to the store.  I tried to prepare my app, throw out some tweets, get this blog started, etc. in preparation for the app the launch, but now that it is in the store, I didn't know what to do initially.  I started with iTunesConnect, trying to see if anyone had bought my app.  This was a fairly frustrating morning to have an app launch though.  iTunes Connect was acting very strange this morning and wouldn't let anyone see sales and trends reports.  It was nuts.  I went to like 5 forums and everyone had the same frustrations that I had.  I had to wait from 7:00 till about 13:00 to finally be able to log in.  Then when I logged in, NOTHING.  The reports are lagged a day, and my app had no data yet.  :(

As I was determined to find out if anyone had purchased my app yet, I began thinking of ways I could figure it out.  Then it hit me that a last minute feature that I added to my app might help.  Google Analytics.  It was very easy, maybe 5 minutes of work, to add analytics to my app.  Google has made it so easy to do.  The only negative with including analytics is the size of the library you have to include in your app.  It's a little more than 1 MB which pretty much doubled the size of my app.  But oh well.  It was worth it.  I anxiously logged on to the analytics portal and checked out my app's activity.  Low and behold there was some activity!!!  We had a couple of people in Europe and a couple Americans that had sent some activity over.  I was ecstatic!  


As the day went on, there was little to no new activity in analytics.  I began to worry about what to do now.  I've put a lot of work into the app, and I didn't want to give up that easily.  So I set out to find some review sites that would take a look at my app and give some exposure and feedback.  App-score.com was the first site I encountered and they seem like awesome people!  Rob from app-score.com emailed me literally within 2 minutes of submitting a review request.  We exchanged 3 or 4 emails and he seemed like a nice guy.  I gave him a promo code and hopefully  he'll review my app.  That got me excited about review sites, so I went to half a dozen more sites and submitted promo codes and review requests.  Hopefully that will give my app a little more exposure and it won't die within one day of releasing.

In any event, I've had a lot of fun with ScoreApp.  It's been really exciting and we've still got some work to do.  I'll report my success or failure with the review sites and update you on activity in my app next time.  Until then, reach for the clouds!

Friday, September 23, 2011

App Store Submission

Last night I finally submitted my application to the App Store.  The process was very simple and streamlined.  The hardest part of the process was writing an adequate description for my app.  Although I am really trying to get things right with this app, I have kind of grown anxious and just wanted to get the app out there.  Here are a couple of my experiences and how I dealt with them:

Artwork: 

Artwork is not my strength when it comes to making apps.  I can get around okay in Gimp and Inkscape or Photoshop and Illustrator, but I don't proclaim to be a pro at any of those programs.  Creating the icon for ScoreApp was an adventure that I hope turned out okay, but only time will tell I guess.  I think it looks nice, so I guess that's all I can do.  To create the artwork for my app, I tried to do everything I could in Inkscape.  Inkscape is a free Illustrator alternative.  It creates and edits SVG files, with stands for scalable vector graphics.    I created the logo in that format so I could easily export it to any size that I wanted.  The artwork I had in my project included the following files:

  • icon.png - icon for iphone 3GS and earlier home screen
  • icon@2x.png - icon for iPhone 4 home screen
  • icon-settings.png - icon for iPhone spotlight
  • icon-settings@2x.png - icon for iPhone 4 spotlight
  • default.png - iPhone launch image
  • default@2x.png - iPhone 4 launch image
  • iTunesArtwork.png - icon for the iTunes version of App Store
  • screenshots.png - screenshots for the store, without the status bar included.
  • and the background, button, toolbar graphics - for in app graphics

It was the most artwork I've ever had to create in my programming career.  I usually just put in requests to real graphic designers at work when I need something.  But I think the resulting look and feel of the app is pretty good.  Hopefully, if there are some real designers out there, you can download my app when it comes out and send me some feedback so I can improve in the future!  Thanks in advance.

Logistics:

The logistics of getting my app submitted were very straight forward and simple.  After my app was complete, I logged on to itunesconnect.apple.com and requested my distribution certificate by following the easy instructions posted there.  Then I installed the certificate.  Then I created and downloaded my distribution provisioning profile, which was also a breeze.  At any time before or after all of these steps, you'll need to set up your App in the "Manage Your Applications" section of iTunes Connect.  This process is also very straight-forward.  Just set everything up according to the instructions on the page.  The SKU number is an internal identification number that you use for your product.  You can make up anything you want there.  I just put a base number in there and it accepted it just fine.  After getting your app to the point the it is "Ready to Upload Binary", switch back to Xcode.  In Xcode, you'll need to build your app in a different way than just running it in the simulator to get it ready to go.  First, you'll need to make sure that your targeting your iOS device and not the simulator.  That threw me for a loop and wasted about 15 minutes of me trying to figure that one out.  In the build settings, make sure that your distribution profile is selected in the code signing section.  Then from the Product menu choose Archive.  Archive will be greyed out unless you select iOS device instead of the simulator.  Once it finishes Archiving, the Organizer will pop up.  Select your newly created archive, click "Validate...", enter credentials, click "Submit...", enter credentials, sit back and watch and then your done!!  That's all there was to it for me.  Quite easy, quite slick.

Waiting:

Now begins the fun part.  The waiting game.  I came across a cool website that tries to gather statistics for how long the review process takes.  Check it out at http://reviewtimes.shinydevelopment.com/ if you'd like.  I've had my app submitted for about 12 hours now and counting.  I'm pretty anxious to see how it goes, but I guess patience is a virtue.  I'll keep you posted on what happens.  Until then, reach for the clouds!


Monday, September 19, 2011

Let the Coding Begin!

Well, another week has gone by and it's time for another post.  This past week has been a lot of fun!!  I've been able to scrape together quite a bit of time to dedicate to things iOS and iPhone and things are going really well.  I'm putting the finishing touches on ScoreApp, my first iPhone application.  I'm going to be submitting it to the App Store hopefully by the end of the week or early next week.  I'm treating this app as a learning experience and am getting a lot of the infrastructure that an app needs together for this app, even though I really don't think it will be the next Angry Birds.  The more time I spend with Xcode 4, iOS and Objective C, the more I like it.  Here are a few of the things that I've learned in the past few weeks:

Memory management was the number one thing that I didn't like when coming from a clean, garbage collected world.  I didn't like that I, as a programmer, had to be concerned with things that I thought compilers should be able to do reliably.  But, as I have looked through sample code, played with Xcode and watched some iTunes U classes, memory management has started to become second nature.  I don't notice that I'm doing it anymore.  If I alloc something, I've got to figure out where I'm going to release it.  That's about all there is to it.  I mean, there are some nuances that are more complicated than that, but it's not bad at all.  Xcode has an "Analyze" option and a "Profile" option in the project menu that give you some great tools that will help you detect and eliminate potential leaks.  While it is still not ideal, it is a lot less painful than I expected initially.  As iOS 5 comes down the pipe-line, there is a feature called ARC or automatic reference counting that will be available.  I understand this to be like compile time garbage collection.  You can turn on ARC and your compiler will detect and insert appropriate retain/release statements to make sure your program doesn't leak memory.  This feature could be nice, but I've not used it yet, so only time will tell I guess.

Core Data is another feature that I wasn't quite sure of when I began my foray into iOS world.  It turns out that Core Data is possibly one of the coolest and most powerful solutions for data that is absolutely awesome for the iOS environment.  Core Data is a framework that encapsulates and SQLite database using a base class called NSManagedObject.  You can subclass this base class to have custom objects that have any unique or calculated properties that you might want.  You get started with Core Data most often by creating a mapping of your database.  You create your entities, which attributes they have and what kind of relations they have.  Then you can generate some NSManagedObject subclass stubs for you entities and flesh them out to your hearts content.  Then, as you code your app, you use some very simple and intuitive objects (NSManagedContext) to fetch and put entities into the persistent storage.  Admittedly, I'm not building large scientific databases with my applications yet, but so far the performance and ease of use of Core Data is awesome!!  It's the slickest database tool for oo programmers that I've ever used.  It similar to hibernate, llblgen, other ORM tools, but it's done the Apple way.  Consistent and friendly messages are used to use the framework.  I've really begun to like it.

The app itself has been a joy to create.  Right now I've got my app on a handful of beta-tester's iPhones and it has been getting pretty solid reviews so far!  I'm excited to take the next steps, get a website set up (http://scoreapp.cloudappit.com), start tweeting for publicity (@ScoreAppIT) and try to give this app a chance to at least get a few downloads when it launches.  

Look for my next posts to be about the process of preparing the app for submission, and hopefully I'll have some news about how the launch day went.  Until then, reach for the clouds!

Tuesday, September 13, 2011

Applying for the iOS Developer Program

I’ve been reading many blogs and books about beginning iPhone and iPad development lately. I’ve found a plethora of information on the subject. There are many good blogs and forums where people exchange information on their experience as they got started in the App Store. Many of these resources that I’ve looked at lately suggest that you begin the process of applying for official membership in Apple’s iOS Developer Program. This process can be lengthy, especially for a business. There are a couple of different levels of membership in the developer programs at Apple. And there are a couple of different programs. There is an iOS Develper Program, Mac Developer Program, and Safari Developer Program. My main interest is the iOS program, and within that program there are 3 different membership “levels”. Well, 4 if you count the free version. Here is the basic breakdown between the 4 (these aren’t official names of the levels of membership, just descriptions according to what I can remember about them):

  • Free - download released iOS SDK, Xcode and develop/test using iOS Simulator
  • Paid Individual ($99) - same as free with access to pre-release SDK and software, test on your device, submit applications to the App Store.
  • Paid Organization ($99) - same as individual plus ability to add a team of developers to the same account. You can set up teams and administrators of teams, but there is only one Agent who does all the submitting of apps to the App Store and agreeing to terms and contracts, etc. You can set up 100 devices for testing each year of your membership.
  • Enterprise ($299) - same as organization except you can also develop and deploy production applications for internal use in your organization.
I opted to go for the Paid Organization level of membership. This process was a little more extensive than the individual process, but it will allow for growth in the future. Right now, I’m the only iOS developer for CloudApp IT, LLC. However, that can easily change in the future. I applied for the program about 2 weeks ago online. There was a little bit of basic demographic info that I submitted. Then a few days later, Apple requested that I fax over some legal documents for my organization. I faxed our Articles and played the waiting game again. A couple days later, Apple let me know that they had received my documents and were reviewing them. My enrollment remained in this state for about 5 days. Then, this morning, I got a call from a nice lady at Apple informing me that my documents looked good an I was approved. I logged on to the member center at developer.apple.com, purchased the program, waited about an hour for a confirmation email after my purchase, and I was in. Lots of posts on blogs that I’ve read have indicated that the process of getting started with all the code signing certificates, etc. could be complicated. I found that developer.apple.com had some really nice and easy to follow how-to videos. I just watched those videos for about 15 minutes and then boom, my first app was up and running on my actual iPhone device! I’m pretty excited to get started with posting my app on the store. I’ll keep you posted on my experience in the process of posting apps to the store. Look for the next post to be about more experiences as I learn to use the iOS SDK to get my first app together. Until then, reach for the clouds!