http://rzr.online.fr/q/webdav# TRANSIG : testimonial on experience developing #Tizen app , synch'ing notes on #WebDav with #JavaScript (wip)
====== TRANSIG : A testimonial on experience developing a Tizen app ======
Transig is a tool to manage user's files (text, images, music etc)
from a mobile phone and usea personnal cloud backend to store them...
Here are a few comments, I plan to reformat this into a tutorial.
More details up to come (sources, video, demos) on those URL :
* URL: http://rzr.online.fr/q/webdav
* https://wiki.tizen.org/wiki/User:Rzr
* More : http://rzr.online.fr/q/tizen
* SourceS : ContacT me ...
Video : http://dl.dropbox.com/u/93263865/file/transig.webm
===== INTRODUCTION =====
When tizen came up,
I was quiet amazed on this new Linux Platform, coming from MeeGo,
I expected to port some of my projects (Qt/Qml) to compare ...
But unfortunately TiZen is so far restricted to HTML5/JavaScript API.
So I had to think about a new product, I wanted to dig into multimedia API
but I felt I had a wait a bit to get them more mature...
Finally, I thought about creating a WebDav client to be manage my files...
{{http://a.images.blip.tv/Rzrfreefr-transig20120808rzr743-764.jpg}}
===== DEVELOPMENT PROCESS =====
First I created an HtmL file and started to code
with in my favorite EditoR (EmacS)
I had some JavaScript KnowLedge since NetScape years,
so It was quite easy to get familiar with JQuery,
JS ApI : local storage XmlHttpRequest...
After synch'ing files on my private server,
and tested it on TiZen's lb default WebBrowser,
It went working...
===== PACKAGING =====
The final goal was to have a local app that can connect to any WebDav server
so I did use the SDK to migrate my "webpage" into a tizen app...
This was pretty easy, just generate a default project
and merge previously written code...
After upgraded SDK, updated time of target, deployment succeed. we're done
Here a few resources :
* https://viewer.zoho.com/docs/urlview.do?url=http://download.tizen.org/misc/media/conference2012/wednesday/ballroom-a/2012-05-09_1415-1455-converting_your_web_app_to_tizen.pdf# QnX AjaX
* http://www.youtube.com/watch?v=oO4VMgrAp4I
===== FUTURE =====
So far only the basic features are implemented, I guess I should spend more time on it
before releasing a beta version of the product...
Anyway the project is opensource and welcome any review patches at the URL at the top
ToDo :
* support tizmee : http://talk.maemo.org/showthread.php?p=1286259#post1286259
* open editor on retrieved contents
* resolv conflicts
* local cache
* upload large files
====== FEEDBACK ======
===== RECOMMENDATIONS AND/OR PRODUCT IMPROVEMENTS FOR FUTURE RELEASES OF TIZEN AND/OR PRODUCT IMPROVEMENTS =====
* supporting Native Development would be appreciated , [[Qt]] / QmL
* backward compatibility with MeeGo would be awesome
* inclusive platform would be perfect
===== A SOLUTION TO A SPECIFIC CHALLENGE IN TIZEN DEVELOPMENT =====
Using XmlHttpRequest in Tizen WebApps (from local file) puzzled me ...
I was facing a major issue , it can be easily resolved by adding a single line to project's config.xml
else you will face this kind of error message :
Origin null is not allowed by Access-Control-Allow-Origin.
Your webserver must also allow CORS too :
Header set Access-Control-Allow-Origin "*"
Simple as that I was thinking about running a local webserver would unblock this null's Origin restriction...
More : http://rzr.online.fr/q/html5
===== ADVICE OR A DEMO ON HOW TO WRITE AN APP FOR TIZEN =====
Try to stick to standards as much as you can, since the devices are not in mass market.
Depending on a risky feature can be a problem
(for a second I feared about XmlHttpRequest on local files but it's supported)
===== PORTING AN EXISTING APP TO TIZEN =====
As said previously , create your project out of tizen and test it on your regular browser will save you deployment to target,
once mature, you can integrate it into a tizen generated project.. and keep testing this on your desktop browser...
===== USING THE TIZEN SDK =====
I was lazy to discover all EclipsE's features, and preferred my regular tools (EmacS, ChromiuM etc),
but I figured out how to use basic features to deploy project on device
Get the SDK working in a DebIan [[amd64]] through a ChRoot into bohdi linux [[i386]] RootFs
More at : http://rzr.online.fr/q/debootstrap
Problem :
invalid certificate
certificate is not valid.
Please check your target date. (Return Code: 260)
Solution : rm local files
More: https://bugs.tizen.org/jira/browse/TSDK-57?focusedCommentId=11563#comment-11563
===== MISC =====
* http://stackoverflow.com/questions/8792722/webdav-javascript-library
* http://debris.demon.nl/javascript/
* http://tools.ietf.org/html/rfc6578
* http://tools.ietf.org/html/rfc4918
===== MORE =====
@TaG: ClouD TiZen [[html5]]