<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Null Agenda &#187; user interface</title>
	<atom:link href="http://nullagenda.com/tag/user-interface/feed" rel="self" type="application/rss+xml" />
	<link>http://nullagenda.com</link>
	<description>a little bit of everything.</description>
	<lastBuildDate>Mon, 01 Aug 2011 02:39:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>So I Developed My First Mac App&#8230;</title>
		<link>http://nullagenda.com/so-i-developed-my-first-mac-app-81</link>
		<comments>http://nullagenda.com/so-i-developed-my-first-mac-app-81#comments</comments>
		<pubDate>Thu, 11 Jun 2009 22:20:20 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Marketing]]></category>
		<category><![CDATA[SimpleLeap]]></category>
		<category><![CDATA[Tech Stuff]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[cram]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[icon design]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[misv]]></category>
		<category><![CDATA[Objective C]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://nullagenda.com/?p=81</guid>
		<description><![CDATA[The things I have experienced while developing my first Mac application. User interface design was one of the most important aspects of developing Cram...]]></description>
			<content:encoded><![CDATA[<p>I know, I know, it has been a while since <a title="Back to School with a Free iPod Touch" href="http://nullagenda.com/back-to-school-with-a-free-ipod-touch-73">my last post</a>, but I promise I wasn&#8217;t just sitting around at a beach or something. I&#8217;ve just been swamped. Anyway, so it&#8217;s been over a month since <a title="SimpleLeap Software" href="http://www.simpleleap.com">we</a> released <a title="Cram for Mac" href="http://www.simpleleap.com/cram/mac.htm">Cram for Mac</a> and it has been a great and new experience for me. I&#8217;ll talk about some of the points during development that stood out the most.</p>
<p><strong>User Interface</strong></p>
<p>Having developed an iPhone application(<a title="Cram for Iphone" href="http://www.simpleleap.com/cram/iphone.htm">Cram for iPhone</a>) before made the dive into Mac development a little smoother, however I still had a few challenges here and there, the first being the user-interface of the application. With the almost limitless number of ways to present your application to a user on a Mac combined with having to understand the smartest and most efficient ways of handling the application&#8217;s functionality makes for a pretty tough and thorough first step.</p>
<p>My goal for Cram was to have an interface that easily displayed the user&#8217;s tests, the categories they are in, and the functions that can be performed on the tests. Like many applications that have similar type data, an interface with a side-panel of categories, a main section containing the data within the selected category, and a toolbar along the top served to be the best choice for Cram.</p>
<p>One word of advice that I would probably give to anyone out there starting out, is to try A LOT of applications from other developers, the good ones and the bad ones. Understand how they present data and the application&#8217;s functionality. Read their reviews and find out what people like and don&#8217;t like about them. Find out about methods that are common among many applications. I feel that doing this allowed me to understand what is common among popular and successful software and also helped me include the best aspects of these apps and combine some of these ideas with my own. Some of my favorite apps out there among others are <a title="Timeline 3D" href="http://www.beedocs.com/3dTimelines.php">Timeline 3D</a> by <a title="Bee Docs" href="http://www.beedocs.com/index.php">Bee Docs</a>, <a title="The Hit List" href="http://www.potionfactory.com/thehitlist/">The Hit List</a> by <a href="http://www.potionfactory.com/">Potion Factory</a>, and <a href="http://culturedcode.com/things/">Things</a> by <a href="http://culturedcode.com/">Cultured Code</a>. Also another good tip is to pay great attention to the latest and greatest software from Apple. Many times the direction that Apple takes within their applications usually drives the direction of many apps in the third party world usually because it&#8217;s something cool but a more important reason is that your users are more than likely going to try an Apple product before they try yours, so when the time comes that they do try your software the user experience will likely be more positive because that particular  functionality in your application is something they feel comfortable operating.</p>
<p><strong>Icon</strong></p>
<p>As many know, the icon for a Mac application is kind of big thing in a lot of people&#8217;s minds. It definitely was for me too. I&#8217;m not the type of person who will not use an application because the icon sucks, but I do appreciate a great icon that appears to have effort and time behind it. After contacting a few designers about having an icon designed for us, we realized that we are cheap and would rather design the icon in-house first before going the outsourcing route. I cannot say if I recommend this to everyone, but since we had a concept in our heads already, we felt that it would not hurt giving it a shot and I think the end result that Ashli was able to whip-up turned out excellent:</p>
<div id="attachment_83" class="wp-caption aligncenter" style="width: 368px"><a href="http://www.simpleleap.com/cram/mac.htm"><img class="size-full wp-image-83" title="Cram icon" src="http://nullagenda.com/wordpress/wp-content/uploads/2009/06/crammacicon358x358.png" alt="The final icon concept for Cram" width="358" height="358" /></a><p class="wp-caption-text">The final icon concept for Cram</p></div>
<p><strong>Coding Time</strong></p>
<p>You&#8217;ll probably spend most of your time (until Marketing gets into full gear) <span style="text-decoration: line-through;">in your life </span>on your project doing development. Having spent most of my life coding in Java, I spent the first couple of weeks getting my brain fully adjusted to Cocoa and Objective C, which quickly turned into a language that is complete joy for me to code in. Getting over the uncomfortable feeling of a new language, framework, platform etc is a big hurdle for a lot of developers. When I approach this I&#8217;m usually in a mental state of not knowing if I know enough to jump into a project or if I should look at more examples that seem to make enough sense in my head. Time and time again, I have proven to myself that working on the actual project is the best way to learn. You&#8217;ll run into enough roadblocks during development that prompt you to research best practices, fixes, and workarounds to issues that sooner or later will build confidence in you to complete your new endeavour.</p>
<p>Development of Cram took me about a month, but that includes many 12-14 hour days so in reality it took almost two months to complete based on the traditional 40-hour work week. Even though many indie developers don&#8217;t like to mention it, sleep is probably the best tool you have when coding. There have been many nights when I was up until around 5 am and had little to show for the last 2-3 hours of work because my eyes, brain, and fingers fail to work together when they are sleep deprived. Sometimes I even feel just plain weird, if I&#8217;m <em>not</em> coding something every hour of the day. If you don&#8217;t take anything from this blog post&#8230; please understand the value of sleep! After a good night&#8217;s rest, I always feel able to willing to tackle any issue and complete any task&#8230;and usually did.</p>
<p><strong>Marketing</strong></p>
<p>This is by far the most important topic when it comes to releasing and updating any product. Since it&#8217;s such a vast topic, I&#8217;ll save it for a part two of my blog post. I&#8217;ll get into what seems to work for us so far, what did not work, and what we plan to do in the future.</p>
<p>Also if there is anything else you wanted to know or had questions on and want to see in the next post&#8230;just drop a line in the comments</p>
<h3  class="related_post_title">other posts that might interest you...</h3><ul class="related_post"><li><a href="http://nullagenda.com/back-to-school-with-a-free-ipod-touch-73" title="Back to School with a Free iPod Touch">Back to School with a Free iPod Touch</a></li><li><a href="http://nullagenda.com/cram-for-mac-release-17" title="Cram for Mac release">Cram for Mac release</a></li><li><a href="http://nullagenda.com/perfect-time-for-an-apple-video-game-console-28" title="Perfect time for an Apple video game console?">Perfect time for an Apple video game console?</a></li></ul>]]></content:encoded>
			<wfw:commentRss>http://nullagenda.com/so-i-developed-my-first-mac-app-81/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

