Hi Tomasz, I cannot promise, but I'll try to find the time to implement some proof of concept for zim+phonegap. (The problem is that this is not that low effort, because all potential platforms either don't have tested zimlib support or don't have phonegap plugin support out-of-the-box.)
For the proof-of-concept I expect that I don't need support by phonegap, but mid-term it would make sense if you could connect me with them (e.g. regarding plugin support for symbian/meego)). Also please keep me updated about the state of the Wikipedia app for phonegap. (I assume there is nothing available right now?) . Best regards, Christian Am 29.08.2011 12:08, schrieb Tomasz Finc: > Agreed. I'd LOVE to see openZIM support in a Wikipedia app. We need to > make sure that our users can still access content even if their > disconnected. I personally would love to be able to download a couple > of collections in the openZim format and redistribute as needed. It > would be really cool to download them trivially on a phone and then > redistribute them to areas that may not have a faster internet > connection but have a decent wifi connection. > > Christian, Patrick and I can easily connect you with the PhoneGap team > to help you out with this plug in. It would be good to get an early > proof of concept out for the openZim and wikitech developers to play > with. What do you say? Are you up for it? > > --tomasz > > > > On Sat, Aug 27, 2011 at 7:06 PM, Patrick Reilly<[email protected]> wrote: >> That would be a really nice addition to the official application in the >> future. >> >> We should definitely continue to talk about this and try to figure out >> the optimal approach. >> >> Also, once the PhoneGap based Android application is developed it >> should be easy to fork and experiment with the various approaches >> described below. >> >> — Patrick >> >> On Sat, Aug 27, 2011 at 10:17 PM, Christian Pühringer<[email protected]> wrote: >>> Hi, >>> >>> It would be really nice if offline (=zim) support was integrated in the >>> official wikipedia app: The user could switch between online access and >>> offline reading. >>> >>> If I understand Tomasz correctly, it is planned to implement the wikipedia >>> app >>> with phonegap, >>> so having zim support for phonegap would allow integration of offline >>> support >>> into the app. >>> Therefore I think its a good idea to implement zim support for phone gap. >>> >>> Regarding the technical details there a basically to ways to implement zim >>> support in phonegap: >>> - Using phonegap API. Theoretically device independent, but questionable >>> whether actually working >>> with sufficient performance on all target platforms. >>> - As plugin: Implemented as a native component, with bindings to phonegap. >>> >>> I'd prefer the plugin approach. The additional effort of implementing the >>> zimlib >>> plugin >>> for different platforms is not that high. The zimlib (and liblzma) is >>> already >>> available for >>> C++ (STL): Symbian[1], Meego[2], >>> Android (with NDK, cleaner is to use Java), >>> iPhone (untested, may have some issues (see [5]), >>> alternative would be to port to objective-C) >>> and probably Bada >>> Java (less mature than C++ implementation) : Android, Blackberry and >>> other >>> J2ME [3] (not sure whether possible on J2ME, but this is even more true for >>> phonegap API approach) >>> Porting needs only to be done to: >>> C#: Windows Mobile >>> Other: ? >>> In addition the plugins for the platforms need to be written but this >>> shouldn't >>> be a too high effort. >>> The zimlib is already pretty stable, so the maintenance effort for the ports >>> should not be too bad. >>> >>> An additional benefit of the plugin-approach is that the ported zimlibs >>> plugins >>> can also be used for native apps. >>> (Besides having the plain zimlib, the plugin projects can be used as a >>> starting >>> point for new projects). >>> >>> For the phonegap API approach zimlib must be ported to java script. As >>> mentioned before I doubt that the javascript zimlib would work with >>> sufficient >>> performance on all (if any) . >>> devices. See for example [4] >>> >>> Best regards, >>> Christian >>> [1] Neither File (required for phonegap API approach) nor plugins officially >>> supported in phonegap. However, should be pretty easy to add. >>> (Either in official (=WRT) phonegap, or in QT port. Probably >>> better in QT port). >>> [2] Not supported by phonegap. However, should be possible to use QT >>> phonegap port. >>> [3] Not supported by phonegap. >>> [4] >>> http://community.phonegap.com/nitobi/topics/how_to_implement_lzma?from_gsfn=true >>> [5] >>> http://stackoverflow.com/questions/823116/how-do-i-use-c-stl-containers-in-my-iphone-app >>> >>> Am 27.08.2011 10:34, schrieb Manuel Schneider: >>>> Hi, >>>> >>>> is this maybe also useful for ZIM - to make ZIM readers which are >>>> working cross-platform? >>>> >>>> As far as I understood phonegap is mainly a framework to create mobile >>>> apps based on HTML 5. At least the display of ZIM contents should be >>>> simple then as we just need a HTML widget for that. >>>> But what about libraries needed to read file contents, such as zimlib? I >>>> couldn't find out if Phonegap itself supports native file access (so we >>>> could re-implement ZIM features with that) or if it allows the use of >>>> native libraries. >>>> >>>> /Manuel >>>> >>>> Am 27.08.2011 02:44, schrieb Tomasz Finc: >>>>> Thanks for the super detailed write up Brion. I've been actively >>>>> talking with the PhoneGap guys after doing some more research on this >>>>> and it seems like a really good fit to have a consistent experience >>>>> across a whole host of devices. >>>>> >>>>> What were looking at is not necessarily a lot of depth in every single >>>>> platform but a lot of horizontal range. Phonegap platform support >>>>> beats out Titanium pretty easily there. >>>>> >>>>> We'll be working a lot closer with the PhoneGap team going forward to >>>>> quickly have something in the android store to start. >>>>> >>>>> If anyone is interested in helping then we'll have plenty of >>>>> opportunities to join in. Over the next weeks we'll be adding bugs and >>>>> sending out more calls to get involved. >>>>> >>>>> --tomasz >>>>> >>>>> >>>>> >>>>> On Tue, Aug 16, 2011 at 1:50 PM, Brion Vibber<[email protected]> wrote: >>>>>> On Tue, Aug 16, 2011 at 1:14 PM, Tomasz Finc<[email protected]> >>>>>> wrote: >>>>>> >>>>>>> I've been asking around on IRC but thought it would be good to open up >>>>>>> to a larger audience. >>>>>>> >>>>>>> Has anyone here used PhoneGap (http://www.phonegap.com/) for mobile >>>>>>> app development? I'm eager to get your thoughts and potentially >>>>>>> brainstorm some new ideas. >>>>>>> >>>>>> I haven't used PhoneGap except for some brief testing, but I have used >>>>>> Titanium Appcelerator, which is another framework in that space, in >>>>>> working >>>>>> on StatusNet's iPhone& Android app. >>>>>> >>>>>> Between the two I'd recommend PhoneGap for our usage as preferable over >>>>>> Titanium, but would appreciate more feedback from people who've done >>>>>> fuller >>>>>> PhoneGap work. >>>>>> >>>>>> A few key differences: >>>>>> >>>>>> PhoneGap models around extending a full-screen web view with additional >>>>>> JavaScript-accessible APIs to use device& OS capabilities (camera, >>>>>> address >>>>>> book, notifications, etc). This gives you few/no "native widgets" for >>>>>> your >>>>>> primary screens, but can make it relatively easy to create an >>>>>> HTML/JS-based >>>>>> web application that's extended with native abilities and can be shipped >>>>>> into native app stores. >>>>>> >>>>>> Titanium was originally based on a similar model, but switched to a >>>>>> native >>>>>> widget bridging system, where your JavaScript code instantiates and >>>>>> manipulates objects which are bridged to native UI components and such. >>>>>> This >>>>>> can make your widgets look& feel more native, and can make some UI >>>>>> bits >>>>>> faster. But it also makes behavior less consistent between platforms; >>>>>> many >>>>>> widgets or features simply aren't available on all platforms, and last I >>>>>> checked there was basically *no* working support other than iOS and >>>>>> Android. >>>>>> (An early BlackBerry demo came out, was insufficient to do anything we >>>>>> needed, and never got updated that we saw.) >>>>>> >>>>>> Since the Wikipedia app is mostly a webview and ...... maybe a menu? >>>>>> PhoneGap is probably a good choice. Titanium can also embed a webview, >>>>>> but >>>>>> it's a lot more work to deal with two levels of JS! PhoneGap has much >>>>>> broader device support, but be warned -- it'll use the native webview on >>>>>> each system, so JS and HTML/CSS support will still vary across platforms. >>>>>> >>>>>> >>>>>> Debugging in PhoneGap basically devolves to being able to debug a web >>>>>> application; various tools likehttp://phonegap.github.com/weinre/ can >>>>>> help >>>>>> with this (or if you code carefully you may get away debugging your app >>>>>> in >>>>>> your favorite desktop browser directly ;) >>>>>> >>>>>> >>>>>> Titanium was always a bear to debug things in and basically came down to >>>>>> 'watch the system log output in Android, that's the only place you'll >>>>>> actually see low-level errors'; this may be better now with their IDE >>>>>> support. >>>>>> >>>>>> Titanium also pretty aggressively pushes their support& training >>>>>> services >>>>>> which I find offputting; their project build tool wants you to login to >>>>>> their 'cloud' stuff to let you hook up to their remote build& >>>>>> analytics >>>>>> services, which we didn't ever really use. >>>>>> >>>>>> Support seemed to center on getting people to take training webinars or >>>>>> pointing people at the documentation and examples when they ask how to do >>>>>> something; I didn't find them very responsive about platform bugs or >>>>>> missing >>>>>> documentation except by contacting their couple of Android developers >>>>>> one-on-one in IRC to ask for merges -- which was usually a pretty good >>>>>> experience! Getting fixes for iOS merged was very difficult; I could >>>>>> never >>>>>> get ahold of their iOS developers directly, and they didn't seem to be >>>>>> any >>>>>> more responsive to low-level bugs we filed through their customer support >>>>>> system. >>>>>> >>>>>> We had to build with a patched version of the iOS and Android runtimes >>>>>> for >>>>>> quite some time as there were serious bugs. On the plus side, >>>>>> maintaining a >>>>>> patched branch in git was very easy -- a lot of 'git pull origin master' >>>>>> and >>>>>> occasionally tidying up conflicts. Their source is all on github and is >>>>>> easy >>>>>> to fork and not too awful to build, at least for the mobile runtime. >>>>>> >>>>>> >>>>>> Note that both PhoneGap and Titanium frameworks are open source& >>>>>> hosted on >>>>>> github, though both require a CLA to submit code upstream. (I have signed >>>>>> the Titanium CLA to submit patches to them last year; haven't done for >>>>>> PhoneGap yet.) >>>>>> >>>>>> -- brion >>>>>> _______________________________________________ >>>>>> Wikitech-l mailing list >>>>>> [email protected] >>>>>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >>>>>> >>>>> _______________________________________________ >>>>> Wikitech-l mailing list >>>>> [email protected] >>>>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >>> >>> >>> _______________________________________________ >>> Wikitech-l mailing list >>> [email protected] >>> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >>> >> _______________________________________________ >> Wikitech-l mailing list >> [email protected] >> https://lists.wikimedia.org/mailman/listinfo/wikitech-l >> > _______________________________________________ > dev-l mailing list > [email protected] > https://intern.openzim.org/mailman/listinfo/dev-l _______________________________________________ Wikitech-l mailing list [email protected] https://lists.wikimedia.org/mailman/listinfo/wikitech-l
