<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">

    <title type="text">Underdog Blog</title>
    <subtitle type="text"></subtitle>
    <link rel="alternate" type="text/html" href="http://underdog-solutions.com/blog/" />
    <link rel="self" type="application/atom+xml" href="http://underdog-solutions.com/site/feed/" />
    <updated>2011-04-23T17:07:15Z</updated>
    <rights>Copyright (c) 2011, Scott Schuster</rights>
    <generator uri="http://www.expressionengine.com/" version="1.6.8">ExpressionEngine</generator>
    <id>tag:underdog-solutions.com,2011:04:11</id>


    <entry>
      <title>To Wait or Not to Wait?</title>
      <link rel="alternate" type="text/html" href="http://underdog-solutions.com/blog/to_wait_or_not_to_wait/" />
      <id>tag:underdog-solutions.com,2011:blog/1.9</id>
      <published>2011-04-11T21:46:13Z</published>
      <updated>2011-04-23T17:07:15Z</updated>
      <author>
            <name>Scott Schuster</name>
      </author>

      <category term="Blogging"
        scheme="http://underdog-solutions.com/blog/list/category/Blogging/"
        label="Blogging" />
      <content type="html"><![CDATA[




<h2>To Wait or Not to Wait?</h2>
<p>After a somewhat frustrating ordeal I was able to submit v1.05 of iDiscGolf to Apple's App Store this past weekend.&nbsp; Unless the iPhone Gods (aka: Apple's iOS App Reviewers) strike it down it should be available for download before the weekend!&nbsp; That my friends is the good news. The bad news is, I made a similar post on Facebook about two weeks ago, which obviously didn't happen. So why the wait?</p>
<p>After reading some not so stellar reviews from users of previous versions I had to revise my road map for iDiscGolf to incorporate user requested features earlier rather than later. The features I ended up addressing in this update weren't all that hard to accomplish and will hopefully lead to somewhat improved user reviews and ratings. On the other hand, they aren't going to make iDiscGolf the killer Disc Golf application I want it to be either. Anyway, my goal was to get a minor update out quickly and get back to work on a larger and more significant update. Then the waiting game began.</p>
<p><br /><a href="/images/uploads/iDiscGolf_RenderedScoreCard.png" title="Click for a the full sized example score card rendered in iDiscGolf" target="_blank"><img alt="Example Score Card Rendered in iDiscGolf" height="163" src="/images/uploads/iDiscGolf_RenderedScoreCard.png" style="border: 0;" width="504" /></a></p>
<p>First of all, the focus here isn't the minor bug fixes that were made, but rather the sharable score card. Unlike other currently available disc golf apps, I couldn't simply grab a screen capture of the score card and call it a day. This is to iDiscGolf's ability to support so many holes and/or golfers per round.&nbsp; This ability had previously presented some interface challenges when designing an interactive score card.&nbsp; In the end I decided on a different approach than the competition. <br /><br />My plan was to utilize HTML in the email message users would share to generate the tables necessary to contain the results. This approach failed for a variety of reasons, but the primary reason was due to the fact that all email clients and web based email applications have decided to handle HTML email differently. While both HTML and CSS Standards exist, these clients/applications have all chosen to basically ignore them. This is especially true when trying to utilize HTML email using CSS. These inconsistencies became increasingly frustrating and drove me to abandon that approach rather quickly.</p>
<p>Afterwards I decided to attempt to generate the score card image after all. The challenge then became how to accomplish this task quickly. The first implementation left me wondering if the application had gotten hung up for more than a couple of minutes. It's bad enough when the user thinks the application got stuck, but when a developer comes to that conclusion, something is obviously wrong. Anyway, would users rather wait for a decent release or wait every time  they wanted to generate a score card? Thats what I had to ask myself. I decided a decent release would be better for everyone. Long story short, the optimization of that process lead to the first delay.&nbsp; It should be noted that "optimization" is used as a relative term here, so don't expect a huge score card to render before you can blink. Just know that before the rendering code was optimized, generating score card images would have bought you enough time to grab a quick dinner. I know because I practically did it myself.</p>
<p>With the score card rendering process executing within an acceptable window (in my opinion), I was ready to submit. Then came the second delay which was due to the fact that I had (perhaps impatiently) updated my project to support Apple's XCode 4 IDE. Without boring everyone, I simply couldn't build the application for distribution, and therefore couldn't submit. So, while the time it took to get my project building again was probably due to early adaptor mentality, I'd like to point the finger at Apple on this one. Sorry Apple, but while I love the features XCode 4 provides, it still has some unfortunate issues. Then again, I'm sure users could say the same about iDiscGolf... but please don't. Not in the reviews at least... leave that for the forums.</p>
<p>&nbsp;</p>
<p><a class="twitter" href="http://twitter.com/home?status=To Wait or Not to Wait?:
		+http://underdog-solutions.com/blog/to_wait_or_not_to_wait/">Twitter</a> | <a class="facebook" href="http://www.facebook.com/sharer.php?u=http://underdog-solutions.com/blog/to_wait_or_not_to_wait/&amp;t=To Wait or Not to Wait?">Facebook</a> | <a class="digg" href="http://digg.com/submit?phase=2&url=http://underdog-solutions.com/blog/to_wait_or_not_to_wait/">Digg</a> | <a class="subscribe" href="/site/feed/">RSS</a>
	</p>








      ]]></content>
    </entry>

    <entry>
      <title>iDiscGolf v1.01 Has Arrived!</title>
      <link rel="alternate" type="text/html" href="http://underdog-solutions.com/blog/idiscgolf_v1.01/" />
      <id>tag:underdog-solutions.com,2011:blog/1.8</id>
      <published>2011-03-01T21:04:26Z</published>
      <updated>2011-03-01T21:12:27Z</updated>
      <author>
            <name>Scott Schuster</name>
      </author>

      <category term="Blogging"
        scheme="http://underdog-solutions.com/blog/list/category/Blogging/"
        label="Blogging" />
      <content type="html"><![CDATA[




<h2>iDiscGolf v1.01 Has Arrived!</h2>
<p>It has taken longer than expected and undergone quite a few overhauls throughout the process while learning the ropes of iOS development, but <a href="http://itunes.apple.com/us/app/idiscgolf/id325937885?mt=8&amp;ls=1" title="iDiscGolf on iTunes App Store" target="_blank">iDiscGolf</a> is now available! Before I talk too much about the application I want to take a moment to thank my amazing wife, Anne, in addition to my family and friends for all of their support. I also want to extend a special thanks to Nate and John of <a href="http://fortysevenmedia.com/" title="Forty Seven Media: It's Kick Awesome" target="_blank">FortySeven Media</a> for their contributions and patience. If anyone is looking for an awesome website... or "Kick-Awesome" as they would put it, check them out. They are great and talented guys to work with!</p>
<p>During the development of iDiscGolf I scrapped the project and started from scratch or close to scratch four times.</p>
<p>The first time came shortly after I began and was no big deal. I really had no clue what I was doing at first and so my code was a mess, the interface was just as bad or worse, and everything was broken.</p>
<p>The second time I had a better understanding of Objective-C and the iOS SDK but was trying to provide way too much information (much of it irrelevant) at once and my SQLite database logic started to develop some serious concurrency issues.&nbsp; I experimented with CoreData (Apple's data management framework) and afterwards decided to once again scrap everything.</p>
<p>After the second time I realized that the ad-hoc approach I was taking while designing the user interface wasn't working out very well.&nbsp; I decided to do some in depth UI planning before beginning to code the third time around.&nbsp; This in general was a good thing but in retrospect, I spent too much time over planning.&nbsp; I ended up focusing on details which, while important, weren't mission critical.&nbsp; Additionally, I ended up placing way too much emphasis on the prototype.&nbsp; Don't get me wrong, prototyping is a critical part of any development cycle, but I was essentially wasting time on petty details. During this time I also worked on the graphical direction of the application with Michael Heald of <a href="http://www.fullyillustrated.com" title="Fully Illustrated" target="_blank">FullyIllustrated</a>, one of the most talented, if not "the" most talented, illustrators I've come across to date. He is also a great guy and a pleasure to work with, so I highly recommend checking out his work and services for those of you in need of a great illustrator. This lead to the third attempt which almost lead to a first release about eight months ago if memory serves me correctly. Then came the hard hitting reality, my application didn't just have memory leaks... it was a memory gusher. While trying to implement a solution which would support the newly designed custom user interface elements, I unwittingly made what felt like my deathbed. Prior to this realization, I thought I had a pretty good grasp on memory management and the order of operations within Apple's UIKit framework. Unfortunately my understanding was flawed. I probably would have caught onto this much earlier but by making the mistake of doing the majority of my testing on the Simulator, I inadvertently compounded the problem as it slowly and silently crept up on me. After this realization I was extremely discouraged and considered giving up more than a few times. It was my wife who saved me from my melancholy self and encouraged me to continue to completion.</p>
<p>Now, this is where I made a decision others probably will never understand, especially from a business perspective. I had to choose if I wanted to continue to pursue the custom UI elements I had come to love, or backtrack to the standard Apple versions. Either way code had to be salvaged, but using the tried and true Apple elements would have been a lot less work to implement. In retrospect, I should have contacted Michael and worked with him on a solution adapted to Apple's cookie cutter UI elements. However, having so much already invested in it, I knew I would regret it for the rest of my life if I didn't see it to the end.&nbsp; Did my decision cost me time? Yes. Did it cost me money? Time is money, right? So yes. Did I gain anything in return? Absolutely. To accomplish what I set out to do I ended up having to dig much deeper than I originally thought was necessary. In doing so I learned a great deal about the inner workings of Apple's UI components, gained experience with additional frameworks, expanded my knowledge of Objective-C, and most importantly, proved to myself that I could do whatever I set out to do. Is my solution flawed? In some ways yes, but in others I feel it is superior. One thing is certain, all things change in time, so never live in the past.</p>
<p>So, while iDiscGolf is now available, rest assured all you disc golf fans, it is far from finished! Work on v1.02 began before iDiscGolf was even in review and will hopefully address any application crashing bugs that may remain, but I'm only aware of two at the moment so no promises <img src="http://underdog-solutions.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /> It will also include additional high resolution elements for those of you with the iPhone4 and some minor User Interface fixes. Following that release I will focus on adding some minor but helpful navigation options and give the user control over various settings. As you will notice, the settings button on the "Home" tab is currently disabled. This isn't a bug, but is annoying, so I will be taking care of that very soon. After that I have some really fun things planned. So keep an eye on this blog for future details.</p>
<p>On another note, now that a great weight has been lifted from my shoulders I will be looking for projects to work on as an independent contractor. If you know of anyone looking for an experienced iPhone, iPod Touch, iPad developer, please let me know. I have yet to determine my rates but I assure you they will be very competitive at first, and I'm willing to negotiate, so don't wait too long <img src="http://underdog-solutions.com/images/smileys/smile.gif" width="19" height="19" alt="smile" style="border:0;" /></p>
<p><a class="twitter" href="http://twitter.com/home?status=iDiscGolf v1.01 Has Arrived!:
		+http://underdog-solutions.com/blog/idiscgolf_v1.01/">Twitter</a> | <a class="facebook" href="http://www.facebook.com/sharer.php?u=http://underdog-solutions.com/blog/idiscgolf_v1.01/&amp;t=iDiscGolf v1.01 Has Arrived!">Facebook</a> | <a class="digg" href="http://digg.com/submit?phase=2&url=http://underdog-solutions.com/blog/idiscgolf_v1.01/">Digg</a> | <a class="subscribe" href="/site/feed/">RSS</a>
	</p>








      ]]></content>
    </entry>

    <entry>
      <title>Underdog Solutions 2.0 FTW!</title>
      <link rel="alternate" type="text/html" href="http://underdog-solutions.com/blog/underdog_solutions_2.0_ftw/" />
      <id>tag:underdog-solutions.com,2010:blog/1.6</id>
      <published>2010-04-13T15:48:32Z</published>
      <updated>2010-04-13T11:59:33Z</updated>
      <author>
            <name>47m</name>
      </author>

      <category term="News"
        scheme="http://underdog-solutions.com/blog/list/category/News/"
        label="News" />
      <content type="html"><![CDATA[




<h2>Underdog Solutions 2.0 FTW!</h2>
<p>First of all, welcome to the new and improved Underdog Solutions website! My design dream has finally come true thanks to the <a href="http://designhope.org/">DesignHope</a> contest and the guys at <a href="http://fortysevenmedia.com/">FortySeven Media</a>!. Thank you very much Jonathan and Nate for all the hard work you guys put into this! This truly was a blessing and great overall experience!</p>
<p>Now, seeing as how I decided to scrap all previously existing posts in lieu of this much needed facelift, I will summarize where Underdog Solutions came from, what it's been up to and where it hopes to be going in 2010 and beyond!</p>
<p>Underdog Solutions began operating at the beginning of 2009 w/ a team consisting of me, myself and I. The first half of the year was quite stressful as I had a lot to learn and felt completely overwhelmed at times. From the start I took a very ad-hoc approach to design and development, doing my best to learn what I needed to along the way. Unfortunately, I did what any anxious developer does at least once or twice before learning the hard way and jumped into development w/out spending any time on design. I ended up with a semi-functional application which was extremely flawed from a design perspective. Once I realized this I had to make an extremely difficult decision to either release a product that I knew will ultimately fail just to get it out there or risk more than I originally intended to pursue a quality product which I could not only be proud of, but which could at least have the potential for success. I chose the latter of the two, scrapped my project and got to work on designing a new interface. Perhaps this second attempt was overly ambitious as I planned for a ton of features which simply don't exist yet. On the flip side, this gives me a lot of stuff to add in future updates which will hopefully keep users coming back and provide added incentives for future buyers. At any rate, the planning was well worth the effort and I have confidence that this application will be successful to at least some degree. Which degree that is, only time will tell.</p>
<p>Regardless, <a href="/products/idisc_golf/">iDiscGolf</a> 1.0 is almost out the door, at which point I will begin to offer my services to those in need of experienced iPhone developers as I work towards bringing iDiscGolf to completion. At any rate, 2010 will be an exciting year for Underdog Solutions and it is great that we now have a home we can be proud of! Thanks again FortySeven Media and everyone else participating in the DesignHope contest!</p>
<p><a class="twitter" href="http://twitter.com/home?status=Underdog Solutions 2.0 FTW!:
		+http://underdog-solutions.com/blog/underdog_solutions_2.0_ftw/">Twitter</a> | <a class="facebook" href="http://www.facebook.com/sharer.php?u=http://underdog-solutions.com/blog/underdog_solutions_2.0_ftw/&amp;t=Underdog Solutions 2.0 FTW!">Facebook</a> | <a class="digg" href="http://digg.com/submit?phase=2&url=http://underdog-solutions.com/blog/underdog_solutions_2.0_ftw/">Digg</a> | <a class="subscribe" href="/site/feed/">RSS</a>
	</p>








      ]]></content>
    </entry>



</feed>