<?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>22 idea street &#187; Conferences</title>
	<atom:link href="http://22ideastreet.com/blog/tag/conferences/feed/" rel="self" type="application/rss+xml" />
	<link>http://22ideastreet.com/blog</link>
	<description></description>
	<lastBuildDate>Thu, 19 Aug 2010 17:12:15 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=abc</generator>
		<item>
		<title>iPhone Tech Talks:  Part 3 &#8211; Libraries and Performance</title>
		<link>http://22ideastreet.com/blog/2009/01/24/iphone-tech-talks-part-3-libraries-and-performance/</link>
		<comments>http://22ideastreet.com/blog/2009/01/24/iphone-tech-talks-part-3-libraries-and-performance/#comments</comments>
		<pubDate>Sat, 24 Jan 2009 11:00:09 +0000</pubDate>
		<dc:creator>Anthony Panozzo</dc:creator>
				<category><![CDATA[External]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=476</guid>
		<description><![CDATA[I said that I was going to post a third post about the iPhone conference, but the third part didn&#8217;t engage my interest enough to write about it. Just thought I should let you know. Now I feel relieved. The first two articles are here:  Part 1   Part 2 Original article: iPhone Tech Talks: [...]<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2009/01/24/iphone-tech-talks-part-3-libraries-and-performance/">iPhone Tech Talks:  Part 3 &#8211; Libraries and Performance</a></p>
]]></description>
			<content:encoded><![CDATA[<p>I said that I was going to post a third post about the iPhone conference, but the third part didn&#8217;t engage my interest enough to write about it.  <img src='http://22ideastreet.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   Just thought I should let you know.  Now I feel relieved.</p>
<p>The first two articles are here:  <a href="http://22ideastreet.com/blog/2008/11/17/iphone-tech-talks-part-1-overview/">Part 1</a>   <a href="http://22ideastreet.com/blog/2008/11/27/iphone-tech-talks-part-2-interface-design/">Part 2</a></p>
<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2009/01/24/iphone-tech-talks-part-3-libraries-and-performance/">iPhone Tech Talks:  Part 3 &#8211; Libraries and Performance</a></p>
]]></content:encoded>
			<wfw:commentRss>http://22ideastreet.com/blog/2009/01/24/iphone-tech-talks-part-3-libraries-and-performance/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Testing Seminars</title>
		<link>http://22ideastreet.com/blog/2009/01/18/testing-seminars/</link>
		<comments>http://22ideastreet.com/blog/2009/01/18/testing-seminars/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 01:34:24 +0000</pubDate>
		<dc:creator>Anthony Panozzo</dc:creator>
				<category><![CDATA[External]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=585</guid>
		<description><![CDATA[Passing along some information from Mike Kelly regarding the 2009 schedule for the Indianapolis Workshops on Software Testing (IWST.) It&#8217;s pretty short and dense, so I&#8217;ll just copy from here: We’ve posted the 2009 schedule for the Indianapolis Workshops on Software Testing. We’re looking for people willing to share experience reports and people who just [...]<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2009/01/18/testing-seminars/">Testing Seminars</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Passing along some information from Mike Kelly regarding the 2009 schedule for the Indianapolis Workshops on Software Testing (IWST.)  It&#8217;s pretty short and dense, so I&#8217;ll just copy from <a href="http://www.michaeldkelly.com/blog/archives/248">here:</a></p>
<blockquote><p>
We’ve posted the 2009 schedule for the Indianapolis Workshops on Software Testing. We’re looking for people willing to share experience reports and people who just have a general interest in the various topics and would like to attend and ask questions.</p>
<p>Here’s a summary of the lineup:</p>
<li>February 26, 2009: Presenting test results</li>
<li>March 27, 2009: Test-driven development</li>
<li>June 27, 2009: Test design and development</li>
<li>August 28, 2009: Testing mobile devices</li>
<li>September 26, 2009: Automation and performance logging</li>
<li>October 29, 2009: Time management for testers</li>
<li>November 21, 2009: Managing your focus while doing exploratory testing</li>
<p>If you’re interested in attending any of the workshops, please drop me a line at mike@michaeldkelly.com.
</p></blockquote>
<p>I sent him an email saying that I would be interested in the March and October sessions.  Perhaps you have some interest in the same/other sessions?</p>
<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2009/01/18/testing-seminars/">Testing Seminars</a></p>
]]></content:encoded>
			<wfw:commentRss>http://22ideastreet.com/blog/2009/01/18/testing-seminars/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Indianapolis Conferences</title>
		<link>http://22ideastreet.com/blog/2008/12/16/indianapolis-conferences/</link>
		<comments>http://22ideastreet.com/blog/2008/12/16/indianapolis-conferences/#comments</comments>
		<pubDate>Tue, 16 Dec 2008 15:55:31 +0000</pubDate>
		<dc:creator>Anthony Panozzo</dc:creator>
				<category><![CDATA[External]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Performance]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=501</guid>
		<description><![CDATA[Mike Kelly posted to the IWST news group about two upcoming group meetings that are taking place in Indianapolis. I listed them in order of perceived relevance. The first one is free, and is a day long, similar to the excellent IWST that I attended in September. The second one is not free, and lasts [...]<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/12/16/indianapolis-conferences/">Indianapolis Conferences</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.michaeldkelly.com/">Mike Kelly</a> posted to the IWST news group about two upcoming group meetings that are taking place in Indianapolis.  I listed them in order of perceived relevance.  The first one is free, and is a day long, similar to the excellent <a href="http://22ideastreet.com/blog/2008/10/03/iwst-summary/">IWST that I attended in September</a>.  The second one is not free, and lasts <strike>two</strike> three days.  The first one seems particularly useful, although the second might be as well.</p>
<p>I&#8217;ve edited liberally, so here goes&#8230;</p>
<h4>Workshop on Regulated Software Testing</h4>
<p><b>May 15, 2009</b></p>
<p>The WREST is coming to Indianapolis again in 2009. The topic for the workshop is &#8220;Beyond Scripted Testing.&#8221; You can learn more about the workshop <a href="http://www.wrestworkshop.com/CFP.html">here</a>.</p>
<p>&#8230;</p>
<p><b>Major Questions of Interest</b></p>
<p>How can we better test software in regulated environments while retaining processes and documentation that will pass regulatory audits?</p>
<p>How can we prove the value of implementing progressive test approaches within the context of the necessities of regulation (FDA, SOX, CMM, etc.)?</p>
<h4>Workshop on Performance and Reliability</h4>
<p><b>April <strike>16-17</strike>16-18, 2009</b></p>
<p>Through much arm twisting and whining, the WOPR 12 organizers are hosting WOPR next year here in Indianapolis. The theme for the workshop is &#8220;Resource Monitoring During Performance Testing.&#8221;</p>
<p>You can find more details <a href="http://www.performance-workshop.org/index.php?option=com_content&#038;task=view&#038;id=108&#038;Itemid=86">here</a>.</p>
<p>&#8230;</p>
<p>The ultimate goal of performance testing is identifying and fixing performance bottlenecks before production deployment.  While a large percentage of bottlenecks are ultimately traced to the application code, they may also occur in servers, system software, and network components.  Critical to identifying their source and diagnosing their root cause is monitoring the &#8220;bellwether metrics&#8221;.  Let us define &#8220;bellwether metrics&#8221; as the &#8220;key indicators of future developments or trends&#8221;, and thus the minimum set of system vitals that we should be measuring for each hardware and software component.</p>
<h4>Thoughts</h4>
<p>The process for applying to share an experience report was pretty easy.  Just have some relevant experience and know enough about it to share.  Come up with a presentation.  Kind of like a brown bag really.  If either of these two are similar in size to IWST, they are enjoyable because you get to know the people at the meeting.  If you&#8217;re jazzed about this kind of stuff, you should totally do it, for both the knowledge and the experience.</p>
<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/12/16/indianapolis-conferences/">Indianapolis Conferences</a></p>
]]></content:encoded>
			<wfw:commentRss>http://22ideastreet.com/blog/2008/12/16/indianapolis-conferences/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>iPhone Tech Talks:  Part 2 &#8211; Interface Design</title>
		<link>http://22ideastreet.com/blog/2008/11/27/iphone-tech-talks-part-2-interface-design/</link>
		<comments>http://22ideastreet.com/blog/2008/11/27/iphone-tech-talks-part-2-interface-design/#comments</comments>
		<pubDate>Fri, 28 Nov 2008 01:00:57 +0000</pubDate>
		<dc:creator>Anthony Panozzo</dc:creator>
				<category><![CDATA[External]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=404</guid>
		<description><![CDATA[The first breakout session I attended was the most interesting. It was titled &#8220;iPhone User Interface Design.&#8221; The first point the presenter made was that the percentage of time that you spend on portions of the development cycle is quite a bit different for a successful iPhone app than most software applications. He showed a [...]<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/11/27/iphone-tech-talks-part-2-interface-design/">iPhone Tech Talks:  Part 2 &#8211; Interface Design</a></p>
]]></description>
			<content:encoded><![CDATA[<p>The first breakout session I attended was the most interesting.  It was titled &#8220;iPhone User Interface Design.&#8221;</p>
<p>The first point the presenter made was that the percentage of time that you spend on portions of the development cycle is quite a bit different for a successful iPhone app than most software applications.  He showed a diagram that looked way cooler than this:</p>
<div id="attachment_439" class="wp-caption alignnone" style="width: 510px"><a href="http://22ideastreet.com/blog/wp-content/uploads/2008/11/iphone-chart.gif"><img src="http://22ideastreet.com/blog/wp-content/uploads/2008/11/iphone-chart.gif" alt="Difference between normal development and iPhone development" title="iphone-chart" width="500" height="219" class="size-full wp-image-439" /></a><p class="wp-caption-text">Difference between normal development and iPhone development</p></div>
<p>What this means is that you need to spend a lot more time in the design aspects of your app throughout the life cycle than you normally would.  This set the tone for the rest of the presentation.</p>
<p>He defined &#8220;design&#8221; as mapping out requirements, doing the art and layout, and figuring out how core features and navigation are going to work.  The cycle for developing a new product should typically go:  familiarize, conceptualize, realize, finalize.  Executing these well will take your application from average to excellent.</p>
<h4>Familiarize</h4>
<p>One solid suggestion was to read through Apple&#8217;s Human Interface Guide.  Apple has spent a lot of time thinking about how people will interact with the iPhone and iPod Touch, so you don&#8217;t need to duplicate their work.  What&#8217;s more, there are many conventions that you will be unaware of and unwittingly break.  For example, Apple intends all buttons to have rounded corners, so if you have something that&#8217;s not a button, don&#8217;t make it rounded.  Likewise, buttons should look like buttons because users have a model of what a button looks like and what it does.</p>
<p>The presenter reiterated considerations voiced in the general session, such as thinking about where the user will use the application and considering general properties of the iPhone and how it differs from the web and from a desktop computer.</p>
<p>One significant suggestion was to design for the thirty-second use case.  You need to consider that the user wants to open your app and get what they need within thirty seconds.  If your app has a bunch of meaningless screens or has poor performance, it will significantly hinder your ability to help them.  If it takes twenty seconds to navigate where they need to go, you only have ten seconds to please them.  If you can save <i>any</i> time by remembering or determining data (zip code for searching for restaurants, for instance), you should do that.  It takes a lot of time and mental effort to type things in on the iPhone, and it would be very annoying if the user has to type something in multiple times.</p>
<p>The Pareto Principle must be invoked at least once per usability discussion, so here goes.  You should design for the 80% use case.  Make the most common functions be dead simple.  With the limited screen space that you have, consider eliminating ancillary functionality.  Make your apps hyper-specialized and super-focused.  Apps that do everything do nothing.  I liked this approach because it reminded me of something that the folks at 37signals would say (review forthcoming.)</p>
<h4>Conceptualize</h4>
<p>The key to conceptual design is to <b>define a solution</b> <i>not</i> a collection of features.</p>
<p>Consider the example the speaker presented:  you are an interior decorator and you learn about the iPhone.  You see something that makes you think of creating an interior decorating app.  Your mind whirls at how this will make your life so much better.  You grab a piece of paper and a pen, and scribble as fast as you can.  &#8220;Wow, I can take pictures and store them in an album, and then upload it to my Mac.  I can generate textures and hold them up to the wall.  I can use the iPhone as a level to make sure that my wall hangings are straight.  I can use this same app to make estimates of how much a room will take to redo.&#8221;  The list grows to a page, then two pages.</p>
<p>This is exactly the wrong way to do an iPhone app.</p>
<p>You need to have a very lean feature set.  If you start with an idea and brainstorming, or if you are modeling your app off of an existing app, you already have too many features.  You need to prune.</p>
<p>A great way to prevent featuritis is to create an app definition statement.  This statement summarizes the purpose of your app, and every key design decision that you make should be based off of it.  With this much importance, it&#8217;s critical that all of the stakeholders buy into it.  An example of an app definition statement is &#8220;Easy to use digital photo sharing for iPhone users.&#8221;  Note that this definition statement clearly identifies who will be using the app and what they will be doing with it.  Less is more with respect to features.  Condensing your app is helpful for team morale and cohesiveness.</p>
<h4>Realize</h4>
<p>It&#8217;s important to understand your application type to make the correct design decisions.  Apps live on a continuum of [serious..fun] and [entertainment..tool].  If you have a serious tool, you need the UI to be out of the way as much as possible.  The user is just trying to get something done quickly, so there should be few frills.  If you have a fun tool, you can get away with more graphics, but not at the expense of functionality.  In other words, users will tolerate some distractions.  If you have a fun entertainment app, it should be interaction driven and intensely graphical.  This would mostly correspond to games.  There also exists serious entertainment.  This concept might seem silly at first, but could be something like a movie player.  In this case, you would want the app to be more data-driven, and have a minimal UI.</p>
<p>These are the extremes, so you should consider to what degree your app is serious or fun and made for entertainment or utility.  In conjunction with the app definition statement, this will help you decide what design elements should be used for your application.</p>
<p>As far as aesthetics go, you should remember to avoid having too much stuff on the screen at one time.  Ask yourself:  does this really need to be on the screen?  Could it be hidden instead?  Also:  what&#8217;s important right now?  Could this be shown later or on a different screen?  Avoid layout cramming and make sure that your padding is consistent throughout the app.  This is a professional touch that will separate you from the crowd.  You should use built-in controls where appropriate because users are familiar and they are well tested, which saves you a lot of time.  If you have options that aren&#8217;t commonly changed, put them in the global options file so you don&#8217;t have to keep showing them.</p>
<p>The biggest message to me of this section was to do paper prototyping or &#8220;iterate with paper.&#8221;  Many fewer resources need to be expended to create a paper mock-up of the screens you are going to have, and getting the flow down is critical to the end user experience.  You need to solve for all of the edge cases up front and see where your metaphors break down.  Doing this on paper lets you experiment with several ideas and see which one fits your target user the best.  One recommendation that made a lot of sense was to actually Xerox your iPhone or create a stencil to create a template that has exactly the right dimensions.</p>
<p>The presenter demonstrated how several apps evolved through time and it was clear that spending time with design was crucial to get their apps working optimally.</p>
<h4>iPhone specific</h4>
<p>This section is pretty specific, you can skip it if you aren&#8217;t interested in some nitty-gritty details.  However, there&#8217;s one more section after this one.</p>
<p>For navigation, the standard is to move from left to right as you progress through the app.  You should have a navigation bar with a title to give users an idea of what they are looking at.  There should also be a back button.  You should provide controls to filter data down.</p>
<p>A de facto standard is to have any kind of element addition be in the top right-hand corner of the screen.  The same is true of edit controls.</p>
<p>Although you should have a title for context, you should avoid breadcrumbs and home buttons.  Breadcrumbs are not scalable due to screen real estate, and both breadcrumbs and home buttons provide the possibility for a state change that is dangerous to the user&#8217;s mental model.  If they accidentally tap one of the links in the breadcrumbs or hit the home button, they will become very confused and frustrated.  This works for the web, but not on the iPhone, based on what Apple has seen in apps.</p>
<p>When you use lists and pickers, try to group similar items if possible.  Associate an icon, as the eye typically sees icons first, then words.  If you do have icons, try to make them minimalistic.  If you have multiple screens with tables, try to switch the formatting up a bit to let the user feel like they are making progress.  One more note on pickers:  they are optimized for 12 items, which happens to be three swipes of a finger.  <img src='http://22ideastreet.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<h4>Finalize</h4>
<p>You can (and should) enhance your application with photos and imagery.  This aids in quick recognition of your app.  Your icon is really key, as it is the first thing people will look at when they are evaluating whether your app is worthy or not.  One thing that I probably never would have thought of is that users actually appreciate expensive-looking textures.  If you can get some mahogany or marble or polished chrome textures, these will make your app look more valuable than other apps with standard backgrounds or textures.  Don&#8217;t go all out and then skimp in the finalizing section.  While your app will have great value, people often judge the book by its cover.</p>
<p>You can add excitement with animations, but be sure not to go overboard.  You want them to give feedback so they are functional.  A great example is how the iPhone home icons jitter when you are trying to move an application around.  Functionally, this shows the user that they have entered a different mode than the standard mode.  Emotionally, they see that some of the icons are excited because they might get to move to the front page, and some icons might be shaking because they are worried that the might get deleted!  <img src='http://22ideastreet.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   So it is fun and entertaining and also gives insight into the current state of the system. </p>
<p>I think that communicating application modes is a very important topic.  My own example is when you start typing something in Microsoft Word but you keep overwriting characters that they have already typed.  Because the &#8216;insert&#8217; mode is not shown well, you might have no idea what the heck is going on, and can be extremely frustrated or even lose data.</p>
<p>Once you release, you can&#8217;t rest on your laurels.  You should keep iterating and use customer feedback if you can get some.  Better yet, if you can somehow track which features users use and how they use them, you can use this data to improve it empirically.  That&#8217;s something I just thought of.  But overall, you need to make sure that every release you have is high quality.  Users don&#8217;t have patience with this kind of stuff.  They will just uninstall your app without waiting for updates.</p>
<p>Let&#8217;s summarize:  familiarize, conceptualize, realize, finalize.  One more post to go&ndash;and that&#8217;s a lot of -izes!</p>
<p><a href="http://22ideastreet.com/blog/2008/11/17/iphone-tech-talks-part-1-overview/">You can see the first part of this series here.</a></p>
<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/11/27/iphone-tech-talks-part-2-interface-design/">iPhone Tech Talks:  Part 2 &#8211; Interface Design</a></p>
]]></content:encoded>
			<wfw:commentRss>http://22ideastreet.com/blog/2008/11/27/iphone-tech-talks-part-2-interface-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPhone Tech Talks:  Part 1 &#8211; Overview</title>
		<link>http://22ideastreet.com/blog/2008/11/17/iphone-tech-talks-part-1-overview/</link>
		<comments>http://22ideastreet.com/blog/2008/11/17/iphone-tech-talks-part-1-overview/#comments</comments>
		<pubDate>Mon, 17 Nov 2008 15:00:26 +0000</pubDate>
		<dc:creator>Anthony Panozzo</dc:creator>
				<category><![CDATA[External]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=352</guid>
		<description><![CDATA[Last Wednesday, I went to a one-day session in Chicago titled iPhone Tech Talks.  I am currently taking the Cocoa Academy course, and thought that this would be a nice way to get some additional information.  The conference had probably about 400 people or so.  I was a bit worried because I have neither an [...]<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/11/17/iphone-tech-talks-part-1-overview/">iPhone Tech Talks:  Part 1 &#8211; Overview</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Last Wednesday, I went to a one-day session in Chicago titled iPhone Tech Talks.  I am currently taking the Cocoa Academy course, and thought that this would be a nice way to get some additional information.  The conference had probably about 400 people or so.  I was a bit worried because I have neither an iPhone nor a Mac, so I thought that I might have been out-teched.  <img src='http://22ideastreet.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   However, it seemed like most people did not bring their laptops, and some of the people that I talked to had as much or less experience developing for Apple platforms.</p>
<p>I took like fourteen pages of notes, so I will probably break it up into a few posts.  This one, which gives an overview, one about usability (I was writing the entire hour and a quarter session) and one about performance and using different libraries.</p>
<h4>What&#8217;s in it for you?</h4>
<p>Hmm&#8230;   Well, maybe you are doing or planning on doing some kind of iPhone development.  That would be nice.</p>
<p>But I was talking with someone who has the <a href="http://movies.apple.com/movies/us/apple/iphone/2008/ads/game-changer/apple_iphone3g_ad_game-changer_20081012_848x480.mov">G1</a>, and the features are pretty much the same aside from native multi-touch, so most of the design principles and considerations will be present there.  Indeed, <i>any</i> mobile device has at least some of the constraints that you need to think about when creating an iPhone app:  usability, market reach, battery life, screen real estate, interrupts, performance, and more.</p>
<p>I would say that this was my first foray into mobile development, so it was definitely an eye-opener.  If you have developed for a mobile platform before, then some of these comments will be old hat, but there still might be some gems in there.</p>
<h4>Overview</h4>
<p><a href="http://developer.apple.com/events/iphone/techtalks#northamerica">The session lineup can be seen here.</a>  I figured that I had a moderate understanding of Room A or could read about it online, so opted to stick in Room B because the C room sessions  just didn&#8217;t really seem all that interesting.  You could mix and match, but conveniently the ones that I wanted were in the same room.  I did sit in on the &#8220;Using Advanced Web Technologies on iPhone&#8221; session, but it was after lunch and not that interesting, so I ended up just going to the other room after about forty-five minutes.  It was a lot more engaging.  It&#8217;s interesting making decisions with very little information on what the actual session will be about.  I&#8217;d be interested to hear if anyone else has rules of thumb for figuring out which sessions are going to be useful, or what kinds to avoid.</p>
<p>So everyone went to the general overview session at the beginning of the day.  They started out with some &#8220;get pumped&#8221; videos with the standard Apple music, showing off some popular apps like <a href="http://movies.apple.com/movies/us/apple/iphone/2008/ads/game-changer/apple_iphone3g_ad_game-changer_20081012_848x480.mov">MLB.com</a> and <a href="http://www.urbanspoon.com">Urbanspoon</a>.  Then they gave a business update.  The iPhone platform is very vibrant, with four million iPhones purchased in the first 200 days, 13 million to date (not counting iPod Touch), and over 200 million App Store downloads in only 104 days.  These are impressive numbers that seem to imply that if you create a good app, you won&#8217;t have trouble getting it into people&#8217;s hands.  The iPod Touch mentioned earlier is significant because it also runs App Store apps and has the same features (even screen dimensions), save for things like phone capability.  So that&#8217;s another thing to consider.</p>
<p>Next they gave an overview of ingredients for success with an iPhone project.  If you have a product in mind, it&#8217;s recommended that everyone who will be giving input has at least some working experience with <i>using</i> the iPhone.  This makes sense, because there are some pitfalls if you don&#8217;t consider what you have to work with.  There is no mouse, so there are no rollovers or scrollbars.  The metaphor of clicking doesn&#8217;t apply because you are actually tapping on the screen.  The mouse offers continuous input, while the finger is discrete.  The interface is quite a bit different because of user expectations and use conditions.  Text input is accomplished with a soft keyboard rather than the traditional one.  The iPhone only runs one app at a time.</p>
<p>These are things that are clear if you use the iPhone on a regular basis, but imagine working with people that have never used it before.  There would some difference in ideas that would not be easy to overcome.</p>
<p>Also, you want your app to feel like it fits the iPhone, so you need to consider things that are already built-in:  microphone, camera, location awareness, ubiquitous internet access.</p>
<p>Typically you should envision that your user will be using the iPhone under a table in a poorly lit room at about arm&#8217;s length.  This severely alters your approach to designing the user interface and visual elements.  The screen needs to have high contrast.  There was a discussion about whether white text on a black background was better than black text on a white background.  The thought was that you should consider where your user will typically use the app, and go from there.  If they would typically use your app in a poorly-lit environment, then you should make it white on black.  Conversely, if your app is only used out in daylight, consider using black text on a white background for better contrast with the environment.</p>
<p>As a programmer, you need to handle interrupts gracefully.  Because the iPhone is a phone, you should expect it to ring at any time, and should test the behavior frequently.  You need to save the state of your app somewhere, cut out your audio, pause the game, and so forth.  When the phone call or other interrupt is done, you should also resume in an orderly fashion.  Just unpausing the game when the phone call is over will lead to your user being unhappy.</p>
<h4>Attributes of a successful iPhone app</h4>
<p>Your app should be delightful.  This means that it is inviting, intuitive, engaging, exciting, and enabling.  It should be a pleasure to use, and is something you would consider remarkable.  If your users are to remark positively to others, it must be remarkable.</p>
<p>Your app should be innovative.  It should be revolutionary, inspirational, or fresh.  This doesn&#8217;t mean that you have to create something new, just do it better than what is out there in some way.</p>
<p>Your app should be designed.  This takes support from all levels of your organization, and works best with small teams.</p>
<p>Your app should be integrated with the iPhone&#8217;s many rich features.  One of the strengths of the platform is connecting to other services, so your app should probably be connected.</p>
<p>Your app should be optimized for performance.  They made a suggestion that you automate performance tests so that when code is checked in, the performance tests automatically run.  If the test fails, the build should break so that the offending code can be cleaned up for better speed.  This was a nice idea, and I had not heard it before.  But with the importance of performance, it&#8217;s almost as important to get it fast as it is to get it right.  So this matches up well with continuous integration.  Consider it &#8216;continuous performance.&#8217;</p>
<h4>Other miscellanea</h4>
<p>Over lunch and between the rapid-fire sessions, I actually ran into many people that either had ties to Indianapolis, or actually worked or lived there.  So that was pretty exciting.  I figured that I would be the only one.  There were others from Bloomington, etc.</p>
<p>I enjoyed the tech talks, although I didn&#8217;t really enjoy the driving in Chicago.  <img src='http://22ideastreet.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   It&#8217;s quite different beast from Indy.  There are like horses and bikers and pedestrians and crazy taxis all over the place.</p>
<p>They gave out a free shirt that had some interesting packaging, <a href="blog/2008/11/11/some-pictures/">which you can see here.</a></p>
<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/11/17/iphone-tech-talks-part-1-overview/">iPhone Tech Talks:  Part 1 &#8211; Overview</a></p>
]]></content:encoded>
			<wfw:commentRss>http://22ideastreet.com/blog/2008/11/17/iphone-tech-talks-part-1-overview/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://movies.apple.com/movies/us/apple/iphone/2008/ads/game-changer/apple_iphone3g_ad_game-changer_20081012_848x480.mov" length="11602544" type="video/quicktime" />
		</item>
		<item>
		<title>IWST Summary</title>
		<link>http://22ideastreet.com/blog/2008/10/03/iwst-summary/</link>
		<comments>http://22ideastreet.com/blog/2008/10/03/iwst-summary/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 15:00:05 +0000</pubDate>
		<dc:creator>Anthony Panozzo</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Personal Improvement]]></category>
		<category><![CDATA[Testing]]></category>
		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=83</guid>
		<description><![CDATA[Last Friday I attended the full-day Indiana Workshops on Software Testing conference with Jen, Howard, Beth, Jeremy and about ten other people. This session was very helpful in understanding my personal knowledge of testing, learning new skills and about previously unknown technologies, and meeting people in the testing community in Indianapolis. I presented second, and [...]<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/10/03/iwst-summary/">IWST Summary</a></p>
]]></description>
			<content:encoded><![CDATA[<p>Last Friday I attended the full-day <a href="http://www.iwst2008.com/">Indiana Workshops on Software Testing</a> conference with Jen, Howard, Beth, Jeremy and about ten other people.  This session was very helpful in understanding my personal knowledge of testing, learning new skills and about previously unknown technologies, and meeting people in the testing community in Indianapolis.  I presented second, and discussed my experiences with Test-Driven Development on a recent Rails project that I worked on.</p>
<p>The first experience report probably had the most relevance to things that I have directly worked with.  In the production Rails project that I worked on, we used Selenium for automated integration testing as verification of the development process.  <a href="http://www.techdarkside.com/">Dave Christiansen</a> covered using Selenium to do automated integration testing on a Rails app.  However, what was noteworthy to me about the approach that he took was that instead of writing and executing these tests only in the test phase of the development process, they were written and executed throughout the development lifecycle.  He wrote a wrapper to <a href="http://www.techdarkside.com/generating-rspec-tests-with-selenium-ide">generate RSpec tests from the Selenium IDE</a>, refactored to DRY up the code, and then had the team write their own integration tests as they were developing.  Since the tests were written in RSpec, they would actually be run whenever code was checked in (continuous integration.)  After awhile, they built up enough helpers to stop really using Selenium at all except for replicating bugs.</p>
<p>This seems like a nice contrast to the approach that we took for two reasons.  First, integration tests would automatically keep up with the development process because the team could run these tests within their own environment.  If an integration test was broken, it would be immediately visible.  Contrast that to having to rewrite tests several days after the structure changes for no apparent reason.  Second, they ran a headless version of the Selenium Grid, which had the effect of getting their integration tests run in about five minutes.  I remember this process taking quite a bit longer for us.  Part of this was likely due to supporting IE6, IE7, and Firefox, but it seems like this still could have been sped up.</p>
<p>But overall, it&#8217;s nice to take the integration testing process and decentralize it.  This might not work with all types of projects.  Obviously having the developers in charge of their own integration tests seems like conflict of interest, but I suppose that solid reviews and other testing would reduce defects.  But depending on the project, I can see that allowing the development and test stages to work more closely together is a plus.</p>
<p>Lunch was a nice experience, it was fun hearing about some things that people have done in the past and how that affected their current views on software development and testing.</p>
<h3>Recurring themes</h3>
<p>It seemed like people liked using Ruby for data munging and actual testing.  Over half of the presentations given were using some form of Ruby for development, testing, or tools.  You could probably get away with using Perl or something for this, but you can also probably pick up most of Ruby in a couple of days if you have used Perl before.</p>
<p>There was emphasis on abstracting tests to the largest degree possible to facilitate agility of development.  This made a lot of sense to me, because one of the common pain points people expressed was having tests that were very brittle.  When the application changed, the tests had to be scrapped.   Considering testing to be a valuable software architecture practice in itself makes more sense than seeing testing as isolated.</p>
<h3>Ideas and technologies</h3>
<p>One interesting idea given in the &#8220;Open Season&#8221; part of each presentation was the idea of thumbnails for quick manual content tests.  Instead of specifying a test that used screenshots or some sort of brittle method, instead print out an expected screenshot of each of the screens and the current screenshot on a single sheet of paper.  Someone can then easily scan a whole page of these relatively quickly, as humans are naturally good at picking out differences between images and determining whether they are important or not.</p>
<p>Exploratory testing and pair testing were topics that were mentioned a few times, and I had never heard of them before.  James Bach was suggested as a resource for this and pair testing.  <a href="http://www.satisfice.com/articles.shtml">His site</a> contains some newer articles that deal with these subjects.</p>
<p>Technologies discussed included:<br />
<a href="http://www.ruby-lang.org/">Ruby</a> and <a href="http://www.rubyonrails.org/">Ruby on Rails</a><br />
<a href="http://selenium.openqa.org/">Selenium</a><br />
<a href="http://wtr.rubyforge.org/index.html">Watir</a><br />
<a href="http://rspec.info/">RSpec</a><br />
<a href="http://www.soapui.org/">soapUI</a><br />
<a href="http://groovy.codehaus.org/">Groovy</a><br />
Hammer/QTP</p>
<h3>Overall thoughts</h3>
<p>I really appreciated the constructive nature of the conference.  Everyone was very knowledgable and had something to contribute to the process.  All questions were asked kindly and there was a feeling of building on things others had said.  There was a perceptible energy in the room during the concluding processes.  People said that they were fired up to go to work on Monday and solve a problem that they had been facing using new approaches and technologies.</p>
<p>Something that stood out to me was the vast differences in terms that people had for testing practices.  Obviously I am not an expert at testing, so there were some word hangups that I had.  For example, the decision to call something a unit test versus an integration test was seemingly person-specific, if they used those terms at all.  I can see how having a good stream of communication with team members, especially new ones, is very important in testing.  Obviously this applies to software development in general.</p>
<p>While I have never been a dedicated tester before, I enjoyed the problems that people presented and their creative approaches to solving those problems.  I think that I walked out of the conference having a lot more respect for software testers because of the challenges they expressed, both technical and organizationally.</p>
<p>One <a href="http://en.wikipedia.org/wiki/Meme">meme</a> that I took away from this was the <a href="http://www.michaeldkelly.com/blog/archives/83">pirate heuristic</a>:  When you are out of ideas, steal someone else&#8217;s.  I was out of ideas, and hence stole this one myself.</p>
<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/10/03/iwst-summary/">IWST Summary</a></p>
]]></content:encoded>
			<wfw:commentRss>http://22ideastreet.com/blog/2008/10/03/iwst-summary/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Architecting Scalable and Usable Web Applications</title>
		<link>http://22ideastreet.com/blog/2008/09/25/architecting-scalable-and-usable-web-applications/</link>
		<comments>http://22ideastreet.com/blog/2008/09/25/architecting-scalable-and-usable-web-applications/#comments</comments>
		<pubDate>Fri, 26 Sep 2008 02:30:23 +0000</pubDate>
		<dc:creator>Anthony Panozzo</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://22ideastreet.com/blog/?p=58</guid>
		<description><![CDATA[Here are my notes from a Microsoft ArcReady seminar I went to in the middle of May. I went because I wanted to know more about building web applications that scale to many users. I definitely learned the basics of this, and found some references to other work as well. At least one interesting thing [...]<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/09/25/architecting-scalable-and-usable-web-applications/">Architecting Scalable and Usable Web Applications</a></p>
]]></description>
			<content:encoded><![CDATA[<p><a href="http://22ideastreet.com/blog/notes/architecting">Here</a> are my notes from a Microsoft ArcReady seminar I went to in the middle of May. I went because I wanted to know more about building web applications that scale to many users.  I definitely learned the basics of this, and found some references to other work as well.</p>
<p>At least one interesting thing that I learned was <a href="http://www.codeplex.com/protoxaml">ProtoXAML</a>, which is a way to take prototypes and make them seem a bit more flawed so that customers are more likely to give you good feedback. It was interesting to see this perspective, and might be helpful with some client interactions we have. </p>
<p><br/><br/>Original article:  <a href="http://22ideastreet.com/blog/2008/09/25/architecting-scalable-and-usable-web-applications/">Architecting Scalable and Usable Web Applications</a></p>
]]></content:encoded>
			<wfw:commentRss>http://22ideastreet.com/blog/2008/09/25/architecting-scalable-and-usable-web-applications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
