 I am the business account manager for FileMaker here in the Atlantic Territory, and I will be your host for today's webinar. The topic of the webinar today is the top 10 things to think about when you're designing for iOS. And today we're going to be covering the essential design considerations for building FileMaker solutions that look and perform optimally for iOS devices. I'm so fortunate enough today to be joined by Chad Novotny, who will be our presenter. And Chad is the founder of 12 TI Studios, and he'll be doing the bulk of our presentation today. Before we get started, I've got some brief housekeeping notes, however. So for the best possible experience, we do strongly recommend that you participate in this web seminar with a broadband connection. You can also attend these web seminars in the future through the GoToMeeting app on an iPad or even on an iPhone. I've done it myself, and it's really quite liberating. So I would encourage you to look up the GoToMeeting app in the iTunes store. If you have any problems or require any online assistance at any time, please contact Citrix Technical Support. I'm going to give you their number. It is 1-888-259-8414. That number, again, is 888-259-8414. We did this presentation earlier today, and Chad's remarks are about 50 minutes, and so that left us a good amount of time for questions at the end of the session. So let's talk a little bit about how to answer or ask a question, rather. So you'll notice here in the GoToMeeting control panel, there's a tab section called Question. So if you go ahead and type your question in there, and then be sure and hit the Send key, and we'll be able to review those questions and present them to Chad at the end of the session. So let's jump into the next slide. So today's remarks are going to be primarily focused on FileMaker Go for the iPad and the iPhone as a quick reminder. These applications, of course, have to be built with either FileMaker Pro or better yet, we encourage folks who are building applications for the iPad and the iPhone to use FileMaker Pro advanced. And of course, if you want to configure these solutions for multi-users, FileMaker Server or FileMaker Server Advanced are essential components of that solution. Another pointer that I'll point out to you today is the FileMaker Technical Network. If you haven't joined, it's free. I strongly encourage you to join the technical network. We get access to all kinds of white papers, technical documentation, as well as a message board that can just be a great resource for folks that are looking to build FileMaker based solutions. So please do check out FileMaker TechNet. There is the URL there at the bottom. So with that, I'm very excited to introduce Chad Novotny. That is the founder of 12TI Studios, and they provide FileMaker Development, Coaching and Integration Services. Prior to joining 12TI, or indeed founding 12TI, Chad spent 14 years as the vice president and chief architect at the support group, which is a platinum level member of the FileMaker business alliance. And Chad specializes in systems engineering, high-end FileMaker solutions as well as web development. He's a certified FileMaker developer in FileMaker 7, 8, 9, 10, 11, and 12. He's an extraordinarily popular trainer. He's taught hundreds, perhaps even thousands of FileMaker developers worldwide advanced FileMaker techniques. And of course he's presented for numerous FileMaker developer groups. He's participated in many web seminars like this, and of course he's a very popular presenter at DevCon. So welcome Chad, and thank you very much. Thank you, Jason. As Jason said, 12TI Studios is in the business of building software solutions for customers. When people have an idea about some great thing that they want to do, we can help people build that. And nowadays all ideas are all about mobile. People want mobile applications. It wasn't too long ago that people didn't even think about that. It wasn't even on the radar. And so when it comes time to building a mobile application, FileMaker Go is a great solution for building solutions here. But you're going to want to think a little bit about how to do things a little bit differently than you might have done in FileMaker Pro. Nowadays the keyword is design. We're going to talk about designing FileMaker Go apps. And when we talk about design, we're really talking about how does a product work, rather than some people think about design and they think what colors are you using, what drop shadows and gradients are you using. But really design is how does something work. And I don't think it's a surprise to say that iOS devices, iPads and iPhones, they're just different. We need to design things differently for iPads and iPhones. They're smaller. You use your fingers to interact with them rather than the mouse. They're designed for easy mobility. So people can carry them around through a warehouse or out in the field as they go into customers. And when you take these differences into consideration, you're going to want to design some new interfaces for FileMaker Go. You can take your existing FileMaker databases that you built in FileMaker Pro for your Mac or PC desktop and then open them up in FileMaker Go. And for the most part, they're going to work just fine. There might be some differences here and there. Certain steps might not be supported or things might look a little bit different. But for the most part, they work fine. But it's not going to really be the optimal solution. I like to compare it to when websites suddenly had to be presented on iPhones. All of a sudden people were trying to figure out how do I take my website and cram it down into this much smaller space and still make it usable so that I can interact with it. Sort of the key principles for developing and designing FileMaker Go apps is that you want to emphasize your content. It's all about the information and the data and what the user can do rather than all the different controls and buttons and things that they might push. You want to show the data. And that's the key concept of iOS 7 is all about to refocus attention on the content rather than drop shadows and lighting effects and so on. When you're dealing with these smaller form factors, you're really going to want to focus on what a user's primary tasks are instead of giving them everything that they might possibly want to do. Give them the things that they really need. You're going to want to try to anticipate the use of multiple devices. These solutions now, we've got multiple platforms or we've got multiple applications of news for the FileMaker platform. We've got FileMaker Pro on the desktop. We've got FileMaker Go on the iPad. We've got FileMaker Go on the iPhone. If you're writing one solution, you want to think, where are all the different places that this might be? And you write a solution that responds accordingly. And then lastly, when you're dealing with iPads and iPhones, there's a whole different environment there that's specific to the hardware. You can take their screen and rotate it for portrait to landscape orientation right there in your hands. You've got GPS functionality. You've got virtual keyboards that can pop up. And so what are some of those things also that you'll want to take into account when you're designing your FileMaker Go solution? I'd say the very first thing I can say is that iOS calls for a different design. Here, if you look at my website, 12 GSTDS, it looks like one way when you're looking on your desktop. But go and view it on your iPhone, and it's smaller. The menu area that appears in Safari or Chrome there gets reduced down to a pop-up menu on the iPhone. And you're looking at a list of information rather than a laid out side by side. Or if you were to look at CNN a few weeks ago, we had celebrating Martin Luther King, Jr. On their website, you've got a lot of text, a lot of information that you can see, but it's hard to interact with that with your fingers. Great with a mouse, you can click on those links. But if you were trying to zero in on watching, say, Oprah Winfrey down there at the bottom, it might be hard to pick that out with just your fingertip. So CNN's app presents everything as a grid of large blocks of very visual areas where you can very easily see, here's the headline. You can click on it to get down to the further detail. And then similarly on the iPhone app, again, big blocks of area that make it easy to see, make it easy to click on and interact with, rather than different from working with the web browser. And so in the same way, FileMakerGo is you're presenting the same information, whether it's FileMakerGo or FileMakerPro. But the interface needs to be a little bit different to better set the device, the situation, and how users are interacting with it. Now, I said you want to build something more for iOS rather than for the desktop. But one thing I sometimes see people see is they try to recreate the iOS style, all of the different gradients and so on, and drop shadows and buttons. And I would recommend not attempting to do that. FileMakerPro 12 has some great built-in themes that are designed for touch. And you can go ahead and use those styles or modify those styles yourself. If you try to create an exact copy of the native iOS style, it ends up looking not quite right, which can then be confusing for users. Like, why does this not look the same as my other apps? Also, if you try to design something right now for iOS 6, well, tomorrow iOS 7 comes out and your FileMakerGo solution might look kind of dated then if you tried to model it on iOS 6. So what I recommend is use FileMakerStyles, create your own FileMakerStyle that uses FileMaker's native tools, but design it for an iOS user experience. So when we talked about design, making an iOS design, we're really talking more about user experience rather than necessarily the little widgets and so on, not necessarily all the same icons. Number one, use FileMaker's interface options and use them to focus on your content. The most important thing is what do users need to see. You don't need to show every possible imaginable detail. What you want to show is the most important information. What are people looking for? They're walking through a hallway in a warehouse. They're about to walk into a customer site. They need to look up the important information. You're going to put that right there at the top of their screen so they can see it easily. They're also, they're mobile. They're probably multitasking and thinking about different things. Hopefully they're not driving while they're doing this, but they need to be able to easily move from one place to another for your application. So you need to think a lot about creating a logical navigation path. In some FileMaker pro, like desktop solutions, you'll create links to be able to go from one place to another all over the place. But when you get to FileMaker Go, I recommend limiting the number of navigational paths so that they are clearer and people know exactly how they got some place and how they can get back to their original starting point. So the general flow is that you start off with master lists, maybe at a master home screen. You then go to your lists. You drill down from a list to further detail. And then from there, you might drill down to more details. So for example, you might have a master list of customers. From customers, you drill down to see the specific customer. From there, you might see the specific invoices for that customer. And then you can back up. One of the ways that you're able to focus on content is by providing less information at once, or providing the more important information. Figuring out what users are more likely to do than not. So what are users doing? They're looking up contact information. They are signing online forms that they're filling out to FileMaker Go. What are the things that people are using FileMaker Go for? Why are they trying to do this in a mobile environment? And then focus on that. Design your applications to focus on the primary tasks. You want to minimize the amount of effort that users need to put in. It's pretty easy. People have gotten used to using virtual keyboards. But if you can just enter data by simply pointing and clicking as you browse through a list of records and selecting the right one, and then using that as, say, a value list, that's a lot easier for users. If you could create wizard-like interfaces to help people to guide them through creating records or doing data entry. Designing your solutions around the specific tasks, maybe setting them up at the very beginning when you log in. The first thing you see is here are the three or four things that you're likely to do. Just go ahead and click on that big button. That's how you want to give people more power by giving them maybe fewer things that they have to hunt through in order to get to the things that they want. Apple's Human Interface Guidelines specifically say focus on the primary task and then analyze what's needed on each screen. And don't include more than is needed on each screen. Of course, there's always going to be things that you want to be able to give users the ability to do, which may not be their primary task. There may be certain types of reports that they only need to run on a weekly basis or one-off type of thing. There may be data that users need to be able to get to, but it's not the number one thing that they're looking at. So if you can figure out ways of hiding that data or those functions, and then exposing them only as needed, that's a great way of then putting aside the things that don't need to be right front and center for people, but still giving them the ability to access it. If you think about some iOS games, actually controls sort of disappear and reappear as you move your thumb or fingers closer to them. In FileMaker, we can use pop-up menus so that we can list inside of a pop-up menu and using a value list all of the different actions that we might want to be able to take. And then when the user selects it, a trigger can run a particular script to make that work. These are really great. Instead of having 20 buttons on your screen in order to launch an action, if you have one pop-up list with 20 different items, it's easier to find. You can actually list more information about each action in that value list instead of trying to label each button with a lot of different text options. So that's a great way of hiding particular actions and functionality until it's absolutely necessary. You can also display data just when needed as a bite-sized chunks. Custom Dialogs are a great way of exposing information only when people click on a specific button. You don't need to necessarily find room on your layout to display that information. Or Tab Controls. You can use multiple Tab Controls and put the most important information, the information that users are accessing most of the time, on that front-most tab. And then on the second and third tabs, put the secondary information that users are less likely to be looking for at any given time. So let's talk a little bit about a particular solution here. And what I've got here is FileMaker Pro. And this is actually a subset of a database that has been built for a private school with a bunch of different units, K through 8. Or actually, that's our pre-K through 8. There's a bunch of different classes here. And we can go in and drill down and look at a particular class. We can see this is Diane and Olga's pre-kindergarten. We can see all the teachers in this class and all the students in this class. And we can jump from this student to view that particular student and his or her parents. So we can go and look at their parents here in the Community tab, where we have all of our parents and grandparents and teachers and so on. Looking at a particular person, we can see their contact info and so on. We have events where people can sign up for various fundraising or social activities. So for example, the rummage sale, we'd have various people bringing in bake sale items and signing up to actually man the rummage sale. And we can go look at some here and so on. There's actually a lot of information that's here. And we can go back and forth between all these different tabs. What the customer wanted here was the ability to bring this information to the parents as the parents were walking into the school. On that first day when they walk in, the chair of the PTA wants to be able to say, hey, we'd love for you to sign up for the rummage sale here or sign up for the admissions open house. By getting that form, basically, the sign up right in front of the person, it's a lot less likely that they're going to say, oh yeah, sure, absolutely, I'll do that. And then head off and get distracted and forget to sign up. Or preferred parent-teacher conferences. If we look at a particular class here, we can see that there's a bunch of different time slots. And people need to be able to sign up for a time slot. Again, if we have a solution there that's for the teachers as they walk in and as they're dropping their kids off in the morning and making sure they have their lunch and everything, there's an iPad saying, hey, just click here to select your time slot for the teacher conferences. It makes it a lot easier than people having to find a piece of paper and append and write things down. Hopefully they're all signing the same piece of paper and so on. And this then goes back into a central database where they can run reports and send out reminders through automated emails and so on. So here in FileMaker Go, we built an app. Now when we open it up, it looks pretty different. We see a bunch of smiling kids. We wanted this system to not look like a database. We wanted it to be friendly because this is really not for the people that are working in the administrative offices. These are for the teachers and the teachers and the parents who are walking in. And they don't have a lot of time. They're dropping off their kids and it's hectic in the morning. So we said, what are the things that people are going to want to do? Well, we want to sign them up to volunteer for an event. And we want to sign them up for their teacher conferences. And there might be some other things. They might want to do some searches of various other parents to figure out someone's phone number or to arrange a play date. Or they might want to search for other students and figure out what their parents' names are and so on. And we might want to be able to say, we have some additional information as well here. So what we've done is we said, there are two big things. There's volunteering and there's conferences. There's the ability to search. And then buried down here, we're going to say, there's some additional things that might want to happen. We might want to be able to browse all the classes. But these are secondary functions. And what we're doing here in FileMaker is this button, the More button, actually just has a simple go to field step. And it's going to a one pixel by one pixel field below this button. And that field has been set up with a value list. And when you select that value list on exiting that field, there's a script trigger that runs, that runs the appropriate action. Let's go back to our primary tasks. Let's say I'm looking at, I want to sign up from volunteering here. Click on Volunteer. And it's going to say, all right, here are the things that you can do. So we're going to walk through what are the steps? How would we find, if we're going to create a record here to assign something volunteering for a particular event. You'd say, first, what's the event? And we're showing, at the same time, we're showing additional information here. At the top, you'll see that the building on the ground landscape day. It's grayed out. Or it's an italics. And that's because all of our needs have been filled. We've got enough volunteers for that. If I click on the Info button here, so we're using a custom dialog to pop up and say, hey, here's some additional information. Well, we can see that all the volunteer spots have been filled for this event. But it also tells us what that event is, if we want to know more. We don't have to go and look in here in all the details yet. Or let's go to the admissions open house. I'm going to click on the admissions open house. And I can see here are all the things that they're looking for. Well, kindergarten guide. Kindergarten guide. That sounds like it might be fun. So I'm going to select that I would like to do the kindergarten task. And so now here's a list of all the parents in this school. I have enrolled my children in this school for the purposes of this demo. And so I'm going to just jump now to the ends. Actually, what I'm doing is doing a quick find, finding all people whose last name starts at the letter N. And I'll select that it is me. I am going to assign myself to the sort of self-service here. I'm assigning myself to that particular task. And it tells me thank you. Very much appreciated. Awesome. I'm done. I'm ready to go. I can drop off my kid and head off down. I'm out of work. So again, we've actually done some data entry here. We've created some records without ever actually doing any type of typing. It's all picking from a series of lists. We're not actually picking from value lists. We're picking from actual list views. But it's the same idea. We are, in fact, it just sort of gives us a lot of flexibility to just step from list view to list view, making our selection as we go along. Similarly, if I want to go into conferences, I can click on conferences. And then here I can say, well, I know I have a kid that's in Diana in all those pre-kindergarten. So I'm going to choose here. And so now I don't have to do a search. I know there's a limited number of classes. I'm not going to force the user to search for a particular class since they can just scroll through it. But I know I want this 9.25 AM time slot. So I'm going to select that time slot here. And now, again, every time we're coming into the solution, it's as if it's just somebody walking down the hall and filling in some information. It could be anybody. So we're just going to show a list of all the people, all the parents who have a child in that class. And I'll select myself here. And I have now added myself to that particular time slot. Again, doing data entry without doing any kind of search, without even doing any kind of typing. It's a quick way of filling in information that we know we're trying to collect. I can also go ahead here and run my script to browse all students. And I can see them here. Or I can go back home and say let's browse all of the events again. The navigation is pretty straightforward. If you do volunteering and conferring, it leads you through a wizard. But other than that, if I say let's look at all of the various community members, my only real option is to go either home, back to the home screen, or to actually select somebody, let's say Jamie Anthony here, and drill down further and see more information about Jamie. And I can go back. Now we had originally thought, let's give the ability to link from, say, if I'm going here to Jamie here to the detail. I can see here is Jamie's daughter, Pandora. And in the FileMaker Pro app, I could link from here to Pandora, and then from Pandora, I could link to her class, and so on. But in user testing, we discovered people didn't want all of those links. We just really wanted a very straightforward, you start at the top, you drill down to parents, and other community members, you drill down from there to the details, and then you can drill back up. You can go back up, no hyperlinking between a bunch of different varying data sets. So it's very straightforward navigation. The other thing we want to do is be able to do quick searches here. So again, we have some script triggers. If I go in here and say let's find, let's say again, I am a member of this community in the system, click on Chad, and it will do a quick search for me. We're just doing a quick find step the same way we could here in the standard FileMaker Go functionality. We've just scripted it so that you can get to these quick finds for both parents and for students from the home screen there. So this here is an example of a task-based system. It's all about the primary tasks are signing up for volunteers, signing up for conferences, and maybe do a little bit of browsing and searching. But mostly it's about those two things. There's not actually a lot of data entry that's going on from the parent's point of view. It's mostly about quickly being able to fill in that information. Once we've figured out our design, what we want it to do, then we need to figure out how do we build layouts that are going to work properly on iPads and iPhones? And specifically, we can take an iPad and flip it from horizontal to vertical and vice versa. Let me actually, sorry, hide this for a second. Here's my application, sign up and go, flip to vertical, and it resizes itself. I'm going to switch back. Or let's go view an event. You can see that the list of volunteers needed resizes itself and extends either horizontally or vertically depending upon how we are holding our iPad here. In web design, there's this concept of responsive design where the HTML sort of reflow depending upon the size of your layout and how it's, oh sorry, the size of your window and how you arranged it. In FileMaker Go, we can use responsive layout. We can build, quote, responsive layouts through a number of techniques. One is to start off with these stencils that show us exactly what can fit into a particular layout on an iPad or iPhone in both horizontal and vertical orientation. You want to avoid horizontal scrolling. Horizontal scrolling just seems weird. There are some cases where it makes sense, but most of the time horizontal scrolling should be avoided. Vertical scrolling is OK. Definitely, if I list you, you're going to have vertical scrolling. But if you can get as much as possible into it, if you can keep things from scrolling at all, all the better. Eventually, you're probably going to need to create separate layouts for your desktop and for your iPad and for your iPhone. There's a limit to what we can do all in one layout and still make things look right on all three different devices. So you're going to want to create a very small layout for iPhones and then a larger layout for iPads and something kind of similar for your desktop. Using anchors, I'll demonstrate that in a second. Anchors allow you to tie an object to one or more edges of the layout. So if you tie an object, if you anchor an object to both the left and the right, it's going to grow. It will get wider as you flip from portrait to landscape orientation, as your windows change your side, essentially. Or things can grow taller. Or they can just stay stuck to the right-hand side rather than to the left-hand side. So you'll want to make judicious use of anchoring layout objects to make it look like you're filling the entire space on your iPad. And then talking about scrolling, I said horizontal scrolling looks kind of weird, additionally to avoid that horizontal scrolling or any other unwanted scrolling. A good technique is to always set the zoom level to 100% on your layouts and then lock it so that people can't zoom in. When you zoom in, then I'll give you the ability to scroll off the screen and your layout sort of gives you that gray linen pattern behind it. Then inside of your responsive layout, you're going to want to design your objects to be optimized for touch. Again, FileMaker Pro 12 themes that are designed for touch are a great base for this. All the fonts are going to be like 18 points in the default for tab controls and portals and everything are going to be larger areas, which is easier to click on. So I'll start with the touch themes as my base. I'm going to make some changes to the coloration a little bit rather than cool gray. I might use a little bit more white and blue. In terms of the actual area that users are going to click on, fields should probably be like 17 or 18 points. Buttons, you're going to want to make those. The rule of thumb is 44 by 44 points. Like an apple is figured out the average size of a user's finger, finger tip. Even if the icon itself, if you have a button with an icon, but the icon itself is not a full 44 points, you're going to want to make the clickable area around it 44 points that you can click on. In terms of fields, the default font is going to be Helvetica or Helvetica New. If you're developing on Windows, aerial might be more accessible for you. There's a full list of fonts at iosfonts.com, but I really recommend sticking with Helvetica and or Aerial. When working with fields, using Danielis is a great way to make it easier for users to do data entry with pop-up menus and checkboxes. If you're using radio buttons and checkboxes, then you want to make sure you test it both in FileMaker Pro on the desktop and in FileMaker Go. Because wrapping might end up wrapping to a second row. Wrapping might look a little bit differently. A couple things that in order to deal with some of the changes in FileMaker Go, when you click into a field in FileMaker Go, the field grows in height, which makes it easy for you to see what you're typing in there, but it could end up obscuring other fields that might be nearby it. So there are ways of suppressing that by turning on vertical scroll bars on that field. However, that means all of your fields suddenly have scroll bars on them, which then looks a little bit odd if you're viewing it in FileMaker Pro, which is why you'll probably have separate layouts for both iPad and iPhone for FileMaker Pro. And then lastly, just a tip. If you've got a field, say you've got a list of legal information that people need to accept first, those things that no one ever actually reads, but you need to make sure people click and they've read through them. If you put that into a field in FileMaker Pro, when you open up in FileMaker Go and people try to scroll through that field, it's going to pop up the virtual keyboard, which can be, you're not actually asking users to make edits to that field. So you can use web viewers instead. You can take the contents of the field, just pipe it into a web viewer with a simple calculation, and it will display as essentially an uneditable but scrollable field that users can scroll through. Let's take a look at some of those techniques here. So let me actually go here to FileMaker Pro here. And I've got a script here to show me the legal information. So here is the legal information. I've got a field here that I can scroll through to say, oh yeah, this is my software license agreement. It's popping up here in a modal dialogue window. And then when I'm done, I click Close. But here in FileMaker Go, let's look at the legal information. It brings me to a layout here that's got that same information, but this is not a field. Well, actually, this is a field. This is not what I want. When I click into the field, it pops up with the keyboard, and it's like, no, I can't actually edit this. I'm not a lawyer. I shouldn't be editing this. So I'm going to go back here to that layout. And here's that field. It's a field called Legal. And I'm going to replace that. I've already built this little web viewer here, pre-built, kind of like Julia Child when she was cooking. She always had something already made. It's a web viewer, and it's using a simple web address. It says data colon text slash html comma. That's basically saying I'm going to be feeding this web viewer some raw html. Instead of looking out on the internet for something, I'm going to actually provide up some html here. And then I'm using the get-as-css function to take whatever was in that field called Legal and convert it into CSS-styled html. But I don't actually have to know any html. I actually formatted it in that legal field. I actually went in and formatted it with file makers, standard, rich text formatting here, like style and size and so on. And now there's my web viewer. So here it's a web viewer. Actually, it's a web viewer here as well. But it looks more like a field that I can scroll through. And then when I continue, it brings me back to my original lab. Now let's take a look at some events here. When I click on an event, let's go look at that open house. And let's say I'm the head of the PTI here. And I realize, you know what? I want to retitle this. Instead of admissions open house, I want to call it the first admissions open house. But you'll notice when I click into the field, the field has now actually obscured the date that this takes place. And what if I actually wanted to call it the 10 slash 20, 10 slash 20? If I wanted to put the name of that, did I get it right? No, it was 1026. So I've obscured information that I might want to look at. So let's go back here to layout mode. And that layout is called the event form. And here's that field. Now you'll see the date start and time end. You'll see that I have the scroll bars here. I'm going to do the same thing here. In the inspector, I'm going to say give that some, it's going to be an edit box, but I'm going to include a vertical scroll bar. Include a vertical scroll bar. And now I go back into browse mode. It looks like this. Now I click into the field. I see a scroll bar, which seems weird because I don't actually need a scroll bar for the word rummage sale. Back here in File Maker Go, when I click into that field, the field no longer extends. So it's a way of sort of overriding that default behavior of growing when clicking into a field. I'll also say here in layout mode, you'll see that this button here is 92 by 59 points wide. Plenty of room for me to click on that with my fingers. So you're going to need fields that seem a little large in browse mode here. This seems pretty big here in File Maker Pro. But back here in File Maker Go, it's perfectly sized. Now having said that you probably want to create separate iPad and iPhone and desktop layouts, that means you're also going to need to want to create navigation for your users that takes into account what kind of application or what kind of device they're on. It's probably easier if you have one script that says, if you have a contact detail form, when you open up your database, if it checks to see, all right, are you on an iPhone? If so, go to the Contact Detail for iPhone layout. Are you in an iPad? If so, go to the Contact Detail for iPad layout. Lastly, if you're not on either of those, go to the Contact Detail for desktop layout. There's some calculation functions that you can use, Get Application Version and Get System Platform. Get Application Version will actually tell you whether you're on Go for iPhone or Go for iPad. Get System Platform, if all you care about is you're on File Maker Go versus File Maker Pro, you can use Get System Platform and check to see if it's equal to number three. Sort of the standard technique is to, on your initial opening script, test to see what device you're on, maybe store that inside of a variable or global field so that you can then easily refer to that each time you have some kind of test in your scripts for navigation. You can also use that in your opening script just to check and see, do you want users to be able to open this file at all with a particular application? Maybe you only want a particular file to be opened with File Maker Go, and it's not designed to be opened with File Maker Pro. So in your on-first window open step, you can check for that and then just politely tell them this file is not designed for use with File Maker Pro. Please call your administrator, what happened? So plan that your solutions are going to be used with multiple devices, phones, iPads, desktops. Used to be that people designed first for desktop and then they figured out how to do it for mobile. Now more and more you see people figuring out, first I'm going to create a mobile app and then figure out how to then port it over to the desktop. But it's going to be used probably in multiple places. You're also going to need to think about working with Windows. In File Maker Pro, you can work with lots of different Windows. You can have off-screen Windows for doing various kinds of processing that won't interfere with what the user was seeing when they started the script. You can have pop-up Windows that are like dialogues. You can resize those Windows and hide them and so on. File Maker Go, although it supports multiple Windows, is not going to support hidden Windows or off-screen Windows. And all the Windows are going to be the same size. You're not going to have a dialogue window on top of another window. In general, when working with File Maker Go, you want to think about your workflow should all take place within a single window. Sometimes that means there might be something that really you just don't want to display in File Maker Go. If there's a way to offload that processing to the server, like maybe you just create a simple record and the server has a script that checks every minute or so to see, is there a particular record in the queue there? And when it finds it, it then runs a particular script. If you've got pop-up Windows, you're going to want to replace those by navigating from layout to layout and then back, rather than opening up a pop-up window and then closing it. Another thing that's when dealing with Windows, not necessarily related to the fact that it's a single window, but related to the fact that it's on iOS, is that home button. It's really easy for a user to just quit the application by clicking home. And that's how I usually quit File Maker Go. I'm not actually closing the file, that particular file. I'm just quitting the entire File Maker Go app. If you need users to run that on-last-window-close, that back-closing script, well, you can't assume that it's going to happen. You can prompt them. You can encourage them by adding, say, logout buttons onto each of your layouts, making it really easy for users to see, oh, this is how I close this file. But again, you should never write a File Maker Go file that just assumes that on-last-window-close script is indeed going to run. Which leaves me sort of like my second-to-last step here. Really, you need to be ready for anything. Scripts can be canceled. If you don't turn off the allow user abort, if you don't use the allow user abort off step, the allow user abort step with the off option, then a user can just tap on the screen while a script is running. File Maker Go will ask them if they want to cancel the script, which is not usually what you want to have happen. Make sure you're using that allow user abort off step to taste, but actually use it in all of the places, in every script. The other thing where you really need to be ready for anything is, again, it's back to that home button. If the user clicks the home button, then you actually think maybe the script would stop, but instead, File Maker Go hibernates and it suspends the running script. But when you switch back to File Maker Go, it's going to attempt to resume it. If it can open up the file again, if the local file, you might be able to open it really easily there, it's going to resume the script. Now, if you're connected to a hosted file, it will attempt to, again, resume the script. But if it loses the connection, it will attempt to reconnect to the hosted file, but it won't lose on the script. So you want to probably keep your scripts as short as possible. Again, if you can offload things from the server where you are more confident that they will run all the way to the end, that's a great idea. Also, you can use the additional horsepower of your server. There's nothing you can do, really, to prevent a user clicking the home button, or if they receive a phone call or FaceTime request, that's going to interrupt whatever they might be working on. So just be aware of that. Let's take a look at just a couple more things here in FileMaker Go and Pro. I showed you earlier our script here. If I'm back in the desktop version of this and I run the script to show me the legal information, you'll see that pops up a window, and then I can close it. Whereas in FileMaker Go, if I run the script to show me the legal information, it's switching from one layout to another, and it's putting me into a pause. So I think there's actually a little trick here that you need to manage a pause, and then make sure that the user goes back to their original layout. I like to be able, in FileMaker Pro, open a window, do whatever I want in it, and then close it. So you'll want to consider how are you going to get back to your original layout. And that script here in FileMaker Pro, just simple. We check to first to see if we're on an iPad or iPhone. And that device variable is set during our opening script. And if we're on an iPad or iPhone, we go to that particular layout, we go to the WebViewer object, and then pause, and then we go back to our original layout. Whereas if we're on the desktop, we open a new window, we go to the layout, and then hide the toolbars, and then when we're done, we just close this window here, the FileMaker Pro 12 modal dialogue window. We can just close that window, and we'll write back to where we started from. There's a little bit of different workflow in terms of what are you trying to do. Who is the user? Which user are you trying to target? Are you trying to target the user on the desktop? Are you trying to target the user on an iPad or iPhone? You can see that script here. The opening script, it checks to see. We do some global initialization. But here we set our device variable to say, does the application version contain the word go iPad? If so, we're on an iPad. If not, does it contain the word go? If we're on an iPad that contains the word go, we must be on an iPhone, or iPod touch, et cetera. So now we just store that for future reference. I'm just going to actually pop over here quickly to another file. This is actually the tasks file that comes with FileMaker Go. When you download FileMaker Go, it comes with some starter solutions. And you'll see here, this is a task file, and it's got layout space by desktop, iPad, and by iPhone. And in the startup script, it checks to see again, what's the application version? Are we on an iPad? Are we in FileMaker Pro? Are we in FileMaker Go? And it goes to the appropriate layout and sets the appropriate settings, for example, setting the zoom level to 100% here and locking it. If I go over here to FileMaker Go, and open up that same file, I'm getting a slightly different layout. Again, it's the same information. But this is the layout that's been designed for the iPads. Again, using a task to see what devices the user is using, and then picking the appropriate comment technique there. And lastly, let's go back to SignUp and Go. We did add some additional functionality. Let's say I'm looking for Donald McCarthy here. And I want to be able to find out where he lives. I can click here and actually hop right over to the Maps app. Now, let FileMaker Go, and I can see, how do I get from my current location to Donald's house? Or I can go back here and I can send him a text message using the iMessages app. Users expect their applications to use the built-in functionality of iOS messages, the phone application, the Maps application. And so the more you can actually integrate your Go solution with these other apps, the more FileMaker Go your solution will feel as a good citizen on the iOS platform. And the way you can get to these other applications is pretty simple. If you're just trying to dial the phone, there's a dial phone script step. That's all there is. It's trying to get into the Maps application and to iMessage. You're going to use the open URL step. But instead of using the HTTP protocol, you'll use either the Maps colon or the SMS colon protocol. And you can see some examples here of what those URLs look like. If you need to do location information with GPS, there's a location function that will get that back from your iPhone or iPad and tell you what your current coordinates are. So again, users love it when their apps feel like they're working with their other apps and that they're connected and that they are wired or they're wireless. So if you can embrace that feeling of connectivity that goes with iOS, the solution will look all the better. So those are my key points. Use FileNaker's interface options to build an interface that's designed for FileNaker but has that iOS experience with focus on content. Only show people what they need to see at any given time. Expose the information when they do need to see it. But focus on those key concepts. Build layouts that are going to respond whether they are in portrait or landscape orientation and they're designed for touch. And then when it comes to scripting, think about you're going to be building a solution for multiple devices. It's going to have to work within a single window on iOS and maybe multiple windows on the desktop in FileNaker Pro. And then embrace connecting your FileNaker Go solution to Apple's other apps. And so that's what I have for you today. And with that, I'm going to turn it back over to Jason. Great, Chad. Thank you so much. So quick housekeeping. I wanted to alert everyone to the fact that FileNaker has released an upgraded new version of FileNaker Go for the iPad and the iPhone. This is in preparation for tomorrow's iOS 7 launch. I've included in the comments, the chat comments here in the taskbar, links to the Knowledge Base article in FileNaker's technical network, Knowledge Base. If you want to learn more, the specific areas that this upgrade addresses is the MAC address and the NIC availability information when we're talking to iOS 7. So with that, Chad, we've got a couple of questions here for you. The first question that we've got is in the area, can you suppress a portrait to landscape shifting of the layouts? So if I'm a user, if I'm a developer and I want to prevent FileNaker Go from going to a landscape and stretching, can I do that? Well, there's nothing that requires you to stretch it, but there's really no way to. So you could design a layout that has no anchoring, in which case it's not going to resize, but it is still going to shift from landscape to portrait. There's really no way to. It's always going to be whatever's at the top on your layout, going to be at the top of your screen. And I'm not aware of any other way of attacking that. OK, another question here with regard to putting FileNaker Go at the front of the device and not allowing the user to move out of that specific application. Is that something that can be accomplished? Yeah, actually, this isn't a FileNaker Go thing, but iOS has something, I have to double check the name of it. It's like guided access, which can be used for kiosks and it's used in education environments a lot. So you can open up a particular app and then lock yourself into that app. And the only way you get out is with the admin, your PASCO. Yes, we're seeing. That should be in settings. Yeah, guided access to someone else posted here. Thank you, Christopher. Is there a best practice with regard to the relational model separation versus anchor buoy that would be optimal for iOS? The separation model with multiple files can be tricky to deal with on iOS, depending upon like, are you pulling this over a server or are you trying to actually have files stored locally on each person's desktop? I don't know if I have, if one is necessarily much worse than another or much better, but I tend to go for the single file solutions. And this solution that I have here happens to be done with anchor buoy, but I've seen lots of great solutions that don't use anchor buoy as well. Fantastic. Tyler's asking a good question here. It says, when using FileMaker on two different desktops from FileMaker server, if I make a change on one computer, the other computer immediately reflects the change, does this work the same with FileMaker Go? It does, yes. FileMaker Go will get notifications, depending upon where you are. If you're out on a 4G network, it might take a moment for you to see that. But FileMaker Go receives notifications the same way FileMaker Pro does. OK, great. Thank you, Chad. Last question here, also from Tyler. Thank you, Tyler. Can I toggle the status bar in FileMaker Go as I have in FileMaker Pro? And how do I go about doing that? You can go ahead and hide the script step to hide the tool bar. You can also do that in FileMaker Go. In the gear settings, you can, say, show the tool bar or turn it on or off, depending upon whether that's locked or not. It could be hidden and locked if the developer sets it up. If you want to hide the top tool bar that shows the gear menu and the window menu that gets allowed to go between windows or go back to the file menu, you can remove that by using FileMaker Pro Advanced and putting that file into kiosk mode as a kiosk. That will then remove that top menu bar as well. Great answer, Chad. And then I'm going to hit you with one more. Can you say a couple of words about synchronization? And then I will. I can say a lot of words about synchronization. I know. Sorry to put you on the spot. Synchronization can be pretty tricky, depending upon what you're trying to synchronize. I really recommend there's some great products. Seed Goad and Geist Interactive have their Go Zinc. 360 Words has their MirrorSync. Those are great products that really make synchronization a lot easier. Fantastic, Chad. Thank you so much. There have been a number of questions about the demo files. What I'll encourage everyone to do is go to Chad's website. You can see the URL on your screen here. It's 12ti.com. Contact Chad, and I'm sure that you guys can engage in a dialogue through there. Forgive me, dialogue box. Got FileMaker on the brain much? But at any rate, I wanted to thank everybody for participating in the call today. Thank you, Chad, for a wonderful, wonderful job there. It's very informative, very interesting, and very constructive. And please keep your eye out for future FileMaker webinars. And thanks for participating, everyone, out there. Thank you for wonderful questions as well. Bye for now.