1 2 Previous Next 21 Replies Latest reply on Jul 29, 2010 9:17 PM by DickApplebaum

    Switching apps makes FMGo nearly useless, please help

    wplate

      Title

      Switching apps makes FMGo nearly useless, please help

      Post

      I am thrilled by the idea of accessing my database directly from my phone, however I find that when I switch from FMGo to another app then back to FMGo (iPhone 4, btw) FMGo needs to reconnect to the FileMaker Server, which because it takes nearly a minute brings everything to a halt.

      Please let FMGo maintain its connection to the database even when it is put in the background.

      SomeFilesWereStillOpen.jpg

        • 1. Re: Switching apps makes FMGo nearly useless, please help
          ChristianBoyce

          It doesn't take so long for me, but I have a related problem. If I open a FileMaker file on my Mac, and share it, and then connect to it via FileMaker Go, and then switch away to some other iPhone app, FileMaker on my Mac allows me to close the file (or Quit FileMaker) without a warning that other users (me, on my iPhone with FileMaker Go) are connected to the file. Then, when I switch back to FileMaker Go, I get the dialog shown in the original post here, and if I say "Yes" of course the file is no longer available. Not good. 

          If FileMaker Go is the active (current, frontmost) app then I do get the "Waiting for 1 guests to close..." message. But if I hit the Home button on the iPhone (or go to some other app) I don't get the warning message. And that creates a mess when I try to go back to the database using my iPhone.

          I think we need to get a warning when trying to close a FileMaker file that a FileMaker Go client is using, whether the FileMaker Go app is in front or not.

          There's a larger question here, which is "what's the risk of data corruption-- or of lousing up the entire database-- when accidentally closing a file while a FileMaker Go client is connected?"

          • 2. Re: Switching apps makes FMGo nearly useless, please help
            harlowtech

            If you look at the iOS developer kit, only certain types of background functions are allowed by Apple and from what it looks like FileMaker Go does not fall into the types Apple allows. In addition background tasks are only allowed on iOS 4 which is not out on the iPad yet. So don't expect this any time soon.

            Daniel

            • 3. Re: Switching apps makes FMGo nearly useless, please help
              wplate

              Thank you Daniel, this really makes FMGo useless for me.  How do I go about getting a refund?

              • 4. Re: Switching apps makes FMGo nearly useless, please help
                harlowtech

                Not being able to run Applications in the background is a well known limitation of the iOS 3.x platform.

                If you would like to request a refund you have to do it via your iTunes account, go to your Purchase History and press the Report a Problem button. In the window that opens to report your problem, describe your reason for requesting a refund. Be very detailed as to why you are requesting a refund and what exactly it is for. An iTunes customer service will typically respond within 48 hours letting you know if your request has been granted.

                Daniel

                • 5. Re: Switching apps makes FMGo nearly useless, please help
                  Todd Geist

                  wplate

                  Yes this is something that you have to learn how to handle.

                  No, it is not the end of the world.

                  This is really not such a big deal.  The FileMaker Go tech brief discusses several ways in which you can address these issues. 

                  Todd

                  • 6. Re: Switching apps makes FMGo nearly useless, please help
                    ChristianBoyce

                    Looks to me as if I'll have to be a lot more careful and start thinking more about transactions in FileMaker. On a Mac, a user can switch out of FileMaker (to check email, for example) and then switch back and everything is just fine, just as he left it. On an iPhone it won't work that way. I wish it worked the same on the iPhone as on the Mac, but it's pretty plain that it doesn't. As you say, Todd, not the end of the world. Knowing how it works and also how it doesn't work is Step One.

                    • 7. Re: Switching apps makes FMGo nearly useless, please help
                      tombenson

                      Thanks for bringing this up, it's important to my project...

                      Todd, you mentioned a "Filemaker Go tech brief that discusses several ways you can addressed these idues".  I lwould like very much to read that.  Looked and could only find the Developer's guide and a few whtie papers none of which seemed right.

                      Do you have a link to that document?

                      By the way, I did read your several posts on your blog covering this topic.  Very useful info!

                      Thanks in advance...

                       

                      Tom

                       

                       

                      • 8. Re: Switching apps makes FMGo nearly useless, please help
                        harlowtech

                        The Tech Brief is available to TechNet members, if your not a member you might be able to find it on Google.

                        Daniel

                        • 9. Re: Switching apps makes FMGo nearly useless, please help
                          DickApplebaum

                          @Daniel

                          According to the iOS 4 developer docs you can request a finite amount of time for task completion...

                          and this:

                          • The time limit for task completion changed from 5 minutes to 10 minutes.

                          You can Google "ios 4 task completion" and find things like this:

                          Selected Google result from "ios 4 task completion"

                          Task Completion: iOS 4 will now allow applications to take up to 10 minutes to complete tasks in the background after you exit the app. This will be particularly useful for applications that upload or sync information with online services. For example, an application could finish uploading photos to a service like Flickr in the background after the user exits the app, saving the user the trouble of having to leave the app open and wait for the upload to complete.

                          It would appear that the answer you gave (below*) is incorrect for the iPhone-- and, in the Fall for the, iPad  (when iOS4 will be available for the iPad).

                          I suspect that FM can easily implement a satisfactory task completion scenario to execute in the 10 minutes available for task completion-- if nothing else, you could abort the activity in process, save state, and upon resumption notify the user of the state of the db and the fact that the last action was aborted.  

                          Note: that the example of completing a [background] file upload involves: 1) maintaining connection with a remote host; 2) exchanging data with the remote host-- quite similar to what FileMaker and FileMaker Go would need to do.

                          I don't mean to be critical, but I don't believe your answer sufficiently addresses the question.

                          Finally, Apple and FileMaker have an amazing opportunity with the iPhone and especially the iPad to deliver solutions to small business and enterprise-- solutions that no competitors can match!  This will not be true, forever.  It is in the best interest of Apple and FileMaker to work together to exploit this "first to market" advantage!  


                          There is a member of Apple's board, Bill Campbell, who has a long history with Apple and Filemaker.  Bill is a no-nonsense individual, who is willing to listen, quickly grasps the situation, decides what needs to be done-- and makes it happen.

                          I am looking forward to a FileMaker Pro / FileMaker Go solution that will allows us, all, to exploit the opportunity before us!

                          Dick Applebaum

                          * Your Answer from an earlier post

                          "If you look at the iOS developer kit, only certain types of background functions are allowed by Apple and from what it looks like FileMaker Go does not fall into the types Apple. In addition background tasks are only allowed on iOS 4 which is not out on the iPad yet. So don't expect this any time soon.

                          Daniel

                          • 10. Re: Switching apps makes FMGo nearly useless, please help
                            harlowtech

                            Actually it is not incorrect as I mentioned "only certain types of background functions are allowed by Apple", maintaining a live database connection like what FileMaker requires is not currently a supported background task. Finite tasks are supported like you point out and maybe FileMaker could maintain a connection for a short time as you suggest. However a finite task would not solve what the original poster was having a problem with as eventually it would have to end, and btw your suggestion of "upon resumption notify the user of the state of the db" is how FM Go works currently. Upon relaunch it notifies you that there were items open when you last quit and asking you if you would like to continue. The image of this is posted in the thread.

                            Just for reference a list of supported iOS tasks can be found at http://developer.apple.com/technologies/iphone/whats-new.html, ideally in the future Apple would add a supported task like the voip or location tasks that would allow FileMaker to maintain an active connection and run in the background but looking at their release cycles I doubt this would be anytime soon (like in the next 6 months or so). You also might want to read up on the intricacies of background support at http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html as things are not as simple as you suggest.

                            I agree with you that FM Go is a very powerful solution for Apple and FileMaker and offers some great opportunities. However in terms of Bill Campbell I don't see how he is relevant to this discussion, Apple Board Members have little say in the day to day operations of the company especially when deciding OS architectural issues. He also is the same person who as CEO and now Chairman of the Board at Intuit could not get them to turn out a decent version of Quickbooks or Quicken for the Mac for years and so I don't think he is just going to make anything happen for FileMaker.

                            However with all that said the best thing FileMaker could do is change how FM Go handles reconnecting to databases after returning to it, as ideally it would just try to reconnect to the database you were last using, and then if that failed present you with a dialog, rather then the current method which is to present you with a dialog asking if you want to continue where you left off in these files. Better yet this would be a preference that a user could set. This change would certainly solve a portion of the original posters problem and not even require any changes to the iOS, only FM Go. However without either true multitasking support or some other type of background support to maintain a database connection their problem would not be fully solved by this change.

                            Daniel

                            • 11. Re: Switching apps makes FMGo nearly useless, please help
                              JeremyWhitted

                              I've found this behavior a bit odd, too. But my file is local on my iPhone, so I don't see how keeping that DB open while in another app should be difficult. But maybe FM Go doesn't differentiate between a local app and a remote connection? Or maybe it's iOS4 that doesn't?

                              • 12. Re: Switching apps makes FMGo nearly useless, please help
                                DickApplebaum

                                @Daniel said:

                                Actually it is not incorrect as I mentioned "only certain types of background functions are allowed by Apple", maintaining a live database connection like what FileMaker requires is not currently a supported background task. 

                                Why do you need to maintain "a live database connection" for FM Go when it is in the background?  

                                The iPhone and iPad are mobile devices, with a one-at-a-time, in-your-face, application design/presentation.  Basically, you get in, do what you want, then get out.

                                I don't think that a FMG user expects continuous background updates.

                                When you reenter foreground FMG could :

                                -- reestablish the connection to the host

                                -- refresh the current display (if necessary*) an indication could be displayed (not a modal dialog) indicating that the display had been refreshed (color bar at top, etc)

                                -- warn the user (with a modal dialog) only if the connection could not be reestablished

                                * FMP could be extended to keep track of the dbs in use by each connected user and mark the current display for that user as "dirty (timestamp)" if it is not able to update it.  Then, when/if a disconnected FMG user reconnects, it sends a request to FMP which determines whether the FMG client needs refresh or not.

                                Doing this, would give the FMG user the feel/appearance of a persistent connection (the latest data is there, whenever he [re]opens the app):

                                -- without the overhead of maintaing the connection while in the background.

                                -- without the annoyance of responding to unnecessary dialogs

                                Consider the way FMP handles instant web publishing: The only connection to FMP is when the browser client requests a "layout" from the FMP server.  Once displayed by the browser the connection is closed.  Other users can modify the FMP databases, but the browser client continues to display the data as it existed as of his last request (seconds, minutes, hours earlier).  To get the latest data, the browser user refreshes the page.

                                The FMG solution outlined above would be better than the current FMP Instant Web Publishing solution for the user-- FMG users would get automatic reconnect and refresh, IWP users get nothing (manual reconnect and refresh).

                                Certainly, FileMaker could (and likely, should) implement a JavaScript routine for the IWP client that periodically reconnects and refreshes as necessary-- similar to the above FMG solution.

                                Finite tasks are supported like you point out and maybe FileMaker could maintain a connection for a short time as you suggest. However a finite task would not solve what the original poster was having a problem with as eventually it would have to end, and btw your suggestion of "upon resumption notify the user of the state of the db" is how FM Go works currently. Upon relaunch it notifies you that there were items open when you last quit and asking you if you would like to continue. The image of this is posted in the thread.

                                To avoid this warning dialog a user would need to close the database (connection) after each FMG request (in case he may get a phone call,  message, etc.)

                                See above for a "better" way.

                                Just for reference a list of supported iOS tasks can be found at http://developer.apple.com/technologies/iphone/whats-new.html, ideally in the future Apple would add a supported task like the voip or location tasks that would allow FileMaker to maintain an active connection and run in the background but looking at their release cycles I doubt this would be anytime soon (like in the next 6 months or so). 

                                As an iPhone developer I am quite familiar with the above reference.  But, as I discussed above, It is unnecessary for FMG to maintain an active connection while in the background,

                                You also might want to read up on the intricacies of background support at http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html as things are not as simple as you suggest.

                                Actually, they are!  Any competent programmer (web or mobile) designs his app so it saves state (if necessary) at the end of each user interaction. Thus, the only exposure, is:  if the app crashes, you may lose any change that was in process, e.g. modifying a text field; updating a field in a db.

                                Prior to multitasking, iOS gave callbacks to the app to facilitate saving state-- things like: pickerView didSelectRow; textFieldDidEndEditing; tableView didSelectRowAtIndexPath; viewWillDisappear; etc.

                                With multitasking, iOS 4 gives additional callbacks at the application level that make saving state easier and more efficient.

                                So, If you were doing a good job of saving state before iOS 4, you need do little or nothing to support multitasking... though you may want to take advantage of the new iOS 4 callbacks.

                                Again, the good developer will want his apps to run reliably on as many devices as possible-- those with multitasking, and those without. It makes sense to take advantage of iOS features (when supported on the device), but you need to write your apps to save state (in our case) when these features are not available on an earlier device.

                                I agree with you that FM Go is a very powerful solution for Apple and FileMaker and offers some great opportunities. However in terms of Bill Campbell I don't see how he is relevant to this discussion, Apple Board Members have little say in the day to day operations of the company especially when deciding OS architectural issues. He also is the same person who as CEO and now Chairman of the Board at Intuit could not get them to turn out a decent version of Quickbooks or Quicken for the Mac for years and so I don't think he is just going to make anything happen for FileMaker.

                                However with all that said the best thing FileMaker could do is change how FM Go handles reconnecting to databases after returning to it, as ideally it would just try to reconnect to the database you were last using, and then if that failed present you with a dialog, rather then the current method which is to present you with a dialog asking if you want to continue where you left off in these files. Better yet this would be a preference that a user could set. This change would certainly solve a portion of the original posters problem and not even require any changes to the iOS, only FM Go. However without either true multitasking support or some other type of background support to maintain a database connection their problem would not be fully solved by this change.

                                Daniel

                                Yeah, but it would close enough!

                                Dick

                                • 13. Re: Switching apps makes FMGo nearly useless, please help
                                  wplate

                                  I think some kind of 10 minute limit would suit me just fine, the problem I have is when within the span of just a couple of minutes I'm trying to reply to a customer support request and I switch from web browser to database and and back and forth to search for customer data.

                                  I am glad this discussion is so useful to other users.

                                  • 14. Re: Switching apps makes FMGo nearly useless, please help
                                    DickApplebaum

                                    @wplate

                                    It is a useful discussion -- and a fairly classical one at that?

                                    Just out of curiosity, in your app, is there anything you need to reserve-- like entering an order an taking (reserving) the last quantity of an inventory item?

                                    The way FMG works now, that reservation takes place immediately, when you tap out of the field you are updating (while still in foreground).

                                    Or are you sharing a specific record (say Customer ABCD) where several users are updating the same record concurrently.

                                    AFICT, FM locks the record when any user starts to update a field-- and only unlocks the record when that update is committed.

                                    Or do you need to do long procedures, where, say you are preparing a report (or summation) fo hundreds of records.

                                    All of the above could be better served (pun) by a continuous connection to the db.

                                    But, they can all be dealt with, too, without continuous connection-- more complex programming, more sophisticated db design, standardized way of doing things- procedures (don't take a coffee break in the middle of a transaction)), probability, etc.

                                    But, I suspect that most of the things that people will use FMG for on an iPhone, and to a lesser extent on an iPad-- will not need, nor benefit from continuous background connections.

                                    1 2 Previous Next