<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.loghound.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-5247238196754316692</id><updated>2012-05-11T04:09:14.170-07:00</updated><category term='Analytics'/><category term='Mobiles'/><category term='Project Management'/><category term='Technology'/><category term='None'/><category term='JobFinder'/><category term='UI'/><category term='Data Model'/><category term='PayPal'/><category term='Taxi'/><category term='Tutorial'/><category term='delegates'/><category term='Google'/><category term='XCode'/><category term='Web'/><category term='RSS'/><category term='iPhone'/><category term='Blackberry'/><category term='Camera'/><category term='Small business'/><category term='Marketing'/><category term='Work'/><category term='Pre'/><category term='Smartphones'/><category term='Sme'/><category term='iBOutlet'/><category term='Methodology'/><category term='TableView'/><category term='Android'/><category term='in-App Payments'/><category term='Prince2'/><title type='text'>A Great Blog</title><subtitle type='html'>This is a blog post from JaneOrganise at Organise Ltd. We are the proud creators of the iPhone App JobFinder. The app will soon be available on other mobile platforms too. So watch this space.</subtitle><link rel='http://schemas.loghound.com/g/2005#feed' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.phpfeeds/posts/default'/><link rel='self' type='application/atom+xml' href='http:///www.organisemybusiness.co.uk/page22/files/blogRSS.php'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php'/><link rel='hub' href='http://www.organisemybusiness.co.uk/page22/page22.php'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>24</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-1502954351402543629</id><published>2012-05-10T05:14:00.000-07:00</published><updated>2012-05-11T04:09:14.174-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='Marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><title type='text'>Creating A Buzz For An App - Part 2</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:13px; "&gt;Continuing our market research for the JobFinder App (&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://www.organisemybusiness.co.uk/page22/files/../page22.php?id=2506238980441728368" rel="external" title="OrgBusBlogs:Creating A Buzz For An App - Part 1"&gt;as described in my last blog&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;) I decided it would be good to examine the analysis that has been generated via &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://www.flurry.com/" rel="external"&gt;Flurry&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;. Looking at the past usage of the app should (hopefully) give us an insight into what currently works well within the app, and thus should be continued, and what doesn't. The theory sounds all well and good, however in practice it is not that simple. &lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;I can see from the statistics that there were 8,096 sessions within my chosen time frame (a session being from when the app was opened to when it was closed). I can also see that those sessions were actioned by 1801 users in that period.  Of which 886 were retained users. However when I try to analyse what those sessions involved it is a little more difficult. &lt;br /&gt;&lt;br /&gt;Flurry gives us some information on performed searches so we can see the type of vacancy sought and the location of users who searched. However the data isn't pre-analysed except to show that there is very little consistency in what or where users search for jobs.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2012-05-10 at 16.12.40" src="http://www.organisemybusiness.co.uk/page22/files/screen-shot-2012-05-10-at-16.12.40.png" width="584" height="160" /&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;In order to obtain some more meaningful data it is necessary to download the event logs (a page at a time) and perform some offline analysis. I did this on the last 50 job searches, I know that isn't really a fair representation but it still gave me some trends.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;table border="1.000000" cellpadding="7.000000" cellspacing="0.000000"bordercolor="628FC4"&gt;&lt;tr height="0"&gt;&lt;td valign="top" width="167" rowspan="2" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria-Bold; font-weight:bold; font-weight:bold; "&gt;Country&lt;/span&gt;&lt;/td&gt;&lt;span style="font:16px Cambria; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="183" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;UK&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;25&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;td valign="top" width="183"&gt;&lt;span style="font:16px Cambria; "&gt;USA&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216"&gt;&lt;span style="font:16px Cambria; "&gt;25&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;tr height="0"&gt;&lt;td valign="top" width="167" rowspan="4" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria-Bold; font-weight:bold; font-weight:bold; "&gt;Vacancy Location&lt;/span&gt;&lt;/td&gt;&lt;span style="font:16px Cambria; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="183" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;Area&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;td valign="top" width="183"&gt;&lt;span style="font:16px Cambria; "&gt;Named Place&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216"&gt;&lt;span style="font:16px Cambria; "&gt;40&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="183" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;Post/Zip Code&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="183"&gt;&lt;span style="font:16px Cambria; "&gt;Not Specified&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216"&gt;&lt;span style="font:16px Cambria; "&gt;3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;tr height="0"&gt;&lt;td valign="top" width="167" rowspan="4" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria-Bold; font-weight:bold; font-weight:bold; "&gt;Vacancy Type&lt;/span&gt;&lt;/td&gt;&lt;span style="font:16px Cambria; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="183" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;Industry&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;11&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/tr&gt;&lt;td valign="top" width="183"&gt;&lt;span style="font:16px Cambria; "&gt;Named&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216"&gt;&lt;span style="font:16px Cambria; "&gt;28&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="183" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;Company&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216" bgcolor="#C7D8EA"&gt;&lt;span style="font:16px Cambria; "&gt;3&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="183"&gt;&lt;span style="font:16px Cambria; "&gt;Not Specified&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;td valign="top" width="216"&gt;&lt;span style="font:16px Cambria; "&gt;7&lt;br /&gt;&lt;/span&gt;&lt;/td&gt;&lt;/table&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;I concluded the following:-&lt;br /&gt;Location name was the most popular way to search. This could have been manually typed or could have been generated through the apps 'locate me' function, there is no way of determining that currently.&lt;br /&gt;. Some users want the ability to just say show me all jobs in my area&lt;br /&gt;. Some users want to be able to specify a company rather than a job name&lt;br /&gt;. Some of the named roles would require a more specialist agency search, e.g. babysitter&lt;br /&gt;. Whilst others give very vague terms such as Manager or IT&lt;br /&gt;&lt;br /&gt;There were also a lot of repetitive searches suggesting that saved searches and the ability to just refresh the results on a new day would be a useful feature.&lt;br /&gt;&lt;br /&gt;The other area within Flurry to look at is audience demographics. We don't ask for information regarding a users age or gender within the app but Flurry does provide some estimates based on an aggravate of all of the data that they collect. The estimates didn't really show any surprises as we expected the age range to match that of the working population. However there was an increase in users within the 18-24 age group, potentially due to the number of school and college leavers looking for work. There was also a significant decrease in user numbers in the over 55 age range. However this may change as more tech savvy users enter this age bracket, and according to a &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://www.mobiletoday.co.uk/News/20677/over-50s_drive_smartphone_adoption_kantar_research.aspx" rel="external"&gt;recent report&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; over half of recent UK smartphone purchases were made by the over 50's. With the planned increases in the retirement age and predicted pension problems this is certainly a user group that can't be ignored.&lt;br /&gt;&lt;br /&gt;For our app the geography statistics are far more accurate demonstrating that the majority of the app users are in Europe (51.2%) vs North America (48.4%). However what is surprising is that there are some figures (albeit small ones) for other territories such as Asia and the Middle East. This is despite the fact that we haven't localised the app into other languages, and more importantly it is only available in the UK and USA app stores. To expand the app into other territories or even into other countries within Europe, we could not simply localise the app into the native languages of those countries. We would need to determine the typical routes users in those countries take to find and apply for jobs. We would need to expand the list of sites we source jobs from as well as determine if there are any nuances or restrictions those countries apply when jobseekers are searching for jobs. We may well expand our reach into other English speaking territories but localisation is more likely to be something we look at in the future. For the next version of the iPhone app (and the first version for Android, Blackberry and maybe other platforms) it is not something we want to concentrate on.&lt;br /&gt;&lt;br /&gt;The more interesting demographic for us is the category listing. Flurry uses its amassed data across a multitude of apps to give an indication of which category on the app store most users spend their time. Not only does it give a breakdown of the benchmark of all user sessions against category, it also gives a breakdown of our app users sessions within each category. Currently JobFinder is in the business category within the app store with a secondary category of Lifestyle. However when you look at which category the apps come from that users spend most of their time in, it is the Lifestyle category (after Games and Social Networking of course!). The business category is 22nd on the list. This suggests we should switch the categories around. However you have to look at the other side of this argument. There are currently over 17,500 apps in the Lifestyle section on the UK iTunes store and only approximately 5,600 apps in the business category. So there is a lot less competition in the business category and thus far more chance of getting your app noticed. Does the chance of a top hit in the business category outweigh the opportunities of getting seen in the lifestyle category (as it is far more visited). Or does this now hold little relevance? Do most users look through each category to find out whats new and noteworthy or do they simply search for names and related keywords on their device and download from there? To try to find out the answer to this I have decided to create a &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://linkd.in/KcBF3W" rel="external"&gt;LinkedIn poll&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; and see what responses I get. The survey has quite a long time to run but I will let you know any results in a subsequent blog.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-1502954351402543629?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1502954351402543629' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1502954351402543629' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1502954351402543629'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1502954351402543629'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1502954351402543629' title='Creating A Buzz For An App - Part 2'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-2506238980441728368</id><published>2012-04-18T04:25:00.000-07:00</published><updated>2012-05-10T14:56:29.239-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><title type='text'>Creating A Buzz For An App - Part 1</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:13px; "&gt; &lt;/span&gt;&lt;img class="imageStyle" alt="JobFinder" src="http://www.organisemybusiness.co.uk/page22/files/jobfinder.png" width="57" height="57" /&gt;&lt;span style="font-size:13px; "&gt; I have just finished reading part 1 of an excellent series of articles on &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://www.raywenderlich.com/" rel="external"&gt;Ray Wenderlich's site&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; entitled &lt;/span&gt;&lt;span style="font-size:13px; color:#005528;"&gt;&lt;a href="http://www.raywenderlich.com/11359/how-to-market-and-promote-your-games-and-apps-part-1" rel="external"&gt;How to Market and Promote your Games and Apps&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;. I expected the article to be a regurgitation or mash ups of ones I had already read, you know the type that seem to appear every week on the LinkedIn forums, but I was pleasantly surprised to find it goes much deeper than other articles I have seen. &lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;In the article the author (Felipe Laso) discusses how you can start to market your app before you even start developing it. He suggests a fair amount of market research should be completed before you start. This isn't new to anybody who has ever developed a product or service, but it does give clear guidelines of how to go about this from an app development perspective. The author also suggests that once you start work you can involve your potential users of the app in the whole process. By providing regular blog updates and utilising social media the users, or potential users, can follow your development progress as well as have the opportunity to provide an input into the design.&lt;br /&gt;&lt;br /&gt;Although the blog is primarily aimed at developers a large number of the suggestions and themes could and should be applied by anyone who is commissioning an app development company to create apps for them. The blog has certainly inspired me. We had already decided to expand and update our existing iOS JobFinder app this year. Now we will complete that exercise but we will be following all or as many of the suggestions in the blog as we can.&lt;br /&gt;&lt;br /&gt;As a result we have already started on our market research work and welcome any suggestions on additional and improved features you would like to see both in our iOS app and in our future apps on other platforms. In addition we will be providing regular updates on our progress. Our existing iOS JobFinder app has had over 100,000 downloads to date, with x downloads a week. This is despite the fact that we have spent very little time or effort on marketing, and have not provided an updated version since November 2009 . As part of our updates we will determine what effect, if any, our additional social media marketing has on the downloads of our app, and also analyse the impact, if any, on our website traffic. This should give us an insight into what does and doesn't work for us and hopefully inspire others to follow a successful track. &lt;br /&gt;&lt;br /&gt;&amp;hellip;and I've only read part 1 of 4 so far&amp;hellip;..&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-2506238980441728368?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2506238980441728368' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2506238980441728368' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2506238980441728368'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2506238980441728368'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2506238980441728368' title='Creating A Buzz For An App - Part 1'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-3388369764410183469</id><published>2011-10-17T03:46:00.000-07:00</published><updated>2011-10-25T03:46:37.876-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Camera'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><title type='text'>iPhone4S Camera Comparison</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="IMG_0552" src="http://www.iphoneappdev.co.uk/files/img_0552.jpg" width="104" height="80" /&gt;&lt;img class="imageStyle" alt="IMG_0550" src="http://www.iphoneappdev.co.uk/files/img_0550.jpg" width="104" height="80" /&gt;We have a number of smartphone devices within the company to enable us to test the iPhone, Android and Blackberry apps that we develop. With the release of the new iPhone 4S with its "All-new 8 MP camera"  we thought it would be good to do a comparison with the different devices in different settings. As you can see some smartphones are better than others.&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;The contenders&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;						&lt;br /&gt;&lt;/span&gt;&lt;p style="text-align:center;"&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;								&lt;/span&gt;&lt;img class="imageStyle" alt="The Contenders" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.00.10.png" width="714" height="703" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;Still life&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_1640" src="http://www.iphoneappdev.co.uk/files/img_1640-2.jpg" width="480" height="320" /&gt;&lt;span style="font:36px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Canon EOS 6OD &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;The benchmark. Ok a little unfair as it&amp;rsquo;s an 18 megapixel SLR and the lens cost more than some of the phones.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_0539" src="http://www.iphoneappdev.co.uk/files/img_0539.jpg" width="480" height="360" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Great on detail/shadows but colour is a little too &amp;lsquo;warm&amp;rsquo;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_20111014_114442" src="http://www.iphoneappdev.co.uk/files/img_20111014_114442.jpg" width="480" height="360" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Nexus S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Colour good. Detail ok.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;img class="imageStyle" alt="IMG_0642" src="http://www.iphoneappdev.co.uk/files/img_0642.jpg" width="480" height="358" /&gt;&lt;/strong&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4 &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Colour was blown out. Detail good.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG-20111014-00014" src="http://www.iphoneappdev.co.uk/files/img-20111014-00014.jpg" width="480" height="360" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;BlackBerry 9800 &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Good colour and detail. Similar to nexus s.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;Indoor shots&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_1647" src="http://www.iphoneappdev.co.uk/files/img_1647.jpg" width="480" height="320" /&gt;&lt;span style="font:36px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Canon EOS60D &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;The reference.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_0543" src="http://www.iphoneappdev.co.uk/files/img_0543-2.jpg" width="480" height="360" /&gt;&lt;span style="font:36px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Again note the &amp;lsquo;warm&amp;rsquo; (yellow) tint. Great detail and shadow. Note the lettering on the cabinet&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_0643" src="http://www.iphoneappdev.co.uk/files/img_0643.jpg" width="480" height="358" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4 &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Similar to nexus S for colour but better detail.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_20111014_122845" src="http://www.iphoneappdev.co.uk/files/img_20111014_122845.jpg" width="480" height="360" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Nexus S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Nexus and iPhone 4 both show similar colours. The nexus being a tad over saturated. &lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;Indoor detail&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.35.48" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.35.48.png" width="291" height="222" /&gt;&lt;span style="font:36px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Canon EOS 60D &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Masses of detail here.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.36.00" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.36.00.png" width="285" height="224" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Very impressive. Clearly much better than either the iPhone 4 or Nexus S.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.39.52" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.39.52.png" width="291" height="218" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4 &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Not bad - some button detail.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.40.01" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.40.01-2.png" width="290" height="218" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Nexus S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Not quite as good as iPhone 4 here&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;Outdoor&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_0552" src="http://www.iphoneappdev.co.uk/files/img_0552-2.jpg" width="480" height="360" /&gt;&lt;span style="font:36px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Colours and details best in this scene.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_20111014_141246" src="http://www.iphoneappdev.co.uk/files/img_20111014_141246.jpg" width="480" height="360" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Nexus S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Sky a little dark. But otherwise not bad&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG-20111014-00015" src="http://www.iphoneappdev.co.uk/files/img-20111014-00015.jpg" width="480" height="360" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;BlackBerry 9800 &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Colours are terrible here. Detail ok.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMAG0269" src="http://www.iphoneappdev.co.uk/files/imag0269.jpg" width="480" height="287" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;HTC Desire &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Colour ok. But details absolutely awful. It&amp;rsquo;s difficult to describe just how bad the Desire's supposed 4 meg camera is.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;Outside detail&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.32.12" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.32.12.png" width="304" height="223" /&gt;&lt;span style="font:36px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Plenty of detail - low noise.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.32.26" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.32.26.png" width="291" height="223" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;Nexus S &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Not bad detail sky colour a little &amp;lsquo;grey&amp;rsquo;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.34.04" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.34.04.png" width="288" height="209" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;BlackBerry 9800 &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Detail ok but colour is off.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.34.14" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.34.14.png" width="286" height="217" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;HTC Desire &lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;Oh dear - thankfully they don&amp;rsquo;t make this anymore.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:36px AmericanTypewriter; color:#9B1823;"&gt;Macro shots&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IMG_0550" src="http://www.iphoneappdev.co.uk/files/img_0550-2.jpg" width="480" height="360" /&gt;&lt;span style="font:36px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px AmericanTypewriter-Bold; font-weight:bold; font-weight:bold; "&gt;iPhone 4S&lt;/span&gt; &lt;span style="font:14px AmericanTypewriter; "&gt;Pretty good macro capability.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align:center;"&gt;&lt;img class="imageStyle" alt="Screen Shot 2011-10-21 at 11.27.01" src="http://www.iphoneappdev.co.uk/files/screen-shot-2011-10-21-at-11.27.01.png" width="684" height="482" /&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="text-align:left;"&gt;&lt;span style="font:14px AmericanTypewriter; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-3388369764410183469?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3388369764410183469' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3388369764410183469' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3388369764410183469'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3388369764410183469'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3388369764410183469' title='iPhone4S Camera Comparison'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-3765908302612408018</id><published>2011-05-17T02:51:00.000-07:00</published><updated>2011-05-18T06:16:15.762-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Small business'/><category scheme='http://www.blogger.com/atom/ns#' term='Taxi'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><title type='text'>Apps Are Not Just For The Big Boys</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;a href="http://www.knightanddaytaxis.com" rel="external"&gt;&lt;img class="imageStyle" alt="TaxiAppStoreImage" width="103" height="103" src="http://www.organisemybusiness.co.uk/page22/files/appsarenotjustforthebigb-taxiappstoreimage.png" /&gt;&lt;/a&gt; &lt;span style="font-size:13px; "&gt;Hands up how many people own a smart phone? How many of those remaining believe they will own a smartphone in the next year or so? How many with a smartphone, or hoping for one in the near future, run their own business? Now those with their hands still up how many are planning to have their own app downloaded onto their smartphone within the next year. If your hand dropped to your side like a lead balloon on the last question, maybe you should read the following and think again.&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;I am currently waiting for an App to pass through Apple's notorious approval process. I don't predict any problems, (famous last words!) as this is a simple app that involves no risky categories or in-app purchases. The app has been written for a taxi company. It allows users to register their details following app launch, providing the information necessary to enable very quick data entry when a taxi is required. The taxi company in this instance specialises in airport runs. They already have a number of corporate clients which utilise their services on a regular basis. The app simply provides another mechanism that the customers can use to to make their bookings easier. &lt;br /&gt;&lt;br /&gt;I mention corporate clients but they don't have to be large clients. An individual can just as easily download and use the app. All they require is an email address, to receive booking confirmations, and a willingness to register their details with a competent, trustworthy company. &lt;br /&gt;&lt;br /&gt;The app wasn't produced for a large company, it wasn't even produced for somebody who operates in a high tech environment. Although the first platform the app has been developed for is the iPhone, the client doesn't even own an iphone. In his own words he is just a taxi company. He may have built up a business involving several cars, as oppose to being a one man band, but it is still a simple business.   The only reason he approached me to create an app is because he wanted to make it easier for his existing clients to utilise his services. If in the process of developing and releasing the app he receives new clients then all well and good, but that wasn't his main goal. I don't doubt that as word of the app spreads he will increase his customer base, as well as being the envy of local competitors. &lt;br /&gt;&lt;br /&gt;This project was interesting to me for two reasons. It was good to hear of a business owner who has taken the time to listen to his customers and determine what he could do to make their lives easier. Equally it was good to see that the world of apps is now starting to appeal to the smaller companies in the UK. It is a good way to show the smaller businesses that commissioning a development company to produce an app need not incur an extortionate cost. If you pick the right company, who is willing to work with you all the way through the development, you can have an app to complement or enhance an existing service or simply to work alongside your website promoting your business. For those businesses that believe they do not have a sufficient offering to warrant an app on their own, or are struggling with the costs, there is always the option of collaborating with fellow local businesses to produce an app which promotes your area or specialism. There really is no excuse for not joining the app revolution. The only limit is your imagination.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-3765908302612408018?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3765908302612408018' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3765908302612408018' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3765908302612408018'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3765908302612408018'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3765908302612408018' title='Apps Are Not Just For The Big Boys'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-5083337363869112257</id><published>2010-04-21T02:21:00.000-07:00</published><updated>2010-04-22T05:35:19.380-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><title type='text'>Technology in the Midlands</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="west-midlands-map" src="http://www.organisemybusiness.co.uk/page22/files/west-midlands-map.png" width="165" height="124"/&gt;  &lt;span style="font-size:13px; color:#262626;"&gt;On business and social media sites such as Ecademy, LinkedIn and Twitter I often see networking events, conferences and meetings arranged for technology companies and contractors for the London area. Having had some contact with the North West region as well, I am aware of a reasonable number of telecoms companies, large and small, in that area too. But what about here in the Midlands? Is the demographic different here? Are more people employed in roles outside of the technology arena? Is there less interest in technology here? &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;Living in the West Midlands I am not averse travelling to London, or to the North West, but believe there must be some scope for a meeting of like-minded people locally. If I was to arrange a date, time and venue would you be interested? If it was free so all it cost you was your time, would that appeal? If it was a seminar type meet-up where I discussed smartphones and smartphone App development, would that interest you more? Would you like to learn about a different area of technology, or find others that offer the same services you do? Or would you prefer a social arrangement, to see how it goes? What would it take to get you to attend?&lt;br /&gt;&lt;br /&gt;Alternatively have I been living in a bubble? Are there already groups out there that meet regularly? I am not talking about the general networking groups, and business meetings where people from all industries and roles meet. I am talking specifically about IT, hardware, software, firmware, middleware, applications, whatever the layer and discipline is. I am talking about full time employees, individual freelancers, contractors and SME's. &lt;br /&gt;&lt;br /&gt;If you know of meetings that take place already, or would be interested in being at the start of something good, for everyones benefit, add a comment or PM me. &lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-5083337363869112257?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=5083337363869112257' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=5083337363869112257' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=5083337363869112257'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=5083337363869112257'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=5083337363869112257' title='Technology in the Midlands'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-3832782747407246117</id><published>2010-02-16T03:32:00.000-08:00</published><updated>2011-06-07T11:31:15.443-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pre'/><category scheme='http://www.blogger.com/atom/ns#' term='Blackberry'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><title type='text'>Top Smartphones for 2010</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font:20px Verdana, serif; color:#262626;"&gt;Top Smartphones for 2010&lt;br /&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;| &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?categories=Pre"&gt;Pre&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;, &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?categories=Blackberry"&gt;Blackberry&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;, &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?categories=iPhone"&gt;iPhone&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;, &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?categories=Smartphones"&gt;Smartphones&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;, &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?categories=Android"&gt;Android&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;, &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?categories=Google"&gt;Google&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;, &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?categories=Mobiles"&gt;Mobiles&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#878787;"&gt; &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005DD2;"&gt;| &lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?id=3832782747407246117"&gt;Permalink&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:10px Verdana, serif; color:#878787;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:11px Verdana, serif; color:#262626;"&gt;JaneOrganise&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="" src="files/magic.jpg" width="55" height="79" /&gt;&lt;img class="imageStyle" alt="" src="files/palm.jpg" width="56" height="70" /&gt;&lt;img class="imageStyle" alt="" src="files/iphone.jpg" width="56" height="91" /&gt;&lt;span style="font:11px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt;Some seven months ago in July 2009 &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;http://top10.com/mobilephones/&lt;/u&gt;&lt;/span&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt; wrote an article for this site on &lt;/span&gt;&lt;span style="font:14px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?id=1173458874490038326"&gt;Top Smartphones for 2009&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt;. With the fast pace of mobile telephony I thought it was time to recap on what are now considered the top Smartphones. As well as looking at some of the near future contenders.&lt;/span&gt;&lt;span style="font:11px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;The previous article concentrated on the HTC Magic, the Palm Pre and the Apple iPhone. So where are they in the running now and how do they compare to the newer models?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; font-weight:bold; color:#262626;font-weight:bold; "&gt;HTC Magic&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;In July of last year the Google Android OS was just finding its feet. The HTC Magic, with its 3.2" touch sensitive display and 3.2 megapixel camera, was spotlighted as the second Android device from HTC. It reached the 1 million sales mark in August last year. Despite its success at the beginning of October the Android OS was reported to be running on less than 2 percent of the world's smartphones. However research published that month predicted its growth to 14% of market share in 2012. &lt;br /&gt;&lt;br /&gt;Since the Magic, HTC have now released the Hero and have this week announced the release of the HTC Legend, (available in March of this year). The HTC Hero was hailed as a great phone is 2009 despite being saddled with an old version of the OS (It has never been upgraded from version 1.5, despite other devices now being released with version 2.1, and even the Magic moving to version 1.6). The Legend, with its sexier design and vastly improved display, looks to be an even greater model. However it has a number of other Android powered contenders to compete with. &lt;br /&gt;&lt;br /&gt;In January of this year Google released its own phone, the Nexus One, within the USA. Manufactured by HTC but released by Google with no restriction on mobile network provider, the device generated a flurry of excitement, at least in the media. The device is not available until around Spring within the UK, but bad press regarding support problems following its USA launch may have deterred some potential buyers. In addition HTC have just announced the release of what is rumoured to be an update to the Nexus One, the HTC Desire. Similar to the Nexus one the Desire hosts an improved UI, an FM radio and utilises an optical joystick. It also reportedly offers improved social networking and contact management access compared to the Nexus One.&lt;br /&gt;&lt;br /&gt;Sony Ericsson is attempting to stay in the running with their launch of the Xperia Mini and Mini Pro. According to the &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.sonyericsson.com/cws/corporate/press/pressreleases/pressreleasedetails/sonyericssonx10miniandminifinal-20100214"&gt;Sony Ericsson press release&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt; the Mini and Mini Pro, as little brothers of the Xperia X10, sport the same UX platform, (Sony Ericssons modified Android OS), but are ultra-compact. Meanwhile Motorola have updated their CLIQ with the launch of the Motorola Quench or CLIQ XT. With its lack of physical keyboard and introduction of a touch sensitive navigation device users also have access to a new media player that reportedly &lt;/span&gt;&lt;span style="font:13px Arial, Verdana, Helvetica, sans-serif; color:#262626;"&gt;links to online content management as well as managing the videos and music you load onto the device yourself.&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;So will the multitude of Devices and OS versions be a winning combination for Android? Or will the complexities it brings for developers result in less Apps for the consumers to choose from?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; font-weight:bold; color:#262626;font-weight:bold; "&gt;Palm Pre&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;Despite pinning their hopes on this Smartphone the Pre hasn't been the life saver that Palm were hoping for, certainly not in the UK and Ireland. A report in &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.mobileindustryreview.com/2010/01/palm_pre_has_apparently_sold_just_220_units_in_ireland.html"&gt;www.mobileindustryreview.com&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt; in January this year suggested only 220 units were sold in Ireland since its launch. With most people suggesting the low numbers were due to issues with the build quality and a lack of good marketing, especially from O2. Even a website dedicated to the Palm Pre &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.precentral.net/"&gt;www.precentral.net&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt; had to admit that it appeared some developers were delaying their work to produce Apps for the Pre whilst they concentrated on other platforms. They believe "Palm simply hasn't sold enough webOS devices to force developers to sit up, take notice". &lt;br /&gt;&lt;br /&gt;Will Palm's latest offering the Pre Plus fare any better? &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.geeks.co.uk/12097-the-next-palm-smartphones-the-palm-pre-plus-and-pixi-plus"&gt;www.geeks.co.uk&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt; suggests "At first glance, the Palm Pre Plus looks very much like its predecessor" The only physical change appears to be a gesture panel to replace the home button. The other changes are increased memory and a video camera. Palm have also opened up the developer kit in an attempt to encourage the production of more Apps. However, with the basic hardware build quality staying the same, will the sales of the Pre Plus be sufficiently improved from those of the Pre to encourage developers away from other platforms?&lt;/span&gt;&lt;span style="font:12px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; font-weight:bold; color:#262626;font-weight:bold; "&gt;Apple iPhone&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;In the previous &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphoneappdev.co.uk/index.php?id=1173458874490038326"&gt;Top Smartphones for 2009&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt; Apple hoped to sell their millionth iPhone by the end of Summer. Their last quarter results smashed that prediction with iPhone sales reaching over 8.7 million. As of January this year the App store contained just shy of 134k Apps. With 280 million Apps downloaded in December. Not surprising with 58 Million App store users.(&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://gigaom.com/2010/01/12/the-apple-app-store-economy/"&gt;UPDATED: The Apple App Store&amp;nbsp;Economy&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#202027;"&gt;). Predictions for 2010 suggest the number of Apps will rise to 300k (Research firm IDC). In the last quarter of 2009 Apple was boasting that it had over 18k more games than the Nintendo DS and PSP.&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;Despite the glut of games Apps on the iPhone they are also making inroads into the corporate market. According to &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.iphonejd.com/iphone_jd/2010/01/apple-2010-fiscal-first-quarter-the-iphone-angle.html"&gt;Apple 2010 fiscal first quarter -- the iPhone angle&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt; over 70% of Fortune 200 companies are supporting iPhone and &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#1D1D1D;"&gt;Internationally, 50% of the Financial Times 100 companies are supporting them.&lt;br /&gt;&lt;br /&gt;So what is next for Apple? Their launch of the iPad last month caused a huge stir and they have yet to announce what the iPhone 4G will look like. Like, prior to the iPad launch, the rumours are rife. With predictions suggesting the same processor as the iPad and greater power. A better camera and even support for video chat. Even the availability date is being debated. Only time will tell what the device will provide and whether existing users will be enticed enough to upgrade.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; font-weight:bold; color:#262626;font-weight:bold; "&gt;The Rest&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;The devices not discussed back in mid 2009 included the Blackberry by RIM, HTC and Sony Ericsson Windows Mobile devices, and the multitude of Symbian powered Nokia handsets. &lt;br /&gt;&lt;br /&gt;Will HTC's launch of the HTC HD mini herald an upsurge of Windows Mobile popularity, or will smartphone users look to the devices sporting the new Windows 7, due to be released later this year? &lt;br /&gt;&lt;br /&gt;Will the Samsung Wave, with the new OS Bada prove to be a winner, or will everyone have low expectations of their first Smartphone and wait for one of the other five Bada smartphones Samsung expect to release this year?&lt;br /&gt;&lt;br /&gt;A report published this month on worldwide &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.gsmarena.com/touchscreen_smartphones_sales_rose_twice_apple_still_in_the_lead-news-1437.php"&gt;touchscreen smartphones&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt; sales suggests Apple was in the lead in 2009 with 33.1% market share. However Nokia was closing the gap fast. When looking at the OS's over the total smartphone market Symbian still had the greatest market share, with RIM and Apple taking second and third place. However with both Apple and Android showing huge growth, 2010 may be the year the table changes. For further comparison on the different OS's read &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.4gwirelessjobs.com/articles/article-detail.php?Part-II-Smartphones-War-Smartphone-OS-the-differentiating-factor&amp;Arid=MTA2&amp;Auid=Njk="&gt;Part II: Smartphones War: Smartphone OS the differentiating factor&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;. &lt;br /&gt;&lt;br /&gt;As developers of Apps, on all platforms, the competition is seen as a good thing, with the consumers being the real winners.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-3832782747407246117?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3832782747407246117' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3832782747407246117' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3832782747407246117'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3832782747407246117'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=3832782747407246117' title='Top Smartphones for 2010'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-949548516440218156</id><published>2009-12-17T02:40:00.000-08:00</published><updated>2010-05-24T11:56:12.665-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><title type='text'>Smartphones of the future</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="imgres" src="files/imgres.jpg" width="113" height="119"/&gt; &lt;span style="font-size:13px; "&gt;What will the term Smartphone mean in five years time and will today's "Smartphones" replace the current low and mid range phones in the future?&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;It is only a matter of time before todays current Smartphone features become the norm. Look at any technology, digital radios, satellite navigation, etc. The first car to be produced with an in built Sat Nav was in 1995. However it was not until 2000 that the United States made a more accurate GPS signal available for civilian use. Now Sat Navs are available as standard in a number of  cars. Competing with the hand held devices and of course smartphones. &lt;br /&gt;&lt;br /&gt;It is only natural that as technology improves and progresses what we consider to be smartphones now will just be standard phones and the smartphones of the future will be so much smarter. So when articles such as this &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://www.intomobile.com/2009/11/05/abi-research-27-of-smartphones-cost-under-200-this-year.html" rel="external"&gt;ABI Research: 27% of smartphones cost under $200 this year&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;(intomobile.com Nov 5th) suggest that "&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;by 2014 the research company predicts 45% of them [&lt;/span&gt;&lt;span style="font-size:13px; color:#196FA8;"&gt;&lt;u&gt;smartphones&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;] will be priced below $200" we have to determine what is meant by the term smartphone.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Skott Ahn, CEO of LG Mobile Communications, is well aware of the key cellphone challenge of 2010 - the shift of the smartphone from being a premium device to a mass market, keenly-priced one. (&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;http://www.telecomasia.net).&lt;/span&gt;&lt;span style="font-size:13px; "&gt; While Ahn told the Wall Street Journal he thought LG's margins would not suffer as much as many from the coming smartphone price war, he predicted that LG's average phone price, currently around $139, could go down to $110. &lt;br /&gt;&lt;br /&gt;Samsung boasted that its midrange touchscreen phone, the Star, had become its latest to cross the 10 million sales mark, just six months after its release. The Star, or S5230, reached this point more quickly than any Samsung phone before it, and becomes the sixth of the company's handsets to claim the accolade.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#1A1A1A;"&gt;According to &lt;/span&gt;&lt;span style="font-size:13px; color:#002248;"&gt;&lt;a href="http://www.infonetics.com/" rel="external"&gt;Infonetics Research's&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#1A1A1A;"&gt; biannual Mobile/Wi-Fi Phones and Subscribers market size, market share, and forecast report in November this year.&lt;/span&gt;&lt;span style="font-size:13px; "&gt; &lt;/span&gt;&lt;span style="font-size:13px; color:#1A1A1A;"&gt; &lt;/span&gt;&lt;span style="font-size:13px; color:#002248;"&gt;&lt;u&gt;&lt;a href="http://www.itpro.co.uk/611509/do-smartphones-need-security-software" rel="external"&gt;Smartphone &lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#1A1A1A;"&gt;sales will outpace sales of other mobiles by 2012. In 2009 alone, more than one billion &lt;/span&gt;&lt;span style="font-size:13px; color:#005100;"&gt;&lt;u&gt;mobile phones&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#1A1A1A;"&gt; are expected to be sold around the world. Prices will affect market growth as better deals for users squeeze margins. Indeed, while the number of mobile and Wi-Fi-enabled phones is predicted to grow by 10 per cent, revenue will decline by nine per cent, according to the research, &lt;/span&gt;&lt;span style="font-size:13px; color:#1A1A1A;"&gt;(source &lt;/span&gt;&lt;span style="font-size:13px; "&gt;http://www.itpro.co.uk).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#1A1A1A;"&gt;However as the analysts predict increased sales and price wars over the next couple of years the technologists will be creating even greater devices. So will these smartphones in 2012 and 2014, that the articles talk about, be the same devices as we know today, Or will they be the new, even smarter, "smartphones"? As the features and functionality increase the new devices will arrive with their new brand names and their new price tags. Leaving todays smartphones relegated to the mid range offerings.&lt;br /&gt;&lt;br /&gt;So what do we believe these new smartphones will offer? There is no doubt they will be faster with better screens. Possibly even utilising OLED and flexible displays, enabling the whole case to be a screen and opening up the world of downloadable backdrops and caller identifying colour changes to accompany the multitude of ringtones available today.&lt;br /&gt;&lt;br /&gt;They will probably utilise a combined inbox for all emails and social media notifications. They will all have a multitude of options or Apps for the user to customise their devices functionality. They may accommodate simple video conferencing suitable for both business and personal use. As well as allow easy creation, storage and retrieval of podcasts and telephone interviews. No doubt some will include the necessary functionality to enable use as a mini projector. &lt;br /&gt;&lt;br /&gt;With all of this increased reliance on mobiles the need for greater security will rise. Leading to innovative ideas to prevent invalid access to your data and connections. Of course current issues with the networks and the battery life of the devices will need to be resolved but as these data heavy phones become more commonplace that will be a requirement long before the smartphones of today become the mediocre phones of tomorrow.&lt;br /&gt;&lt;br /&gt;What are your predictions on the sales, prices and functionality of our mobiles over the next five years?&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-949548516440218156?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=949548516440218156' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=949548516440218156' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=949548516440218156'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=949548516440218156'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=949548516440218156' title='Smartphones of the future'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-6587669300857766102</id><published>2009-12-02T06:45:00.000-08:00</published><updated>2011-10-17T03:53:03.741-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><title type='text'>Professional Membership - Is it worth it?</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:13px; "&gt;In the past, as a Technology and Engineering student in the UK, I received literature extolling the virtues of joining a professional institution such as the BCS (British Computer Society) or the IEE and IEEIE (Institute of Electrical Engineers and Institute of Electrical and Electronics Incorporated Engineers, which merged to form the Institute of Engineering and Technology or IET in March 2006).  &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;Even then there was a real dilemma regarding which was the better institution to belong to, the very old and established Engineering institute, or the newer Computer Society. There was also the American based IEEE with its large membership and separate Computer Society. The sway for a lot of people was the chartered status that could be achieved within the Engineering discipline. However now the BCS also offers members the ability to be a chartered IT professional the decision for graduates must be even more difficult.&lt;br /&gt;&lt;br /&gt;In the end I didn't join either. Now as a seasoned professional, who has long since left her college days behind, I was reminded of the dilemma again at a recent technology event. &lt;br /&gt;&lt;br /&gt;I think as a student one of the criteria that stopped me joining was the cost. What would I get for my money? What benefits would belonging give me? At the time I was going into the ranks of the fully employed and did not require the added kudos membership may give me with employers.&lt;br /&gt;&lt;br /&gt;Now with membership of the IET currently at &amp;pound;112 a year with an extra &amp;pound;29 for chartered status, and chartered IT professional with the BCS costing &amp;pound;255 for the first year then &amp;pound;135 for subsequent years, the costs are comparable for each institution. However the question still remains for me on the benefits.&lt;br /&gt;&lt;br /&gt;The supporters of these institutions claim belonging to them gives you access to a huge library of articles and papers for your chosen area of interest. I don't doubt that but with the explosion in social media and blogging it is difficult to follow all of the articles published freely already. Can I access all the latest and greatest news already from LinkedIn, Twitter links, Google searches and free podcasts? Also aren't past articles too out of date for the fast paced area of mobile and IT anyway?&lt;br /&gt;&lt;br /&gt;I can network with like minded Engineers and scientists and attend social and educational events. Again is this not something I can now engineer for myself. By attending targeted technical conferences am I not gaining more relevant information than I would attending general institution events?&lt;br /&gt;&lt;br /&gt;What about qualifications and the endorsements belonging to such a group can bring? The BCS brought us ISEB which includes the IT Service Management or ITIL qualification as well as covering other disciplines such as Business Analysis, Project Management, Systems Development and Software Testing. However these qualifications are separate from the membership of the organisation. What about Prince2 or PMI? How do the ITIL qualifications compare to these? An ISEB qualification in Project Management is said to be compatible with Prince 2 and conversion courses are accessible for those already qualified as Prince2 practitioners. However is it really necessary to gain as many qualifications in a particular field as possible? How much notice do employers take of the actual qualifications gained and do any of them look favourably on membership when considering candidates for a position? &lt;br /&gt;&lt;br /&gt;Currently I am remain unconvinced of the virtues of joining any professional body let alone knowing which is the best to join. However I am always open to persuasion. Do you belong to any? If so what are the benefits to you? What do you believe I could gain from joining?&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-6587669300857766102?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6587669300857766102' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6587669300857766102' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6587669300857766102'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6587669300857766102'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6587669300857766102' title='Professional Membership - Is it worth it?'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-8559063987776810232</id><published>2009-11-27T09:42:00.000-08:00</published><updated>2011-06-07T11:31:13.868-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='None'/><title type='text'>No tutorial but new site available</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:13px; color:#262626;"&gt;I just thought I would allay any fears. For any one who has been following my iPhone App tutorial blogs you may have noticed that there has been an unusual delay in publishing lesson 6. This is because I have been concentrating on creating a more iPhone App specific website whilst writing the next lesson.  &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#262626;"&gt;The new website &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;a href="http://www.iphoneappdev.co.uk" rel="external"&gt;www.iphoneappdev.co.uk.&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt; will provide a better showcase for our iPhone knowledge and ability. So in future all iPhone blogs will be found on this new site. The iPhone App site has been created as more of a blogging site to allow easier access to the tutorials and other iPhone related blogs.&lt;br /&gt;&lt;br /&gt;Soon there will be two more sites available &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;a href="http://www.androidev.co.uk" rel="external"&gt;www.androiddev.co.uk &lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;to discuss android App development and &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;a href="http://www.smartphonedev.co.uk" rel="external"&gt;www.smartphonedev.co.uk &lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt; to cover the remaining smartphones such as Palm Pre and those running WinCE.. However please be patient as these sites are not available currently and will just redirect you back to this site. As soon as they are available I will let you know.&lt;br /&gt;&lt;br /&gt;The iPhone App tutorials, as well as any other iPhone related blogs, will still be accessible from this organise my business site via a link, but this site will now become more of a business website linking our iPhone, Android and other Smartphone sites together. &lt;br /&gt;&lt;br /&gt;I hope this doesn't cause any confusion or issues. Any problems please feel free to &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;a href="http://www.organisemybusiness.co.uk/page22/../Contact/page1.php" rel="self" title="Contact Us"&gt;contact us at Organise Ltd&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt; and we will assist as best we can.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-8559063987776810232?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8559063987776810232' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8559063987776810232' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8559063987776810232'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8559063987776810232'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8559063987776810232' title='No tutorial but new site available'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-7919987445732397663</id><published>2009-11-10T06:15:00.000-08:00</published><updated>2011-06-07T11:31:13.125-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='None'/><title type='text'>The end of an era</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:13px; color:#262626;"&gt;I've just heard from some old colleagues about the impending closure of their company in Coventry. I have no attachment to the company they work for as it was taken over after I left. However I do know a fair number of the people being affected. &lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;Like many people being faced with redundancy they have already been through a lot of disruption and uncertainty. The company in question started off as GEC Telecommunications, an arm of the giant GEC Company controlled by the late Arnold Weinstock. Lots of people judged him as a risk averse MD who managed an old fashioned company in an old fashioned manner. Despite this, in the 33 years as MD at GEC he managed to increase the business turnover from &amp;pound;100m to &amp;pound;11bn.  (wikipedia)&lt;br /&gt;&lt;br /&gt;In its heyday in 1979 GEC was Britain's largest private employer.  With manufacturing, and research and development, there were about 5 sites throughout Coventry. The main Coventry site, (sometimes referred to as the Stoke works), boasted a ballroom, two restaurants (staff and executives), an on-site health clinic and two social club venues, including a sports club complete with golf course. Although most of the original site, having been built in the 1920s, was quite old new buildings had been created to accommodate the larger number of engineering staff now that manufacturing was declining.&lt;br /&gt;&lt;br /&gt;The company may have been considered a low payer, but it provided benefits to its employees in other ways. When I joined in September 1985 it ran very successful apprenticeship and training courses for sixteen year olds, eighteen year old and graduates. The atmosphere at the Coventry site, (and I gather at other sites, from comments I have heard), was one of camaraderie. There was an active social scene in most departments with employees arranging events and trips at regular intervals. It was almost as if the workers banded together against the controlling, sometimes stifling, style of the upper management.&lt;br /&gt;&lt;br /&gt;When in 1988 it merged with Plessey to become GPT I was nearing the end of my training. Despite a reduction in the training programmes offered by GEC Telecommunications for engineering staff there were no noticeable changes within the company and the future was looking very good. They appeared to have more of an issue retaining their newly trained Engineers than they had placing them in jobs within the company. Those that did stay could see the benefits within the company. Although the pay was still considered poor, compared to other companies within the industry, the jobs were considered secure and interesting and the social atmosphere remained a big pull to the employees.&lt;br /&gt;&lt;br /&gt;However In 1996 Lord weinstock retired and George Simpson took over as MD of GEC. The change was described as a 'wave of new corporate management' which wanted to 'focus on core business strengths'. Within the next two years the company named changed from GPT to Siemens GEC Communication Systems (SGCS) and then Marconi Communications. By this time the majority of the manufacturing sites had closed and the redundancies had started as a result. &lt;br /&gt;&lt;br /&gt;In the late 90's and in 2000, on the surface, the future appeared very promising for Marconi. The cash mountain Lord weinstock had built up over the years was dramatically reduced as the new company made further acquisitions. By May 2000 Marconi announced a new site was to be developed at Ansty, near Coventry. &lt;/span&gt;&lt;span style="font-size:13px; "&gt;A government grant of &amp;pound;25 million was given to the communications giant to help finance the move. New jobs were to be created at the Stoke site now known as New Century Park, as well as further jobs created once the new site was available. Lord Simpson is reported as saying &amp;ldquo;Marconi is now one of the world&amp;rsquo;s fastest growing information and IT companies and the new jobs announced today will be a vital part of that exciting future." (CWN.Org May 2000)&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;&lt;br /&gt;As some of the more key acquisitions were made in 1999 and 2000 they were made at very high prices and shortly before the end of the dot-com bubble. Consequently the value of the company dropped significantly.  The new wave of management which had brought higher salaries and greater benefits to the employees in the form of gifts, Christmas party funds and increased departmental funds, had also caused the company to go into decline. Redundancies were announced and the once safe jobs were under threat. I left the Company in 2002. I didn't leave as part of the first round of redundancies at the site, that started around mid 2001, and there were many more announced after I had gone.&lt;br /&gt;&lt;br /&gt;By January 2006 Ericsson bought the Marconi name and most of the ailing company. The rest became Telent Plc. The new site that had been promised at Ansty remained empty. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;In August 2007 Ericsson announced its plans to build a new &amp;pound;60 million research and development base at the Ansty site.  It planned to move its current operation from New Century Park, Coventry and some staff from Beeston in Nottinghamshire to the new facilities to be built on the Ansty complex.  It was hoped the first of a total of 650 staff would start moving in the second quarter of 2009, with the phased move completed by the end of the year. (Birmingham Post)&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;. In December 2008 planning meetings were being held to discuss the fate of the New Century Park site.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;Some would say the old GEC/GPT/Marconi company was lost when the old Binley Road site was closed. But a company is more than its buildings and surroundings. It is the people that make the company. As long as the some of the same sociable, friendly and tenacious people remained the company was still alive and well. Those that had left, voluntarily or otherwise, still had a link to the old days.&lt;br /&gt;&lt;br /&gt;Now, following an announcement yesterday, the Company at the new site is to be shut down. The research and development and global service delivery activities are to be withdrawn &lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;from Coventry.&lt;/span&gt;&lt;span style="font-size:13px; color:#262626;"&gt;Those employees that have remained with the company, so far ,may have the opportunity to apply for other jobs elsewhere, but the majority will be looking for a new role within a new company. The Company as it was will now be totally disbanded. The current and ex-employees may attempt to keep links alive through social networking sites and occasional reunions but over time the memories and friendships will fade. &lt;br /&gt;&lt;br /&gt;Having been through all of this turmoil over the last 8 years one can understand if the employees are disgruntled with their lot. Have they really fared any better than those who were asked to leave on the very first round of redundancies, when the company shares took a nosedive? Yes, they have had several months of pay into their pockets but have they improved their knowledge and skills, and more importantly their ability to find another job? With the current recession hitting the job market harder than in 60 years those extra years may have actually given their old colleagues a head start on finding another 'steady' job. However if they have managed to weather each of the rounds of redundancies that have befallen others before now, they must have some great strengths of resilience and adaptability. So maybe this should not be seen as a sad day for Coventry, but a great opportunity. The town is about to see a surge in good sound Engineers and support staff available for work. &lt;br /&gt;&lt;br /&gt;Maybe some of them will use the opportunity to take the somewhat scary step of becoming Entrepreneurs. If the Government, local and national, can see their way to providing a little investment into some local Startups we may see a new Coventry rise from the ashes and become a growing economy, rather than a continually shrinking one. It may not recreate the safe and sociable days of old but it will bring new challenges and experiences for everyone.&lt;br /&gt;&lt;br /&gt;What do you think? Have you been affected by the closure at Coventry or any other long standing company? Let me know your views.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-7919987445732397663?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7919987445732397663' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7919987445732397663' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7919987445732397663'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7919987445732397663'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7919987445732397663' title='The end of an era'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-1440563289495468897</id><published>2009-11-05T02:01:00.000-08:00</published><updated>2010-05-24T11:56:10.554-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='RSS'/><title type='text'>5(B). Web Data Model</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="iPhone App displaying result of web data model" src="files/screen-shot-2009-11-06-at-11.32.43.png" width="63" height="116"/&gt;&lt;span style="font-size:13px; "&gt;  Lesson 5B. This is the second part of the lesson to look at how to create a data model to sit behind the table created in lesson 4. In this part the data within the model will be extracted from the web.&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Now we have our data model let us put some data into it that is a little more meaningful. We will utilise the RSS feed from a news site to populate our model and hence our view.&lt;br /&gt;&lt;br /&gt;First of all let us consider the two string variables we created in our model within lesson 5(A) to represent the summary and detail data. If we are to store and display some data from the RSS feeds it may be more appropriate to rename these variables to be title and description. XCode provides an easy mechanism to do this. By selecting &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;Refactor&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; from the &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;Edit&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; menu within XCode you can change the name of a variable or method throughout the code. &lt;br /&gt;&lt;br /&gt;It may also help you to rename your methods for getSummary and getDetail as well but this is all down to your personal preference.&lt;br /&gt;&lt;br /&gt;In order to accept the RSS data we need to create a method to get the news items. We will also need to manipulate or parse the received data as well to break it down into the fields that we want, namely the title and description to start with. &lt;br /&gt;&lt;br /&gt;To help with the navigation of the code it is a good idea to create the reader and parser files under a different group. To create a new group just right click the project name and &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;Add &amp;gt New Group. &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Within this group &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;Add&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; a new &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;Objective-C class file &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;for the RssReader.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;Rss Reader&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;To put the RSS data into our model we need a variable that represents an instance of our model and one that represents the Received data. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; RssReader : NSObject &lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSMutableData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;receivedData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataModel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) NSMutableData *receivedData;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;assign&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) DataModel* model;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Within our code we need to initialise the received data. We don't know how much data is going to be received with each feed so we initialise it  with a size suitable to accept a reasonable amount of data. If the data received is larger than our guess (30K) the array will grow but become less efficient. We have to balance memory usage against speed.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;id&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) init&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;super&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;init&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; != &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;br /&gt;	{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;receivedData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSMutableData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithLength&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;30000&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	}&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;As stated earlier we need a method to get the news items by taking in the RSS feed. First we need to perform a URL request like we did in lesson 3. However, this time instead of calling the URL request with a users input string, we will use a feed. The feed will be generated when we load the view within the RootViewController, but we will cover that in a moment.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) getNewsItems:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURL&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)feed &lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLRequest&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* req = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLRequest&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithURL&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:feed];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;When the App is running and we are processing the news items we still want the user to be able to see the news already received and utilise any UI widgets within the App. Therefore we need to be able to perform an asynchronous load of the RSS feed. To do this we use the NSURLConnection class &amp;mdash; this class manages the http communication required to retrieve the rss data. &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithRequest&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:req &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;delegate&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;startImmediately&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;YES&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Remember to declare the &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theConnection &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;variable within your RSSReader.h file. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;It does not need to be accessed outside our class so no &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font-size:13px; "&gt; or &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@synthesize&lt;/span&gt;&lt;span style="font-size:13px; "&gt; is required. The NSURLConnection passes information back using callbacks on its delegate, the current class (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;delegate&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self)&lt;/span&gt;&lt;span style="font-size:13px; "&gt;in this instance. Look at the online documentation to determine what they are and how to fulfil them within your RSSReader code. Here are some hints.&lt;br /&gt;&lt;br /&gt;Within the connection &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;didReceiveResponse &lt;/span&gt;&lt;span style="font-size:13px; "&gt;we need to make sure we clear any previous&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; ReceivedData&lt;br /&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)connection:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)connection didReceiveResponse:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLResponse&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)response&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Starting a new response so clear data&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;    [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;receivedData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;setLength&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;0&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Within the connection &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;didReceiveData &lt;/span&gt;&lt;span style="font-size:13px; "&gt;we need to make sure we append the new data to any existing data received.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)connection:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)connection didReceiveData:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)data&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// append the new data to the receivedData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// receivedData is declared as a method instance elsewhere&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;    [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;receivedData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;appendData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:data];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;It is also good practice to create some data within the log in the event of connection failure to allow you to see the failing URL.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)connection:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)connection&lt;br /&gt;  didFailWithError:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSError&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)error&lt;br /&gt;{&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// inform the user&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;NSLog&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"Connection failed! Error - %@ %@"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,&lt;br /&gt;          [error &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;localizedDescription&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;],&lt;br /&gt;          [[error &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;userInfo&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;objectForKey&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSErrorFailingURLStringKey&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;]);&lt;br /&gt;	&lt;br /&gt;	[connection &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];	&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;When the data has finished loading &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;connectionDidFinishLoading&lt;/span&gt;&lt;span style="font-size:13px; "&gt; is called. We need to parse the data to extract the elements we want to display. For this we need to create our RSS Parser methods so &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;Add&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; a new &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;Objective-C class file &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;RSSParser&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;em&gt;. &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;We will add a method parseRssFeed to parse the data received via the URL connection.&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Using the RSSParser&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;We can utilise the parser method within our RSSReader code.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)connectionDidFinishLoading:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLConnection&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)connection&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//Parse the received data&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;rssParser&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;parseRssFeed&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;receivedData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	[connection &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;]; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//Clean up&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RSS Parser&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;To parse our data we will use the delegate method for the &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSXMLParser &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;class. This class in a similar fashion to NSURLConnection uses a delegate to perform operations on its data. Again check out the online documentation to determine the methods within this class.&lt;br /&gt;&lt;br /&gt;First we need to initialise the parser with the data from the RSS feed. This will be passed into our method when we call it from our RSSReader.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) parseRssFeed:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)rssData&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSXMLParser&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* parser = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSXMLParser&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:rssData];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Then we need to set the delegate method and parse the data.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;	[parser &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;setDelegate&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;]; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//Tell the parser which object to call back to with parsed data&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	[parser &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;parse&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;]; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//Now parse it&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Once we have finished parsing the data and filling up our data model we need to inform 'others' we have finished. We do this using the NSNotification to 'broadcast' a DataUpdateNotification message to whoever is interested in listening. This is a very useful and powerful way to ensure we loosely couple components of our design from one to another.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	[[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSNotificationCenter&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;defaultCenter&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;postNotificationName&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;DataUpdatNotification&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;object&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;We listen for the signal in our RootViewController class. In the method viewDidLoad we add the following:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	&lt;br /&gt;	[[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSNotificationCenter&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;defaultCenter&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;addObserver&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;											 &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;selector&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@selector&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;dataChanged&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:)&lt;br /&gt;												 &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;name&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;DataUpdatNotification&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;object&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;This tells the notification center to call the method dataChanged on the current class whenever a DataUpdateNotification message is broadcast.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)dataChanged:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;id&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) info &lt;br /&gt;{&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;reloadData&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;In this method we simply refresh the table view with the downloaded content.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Within the Parser the delegate methods we are concerned with are&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; parser:didStartElement, didEndElement &lt;/span&gt;&lt;span style="font-size:13px; "&gt;and&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; foundCharacters. &lt;/span&gt;&lt;span style="font-size:13px; "&gt;But first let us look at the RSS data format.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="rssfeed" src="files/rssfeed.png" width="480" height="531"/&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Within &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;didStartElement &lt;/span&gt;&lt;span style="font-size:13px; "&gt;we need to check for each new &amp;ltitem&amp;gt and create a new item in our&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataItems&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font-size:13px; "&gt;array.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)parser:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSXMLParser&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)parser didStartElement:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)elementName namespaceURI:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)namespaceURI qualifiedName:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)qName attributes:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSDictionary&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)attributeDict&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;false&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; ([elementName &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;isEqualToString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"item"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;])&lt;br /&gt;	{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;true&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//Create a new item in the array&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;dataItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataItems&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;init&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;We create the variables&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;and&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt; isItem &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;so we know when we are processing items and elements. Only when we are processing an item do we then process an element.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;i.e.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&amp;lt item &amp;gt&lt;br /&gt;	&amp;lt title &amp;gt hello I'm an element &amp;lt /title &amp;gt &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//We process this&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&amp;lt /item &amp;gt&lt;br /&gt;&lt;br /&gt;&amp;lt someOtherStuff &amp;gt blah blah blah &amp;lt /someOtherStuff &amp;gt  &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//We&lt;/span&gt;&lt;span style="font-size:13px; color:#007400;"&gt; ignore this as it is not inside an item&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&amp;lt item &amp;gt&lt;br /&gt;	&amp;lt description &amp;gt hello I'm another element &amp;lt /description &amp;gt &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//We process this&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&amp;lt /item &amp;gt&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)&lt;br /&gt;	{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; ([elementName &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;isEqualToString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"title"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;])&lt;br /&gt;		{&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;true&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; =  [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSMutableString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;  &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;string&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;		}&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;	&lt;br /&gt;		if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; ([elementName &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;isEqualToString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"description"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;])&lt;br /&gt;		{&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;true&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSMutableString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;  &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;string&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;		}&lt;br /&gt;	}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;When processing the XML the parser calls foundCharcters repeatedly. If we are currently within an element we append the received characters to the currentElement string. &lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)parser:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSXMLParser&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)parser foundCharacters:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)string&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)&lt;br /&gt;	{&lt;br /&gt;		[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;appendString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:string];&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The NSXMLParser calls &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;didEndElement&lt;/span&gt;&lt;span style="font-size:13px; "&gt; for each &amp;ltitem or Element&amp;gt that it finds. &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;For each &amp;lt/item&amp;gt we get to we know that we have processed all the data for that item so we can now add the finished item to our data model.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)parser:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSXMLParser&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)parser didEndElement:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)elementName namespaceURI:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)namespaceURI qualifiedName:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)qName&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)&lt;br /&gt;	{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; ([elementName &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;isEqualToString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"item"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;])&lt;br /&gt;		{&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;false&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;false&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;NSLog&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"New item"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;);&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//Append new element to the data model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;			[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;addElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;dataItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;For each &amp;lt/Element&amp;gt e,g &amp;lt/title&amp;gt or &amp;lt/description&amp;gt we know we have all the data required so we set the individual data Item element e.g.  dataItem.title = self.currentElement, i.e. set it to the contents we had built up with a series of calls to &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;foundCharacters&lt;/span&gt;&lt;span style="font-size:13px; "&gt;.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;([elementName &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;isEqualToString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"title"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;])&lt;br /&gt;		{&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;dataItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;title&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;NSLog&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"title: %@"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;);&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;false&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;		}&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;([elementName &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;isEqualToString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"description"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;])&lt;br /&gt;		{&lt;br /&gt;			&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;NSLog&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"description: %@"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;);&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;dataItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;desc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;			&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;isAnElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;false&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;		}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;Using the RSSReader&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;All that is left to do now is set up your news feed and apply the RSSReader to the feed. As stated earlier in this lesson this should be done as part of &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;viewDidLoad &lt;/span&gt;&lt;span style="font-size:13px; "&gt;once the data model has been initialised.  &lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURL&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* feed = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURL&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;: &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"http://newsrss.bbc.co.uk/rss/newsplayer_uk_edition/sci-tech/rss.xml"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;rssReader&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;RssReader&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;init&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;rssReader&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;rssReader&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;getNewsItems&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:feed];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;N.B. For the purposes of this lesson we chose the BBC science news stories but obviously all of the code we have produced will work on any RSS feed with just a change in the parser elements if different or more elements are passed in the feed.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Although this has been a long and quite intense lesson performing a Build and Run at various points during your coding should ensure you maintain consistency on your variable names, and that you have correctly declared variables and imported headers where necessary. Remember to release any memory as required at the end of your classes, (e.g. &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;currentElement &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;within your parser code) to ensure you don't leave any leaks in the code.&lt;br /&gt;&lt;br /&gt;Here are some screen shots of our finished App.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-06 at 11.32.43" src="files/screen-shot-2009-11-06-at-11.32.43-2.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-06 at 11.32.50" src="files/screen-shot-2009-11-06-at-11.32.50.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;Next Tutorial&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;When you have completed this tutorial why not spend some time parsing the other elements within the RSS feed and displaying them appropriately in your view. &lt;br /&gt;&lt;br /&gt;In the next tutorial we will look at adding some general graphics and further navigation to the App.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-1440563289495468897?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1440563289495468897' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1440563289495468897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1440563289495468897'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1440563289495468897'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1440563289495468897' title='5(B). Web Data Model'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-4957153682135252220</id><published>2009-11-02T02:46:00.000-08:00</published><updated>2010-05-24T11:56:09.568-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='PayPal'/><category scheme='http://www.blogger.com/atom/ns#' term='in-App Payments'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><title type='text'>Will your iPhone replace your wallet?</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="iPhone containing wallet 'functionality'" src="files/iphone-wallet1.jpg" width="112" height="112"/&gt;&lt;span style="font-size:14px; "&gt; Do you remember those old adverts from the eighties when a well known credit card company tried to persuade you to loose the 'fat wallet' in favour of a 'flexible friend'? With the rising popularity and increased functionality of Smartphones will our wallets soon be disappearing altogether?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;I read an article recently about 5 iPhone Accessories We&amp;rsquo;re Still Waiting For (mobilecrunch.com). One of the accessories they wanted was a credit card payment case or dongle. This would effectively allow your iPhone to be used as a credit card. Although the item does not exist currently you can already effectively pay for items via your iPhone using 'in-App' micro payments. In addition Paypal launched a free App on the Android platform this year to allow you to pay recipients listed in your contacts and view your balance information. Also Nokia announced that Nokia Money is to be rolled out in 2010. &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; Touted as a new mobile financial service enabling financial management and payments from a mobile phone, (Nokia.com), they say it will allow financial services to be delivered to hundreds of millions of people. So, although you may still need cash for the smaller items you buy, how long before the Smartphone replaces the need for credit and debit cards? &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;With all of these electronic payments paper receipts could soon become a distant memory. Negating the need to stash scraps of poorly printed paper into your wallet or bag, only to be cleared out the following month when you remember to process the expense and find you can't even read what the item was.&lt;br /&gt;&lt;br /&gt;What about fraud though? How secure is your mobile phone and mobile transactions? Certainly in retail outlets it could become the most secure way to buy. It is only a matter of time before facial recognition is commonly used. Software to correlate the facial features of a mobile phone owner with their device will soon follow. Then you can be sure the person holding the device is the rightful owner. As phones get replaced for the latest and best model the information can be transferred from one device to another along with the number. With fingerprint technology ensuring you have permission to utilise the phones for transfer.&lt;br /&gt;&lt;br /&gt;The smartphone on board cameras will also come into their own more. When you want to know that the person you are speaking to really is who they say they are. Facial recognition Apps will confirm no fraud is being committed. Identity cards will become unnecessary. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Electronic business cards in the form of contacts blue toothed between phones replace the need to hand out your pre-printed cards and combined with the facial recognition will ensure you successfully remember all your business and social networking contacts without the need to secretly scribble reminder notes.&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;So will this be taken one step further to replace the current driving licences? The DVLA already allow for licences and tax discs to be applied for online, and they electronically record all car tax records. It would make sense for paper driving licences to disappear replaced by your electronic id card that records your current vehicle details, address and licence endorsements.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;In phone contacts and calendars have already largely replaced the paper address books and diaries of old. The notes pages, timezone comparisons, and underground maps being replaced by mobile applications. Family pictures are far more preserved within the phone's gallery than they ever were printed out and cushioned between the store cards and money.&lt;br /&gt;&lt;br /&gt;Worried about "The Filofax risk" The eighties dread of carrying your whole life within one device and not being able to cope when it is lost or stolen is now resolved. Mobile phone contents can be readily backed up onto a desktop or laptop as part of the charging cycle. Over time their contents may be stored in the cloud, providing users are confident of its security.&lt;br /&gt;&lt;br /&gt;The phone could even perform actions that your wallet or its contents could never do. Communicate with your car, to inform it of your personal preferences for your seat position, radio tuning, etc. Turn on the lights in your home or office. Switch on your preferred entertainment medium when you enter the house. The list of current and future possibilities is mind blowing compared to the capabilities we all enjoyed when those adverts were released.&lt;br /&gt;&lt;br /&gt;So what is left? What else do you carry around in your bag, purse or wallet that won't, one day soon, be replaceable by a smartphone?&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-4957153682135252220?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4957153682135252220' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4957153682135252220' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4957153682135252220'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4957153682135252220'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4957153682135252220' title='Will your iPhone replace your wallet?'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-7626940552172739875</id><published>2009-10-31T04:59:00.000-07:00</published><updated>2010-05-24T11:56:08.331-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Data Model'/><title type='text'>5(A). Data Model</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="iPhone App displaying result of data model" src="files/screen-shot-2009-11-02-at-10.57.03.png" width="63" height="116"/&gt;&lt;span style="font-size:14px; "&gt; Lesson 5A. This is a two part lesson looking at how to create a data model to sit behind the table created in lesson 4. In this part the data model will be created and simply populated by hard coding data. In the second part (5B) the data model will be populated by data from the web.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; color:#000000;"&gt;In our previous tutorial, lesson 4, we created a table where the table cells were numbered and could be deleted, but were renumbered once the cells were redrawn. In order to create some persistent data behind the table we need to create a data model. So lets go.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;Creating the Data Model and Methods&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;Create a new Objective C class. &lt;/span&gt;&lt;span style="font-size:13px; "&gt;Select &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Classes&lt;/span&gt;&lt;span style="font-size:13px; "&gt; within &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;XCode&lt;/span&gt;&lt;span style="font-size:13px; "&gt; and right click to &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Add&lt;/span&gt;&lt;span style="font-size:13px; "&gt; a &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;New File. &lt;/span&gt;&lt;span style="font-size:13px; "&gt;Give the new class a suitable name such as DataModel.&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-01 at 10.06.08" src="files/screen-shot-2009-11-01-at-10.06.08.png" width="480" height="403"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;For the data we need to declare two string variables to represent the summary and detail data within an instance of the model. Remember to declare the variables using the &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;&lt;em&gt;Retain&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; property so the memory is not automatically released and to synthesize the variables in your .m file, (Hint: this was covered in lesson 3).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; DataElements : NSObject&lt;br /&gt;{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;summaryString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;detailString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) NSString* summaryString;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) NSString* detailString;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;We then need to create the model itself. For this tutorial we will use a &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;MutableArray&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#000000;"&gt;,(&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Mutable means changeable). so we will declare the model as follows&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; DataModel : NSObject &lt;br /&gt;{	&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSMutableArray&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) NSMutableArray* theDataElementStore;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Again remembering to synthesize the theDataElementstore variable in the .m file.&lt;br /&gt;&lt;br /&gt;Now we need to create the methods that can be performed on the data model. Firstly we need to allocate some memory for the model and initialise it. This can be done as follows&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;id&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) init&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;super&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;init&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; != &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;br /&gt;	{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSMutableArray&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithCapacity&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;40&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	}&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; (N.B. pressing esc and selecting the init definition will give the outline for this method. The only additional coding added is to initialise the data elements of our model, setting the array to have a capacity of 40 elements).&lt;br /&gt;&lt;br /&gt;We also need to ensure we release the memory for the elements once they are no longer required. So we need to create a dealloc method for our data model.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) dealloc&lt;br /&gt;{&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;super&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;dealloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Again the definition for this is available with a placeholder for us to add the release of the dataElements.&lt;br /&gt;&lt;br /&gt;Next we need to create the other methods that may be required. We need to be able to add elements and we will need to be able to access the summary and detail data.  Also, we added the delete functionality to the UI in the previous tutorial, so we will need a method to delete an element. &lt;br /&gt;&lt;br /&gt;Lets add an element first. This method does not need to return anything but it does need to take in the data for the summary and the associated detail. So the definition of the method in our DataModel.h needs to be something like&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) addElement:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;*)summary withDescription:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;*)description;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;And the actual method needs to create an instance of the DataElements by creating a new variable to set up the summary and description.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) addElement:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;*)summary withDescription:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;*)description&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataElements&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* newEntry = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataElements&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;init&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	newEntry.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;summaryString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = summary;&lt;br /&gt;	newEntry.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;detailString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = description;&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;addObject&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:newEntry];&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;The methods required to access the summary and detail are similar. We need to take in the position of the data required within theDataElementStore and return the string held there. By introducing another variable (retStr) we can return the data within the summary, (or detail), or return a set string if no data is available.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;*) getSummary:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;int&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) position&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* retStr = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"No data"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataElements&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* thisElement = [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;objectAtIndex&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:position];&lt;br /&gt;	&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (thisElement != &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)&lt;br /&gt;	{&lt;br /&gt;		retStr = thisElement.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;summaryString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	}&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; retStr; &lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;I will let you determine how to code the method for getDetail to allow it to access the detailString member variable. In both cases you need to declare the method within your header file.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;*) getSummary:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;int&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) position;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The following diagram shows a logical view of how the data model is mapped into memory.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="datamodel memory" src="files/datamodel-memory-2.png" width="251" height="720"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;So now we can add new data and access that data we need the ability to delete it. For this we don't need to return any value, (the lack of any exception tells us it must have succeeded), we just take in the position of the dataElement to be deleted.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) deleteElement: (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;int&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)position&lt;br /&gt;{&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;removeObjectAtIndex&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:position];&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Finally, we utilised a variable, (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;numberOfRows&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;), in the previous tutorial to control how many rows we could have in the table. Now that we have created our model we need to utilise the size of &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; instead. So a final method is required.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;int&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) numberOfElements&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;theDataElementStore&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;count&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Remember to add the method definition into your model.h file.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Utilising the Data Model&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Now our methods are defined and created we need to utilise them within the RootViewController in place of the code we created in Tutorial 4.&lt;br /&gt;&lt;br /&gt;First let us initialise the model with some data that will allow us to identify the summary and detail elements. For this we can create a method that sets the first 20 elements. We need to declare an instance of our data model within our RootViewController.h file and define our initialisation method.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; RootViewController : UITableViewController &lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataModel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)initDataModel;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;You should have noticed that we no longer declare our &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;numberOfRows&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; variable as we will replace that with our &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;numberOfElements &lt;/span&gt;&lt;span style="font-size:13px; "&gt;count. &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Within our RootViewController.m file we can add the following.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)initDataModel&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; == &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)&lt;br /&gt;	{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DataModel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;init&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	}&lt;br /&gt;	&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;for&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;int&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; i = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;0&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;; i &lt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;20&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; ; i++)&lt;br /&gt;	{&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* summary = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithFormat&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"This is summary %i"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,i];&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* detail = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithFormat&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"This is detail %i"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,i];&lt;br /&gt;		&lt;br /&gt;		[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;addElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:summary &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;withDescription&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:detail];&lt;br /&gt;		&lt;br /&gt;		[summary &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;		[detail &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	}&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;To ensure this method runs we will call it as soon as the view is loaded.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)viewDidLoad &lt;br /&gt;{&lt;br /&gt;    [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;super&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;viewDidLoad&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#007400;font-weight:bold; "&gt;// Call to initialise our data model elements&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#AA0D91;font-weight:bold; "&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#26474B;font-weight:bold; "&gt;initDataModel&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;]; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Uncomment the following line to display an Edit button in the navigation bar for this view controller.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;navigationItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;rightBarButtonItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.editButtonItem;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;title&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"Tutorial List"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Now when we &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Customize the number of rows in the table view. &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;We need to return the number of elements within our model instead of our previous &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;numberOfRows. &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;So we add the following:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;numberOfElements&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Instead of setting the &lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#5C2699;font-weight:bold; "&gt;textLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#5C2699;font-weight:bold; "&gt;text &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;equal to the section and cell number we can set it to our summary data.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Configure the cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;showsReorderControl&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;true&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;textLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;getSummary&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:indexPath.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;row&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The detail is then set where we set up our second view controller before we release the memory allocated for it.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	[detailViewController.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;textView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;setText&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;getDetail&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:indexPath.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;row&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;]];&lt;br /&gt;	[detailViewController &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;To allow the elements to be deleted we can now delete the row from the data source.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Override to support editing the table view.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)tableView:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; commitEditingStyle:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableViewCellEditingStyle&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)editingStyle forRowAtIndexPath:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSIndexPath&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)indexPath {&lt;br /&gt;    &lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (editingStyle == &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;UITableViewCellEditingStyleDelete&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;br /&gt;	{&lt;br /&gt;        &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Delete the row from the data source.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;		[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#26474B;"&gt;deleteElement&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:indexPath.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;row&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;        [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;deleteRowsAtIndexPaths&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSArray&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;arrayWithObject&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:indexPath] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;withRowAnimation&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;UITableViewRowAnimationFade&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;    }   &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Finally, we need to release the memory we allocated for our model.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)dealloc &lt;br /&gt;{&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;]; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;//Release memory for our data model&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	&lt;br /&gt;    [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;super&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;dealloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;When you build and run your changes you should find a difference, not only with the contents of the summary and detail views, but also with the way the cells are deleted.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-02 at 10.55.43" src="files/screen-shot-2009-11-02-at-10.55.43.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Summary cells listed in numerical order.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-02 at 10.55.52" src="files/screen-shot-2009-11-02-at-10.55.52.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Detail cell number matches summary cell number.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-02 at 10.56.18" src="files/screen-shot-2009-11-02-at-10.56.18.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Lets delete a summary cell, (This is summary 3), and see what happens.&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-02 at 10.56.24" src="files/screen-shot-2009-11-02-at-10.56.24.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-11-02 at 10.57.03" src="files/screen-shot-2009-11-02-at-10.57.03-2.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Even when you scroll the view the cell is deleted, there is no duplicate cell numbering as we had in tutorial 4 and no renumbering occurs. The cell this time has been deleted at source.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Next tutorial&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;There was a lot to cover in this tutorial so I took the decision to split it into two parts. The second part, (due before the week is over), will look at using the web as the source for our data. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-7626940552172739875?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7626940552172739875' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7626940552172739875' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7626940552172739875'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7626940552172739875'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7626940552172739875' title='5(A). Data Model'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-2775220252080962386</id><published>2009-10-23T06:34:00.001-07:00</published><updated>2010-05-24T11:56:07.351-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='TableView'/><title type='text'>4. Table Views and Navigation</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;div class="image-left"&gt;&lt;img class="imageStyle" alt="iPhone App displaying table list" src="files/screen-shot-2009-10-27-at-12.08.31.png" width="63" height="116"/&gt;&lt;/div&gt;&lt;span style="font-size:13px; "&gt; Lesson 4. This lesson will look at how to create tables on your View and give the user sufficient control to delete and move entries around. It will look at creating multiple tables so that a user can drill down to some information displayed on a second view. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;This lesson will look at how to create tables on your View and give the user sufficient control to delete and move entries around. It will look at creating multiple tables so that a user can drill down to some information displayed on a second view. &lt;br /&gt;&lt;br /&gt;For those of you following the series, in order to demonstrate table views we will leave our previous project alone and start with a new project in XCode. So here goes...&lt;br /&gt;&lt;br /&gt;In XCode &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Create New Product &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;and select the &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Navigation-based Application&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;. As before select &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; to see what the template gives you. You should see a list view.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-22 at 20.07.27" src="files/screen-shot-2009-10-22-at-20.07.27.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;Within your &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Classes &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;you will see &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController&lt;/span&gt;&lt;span style="font-size:13px; "&gt; files (.m and .h) and your AppDelegate files (&lt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Your App Name&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;AppDelegate.m &lt;/span&gt;&lt;span style="font-size:13px; "&gt;and .h).  We will look at the usage of the AppDelegate file in a later tutorial. It is not required for what we want to achieve today.  For this tutorial we will work on the &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.m.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;u&gt;Sectioning Tables&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;Let us first of all see how we can change the look of the table. Within the rootViewController code you will see the following:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSInteger&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)numberOfSectionsInTableView:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; {&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;1&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Customize the number of rows in the table view.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSInteger&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)tableView:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; numberOfRowsInSection:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSInteger&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)section {&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The first function sets the number of sections to be just one. The second sets the number of rows in each section to be 0. Change these to say 2 and 3 respectively and &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; to see the affect. &lt;br /&gt;&lt;br /&gt;You should see no change. Although you have set the number of sections to be two and the rows to be three the style of the table has not been altered and there are no values in the table for you to be able to see the change. If you open the &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.xib &lt;/span&gt;&lt;span style="font-size:13px; "&gt;file and open the &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Inspector&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; you will see from the &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Table Attributes&lt;/span&gt;&lt;span style="font-size:13px; "&gt; on the view that the style is &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Plain&lt;/span&gt;&lt;span style="font-size:13px; "&gt;. Switch it to &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Grouped. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-22 at 20.16.58" src="files/screen-shot-2009-10-22-at-20.16.58-2.png" width="226" height="831"/&gt;&lt;/strong&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Save the change and then &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;again. You should now see a different table layout on the simulator.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-22 at 20.16.42" src="files/screen-shot-2009-10-22-at-20.16.42.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Changing the grouping and the number of rows and sections allows you to customise the layout of your table as required to create a better user interface.&lt;br /&gt;&lt;br /&gt;Now lets add a header for each section. Within &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.m &lt;/span&gt;&lt;span style="font-size:13px; "&gt;below the number of sections we can add the following to create the section headers.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)tableView:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; titleForHeaderInSection:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSInteger&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)section&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* secHeader = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@""&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (section == &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;0&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;br /&gt;	{&lt;br /&gt;		secHeader = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"section header1"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	}&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;else&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (section == &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;1&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)&lt;br /&gt;	{&lt;br /&gt;		secHeader =  &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"section header2"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	}&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; secHeader;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;We could have written a switch statement or not introduced secHeader at all. The preferred style of coding is down to each individual. As always &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;to check the effect is as expected.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-23 at 11.53.15" src="files/screen-shot-2009-10-23-at-11.53.15.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Now lets put some data into the individual cells.&lt;br /&gt;&lt;br /&gt;Within &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.m&lt;/span&gt;&lt;span style="font-size:13px; "&gt; there is a function to &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Customize the appearance of table view cells. &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Customize the appearance of table view cells.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableViewCell&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)tableView:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)tableView cellForRowAtIndexPath:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSIndexPath&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)indexPath {&lt;br /&gt;    &lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;static&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *CellIdentifier = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"Cell"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;    &lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableViewCell&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *cell = [tableView &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;dequeueReusableCellWithIdentifier&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:CellIdentifier];&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (cell == &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) {&lt;br /&gt;        cell = [[[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableViewCell&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithStyle&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;UITableViewCellStyleDefault&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;reuseIdentifier&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:CellIdentifier] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;autorelease&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;    }&lt;br /&gt;    &lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Configure the cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;	cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#5C2699;font-weight:bold; "&gt;textLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#5C2699;font-weight:bold; "&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#5C2699;font-weight:bold; "&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#2E0D6E;font-weight:bold; "&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#2E0D6E;font-weight:bold; "&gt;initWithFormat&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#C41A16;font-weight:bold; "&gt;@"section %i Cell %i"&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;,indexPath.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#5C2699;font-weight:bold; "&gt;section&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;,indexPath.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#2E0D6E;font-weight:bold; "&gt;row&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;];&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; cell;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;The &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;cellForRowAtIndexPath &lt;/span&gt;&lt;span style="font-size:13px; "&gt;method is called by tableView for each cell that the table needs to display. This code is automatically created for us by XCode when we create a navigation based application.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="TableViewExplanation" src="files/tableviewexplanation.png" width="480" height="237"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;We have set the cell textLabel to display the section and cell number as shown above in &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;bold&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;This will give the following on&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run.&lt;/em&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-23 at 12.31.36" src="files/screen-shot-2009-10-23-at-12.31.36.png" width="207" height="385"/&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The section of code :-&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;static&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *CellIdentifier = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"Cell"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;    &lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableViewCell&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *cell = [tableView &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;dequeueReusableCellWithIdentifier&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:CellIdentifier];&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (cell == &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) {&lt;br /&gt;        cell = [[[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableViewCell&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithStyle&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;UITableViewCellStyleDefault&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;reuseIdentifier&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:CellIdentifier] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;autorelease&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;    }&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;instantiates a new 'cell' instance or re-uses a previous one. We will examine this more thoroughly in a later lesson.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;u&gt;Editing Table Views&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;We will now look at allowing the user to edit the table. However to demonstrate this functionality we will first return the view to a single section of multiple cells.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Within &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.m &lt;/span&gt;&lt;span style="font-size:13px; "&gt;set the number of sections back to 1 and the number of rows to say 20. Of course &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; to make sure it is as expected. &lt;br /&gt;&lt;br /&gt;Within &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.m &lt;/span&gt;&lt;span style="font-size:13px; "&gt;locate the function &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;- (void)viewDidLoad &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;where it says&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt; // Uncomment the following line to display an Edit button in the navigation bar for this view controller.&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;and do as it says. Make sure you uncomment the function and not just the line.&lt;br /&gt;&lt;br /&gt;This should display the &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;Edit&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; button on the view.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-23 at 12.48.39" src="files/screen-shot-2009-10-23-at-12.48.39.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;However if you select Edit and then attempt to delete a particular cell you should see that it doesn't do anything. This is because we have fixed the number of rows within the section. It cannot reduce the number of rows to 19 when we have coded it to say there are 20. We therefore need to change the code to allow for a variable number of rows in accordance with how many are deleted.&lt;br /&gt;&lt;br /&gt;Create a variable within &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.h &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; RootViewController : UITableViewController &lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;int&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; numberOfRows;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Back in &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;RootViewController.m &lt;/span&gt;&lt;span style="font-size:13px; "&gt;set a start value for the numberOfRows.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)viewDidLoad {&lt;br /&gt;    [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;super&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;viewDidLoad&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	&lt;br /&gt;	numberOfRows = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#1C00CF;"&gt;20&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;Then where you &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Customize the number of rows in the table view. &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Set it to &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;  &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;numberOfRows&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Locate the function to &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Override to support editing the table view.&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; Uncomment it and &lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Delete the row from the data source. &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;As follows:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;if&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (editingStyle == &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;UITableViewCellEditingStyleDelete&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;br /&gt;	{&lt;br /&gt;        &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Delete the row from the data source.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;		&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;numberOfRows&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;--;&lt;br /&gt;        [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;deleteRowsAtIndexPaths&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSArray&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;arrayWithObject&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:indexPath] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;withRowAnimation&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;UITableViewRowAnimationFade&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;    }   &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;You should find the Edit and Delete functions work now. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-23 at 13.08.20" src="files/screen-shot-2009-10-23-at-13.08.20.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-27 at 11.40.43" src="files/screen-shot-2009-10-27-at-11.40.43.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-27 at 11.41.13" src="files/screen-shot-2009-10-27-at-11.41.13.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt; As can be seen above I have deleted cell 4. However the view shows two cells labelled cell 8. If I were to scroll down the screen and back again the cells would all be renumbered to show no gaps. There would only be 19 cells listed because 1 has gone, but there is no record of it being cell 4 that I deleted.  Initially the original cells 0-3 and 5-8 are not redrawn as they were already on the screen, but the new cell in the 9th position (remembering labelling starts at 0) is added. &lt;br /&gt;&lt;br /&gt;Normally we would have a data model behind this view which would also have to be edited to remove a 'cell' of data. We will look at using this view with a data model in the next tutorial however for now we will just continue to look at manipulating the view a little.&lt;br /&gt;&lt;br /&gt;If we now what to add the functionality to allow a user to rearrange the cells rather than delete them we need to locate that function within the code.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Override to support rearranging the table view.&lt;br /&gt;// Override to support conditional rearranging of the table view.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Ensuring they are not commented out. We also need to run a method on the cell to ensure reorder control can be seen. We do this before we perform the previous cell configuring as follows;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Configure the cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;	cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#5C2699;font-weight:bold; "&gt;showsReorderControl&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; color:#643820;font-weight:bold; "&gt;true&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	cell.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;textLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithFormat&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"section %i Cell %i"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,indexPath.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;section&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,indexPath.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;row&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; cell;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;When you select edit and then grab rearrange symbol on the right of a cell you should find the cell can be moved up or down as shown below with cell 2.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-27 at 12.08.31" src="files/screen-shot-2009-10-27-at-12.08.31-2.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;&lt;u&gt;Creating Another View&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Now lets look at giving the user the ability to drill down on a cell of data. To do this we first need to create a new ViewController.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Select &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Classes&lt;/span&gt;&lt;span style="font-size:13px; "&gt; within &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;XCode&lt;/span&gt;&lt;span style="font-size:13px; "&gt; and right click to &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Add&lt;/span&gt;&lt;span style="font-size:13px; "&gt; a &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;New File&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-27 at 11.52.29" src="files/screen-shot-2009-10-27-at-11.52.29.png" width="192" height="268"/&gt;&lt;/strong&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-27 at 11.52.46" src="files/screen-shot-2009-10-27-at-11.52.46.png" width="252" height="187"/&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Select a &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;UIViewController&lt;/span&gt;&lt;span style="font-size:13px; "&gt; template and give it an appropriate name.&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;strong&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-27 at 11.53.04" src="files/screen-shot-2009-10-27-at-11.53.04.png" width="480" height="403"/&gt;&lt;/strong&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Now that we have our new view controller we need to enable it to be displayed. We want to show it when the user selects a table cell. To do this we use the method &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;didSelectRowAtIndexPath &lt;/span&gt;&lt;span style="font-size:13px; "&gt;which is provided for us automatically by XCode. We first add an import for our new view controller to the rootViewController.&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;&lt;u&gt;&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;#import &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;"DetailViewController.h"&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;Now we can add code to the&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;didSelectRowAtIndexPath &lt;/span&gt;&lt;span style="font-size:13px; "&gt;method to push our new detail view controller to the top of the navigation controllers display stack.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Override to support row selection in the table view.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)tableView:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;tableView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; didSelectRowAtIndexPath:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSIndexPath&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)indexPath &lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Navigation logic may go here -- for example, create and push another view controller.&lt;br /&gt;	//Create our Detail view contoller and push its view on navigation controllers stack.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DetailViewController&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *detailViewController = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;DetailViewController&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithNibName&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"DetailViewController"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;bundle&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nil&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;navigationController&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;pushViewController&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:detailViewController &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;animated&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;YES&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	[detailViewController &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;release&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;A good explanation of how the navigation controller works can be found in the &lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;a href="http://developer.apple.com/iphone/library/featuredarticles/ViewControllerPGforiPhoneOS/NavigationControllers/NavigationControllers.html" rel="external"&gt;apple developer text&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;.&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;&lt;u&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;If we select TextView from the library for our detail view in the same way we set up our initial views in our first tutorial we will see the following&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-22 at 21.46.31" src="files/screen-shot-2009-10-22-at-21.46.31.png" width="200" height="291"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;If we &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; the simulator will display the following when we 'double click' a single cell.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-22 at 21.46.55" src="files/screen-shot-2009-10-22-at-21.46.55.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;However we cannot go back to the previous view because we have not given it a name. We have not said what it is we want to go back to. Previously we added the edit button in the navigation bar by uncommenting the code. We can also here add the title for the first screen by calling the title method on self.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Uncomment the following line to display an Edit button in the navigation bar for this view controller.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;    &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;navigationItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;rightBarButtonItem&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.editButtonItem;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;title&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"Tutorial List"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-22 at 22.00.45" src="files/screen-shot-2009-10-22-at-22.00.45.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;Now when we move to the detail screen we automatically have an option on the navigation bar to return to the fist screen, our table view.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-22 at 22.00.56" src="files/screen-shot-2009-10-22-at-22.00.56.png" width="207" height="385"/&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;font-weight:bold; "&gt;&lt;u&gt;Next Tutorial&lt;br /&gt;&lt;br /&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;In the next tutorial we will look at creating a data model to sit behind the table view so there is persistent data.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-2775220252080962386?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2775220252080962386' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2775220252080962386' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2775220252080962386'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2775220252080962386'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=2775220252080962386' title='4. Table Views and Navigation'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-8423346098273009711</id><published>2009-10-21T06:07:00.000-07:00</published><updated>2010-05-24T11:56:06.458-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Sme'/><category scheme='http://www.blogger.com/atom/ns#' term='Prince2'/><category scheme='http://www.blogger.com/atom/ns#' term='Project Management'/><category scheme='http://www.blogger.com/atom/ns#' term='Methodology'/><title type='text'>Is Managing a Small Company the Same as Managing a Project?</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="scales showing Project Management vs Company Management" src="files/scales.jpg" width="116" height="109"/&gt;&lt;span style="font-size:15px; "&gt;  Are there any commonalities between running a small company and managing a project? Does performing one enhance or detract from your skills for the other?&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;I have been concentrating recently on the promotion of our company and thus have not taken a Project Management role for a while. I was wondering whether I was in danger of losing my knowledge and competencies in this area. However on reflection I realised that not only am I enforcing the principles of Project Management, but I am learning a lot of new, transferable, skills as well. I may not be managing the company by utilising the framework of Prince2 or any of the other popular methodologies commonly used, but I am adhering to many good practices.&lt;br /&gt;&lt;br /&gt;By standard definition a company is not a project. A project is a finite process with a definite start and end. We had a definite start on company formation, but there is no scheduled end. There are milestones to strive towards, which include revenue and customer satisfaction, but prior to each milestone being reached a new one is created. This is not good practice for a project, adherence to committed dates is one of the chief success factors within Project Management. However it is a necessity for a Company, to enable it to continue its growth.&lt;br /&gt;&lt;br /&gt;The milestones still define the expected outcomes and success criteria incorporating measurability of web visits, application downloads, and workload. The tasks required to achieve the milestones are recorded and planned for, in the same manner as project tasks. The costs are estimated, collated and managed along with the overall budget for the company. In reality the budgeting side of the company is far more stringent than most projects I have been involved in. It is not surprising that financial monitoring is far more critical, when the costs directly affect the profit of the company, and your own personal financial position.&lt;br /&gt;&lt;br /&gt;The roles and responsibilities, although not recorded, are clear. There is a limit to how much confusion can be created in this area when it is a small company. Several roles are merged to create multi tasking, multi functional team members. People's strengths can be played to whilst their learning needs are quickly addressed with an almost sink or swim mentality. You build up your knowledge on areas where it is weak in an effort to survive, not within the company, as may happen in large corporations, but as a company. Knowledge sharing and communication within the company is key. It isn't always controlled and recorded, but it happens nonetheless like an unwritten rule. &lt;br /&gt;&lt;br /&gt;External communication to customers or potential customers become paramount. With online promotion and networking becoming a regular activity. Skills in assuring the customer of your capabilities and the benefits of the finished product or service can become more critical than determining their requirements. Promoting the company's brand and building the company reputation creates skills that not many Project Managers utilise regularly. Generally the finished project speaks for itself with regards to meeting the customers expectations. When running a small business those customer expectations are not always known, beyond your own common sense attitude, and the skills of selling coming to the fore.&lt;br /&gt;&lt;br /&gt;Issues and risks are dealt with on an almost daily basis, and any possible mitigation put in place. Changes and new requirements are a matter of daily life and managed according to their priority and impact, without any need for large meetings and formal discussions. Any changes or requirements deemed for the future are merely recorded for later implementation.&lt;br /&gt;&lt;br /&gt;In short running a small company is similar to managing many small concurrent projects or one very large multi functional one. Either way it draws on many skills beyond those taught for Project Management with a desire to succeed being driven by more than just a successful career.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-8423346098273009711?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8423346098273009711' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8423346098273009711' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8423346098273009711'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8423346098273009711'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8423346098273009711' title='Is Managing a Small Company the Same as Managing a Project?'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-4312462284502747965</id><published>2009-10-08T05:30:00.000-07:00</published><updated>2010-05-24T11:56:05.724-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Web'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='delegates'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>3. Adding a Web Browser</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="iPhone App displaying web page" src="files/screen-shot-2009-10-18-at-21.57.34.png" width="63" height="116"/&gt;&lt;span style="font-size:15px; "&gt;Lesson 3. This will explain further some of the UI functionality and hints and tips for programming. It will cover delegates and utilising user input in order to provide a web browser.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;Hopefully after the last tutorial you have had the opportunity to try out different colour schemes and widgets. There are some hints that you may have discovered whilst doing so.&lt;br /&gt;&lt;br /&gt;When you start typing method names within XCode you may have noticed that the word will automatically be completed for you. For example typing IB should result in XCode completing the word IBAction. If, however you then types an O it should complete IBOutlet. Typing a tab once the correct method is written for you makes for quicker, and safer syntax, programming.&lt;br /&gt;&lt;br /&gt;In addition if you want to perform an action against a variable, such as change its colour, pressing the esc key will present you with the correct options for that variable. For example in our previous tutorial we wrote &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"Hello world"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;If you were to type&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;. &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;and then press the esc key you should be presented with a list of suitable options&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;.&lt;br /&gt; &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-18 at 20.26.56" src="files/screen-shot-2009-10-18-at-20.26.56.png" width="302" height="212"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;One of those options is textColor. In order to set the colour of the text a method needs to be called for the colour.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;textColor&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;If the method information is not known turning on the XCode Quick Help can be useful (found under Help menu bar). This will create a small popup window that will contain hyperlinks when appropriate to allow you to find further information. Typing in the above code with the help enabled should give you the following text:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-16 at 11.00.29" src="files/screen-shot-2009-10-16-at-11.00.29.png" width="378" height="91"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Selecting the hyperlink within this text will display the declaration for textcolor&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nonatomic&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) UIColor        *textColor;       &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// default is nil (text draws black)&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;Don't worry about the @property element yet we will cover that shortly. The symbol declaration &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;UIColor        *textColor;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;tells us the method needs to be &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;&lt;br /&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;textColor&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [UIColor&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Typing a space after UIColor will change the quick help text to give you some information about UIColor.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-16 at 11.07.57" src="files/screen-shot-2009-10-16-at-11.07.57-2.png" width="378" height="161"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Pressing the esc key again at this point will give the options for what colour can be used. For example the following line could be written&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;textColor&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UIColor&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;orangeColor&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;This should change your text colour to be orange. Compile and run it to see what happens. Try other text affects to see what else can be achieved utilising the esc key and Quick Help to guide you.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;The @Property Declaration&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;As shown above the help on textColor took us to a declaration displaying @property. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nonatomic&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) UIColor        *textColor;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;This allows a user to be able to declare variables and utilise them without having to declare set and get operations.  Enabling the '.' notation to be used to access elements. &lt;br /&gt;&lt;br /&gt;The property of the variable can be declared as nonatomic or atomic. Where atomic is for thread safe variables, i.e., variables that need to be semaphore protected, be able to run without any interruptions. They can also be declared as retain, meaning the memory allocated for the variable should be retained and not released once out of scope. A property of readonly could also be declared preventing a user from making changes to the variable. The fill list of property options can be found in the &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Definition&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;.&lt;br /&gt;&lt;br /&gt;In order to take advantage of this functionality the following declaration is required in the ViewController.h file as follows:-&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nonatomic&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;, &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBOutlet&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; UILabel* myLabel; &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;This is declared outside of the member variables but before the end of the class. The declarations for myLabel, myTextField and myButton from our previous tutorial should therefore look like this:-&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; myViewController : UIViewController&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UIButton&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myButton&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myTextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UILabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;	&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nonatomic&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;, &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBOutlet&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; UIButton* myButton;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nonatomic&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;, &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBOutlet&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; UITextField* myTextField;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@property&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;nonatomic&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;, &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;retain&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBOutlet&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; UILabel* myLabel;&lt;br /&gt;&lt;br /&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBAction&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) myButtonPressed;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Within the implementation section, in the myViewController.m file we need to tell the Objective C compiler to auto generate or synthesise the getter and setter methods.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;#import &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;"myViewController.h"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@implementation&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; myViewController&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@synthesize&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; myButton;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@synthesize&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; myTextField;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@synthesize&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; myLabel;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Perform a &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; on the resulting code to ensure no errors have been introduced.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;Web Browser&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;In order to add a web browser to our UI a declaration needs adding into myViewController.h. Add a declaration in the same way as the other widgets. Add the widget itself onto the view and @synthesise the variable in myViewController.m.&lt;br /&gt;&lt;br /&gt;Remember to make sure your variable names match up, save your code and view before running,  and reload all class files as necessary.&lt;br /&gt;&lt;br /&gt;When you Build and Run you should find there is no web page displayed, just an empty box, because there is no web address for it to go to.&lt;br /&gt;&lt;br /&gt;We will now allow the user to specify the address by typing it into myTextField.&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;&lt;br /&gt;&lt;br /&gt;Delegates&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;You may have noticed after the last tutorial that we didn't cover what would happen if you typed something into the text box. If you tried it you should have seen that as you selected the box the keyboard appeared at the bottom of the screen thus allowing you to type. However you would also have noticed it never disappeared. Selecting the return key did nothing.&lt;br /&gt;&lt;br /&gt;In order to utilise the text box and provide the correct actions for the return key the &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;myViewController &lt;/span&gt;&lt;span style="font-size:13px; "&gt;class implements the&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; UITextFieldDelegate &lt;/span&gt;&lt;span style="font-size:13px; "&gt;protocol&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Delegates are objective C's way of implementing 'interfaces'.  See &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://en.wikipedia.org/wiki/Objective-C#Protocols" rel="self"&gt;this article&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; for more details on protocols.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;To utilise a text string delegate it needs to be added as part of the interface declaration within myViewController.h&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; myViewController : UIViewController &lt;UITextFieldDelegate&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Then a method needs to be implemented to remove the keyboard once the return key is clicked.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;BOOL&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)textFieldShouldReturn:(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *)textField&lt;br /&gt;{&lt;br /&gt;	[textField &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;resignFirstResponder&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;return&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;YES&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The line &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;[textField &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;resignFirstResponder&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;]; &lt;/span&gt;&lt;span style="font-size:13px; "&gt;basically gives up the current focus.&lt;br /&gt;&lt;br /&gt;In addition we have to set  &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myTextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font-size:13px; "&gt;delegate to point to the current instance of the myViewController class. To do this we have to uncomment the implementation of viewDidLoad, automatically created for us by XCode.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#007400;"&gt;// Implement viewDidLoad to do additional setup after loading the view, typically from a nib.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;- (&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;void&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;)viewDidLoad &lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myTextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;delegate&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;self&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;    [&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;super&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;viewDidLoad&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Perform a &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;. You should notice that the return key now makes the on screen keyboard disappear.&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Controlling the Web UI With the Text String&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;In order to let the text input control the web the string needs to be extracted. For greater visibility we will break it down into the component parts. First of all declare a string that will come into affect when buttonPressed. Lets call it httpString.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; *httpString = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] initWithString:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myTextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; ];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;As can be seen the declared variable requires memory to be allocated for it and the &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;initWithString&lt;/span&gt;&lt;span style="font-size:13px; "&gt; method called to initialise it with the value of the text in the text field. Then perform a URL request using the declared string by creating another local variable for the request (req).&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLRequest&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* req = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURLRequest&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithURL&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:[[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSURL&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:httpString]];&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;This will create the req variable and initialise the URL with the given string. Now use the request on the web view.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myWebView&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;loadRequest&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:req];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;It would also be helpful for the user to see the site they requested rather than Hello world so lets change myLabel to the input string.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;	myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myTextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Although the above code is correct it would force the user to input http for every web address. To prevent this the following declaration is preferred.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;	NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* httpString = [[&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;NSString&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;alloc&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;] &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;initWithFormat&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;:&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"http://%@"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;,&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myTextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#2E0D6E;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;];&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;This prepends http:// onto the front of the entered text so for example www.bbc.co.uk becomes http://www.bbc.co.uk. &lt;br /&gt;&lt;br /&gt;Perform a &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; again and input a valid web address in the text box to see the results.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-18 at 21.57.06" src="files/screen-shot-2009-10-18-at-21.57.06.png" width="414" height="770"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-18 at 21.57.14" src="files/screen-shot-2009-10-18-at-21.57.14.png" width="414" height="770"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-18 at 21.57.34" src="files/screen-shot-2009-10-18-at-21.57.34-3.png" width="414" height="770"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Bold; font-weight:bold; font-weight:bold; "&gt;Next Tutorial&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Now try and change the code to go to the web address just on the return key, thus making buttonPressed redundant. Also look at adding forward and back buttons, (hint look at the &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;View&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; '&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Received Actions&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;'). In the next tutorial we will look at table views and navigation controllers.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-4312462284502747965?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4312462284502747965' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4312462284502747965' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4312462284502747965'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4312462284502747965'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4312462284502747965' title='3. Adding a Web Browser'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-8667948077089722585</id><published>2009-10-04T14:21:00.000-07:00</published><updated>2010-05-24T11:56:04.817-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='iBOutlet'/><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>2. Adding Functionality to the UI</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:15px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="iPhone App showing simple UI widgets" src="files/screen-shot-2009-10-01-at-21.14.13.png" width="71" height="124"/&gt;&lt;span style="font-size:15px; "&gt; Lesson 2. This will continue the tutorial by adding some functionality behind the buttons created in lesson 1.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:14px; font-weight:bold; "&gt;Adding Functionality Behind The Buttons&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Now we need to add some functionality so that the buttons actually have an impact.&lt;br /&gt;&lt;br /&gt;The View represents the UI (User Interface) on which widgets (e.g. buttons, text boxes, maps etc) are placed. With each UI element  there is an associated Action and Outlet. &lt;br /&gt;&lt;br /&gt;The IBOutlet allows each widget to be declared and associated with a variable. To associate an IBOutlet with a widget code needs to be added into the ViewController header file.&lt;br /&gt;&lt;br /&gt;Within XCode open your ViewController.h file. The following code will be seen:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; jane_testViewController : UIViewController &lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;This is the declaration of your class. Member variables, including IBOutlets, are declared within the brackets, and actions and other methods, are declared outside of the curly brackets, but before the @end which is the end of the class declaration.&lt;br /&gt;&lt;br /&gt;Therefore within the brackets you need to declare the IBOutlets as follows:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@interface&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; jane_testViewController : UIViewController &lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBOutlet&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UIButton&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myButton&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBOutlet&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UITextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myTextField&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBOutlet&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;UILabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;* &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The code above is setting the button (UIButton) as myButton, the TextField as myTextField and the label as myLabel. &lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Prior to the end of the class you declare the IBAction. The IBActions, called on receipt of an event, are defined using '&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBAction&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) actionName;' as follows:-&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBAction&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) buttonPressed;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="iPhone Tutorial.001" src="files/iphone-tutorial.001.jpg" width="480" height="359"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;The IBOutlets are just placeholders until the variables are associated with the UI elements using Interface Builder. However because we have changed the class we first of all need to save the changes and &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Reload All Class Files&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;, (found under the File menu option in Interface Builder).&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;We link the Variables with the UI elements by first selecting the &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;File's Owner&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; (literally the file .m/.h that defines the class controlling this view). The ViewController Connections tab on the Inspector should then show the UI elements for which variables have been added. It is then simply a matter of joining the two together as shown:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="IBOutletPic" src="files/iboutletpic.png" width="480" height="194"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;In a similar way we can link actions to events. This can be done by right clicking on the &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;File's Owner&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;. Then drag from the &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Received Actions&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;buttonPressed&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; to the button widget.  &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Action from Files Owner" src="files/action-from-files-owner.png" width="480" height="242"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;After selecting the button widget the event options will be displayed. Selecting the &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Touch Up Inside&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; event will create a linkage between the event and the action such that when a user presses the button the method buttonPressed is called.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Select Action" src="files/select-action.png" width="258" height="349"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Alternatively the action can be linked to the event by selecting the Button widget from the Inspector window as we did with the variables.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Action From Inspector" src="files/action-from-inspector.png" width="480" height="240"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Now the Method defined in the ViewController.h file needs to be implemented in the ViewController.m file. Opening the .m file from the .h can be achieved by selecting the Counterpart tool.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Counterparticon" src="files/counterparticon.png" width="50" height="48"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;This allows you to toggle between the .h and the .m file and can be found on the XCode toolbar.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Counterpart" src="files/counterpart.png" width="335" height="102"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Opening the .m file you will see the following:-&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;#import &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;"jane_testViewController.h"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#643820;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@implementation&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; jane_testViewController&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;// &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Lots of commented code already added automatically&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;@end&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;You need to add the method implementation prior to the end of the class implementation denoted by @end.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;-(&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#AA0D91;"&gt;IBAction&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;) buttonPressed&lt;br /&gt;{&lt;br /&gt;	&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#3F6E74;"&gt;myLabel&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;.&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#5C2699;"&gt;text&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt; = &lt;/span&gt;&lt;span style="font:12px Menlo-Regular; color:#C41A16;"&gt;@"Hello world"&lt;/span&gt;&lt;span style="font:12px Menlo-Regular; "&gt;;&lt;br /&gt;}&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;Now comple and run.&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-01 at 21.14.13" src="files/screen-shot-2009-10-01-at-21.14.13-2.png" width="422" height="778"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; font-weight:bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;On the simulator press the button&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-10-01 at 21.14.44" src="files/screen-shot-2009-10-01-at-21.14.44.png" width="315" height="169"/&gt;&lt;span style="font-size:14px; font-weight:bold; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Whahay we've written our first hello world!&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Next Tutorial&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Now try adding different widgets and labels. In the next tutorial we will look at creating a web browser on our UI.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-8667948077089722585?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8667948077089722585' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8667948077089722585' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8667948077089722585'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8667948077089722585'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=8667948077089722585' title='2. Adding Functionality to the UI'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-7362196260445506126</id><published>2009-10-01T03:36:00.000-07:00</published><updated>2010-05-24T11:56:03.960-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='XCode'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='UI'/><title type='text'>1. Getting Started-XCode and the UI</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="iPhone App generated through basics of XCode" src="files/screen-shot-2009-09-28-at-18.35.09.png" width="71" height="124"/&gt;&lt;span style="font-size:14px; "&gt; Lesson 1 of my tutorial. This will cover some of the basics of XCode and culminate in the creation of a single page App but with very limited functionality. This will not replace the plethora of information already provided by Apple, but it will hopefully provide a very easy to understand start on your first App.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;In order to develop your App you need XCode installed on your Mac. &lt;br /&gt;&lt;br /&gt;People have questioned whether a Mac has to be used or whether some hybrid or hacked Windows machine can be used. I am not proposing to write about this development on anything other than a Mac, and using any development tools other than those specifically supplied for this purpose, i.e. XCode. This tutorial hereafter assumes you already have XCode installed and you are ready to go. It also assumes you have no prior knowledge of XCode but have an awareness of iPhone and existing Apps, and some coding experience.&lt;br /&gt;&lt;br /&gt;When you open XCode you need to &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Create New Product&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;You will then be presented with some templates that already exist for different Application types, and you can select any library files you may have created yourself during previous development. As this is our first develoment we will use a template. Each template when selected gives a brief summary of its use at the bottom of the screen. The templates available allow for a basic Navigation App, (suitable for displaying lists), a Tab Bar App, (the menu bar at the bottom of the screen), a Utility App, (for flip screens similar to the Weather Apps), an OpenGL App, (for games), a Window-based App and a View App. &lt;br /&gt;&lt;br /&gt;The Window-based Application is the most basic of all of the templates. If you select this option you will have to create a view controller and add some code before you can even change the background colour of the screen for your App. If you wish to start at the very basic level and you wish to have a geater understanding of how XCode, the interface builder and your App works you should read &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Your First iPhone Application&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; tuturial provided as part of Apple's development tuturial set.&lt;br /&gt;&lt;br /&gt; The view template is a good starting point so we will select this.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-09-27 at 14.12.47" src="files/screen-shot-2009-09-27-at-14.12.47.png" width="480" height="403"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;On inputting your chosen name for the App you are given the code and framework necessary for a basic App. This app can be built choosing the &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; action at the top of the XCode window.&lt;br /&gt;&lt;br /&gt;Running it at this stage will start the simulator and present you with a blank grey screen. Your App has nothing to display at the moment and has no icon. We will change that by adding some buttons, text boxes and widgets, but first some information about the file structure of your App.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; font-weight:bold; "&gt;Structure Of Files&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;On the left hand side of your XCode window there is the name of your App at the top and then what looks like a number of folders. This is the structure your files are placed in. &lt;br /&gt;&lt;/span&gt;&lt;ul class="disc"&gt;&lt;li&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Classes&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; = the source code for your App (.h for header files, .m for Objective 'C' source files)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Other Sources&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; = main and any code you may have imported (we will not be changing these files in this tutorial)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Resources&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; = Your User Interface files. (.xib for XCode Interface Builder files and .plist for properties file)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Framework&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; = Library files&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Products&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; = Resulting App (Note: there could be many products)&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Each file type is represented by a different symbol so they can be easily identified. Selection of the top level of the folders, i.e. your App name, results in all of the associated files being listed in the main XCode window.&lt;br /&gt;&lt;br /&gt;The other folders of Targets, Executables, Find Results, Bookmarks, SCM, Implementation Files and Interface Builder files allow for different views of the same files and for source control and searching. Further information on these will be provided later as necessary.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-09-27 at 14.14.51" src="files/screen-shot-2009-09-27-at-14.14.51-2.png" width="476" height="522"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; font-weight:bold; "&gt;Creating A User Interface&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Within &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;em&gt;Resources&lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt; select &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;Your App Name&gt;ViewController.xib&lt;/span&gt;&lt;span style="font-size:13px; "&gt; file, i.e the view controller file for your app.&lt;br /&gt;&lt;br /&gt;This will open up Interface Builder and two new windows; one specifically for the ViewController.xib file and one for the View. It should also open two other windows; one showing the Library within Interface builder, and the other the Inspector window, (If it doesn't these can be found under Tools).&lt;br /&gt;&lt;br /&gt;The Interface Builder Library will display icons of the buttons, data views and bars you can use within your View. The inspector will allow you to change other aspects of your view such as the background colour.&lt;br /&gt;&lt;br /&gt;It is worth looking at the different options available and having a play with different colour schemes and buttons/text input.&lt;br /&gt;&lt;br /&gt;Some points to note&lt;br /&gt;&lt;/span&gt;&lt;ul class="disc"&gt;&lt;li&gt;&lt;span style="font-size:13px; "&gt;It is necessary to save any changes to your view before choosing the &lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;&lt;em&gt;Build and Run &lt;/em&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;option within XCode, (By using File/Save in Interface Builder). Otherwise your changes will not be seen. It is also possible to 'build and go in Xcode' from within Interface builder (File-&gt;'Build and Go in Xcode'. It is also possible to use 'File-&gt;Simulate interface' to get a quick preview of a working interface (Note this runs only the interface elements it does not compile any code)&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-size:13px; "&gt;Some of the methods/classes such as CoreLocation require extra Frameworks (libraries) to be linked against. They are added in Xcode via right clicking the project target icon and selecting getInfo as shown.&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-09-28 at 18.58.08" src="files/screen-shot-2009-09-28-at-18.58.08.png" width="335" height="329"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;This brings up the following window.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-09-28 at 18.56.04" src="files/screen-shot-2009-09-28-at-18.56.04.png" width="478" height="681"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Hit the + button to add a new framework&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-09-28 at 18.56.16" src="files/screen-shot-2009-09-28-at-18.56.16.png" width="360" height="556"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Select as appropriate.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;Here is my first View &lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-09-28 at 18.34.35" src="files/screen-shot-2009-09-28-at-18.34.35.png" width="408" height="590"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;And the resulting simulator screen&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Screen shot 2009-09-28 at 18.35.09" src="files/screen-shot-2009-09-28-at-18.35.09-2.png" width="422" height="778"/&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; font-weight:bold; "&gt;Next Tutorial&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;Once you are happy that you understand the different options and buttons you can use you will be ready to move onto the next tuturial. This will cover adding the necessary functionality behind some buttons so they actually do something.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-7362196260445506126?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7362196260445506126' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7362196260445506126' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7362196260445506126'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7362196260445506126'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7362196260445506126' title='1. Getting Started-XCode and the UI'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-4735799723956406302</id><published>2009-09-28T02:42:00.000-07:00</published><updated>2010-05-24T11:56:03.240-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><title type='text'>What is iPhone App Training?</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Classroom training scenario for iPhone App Training" src="files/training.jpg" width="100" height="72"/&gt;&lt;span style="font-size:14px; "&gt;Would you like to learn how to create an iPhone App?&lt;br /&gt;Do you have some previous coding experience? &lt;br /&gt;This blog will consist of a series of diary entries charting my progress as I learn how to create an iPhone App. Why not join me on this journey and see what you can create.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;I am not a complete novice to programming having previously written device drivers for a telecommunications company. However writing device drivers in 'C' on a Unix platform does not automatically give me the necessary knowledge to code an iPhone application.&lt;br /&gt;&lt;br /&gt;I will be starting with the basics of learning Xcode, and how to create an app showing that old favourite "Hello World". I will (hopefully) be completing my quest by submitting a fully fledged App into the iTunes store. I won't give the game away now by describing the App. Suffice to say it will be sufficiently complicated and feature rich to force me to learn lots of the aspects of iPhone development. It will also be commercially viable, although it will probably be launched as a free download.&lt;br /&gt;&lt;br /&gt;As I progress on this journey I will create diary entries detailing my progress, what I have learn't and any pitfalls or short cuts I have discovered. I will not be providing the full source code for the complete App but I will provide code snippets to illustrate my findings, so that others can learn from my experience.&lt;br /&gt;&lt;br /&gt;I am not expecting everyone following this series to be able to create their own App, but if like me, you are already a little tech savvy, and have some development experience, this should provide you with the necessary knowledge and experience to do just that.&lt;br /&gt;&lt;br /&gt;So why not join me on this journey and see what you can create.&lt;br /&gt;&lt;/span&gt;&lt;! tr3j75qfum&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-4735799723956406302?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4735799723956406302' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4735799723956406302' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4735799723956406302'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4735799723956406302'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=4735799723956406302' title='What is iPhone App Training?'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-6670658568577206330</id><published>2009-09-22T03:23:00.000-07:00</published><updated>2010-05-24T11:56:02.569-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><title type='text'>Accessorise Your Smartphone</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:14px; "&gt;Have you accessorised your smartphone yet? The phenomenal success of the Smartphone and in particular the iPhone has sparked an offset industry of supporting hardware devices. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:13px; "&gt;Smartphone popularity has driven an increase in the mobile phone accessory market. There is an astounding selection of products available. Not just in terms of different product types, although that appears to be growing steadily, but also in terms of the selections available for each product. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;Take for example smartphone cases. You can buy a secure holster, a&lt;/span&gt;&lt;span style="font-size:13px; "&gt; solar charging case, a side pouch, top pouch, form fit, flip-lid, hard case, skin case, rugged, all leather, wood, &lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;a href="http://www.varologic.com/blog/post/2009/09/16/Redmaloo-Felt-iPhone-Sleeves.aspx" rel="external"&gt;colourful felt case&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;, (complete with fashionable elastic band!), clear cases, coloured cases, and even ones from old cassette cases. You can buy a waterproof case for when you are sat by the pool, and even ones designed as a backpack to fit a stylus or spare battery in.&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.varologic.com/blog/post/2009/09/16/Redmaloo-Felt-iPhone-Sleeves.aspx" rel="self"&gt;&lt;img class="imageStyle" alt="Redmaloo-Felt-iPhone-Sleeves" src="files/redmaloo-felt-iphone-sleeves-2.jpg" width="233" height="111"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;br /&gt;This of course doesn't include the belt clips, with or without stand. Nor does it include the fact that rather than hiding your precious item in a case you can show it off more by replaceing the front bezel with one made of gold. Not forgetting the array of cloths to keep your device clean and the accompanying scratch remover polish. &lt;br /&gt;&lt;br /&gt;Don't like the speakers on your iPhone or iPod? Want more volume? There is about as many docking stations and speaker combinations as there are cases. Docking stations generally come with or without lights, radios and alarm clocks. However they have come a long way since the first models were launched in 2002 for the iPod and 2008 for the smartphone. They are now available in probably any colour that you could wish for and from a range of materials. There are plastic ones, silicon and wood docking stations. You can buy a &lt;/span&gt;&lt;span style="font-size:14px; "&gt;rugged outdoor docking station so you are never without your music. You can buy a hippy throwback system complete with photon ball. You can even buy &lt;/span&gt;&lt;span style="font-size:14px; "&gt;speaker bags&lt;/span&gt;&lt;span style="font-size:14px; "&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;  &lt;/span&gt;&lt;a href="http://www.engadget.com/2009/08/28/yoshihiko-satohs-wooden-ipod-speaker-bags-are-definitely-re-usa/" rel="external"&gt;&lt;img class="imageStyle" alt="co-mobile-speakers-thumb-500x430-23136" src="files/co-mobile-speakers-thumb-500x430-23136-2.jpg" width="148" height="149"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;  &lt;/span&gt;&lt;a href="http://www.thisnext.com/item/799BA021/9D25E7EE/Dr-Bott-Groove-Bag-Tote" rel="external"&gt;&lt;img class="imageStyle" alt="Dr-Bott-Groove-Bag-Tote_F6458475-Tunetastic-orange" src="files/dr-bott-groove-bag-tote_f6458475-tunetastic-orange.jpg" width="148" height="148"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;Alternatively if you don't need the speakers, you want to charge your device, or even just display it, the range of possibilities seems incredible. With &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://petitinvention.wordpress.com/2009/09/18/iphone-dock-sketches/" rel="external"&gt;charging hammocks&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt; and &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://petitinvention.wordpress.com/2009/09/18/iphone-dock-sketches/" rel="external"&gt;3D speaker screens&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt; proposed you may in the future go high tech. However in this era of credit crunch there are detailed instructions available to make your own dock out of &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://keetsa.com/blog/eco-friendly/make-your-own-iphone-dock-out-of-old-cds/" rel="external"&gt;CD's&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt; or even &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://www.everyjoe.com/thegadgetblog/the-diy-iphone-dock&amp;mdash;made-out-of-paper/" rel="external"&gt;paper&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://petitinvention.wordpress.com/2009/09/18/iphone-dock-sketches/" rel="self"&gt;&lt;img class="imageStyle" alt="hammock3_imagec" src="files/hammock3_imagec.png" width="158" height="158"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt; &lt;/span&gt;&lt;a href="http://petitinvention.wordpress.com/2009/09/18/iphone-dock-sketches/" rel="self"&gt;&lt;img class="imageStyle" alt="iacua2-6" src="files/iacua2-6.png" width="233" height="149"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt; &lt;/span&gt;&lt;a href="http://keetsa.com/blog/eco-friendly/make-your-own-iphone-dock-out-of-old-cds/" rel="self"&gt;&lt;img class="imageStyle" alt="iphone-station-made-from-old-cds" src="files/iphone-station-made-from-old-cds.jpg" width="152" height="157"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;  &lt;/span&gt;&lt;a href="http://www.everyjoe.com/thegadgetblog/the-diy-iphone-dock&amp;mdash;made-out-of-paper/" rel="self"&gt;&lt;img class="imageStyle" alt="paper-iPhone-dock-393x590" src="files/paper-iphone-dock-393x590.jpg" width="107" height="156"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;br /&gt;Want something a little more upmarket? You can dock your preferred listening device into a pc keyboard, a blue ray player or a standalone lamp. If you are with a group of friends you can wizz your iPod between each other in a remote control car or you can serenade them, playing along to your favourite tracks by making your device double up as a &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://www.chipchick.com/2008/10/act.html" rel="external"&gt;guitar amp&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;, or using a &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://musicianstools.wordpress.com/2009/02/04/tune-your-iphone-into-a-dj-mixer/" rel="external"&gt;DJ Mixer&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://www.chipchick.com/2008/10/act.html" rel="self"&gt;&lt;img class="imageStyle" alt="firstactipodamp" src="files/firstactipodamp.jpg" width="158" height="121"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;  &lt;/span&gt;&lt;a href="http://musicianstools.wordpress.com/2009/02/04/tune-your-iphone-into-a-dj-mixer/" rel="self"&gt;&lt;img class="imageStyle" alt="functions" src="files/functions.png" width="166" height="105"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;Of course, not just concerned with the music, you can always make the most of your on-board camera by using one of the many tripods or video projectors.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://emilychang.com/2009/09/mili-pro-iphoneipod-video-projector/" rel="external"&gt;&lt;img class="imageStyle" alt="MiLi-Pro-iPhone-iPod-Portable-Video-Projector-550x268" src="files/mili-pro-iphone-ipod-portable-video-projector-550x268.png" width="283" height="142"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;If you are on the move. You can accessorise your device to match your mode of transport. There are bike mounts, a plethera of phone kits for your car, sport armbands, and even an &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://www.coolest-gadgets.com/20090901/ihat/" rel="external"&gt;iHat&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;. The headphones to enhance your experience include blutooth earpieces and earbud yo-yo. Or you can simply rest your weary head on a &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://www.ubergizmo.com/15/archives/2006/05/cozy_tunes_speaker_pillow.html" rel="external"&gt;speaker pillow&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;a href="http://musicianstools.wordpress.com/2009/02/04/tune-your-iphone-into-a-dj-mixer/" rel="self"&gt;&lt;img class="imageStyle" alt="4862_image4_ihat1_female" src="files/4862_image4_ihat1_female.jpg" width="153" height="125"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;  &lt;/span&gt;&lt;a href="http://www.ubergizmo.com/15/archives/2006/05/cozy_tunes_speaker_pillow.html" rel="self"&gt;&lt;img class="imageStyle" alt="cozy-tunes" src="files/cozy-tunes.jpg" width="146" height="129"/&gt;&lt;/a&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;If all of this tech in one little device is too confusing for you there is also a vast range of books available to help explain it all.&lt;br /&gt;&lt;br /&gt;Check out these two articles on&lt;/span&gt;&lt;span style="font-size:15px; "&gt; &lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;a href="http://www.cio.com/special/slideshows/silly_smartphone_accessories/index#slideshow" rel="external"&gt;The 14 Silliest Smartphone Accessories: How to Humiliate a BlackBerry, Embarrass an iPhone&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt; and &lt;/span&gt;&lt;span style="font-size:14px; color:#C80000;"&gt;&lt;a href="http://www.msnbc.msn.com/id/32867605/ns/technology_and_science-tech_and_gadgets/?pg=1#Tech_PCWorld_Smartphone_Accessories" rel="external"&gt;12 must-have accessories for your smartphone&lt;/a&gt;&lt;/span&gt;&lt;span style="font-size:14px; color:#C80000;"&gt; &lt;/span&gt;&lt;span style="font-size:14px; color:#000000;"&gt;to see which ones you should be using.&lt;/span&gt;&lt;span style="font-size:13px; color:#000000;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font-size:14px; "&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-6670658568577206330?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6670658568577206330' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6670658568577206330' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6670658568577206330'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6670658568577206330'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=6670658568577206330' title='Accessorise Your Smartphone'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-1976874096492263024</id><published>2009-09-04T01:26:00.000-07:00</published><updated>2009-11-19T11:01:54.262-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='JobFinder'/><category scheme='http://www.blogger.com/atom/ns#' term='Analytics'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><title type='text'>The Human Side of App Development</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:14px; "&gt;Lots of blogs and articles discuss the latest and greatest mobile Apps but not many talk about the story behind the development.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;We at Organise Ltd developed JobFinder, a free iPhone App, back in March 2009. The App was the result of a decision to expand our knowledge of the mobile software arena by looking at commercial applications. As our first foray into the iTunes world we didn't know what to expect. The App was approved by Apple within two weeks of submission. Not long, but it felt like an agonising wait. On release we were surprised and delighted when the first few downloads began. We began to determine if friends and family owned an iPhone or iPod touch, so we could 'encourage' them to download it, (hey, its free anyway!). Sadly not many of them are that tech savvy or inclined towards expensive phones.&lt;br /&gt;&lt;br /&gt;As the weeks and then months rolled by we found the number of downloads and reviews increased. Without any action by us, users were taking and utilising our software. It gives you a great buzz to know people like what you have produced. However the ability to view the stats provided through the Itunes App store brings its own issues. As well as the great worded reviews we also had one star ratings and thats were the crunch starts.&lt;br /&gt;&lt;br /&gt;Questions get raised regarding that 1 star rating; "Didn't they find any jobs?", "Didn't they like the layout or colour scheme?". Even "Are they from a rival developer?". The way the App store is configured teases you with a hint of information but not enough to enable you to refine your product. There is no opportunity to enter into a dialogue with the users to establish improvements or determine their issues. As a developer you just have to continue to add the features and functionality you believe are necessary and sit back and await the results.&lt;br /&gt;&lt;br /&gt;With the introduction of JobFinder into the USA market recently the situation is now increased two-fold. "Does the American market have different needs and desires to the UK market?". "Do the American people like to see different functionality or prefer a different layout?" and that real crux point " Why does nobody write a review or contact us to tell us what they think?".  Is this common or are we unique?&lt;br /&gt;&lt;br /&gt;The lastest version of JobFinder (v1.1) now contains analytics. This can at least give us some help in determining the usage of the App, but it still doesn't allow for any critiques to be answered. In a world where people can tweet about your company or product, and you can pen a response in seconds, it seems strange that such a popular environment as the App store doesn't allow the developers the same luxury. Where is Apple's mini forum for developers and customers to enter into dialogue? &lt;br /&gt;&lt;br /&gt;The stats can't be ignored. They pull you in like an email ping, willing you to look. But we shouldn't get hung up on the 1 stars and should just continue to strive to make our App the best we believe it can be.&lt;br /&gt;&lt;br /&gt;If any other developers out there are thinking of creating their first App be warned. The monitoring of stats can become addictive, but don't take it personal, and a great pride can be gained from your labours, if not great profit. &lt;br /&gt;&lt;br /&gt;Footnote: JobFinder is currently at number 4 in the UK top 10 free business Apps and number 42 in the USA.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-1976874096492263024?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1976874096492263024' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1976874096492263024' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1976874096492263024'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1976874096492263024'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1976874096492263024' title='The Human Side of App Development'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-1173458874490038326</id><published>2009-07-30T08:06:00.000-07:00</published><updated>2011-06-07T11:31:11.694-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Pre'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><category scheme='http://www.blogger.com/atom/ns#' term='Android'/><category scheme='http://www.blogger.com/atom/ns#' term='Google'/><category scheme='http://www.blogger.com/atom/ns#' term='Mobiles'/><title type='text'>Top Smartphones for 2009</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;img class="imageStyle" alt="" width="55" height="79" src="http://www.iphoneappdev.co.uk/files/topsmartphonesfor-magic.jpg" /&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="" width="56" height="70" src="http://www.iphoneappdev.co.uk/files/topsmartphonesfor-palm.jpg" /&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="" width="56" height="91" src="http://www.iphoneappdev.co.uk/files/topsmartphonesfor-iphone.jpg" /&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt;Smartphones are slowly growing, taking more and more of the market share and experts predict that over the next three years this growth will continue. This is partly to do with the fact that smartphones are becoming more and more popular with the average consumer, but also linked to the fact that far more handsets can be easily classified as smart because of their multimedia capabilities. Let`s check out the top smartphones available now and coming to rock 2009`s socks off.&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font:14px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:11px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; font-weight:bold; color:#262626;font-weight:bold; "&gt;HTC Magic&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;Google`s Android mobile operating system has been available for a few months now, first taking its baby steps on the G1 exclusive to T-mobile, but there`s a new Android handset on the market known as the HTC Magic. There are several big selling points in the Magic`s arsenal, the most obvious of which is its massive 3.2" touch sensitive display which means that every aspect of the interface longs to be fiddled with in a most tactile manner. Like all good modern smartphones it has a home screen with customisable widgets so you can put the applications that you deem to be most useful at your instant beck and call, as well as support for Wi-Fi, 3G and HSDPA for high speed internet access wherever you are. On top of the smartphone credentials there`s the 3.2 megapixel camera which is pretty decent thanks to the built in auto focus function and a micro SD memory card slot to expand the memory capacity into double figure gigabytes.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; font-weight:bold; color:#262626;font-weight:bold; "&gt;Palm Pre&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;Palm used to be know for their pocket PCs but since the smartphone has superseded that old kind of tech they`ve had to adapt. The Pre is certainly the smart phone for the discerning business user. With excellent functionality and innovations, like the layered calendars and linked contacts which allow intelligent syncing of everything from Facebook, Google and Outlook working environments, there`s a big emphasis on organisation. It`s compatible with iTunes and Amazon`s MP3 store and offers Wi-Fi, GPS and Bluetooth to make it an all round multimedia powerhouse.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; font-weight:bold; color:#262626;font-weight:bold; "&gt;Apple iPhone&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;br /&gt;The release of the iPhone 3Gs this summer has further cemented Apple`s place at the head of the smartphone market. They hope to sell their millionth iPhone at the end of this quarter and the 3Gs introduces some key changes under the hood. Firstly it offers the latest mobile OS from Apple which adds essentials like being able to copy and paste text from any screen. Next there`s the 3.2 mega pixel camera with much needed video support, coupled with the ability to send multimedia messages, both of which were missing from previous iPhone iterations. Add all of this to the 32GB of on board storage and you`ve got one killer phone that`s just got better. The one area which has taken a bit of a hit is the battery life.&lt;br /&gt;Any one of these phones would be a welcome addition to any businesspersons pocket, with the iPhone in particular balancing functionality and style well.&lt;br /&gt;For more information on the iPhone visit - &lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#005FD5;"&gt;&lt;u&gt;&lt;a href="http://www.top10.co.uk/mobilephones/manufacturers/apple/"&gt;http://top10.com/mobilephones/&lt;/a&gt;&lt;/u&gt;&lt;/span&gt;&lt;span style="font:13px Verdana, serif; color:#262626;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-1173458874490038326?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1173458874490038326' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1173458874490038326' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1173458874490038326'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1173458874490038326'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1173458874490038326' title='Top Smartphones for 2009'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-1844815933941794249</id><published>2009-07-08T03:11:00.000-07:00</published><updated>2010-05-24T11:56:00.684-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology'/><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><category scheme='http://www.blogger.com/atom/ns#' term='Smartphones'/><title type='text'>Will Working Anywhere Become The Norm?</title><content type='html'>&lt;span class='rapidblog-summary'&gt;&lt;span style="font-size:13px; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;img class="imageStyle" alt="Hotdesking possibilities with todays technology" src="files/hotdesk.jpg" width="99" height="75"/&gt;&lt;span style="font-size:13px; "&gt;Is the UK or the world really ready for a mobile workforce with limited offices, hot desks and communication dominated by technology?&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;a name='more'&gt;&lt;/a&gt;&lt;br /&gt;&lt;p&gt;The BBC has recently produced an article entitled  "&lt;a href="http://news.bbc.co.uk/1/hi/technology/8127334.stm" rel="external"&gt;Workplaces set to get 'smarter'&lt;/a&gt;", (Wednesday 1st July 2009). It discusses the expected trend where workers spend more time on the move rather than at a designated desk within an office. It also refers to future possible technologies whereby walls turn into screens displaying schedules, tasks and emails.The technology aspects I could well believe. The explosion of Smartphones into the market place with an ever increasing number and variety of applications could easily lead people into believing a world where a projector connects to your smart device, and that smart device contains, or has access to, all of your work. However I'm not so convinced that the majority of workers will not be required to attend a central location governed by their company. I believe there are several barriers to this aspect of the predicted future.&lt;p&gt;The first is the attitude and mentality of the workers themselves. Although there are a number of workers who would be quite happy and highly productive working anywhere, there are equally a number who would not. Some people would not be comfortable with the majority of their correspondence being via technology, i.e. emails, phone, instant messaging, etc. They desire the face to face communication and the social aspects that are achieved in an office environment. Some people are not even open to the idea of hot desks. They prefer to have their own little space that they can customise to make them feel secure and at home. It doesn't mean they are technophobes, they just like a familiar environment and place a high value on that environment and the physical interaction with others within it.&lt;/p&gt;&lt;p&gt;Another barrier to this mobile vision is the companies themselves. In the past a large number of companies, technology based or not, have had difficulty trusting their employees. Although the requirements on this advanced technology would also need to include mechanisms for Managers to monitor their workers outputs and achievements, there are some aspects of all work that would not be so easy to monitor. Also Managers traditionally have an issue if workers do not conform to the normal working hours. If a worker decides to play golf during the day, and complete their required work activities in the evening, that should be acceptable. However what if, despite their best efforts, the task they were due to complete by an agreed deadline could not be met. Would the Manager really believe the worker put in the required effort, or would doubts about commitment start to appear? If the worker is in the office they are more visible to the Manager. The Manager has a better chance of determining how much they are concentrating on the task in hand as oppose to surfing the web or conversing about non work subjects to colleagues.&lt;/p&gt;&lt;p&gt;Some would argue that everyone needs to join the modern world but isn't it a better strategy to play to peoples strengths. If that means fast paced companies, with dynamic technology-driven individuals, with clear task based work, can work anywhere then great. For those companies and workers that prefer the common workplace environment let them have it, and use the technology to simplify their lives. In the same way that trainers have realised everyone has different learning methods and we don't all learn the same way, do not assume we can all work the same either.&lt;/p&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-1844815933941794249?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1844815933941794249' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1844815933941794249' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1844815933941794249'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1844815933941794249'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=1844815933941794249' title='Will Working Anywhere Become The Norm?'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-5247238196754316692.post-7743355564444403364</id><published>2009-03-09T05:28:00.000-07:00</published><updated>2010-04-21T03:12:25.959-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Work'/><title type='text'>Are qualifications essential?</title><content type='html'>Are qualifications essential to ensure that as a candidate you win that ideal contract or as an employer you employ the best candidate for the role? I am not referring to the qualifications you attain within or after school but are referring to the sort of qualifications you can gain to specialise in an area such as project management or business analysis. &lt;br /&gt;&lt;br /&gt;What counts more the experience or the letters after the name?  All qualifications require you to pay a reasonable sum to attend a course or even to just sit the exam. In some instances, particularly in the management and analysis arena, all the exam is proving is that you can learn and understand some specific terminology relevant for that skill. The reality when you perform a role in that specialism is that you then need to tailor what you have learnt to best achieve the goals of the project. This may or may not draw upon the areas you learn&amp;rsquo;t for the exam. Sometimes this is dependent on how experienced the people around you are and how much they also talk the same terminology. &lt;br /&gt;&lt;br /&gt;I realise that for employers if they can see on a CV that an individual has achieved a qualification it gives them the confidence that they will have the necessary knowledge to perform the role. However how many employers actually check the claimed credentials of an applicant as well as follow up any references? I suspect very little because the organisations who manage the attainment don&amp;rsquo;t make it very easy for employers to do this. A call to a referee is a lot simpler. Also how many times have you met someone who has claimed they have a particular qualification but you struggle to see how they could have achieved it when their capabilities or common sense seem lacking?   &lt;br /&gt;&lt;br /&gt;I agree that some form of discipline of management is necessary and a common language needs to be achieved between the various stakeholders of a project but what makes achieving a particular qualification better than any other? Isn&amp;rsquo;t it better to asses the needs of the project and the stakeholders and adjust the resulting project documentation in accordance with the findings. After all isn&amp;rsquo;t one methodology over another just a matter of trend and at some point a new trend will arise which some will consider superior  and more critical for the role. What good will your exam pass be then?&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/5247238196754316692-7743355564444403364?l=janeorganise.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7743355564444403364' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7743355564444403364' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7743355564444403364'/><link rel='self' type='application/atom+xml' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7743355564444403364'/><link rel='alternate' type='text/html' href='http://www.organisemybusiness.co.uk/page22/page22.php?id=7743355564444403364' title='Are qualifications essential?'/><author><name>JaneOrganise</name><uri>http://www.blogger.com/profile/15281112426493957221</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.loghound.com/g/2005#thumbnail' width='32' height='16' src='http://4.bp.blogspot.com/_Sm7vR-kbSpE/SqZHviMtFgI/AAAAAAAAAAM/7lM0pPvIxKw/S220/Organise_logo.gif'/></author><thr:total>0</thr:total></entry></feed>
