 Yeah, so soon asked me to talk about So I gave a few Here are some of them and Soon asked me to share some of my experiences in that I had while upgrading my app from the first version to the second version the app is speech timer So it was 2008 about the same time when the iOS SDK was officially launched I was doing those masters Those masters is an international franchise of public speaking clubs is objective is to improve the members public speaking skills and potential skills. I was part of the executive committee of the public capital So he's an integral office club Being an ex-co means that I also have organized meetings and keep it going One role that I had was as a timekeeper When I was the timekeeper, I often forgot to look at the stopwatch and signal the time Especially the speech was good Another problem that I had was I was forgetting to carry the stopwatch and the time signal flags So that was the inspiration of speech timer to get over those stopwatch and signal flags and not to forget about signaling the time This is how a those masters meet up usually looks like. So it's bare bones, no projectors, no fancy stuff Just you talking in the crowd There are many people who How to measure the time take the time people who take your Will Keep track of the grammar say for example if you have too much pauses or you do like It will count your pa, it will count your um, it will count your stuff and we are generally evaluating how you speak So what is speech timer? Speech timer is stopwatch for public speakers There are three important time marks while speaking green Meaning that you've spoken enough long enough already to qualify yellow meaning that you have to finish quite soon and Red means that you talk for too long and you're just qualified These are the example timings of our typical those master speech You need to speak for at least five minutes at the sixth minute you need to finish finish up soon and Speaking for seven minutes or more meaning that you'll get this qualified if it's of contest But on regular meet meet meet up meaning that you just don't get an award or something big but Yeah shown here is an example device that's used in those master speeches So the time people will look at a stopwatch and then at the green time I find this you'll raise up the Reflight at six minutes you'll raise up the yellow flag and seven minutes you'll raise up the red flag yeah, the development of speech timer I think we work with speech that we lose from 2008 to 2011 then I refocus my efforts to other applications Primarily because I've left but this capital and then I couldn't find any other suitable those muscles club Meaning that it's really really hard for me to serve the niche correctly if I'm not Interact heavily with a dish anymore But in 2013 this year Something happened a guy contacted me and he said we wanted to build hardware that interfaces with speech time It's a classic life Yeah, this is the Actual image that the guy sent to me So he wants to connect his this mood there using the audio check to speech time. Yeah, so Send this sound to trigger the red signal send this sound to trigger the yellow signal and send another sound to trigger the blue degree But changing speech time is not straightforward since current extra doesn't support I was 313 remember this was done in 2008 and after 2011 and then if I want to do anything I have to basically revamp the whole thing Because it doesn't It's time for version 2.0 You think good time to update this message to IOS 7's look and feel To make it worth the effort and support for the iPad and The Mac as well. You need to be here to listen to all of this crap. Well, you learn a few things for one How to support IOS iPad iPhone and micro s10 on the same code base You learn how to migrate your user interface from IOS 6 to IOS 7 You learn something about my cloud primarily core data on my cloud How to save data from your Mac? to iCloud and Onto your iPhone and back and last but not least how to handle external displays We projectors Apple TV or just another monitor Let's take a look at one of their own apps an app that is not part of the core IOS Here is an example of the podcast app at first glance You'll see that the 3D effects have mostly been removed except for the volume control over them And you'll see that there's another subtle change Notice the color of the text button speed 1x Yeah, those are purple Why purple is the application's thin color and it should be by Consistently clothed. Yeah If you notice that the major color of the icon is also purple So purple is the identity of the podcast app. Let's say they look how ever no did it. I Selected every note as an example because they try really hard to support every platform that they support as best as they can Why ever note is essentially a software as a service offering meaning that you need to pay yearly or monthly to access their application usually software as a service or SAS Businesses are pretty satisfied just to support a web based interface or maybe provide a Platform lowest common denominator app using say Adobe Air Phone gap or Java But ever though they really do their best to integrate it every platform that they sell their applications to so as you can see the No book metaphor has been removed But I mean no book is that the 3d effects of a notebook from ios 6 that will be moved and we become a dashboard in Yes, you're in the eyes of what your content is which is really consistent with the is that was content first approach last Chrome and more content But you know you don't have grown up and no longer require the computer for so they they know where to tap Hopefully and doesn't need to have a false fox lady in the face Being less your more fake also give you more opportunity to display the around green running It's all green now How I'm doing it? speech timer was designed to emulate a physical stopwatch with color LED indicators Notice the false LCD display I was trying to emulate the classic five-digabyte icon or the classic power-pressing space that were proper at the start of the century and It's trying to follow the gist of the time to emulate a Another device to make the iPhone and another device another physical device Now when I was ever I set up to remove as much chrome as possible and focus on the content notice the time-lapse Benefitors the one that says green yellow red and we move upwards to integrated with the time-lapse because there's no need to emulate a false as we have any display anymore and There's the center area in the content. It's made bigger And also the buttons are flushed to the edges and we only realize that there is between them and the Speech types list also be updated to provide more more more space to the content before that there was a false LED lights Textual description from it and now just might integrate the content Which is the speech that it sounds with the indicators through the display and the car as a merge To provide more space to the content. How do you do dual platform? What does it take to support OS 10 and iOS from the same code page? But then let's see the differences between the two platforms So I rise my stand is moving on you like it. Whereas I stand is on a kid. So what? Does it matter right? It's just a name but I was seven user interface is mostly based on you I view which is a region of space inside your Street that nobody doesn't move. Nobody can't be moved by the user But on my stand is based on really what kind of window? The you can move the window around the size of window minimize it and all those things that are normal desktop computer are expected to do and I was touch base interface So maybe will be touched But I stand is still primary based on the GUI cursor the coordinate system is based on the script was a different system where you will go right and then go down X X was to write and then down But as fast as it's based on the Cartesian coordinate system. So you go right and up now How do you support the iPad iPhone and I stand from the same food base? Here's one way you can do it You have a separate UI classes for Irish and I stand you base your iris view controller and there's a military hierarchy on my stand's window controller You have separate subclasses for iphone and ipad so that you instantiate the appropriate one That's about it. You have stuck up when you type that this is with this device an iphone view You finish instantiate the iphone view controller when it's not ipad, it's instantiate the ipad Both can share the same model classes but Often there's need to be some some common logic between the oil span and iris view controllers or power view controllers So you factor this out to be logic classes This is a whole host the common code between window controllers and view controllers It's in iris and iphone iris and iris 7 Yeah, and also the art is different These are the features of iris version of each standard on ipad and iphone in ported and by state of relations All of these are from one base view controller classes and These variations are done by changing a few octalio parameters Whereas this one is from the OS 10 UI The bottom right window is the control window that takes some input that the user can use to set up the switch type, start switches, stop ID Change the name of the speaker Whereas the top left is the presentation view So the top left window is meant to be shown on a projector Now, this is how you usually do see for data So for example, you stop your app, you check whether the store file exists or not and then You set up the store and if the store file didn't exist in the first place, you create new initial data But on my cloud Checking the store file is useless Why? Because there could be another other store file in iCloud or any and there's no way to know whether Your data store was initialized for the first time Then how do you do it? You just need to accept the fact that there's no way to determine when is the first time your Data store was opened That's why you just set it up Pre-fill it and de-duplicate it afterwards And some of the optimization that you can do is to ensure that the data pre-fill is only done once per account, per device How do you do it? As far as managers, your recruiting identity token has a reference to the currently logged-in iCloud account You keep an array in an essential default and say that all for all the your recruiting identity tokens that you have done set up and then you check whether You have my set up this account now. If you have set up this account and then you just pass it If you haven't then you just go pre-fill Of course, there are other types where you need to de-duplicate data Once is when you receive new data from iCloud Just like you remember when The initial steps within your application from a new device that device would have seeded the data beforehand Before it has a chance to download from iCloud You get this certification to be did store Did import your recruiting token and change the certification Keep note that this certificate doesn't get posted on main track So you need to do dispatch to the main track if you need to update UI another case is when the persistent software changes This could be the user switching between iCloud accounts, plug-in, log-out Or could be just me, could be the iCloud just being brought online Meaning switch switching from the fallback store with a no-down store into an iCloud store Or it could be The software was offered initially Note that on the Mac, iCloud has an option to update your store file even when your application is not running So even if you have a store online, iCloud will update your store file independently therefore You will need to Run the de-duplication logic as the first step after you open your store file Just in case there's new data coming from iCloud and it's okay So following this process, you can go to NMG session 201 What's new in Corelta and iCloud? You can find it because there's a way to communicate when actually iCloud switches, what kind of notifications that need to be sent And I also have a Corelta developer class that helps solve these notifications management, Serena, iCloud, and Corelta You can check out here score data controller on GitHub. How do you make presentations? on iOS You get notifications when The screen connects or disconnects, you get these two notifications So you can simply assume that this new screen is the presentation screen That and then you can just put up your UI, just the UI of that new screen How about on the Mac? The Mac doesn't have such notifications All you got is an array of screens, that's it But think of it this way, some Macs doesn't have built-in displays like Mac mini's Macros, Macros can handle a phone display at once, and there's no telling which one is the primary display and There's so, for now, we only get an array of screens Then the question is how do you find the projector screen? How do you find it? After a long, how do you say, not very long, well, after a bit of forming, I found a way how do you detect a projector screen How do you find it? How do you find the biggest one? That may work for me, because this thing is 1,024x168 Most of the Mac Pull back, what I ask a higher institution is Yes, but that's the question This one, not by pixels This is the one by millimetres Yes, you can No, no. No matter where you stand? Where you thought could it be subject to distribution But eventually the keyboard asks you, as the user which screen does the projector give We have two! And one group is connected to us! This is one. That is one. This is one. This is one. You can take a mirror! I'm going to give you this one in the middle of the screen for you. Even I am. So, here's how we do it. First, you get a real screen, and then you call the device. You get the device. It's a screen number, and then you call this screen. See, it's a screen size. The screen width and height, any minute interval. And then it's really simple, just find the biggest area of the screen. Find the big one. Any minute interval, and then click close. And the rest of the screen is made of air. See the number, and then click close. But, yeah, even when you're able to find out how we did it, this is approximately as you can what we have learned from the past. You learn how to transition from iOS 6 to iOS 7. You learn how to support iPad, Mac, and iPhone from one single coding. You learn something about the computer, or like how you need to learn how to support a project in a Mac. Yup. And, well, we're going to open to vision number two. There's a number of bugs that are still pending, but we've got this small issue here and there. And, you like to dynamics the next thing that I need to add to make it a true iOS 7 app. There's also some marketing videos like product releases, I'm going to do the manuals, website, and I know what else can do with this kind of thing. So, I'm going to add a really 2014 product launch hopefully across windows. And, thank you. That's all. Here is my all the information that you needed. If you need more, you can know me, click on the blog, and make a purchase. Go, make a purchase. Thank you.