Simbul / baker

The HTML5 ebook framework to publish interactive books & magazines on iPad & iPhone using simply open web standards
http://bakerframework.com
1.53k stars 378 forks source link

Crash on orientation change (three-card) #199

Closed rocketjoe closed 11 years ago

rocketjoe commented 12 years ago

On iPad1 baker crashes all the time on an orientation change when using three-card render mode. Just try 'real' pages with images and such... (like laker example pages).

Seems like re-rendering all three webkit cards is too much...

folletto commented 12 years ago

Uhm we developed it bot on iPad 1 and 2, that's weird. We'll check. :)

With "real pages" you mean that it doesn't crash with the demo book, right? :)

rocketjoe commented 12 years ago

Just try something like laker example pages... with huge images and such. I don't remember exactly, but I think the problem does not occure on the 'text-only'-example pages of the baker package.

mutador commented 12 years ago

i have the same problem but more without three cards...if you use baker whit a lot a .jpg in a same html and when you use div hidden for landscape or portrait....crash.....

folletto commented 12 years ago

Could you give us more details, like what's in the debug log when it crashes, or how to reproduce it?

I tried laker with three-cards on and it doesn't seem to crash here on my iPad 1, is there anything different than the demo Laker package?

rocketjoe commented 12 years ago

I will send you a demo book soon.

mutador commented 12 years ago

i have one http://itunes.apple.com/us/app/ohmygod00/id472971950?l=es&ls=1&mt=8 whit the same problem

and now all change , i try to upload an new , and apple says me baker must be a diferent folder than documents, but i am waiting for review , when i finished it i´ll put a post about this new especification.

they use folder library/cache

the problem is in the memory of the ipad, if the book is too big it will crash

folletto commented 12 years ago

Thanks @mutador, but we need the source, not a released book to be able to debug it. WebKit is a hell to debug, unfortunately, and that's basically why we are in this situation. :)

mutador commented 12 years ago

i know, i only say thanks for your work. i can send my folder book because they have a lot of images whit copyright, but you only make a book whit a lot of big images and html, video and js and see the problem

lostinjapan commented 12 years ago

I am also experiencing this issue. I will see if I can put something together to send.

folletto commented 12 years ago

Thanks. :)

ErneX commented 12 years ago

Just chiming in to say I have the same issue, I removed all JS includes but it still happens, as @mutador said this happens on pages with big images, two or three orientation changes and the app crashes.

I can't provide my book but if by next week you don't have one to try I'll try to create one with random images from the net and send it to you guys so you can debug. Thanks.

Dreeke commented 12 years ago

I get the same issue. Using three-cards, only 1 image. Change orientation a couple of times on the page with the image and the app crashes.

folletto commented 12 years ago

I'm aware this is an old discussion, but I'm revisiting all the issues and I see that this one was still open.

So, was anyone able to track down the issue?

rocketjoe commented 12 years ago

This is not only an old discussion but also an old bug and still existing bug. Just use jQuery and some on-document ready stuff, combined with larger images and baker crashes instantly on orientation change. The html page you use for testing are no real-life pages.

mutador commented 12 years ago

baker for big magazines only is right in threecards mode, in screenshot crash.... but i think this is a problemen for all the people whit html5 similar frameworks....for this a lot of people make the magazines only in one orientation....

but i agree whit you " The html page baker book use for testing are no real-life pages."....pleased use this kind of book for testing

http://itunes.apple.com/us/app/ohmygod-es-02/id499892763?l=es&ls=1&mt=8

folletto commented 12 years ago

We don't test with the book in GitHub, we aren't so naive, come on! I'm a bit offended that you think so! ;) :D

We have a set of different books, magazines and test pages, mostly sent by users. So, please, if you can send us a demo magazine that doesn't work and triggers this bug, that would be great. Unfortunately our time is limited, and as such we really need the support of our users to try solve bugs. :)

mutador commented 12 years ago

https://github.com/Simbul/baker/issues/301

i dont send nothing about this post, you can get it all the books you want...

don´nt offended....we love your work , for me is very very apreciated

folletto commented 12 years ago

I'm sorry I won't crack existing books to do tests, you understand. If you can send us a demo book fine, otherwise we'll need to spend some time ourselves to build one that triggers the problem. :)

mutador commented 12 years ago

but is my book.... if you want i send you by wetransfer

folletto commented 12 years ago

LOL yes I know. Do I need a whole book? Couldn't you just send me one page that crashes? Or all the pages crash? :)

mutador commented 12 years ago

ia a memory problem, and it´s depends no crash for a concret page...all the books i made crash when you rotate...but no allways in one page....whe you rotate , alleatory crash.....

i think is a problem of the memeroy because en three cards mode don´t crash

rocketjoe commented 12 years ago

I think I will have the time this weekend to zip a baker-orientation-change-crasher. Stay tuned.

folletto commented 12 years ago

Thank you very much. :)

rocketjoe commented 12 years ago

where can I upload — or send to — a test book which crashes the baker on orientation change!?

is about 5MB… didn't have the time to delete unnecessary files…

Jochen Mueller, Germany

folletto commented 12 years ago

Send it at the official Baker email address: info@bakerframework.com. :)

rocketjoe commented 12 years ago

Ok. This evening I will send it to you. Stay tuned.Kind regardsJochen Mueller, Germany.

    Gesendet: Sonntag, 19. Februar 2012 um 17:45 UhrVon: "Davide Casali" <reply@reply.github.com>An: rocketjoe <joe.mx@web.de>Betreff: Re: [baker] Crash on orientation change (three-card) (#199)

    Send it at the official Baker email address: info@bakerframework.com. :)

Reply to this email directly or view it on GitHub:https://github.com/Simbul/baker/issues/199#issuecomment-4043183

  SMS schreiben mit WEB.DE FreeMail - einfach, schnell und   kostenguenstig. Jetzt gleich testen! http://f.web.de/?mc=021192

rocketjoe commented 12 years ago

A few seconds ago I sent you a www.zip (from my office mail account). Kind regardsJoe (Jochen Mueller)

folletto commented 12 years ago

Got it. Thanks. :) We'll check during our next dev meeting on monday. :)

Simbul commented 12 years ago

Sorry @rocketjoe this issue has slipped past us.

Before we go back and look into the files, have you managed to solve it in the meantime? :)

rocketjoe commented 12 years ago

No. Sorry for the delayed answer. I think it is caused by memory issues or/and on-document-ready jQuery-callbacks.

DominicBoettger commented 12 years ago

Same problem here. If I have a lot of images in my content I receive a memory warning on iPad1 and the application crashes. Seems to be impossible to use baker.

folletto commented 12 years ago

What does it happen if you change the mode to screenshot and you don't turn the app? Does it crashes? :)

DominicBoettger commented 12 years ago

Same thing: Memory warning and then crash. If I uncomment my slideshow everything works fine. Can't imagine that a few jpegs can cause such an issue. In landscape mode it seem to crash more often than in potrait.

folletto commented 12 years ago

Yeah: iPad 1 doesn't have enough memory unfortunately.

DominicBoettger commented 12 years ago

Are you kidding me? If I receive a website I can display as much images as I want. Doesn't the UIWebview the same thing? We are talking about 3.4 megabyte. I think that's definitely a bug.

folletto commented 12 years ago

I'm not kidding you. Baker just loads a UIWebView and that's it, but it's not exactly the same as what you use in Mobile Safari for a series of different reasons.

However of course it can be a bug in Baker. This thread specifically is about when you switch orientation, that's why I was asking to you if you can provide more information about when it crashes, with the maximum number of details you can provide, because otherwise it's impossible for us to guess where the problem can be.

About that: if the action you are performing is an orientation change, then it's this bug. But since you told me that even without turning it crashes... please open a new one so we can track your one separately. :)

DominicBoettger commented 12 years ago

Most times it is crashing after i rotate the device. Seems that it's not possible to load more then 4 or 5 images at the same time. My workaround was a slideshow with display none, but after adding a vimeo video the same happened. Is there somebody who implemented already something like that? A page with more images and videos .....

folletto commented 12 years ago

So let's see if I understood this well: the page with many images or a video loads and work correctly, but when you rotate it, it crashes. Is it correct?

DominicBoettger commented 12 years ago

Okay, i think i found the problem. It's called webkit-transition...... I used the slideshow plugin of laker framework which adds webkit-transition and transform css.

imgscroll-imgs {

display: inline; float: left;
width: 100%;
margin: 0px; padding: 0px;
-webkit-transition-property: -webkit-transform;
-webkit-transition-duration: 0.5s;
-webkit-transition-timing-function: ease-out;
/_apply a transfor to kick in the hardware acceleration.  Without this, the first time we add the transform you get odd rendering of the divs (half missing) */
-webkit-transform: translate3d(0px,0px,0px);

}

imgscroll-img {

display: inline; float: left;
width: 100%; height: auto;
/_apply a transfor to kick in the hardware acceleration.  Without this, the first time we add the transform you get odd rendering of the divs (half missing) */
-webkit-transform: translate3d(0px,0px,0px);

}

I think there is no more hardware acceleration under IOS5 or the performance is worse than under iOS 4.X. Don't know why, but after removing the transition stuff it seems to work. Tomorrow i will try to rewrite the slideshow without the transition.

Thanks for your help!