Mobile Safari - Not compatible with the Internet.

Discussion in 'iOS 6' started by Giuly, Apr 13, 2013.

  1. Giuly, Apr 13, 2013
    Last edited: Apr 13, 2013

    Giuly macrumors 68040


    I hate to say this, but Mobile Safari is the worst experience I've had with Apple products. This is what bothers me:
    You're on a forum. You write a post for like 15 minutes. You need to look something up, so you open a new tab, browse around and finally found what you're looking for.
    You go back to the tab with your post, but instead coming back to the draft of your post, Mobile Safari decided to delete the content of the window, the content area is white and the site reloads, resulting in an empty editor and your draft is gone.

    This shouldn't happen under any circumstances, ever, especially if you're making auto-save a feature on every other app. It's frustrating and obnoxious. It happened to me so often that I obviously care to complain about it.
    It seems to happen when you open sites that completely fill the RAM, and the exact same thing also happened on 10.7.0 onwards on the Mac.

    The worst part is that Apple doesn't even allow other browser engines on the App Store, in which case it would be beneficial to have one that actually works.

    Am I the only one who is experiencing this?
  2. mrapplegate macrumors 68030

    Feb 26, 2011
    Cincinnati, OH
    I'm not sure and my phone is not near but a word of advice. I've learned to select all and copy just in case :) Especially if I have spent 15 minutes writing something.
  3. Giuly, Apr 13, 2013
    Last edited: Apr 13, 2013

    Giuly thread starter macrumors 68040


    ...but then you accidentally forget to do that, and that's exactly when your tabs gets reloaded. You can also just type in Notes and then copy the post into the window, but that's equally inconvenient.

    JavaScript has a 'keypress' event. Intercepting that and storing the form values in a CoreData store upon updates should be a job that's within the order of magnitude of minutes to complete for an Apple engineer. Then you can happily reload tabs as often as you wish and repopulate the data afterwards. Big deal?
  4. Tallguy93 macrumors member

    Dec 14, 2012
    Apple does allow other browser engines in the app store. Download google chrome or firefox and surf to your hearts content.
  5. BlaqkAudio macrumors 6502

    Jun 24, 2008
    New York
    Those are not alternative browser engines. They're just different UI for the Webkit engine built into iOS—minus the Nitro JavaScript engine.
  6. Tallguy93 macrumors member

    Dec 14, 2012
    I see
  7. Silvereel macrumors 6502

    Jan 19, 2010
    I don't know if it does any good, but you can always offer that as a suggestion to Apple here:

    If it's as simple as you say, I don't know why they haven't implemented it. Regardless, as another user said, I've gotten into the habit of copying and pasting any text I type before I try to leave the tab or browser.
  8. Giuly thread starter macrumors 68040


    Or I could just send that to my own Junk folder, which saves some Indian kid the trouble of pressing a button to send a response that reads something like
    For some strange reason, I seem to be the only one who pushes the iPad to its limits by simply using Mobile Safari.
  9. cynics macrumors G4

    Jan 8, 2012
    Which iPhone? Sounds like you are getting low on ram and the browser reloads the page. Not all that uncommon for any mobile platform or browser.

    I used my buddies iPhone 5 the other day for a few hours and I was impressed with how much stuff it could keep in a suspended state compared to my iPhone 4S. Apps is where it was most noticeable. Several times a day I'll watch tapatalk reload when I reopen it, he says he's never seen that happen.

    Regardless that's why you can flip between tabs without problem but once you start doing a lot of stuff away from your initial tab you lose it. What I do, like mentioned above is select all and copy. I also keep flipping back to the tab I don't want to reload in attempts to keep it fresh in however the OS utilizes RAM.
  10. Phil A. Moderator

    Phil A.

    Staff Member

    Apr 2, 2006
    Shropshire, UK
    I have to agree with the OP - it is incredibly frustrating when this happens and does seem a bit of an anachronism with everything else saving state so well
  11. charlituna macrumors G3


    Jun 11, 2008
    Los Angeles, CA
    I'm not sure that's Mobile Safari. It might be the site. Cause if it was MS it should happen on all sites. And yet I did just what you describe and it was fine and dandy. It was only when I closed Safari AND force quit it that my changes were not present at reopening


    But wouldn't that require the site to have such coding in order for the data to be passed to Safari to be stored.

    So if the site was lacking it there's nothing Safari can so about?
  12. kas23 macrumors 603


    Oct 28, 2007
    This used to happen to me a bunch. But like a lot of things with the iPhone, I realized I was doing it wrong and altered my behavior to suit the needs of Apple. I now select all and copy whenever leaving a page.
  13. Giuly, Apr 15, 2013
    Last edited: Apr 15, 2013

    Giuly thread starter macrumors 68040


    On the iPhone, even stranger things happen. Under the same premises (no free RAM), when you tab a text field, the keyboard pops up and immediately down again, preventing you from writing at all.
    Tis stated to happen with iOS4 on the iPhone 3G, and still happens with iOS6 on the iPhone 4. I'm barely using my iPhone 5, so I can't comment on that. After all, it has more RAM.

    On a Mac you get a popover that states "Safari needs to reload all tabs" - again, exactly the same underlying cause.

    Deliberately replicating this gives you a hard time, this happens when the device is used, with Apps open in the background that allocate memory, and some tabs open in Mobile Safari as well.
    In case of this still happening on iOS7, I'll go all scientific on it and give you something replicable that works every time, as this requires wiping my iPad and I care not to.

    Well, if you get a little more concrete, this is what happens:
    You press a key on your keyboard. The notification that a specific keypress occured gets passed along until it reaches Safari's main loop.
    Safari then figures out which of its windows is active (at least on a Mac), and which tab is open. If now for example a text field has focus (blinking cursor), Safari appends the character that represents the key you were pressing to the text field, as long as it's printable.

    Safari has to store the values of the text fields somewhere, and this is where the problem in regards of disappearing data is. The obvious is storing it as the value of an NSTextField. This value is stored in-memory.
    Then you have the DOM tree, the definition of the objects you see and interact with, which is also the stuff JavaScript interacts with. It has the value of the text field as well, and gets updated when you press a key, too. It's also in-memory.

    However as it stands, both are volatile and get wiped when the tab reloads. The NSTextField gets released along with the value, and there shouldn't be a DOM tree anymore either, as you could just reconstruct the page from it without reloading the complete tab, but just images and the like, plus it would've retained the form data along with it.

    Now, what I've proposed is a third location to store the form values, but this time persistently over tab reloads. One way would be to serialize the entire WebView and persistently store that on-disk, but that takes up more space, and it takes more CPU cycles to pack and unpack as well, giving you little advantage over just reloading the page over a fast broadband connection.
    So storing the form values in a temporary CoreData store on-disk it is, which lets you restore the values in a reasonably performing way, even though everything else from the tab has vanished in the wind.

    As you have to populate the database, the idea was to hook into the mechanism which regards JavaScript's 'keypressed' event, although on second thought this would concern the mechanism behind 'onChange'.

    I hope that this makes sense, and even though the actual implementation might be more complicated with lots more ins and lots more outs than this, it would be feasible - and as everyone who ever ran into this will tell you, it would be highly beneficial to the (Mobile) Safari user experience.
  14. Silvereel macrumors 6502

    Jan 19, 2010
    No need to worry about the poor Indian kid - they already have a generic message to take care of that as soon as you click submit ;)
  15. Menel macrumors 603


    Aug 4, 2011
    You should be in Tapatalk.

    Problem solved. I've abandoned forums that don't use it.
  16. Bahroo macrumors 68000

    Jul 21, 2012
    Most likely is due to you using older hardware unfortunetly, that refresh NEVER happens on my i5...try closing other apps out while you open a new tab to try and prevent that? Its due to low ram

Share This Page