UbuntuOneForAndroid
6390
Comment: I have moved the page to proper category.
|
9721
|
Deletions are marked like this. | Additions are marked like this. |
Line 1: | Line 1: |
## page was renamed from specs/U1-for-Android | |
Line 3: | Line 4: |
= U1 app for Android = | = Ubuntu One for Android = |
Line 7: | Line 8: |
* '''Contributors''': Michał Karnicki, (TODO Can I add mentor here?) | * '''Contributors''': Michał Karnicki |
Line 12: | Line 13: |
Notation: Apd stands for Android powered device<<BR>> Contact: https://wiki.ubuntu.com/GSoC/2010/MichalKarnicki/ |
Notation: Apd stands for Android powered device (phone or other mobile Internet-enabled device)<<BR>> Contact / GSoC project page: https://wiki.ubuntu.com/GSoC/2010/MichalKarnicki/ |
Line 16: | Line 17: |
## This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. See also CategorySpec for examples. | |
Line 17: | Line 19: |
## This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. See also CategorySpec for examples. | This documentation specifies features, that would appear in Ubuntu One for Android application. It justifies needs for specific features and their inner workings. |
Line 46: | Line 48: |
TODO: Write on ease of use and clear interface. | |
Line 48: | Line 49: |
The application should be user friendly, have clear interface and be easy to use. | |
Line 50: | Line 52: |
The project will be developed in Java language, as it is the choice of Android platform.<<BR>> TODO Elaborate on that more. |
The project will be developed in Java language, the choice of Android platform. Have to investigate further what about Python GUI on Android platform. CouchDB has an existing minimal Android library, see section below.<<BR>> TODO Elaborate more. ==== Usefull links ==== * Ubuntu One technical details * https://wiki.ubuntu.com/UbuntuOne/TechnicalDetails * CouchDB docs * http://couchdb.apache.org/docs/index.html * http://wiki.apache.org/couchdb/ * http://www.freedesktop.org/wiki/Specifications/desktopcouch * CoutchDB for Android * http://github.com/sig/DroidCouch (minimal) * http://code.google.com/p/jcouchdb/ * Protocol Buffers * http://code.google.com/apis/protocolbuffers/docs/overview.html * Ubuntu One storage protocol * https://launchpad.net/ubuntuone-storage-protocol/+index * Twisted docs * http://twistedmatrix.com/trac/wiki/Documentation * Android Scripting Environment * http://code.google.com/p/android-scripting/ * http://google-opensource.blogspot.com/2009/06/introducing-android-scripting.html * http://www.damonkohler.com/2008/12/python-on-android.html |
Line 83: | Line 106: |
List of features that are possible (not necessarily feasible during summer period) for the project to implement: | List of features that are possible (not necessarily feasible during summer period) for the project to implement. This section is more about quantity (I'm collecting as many ideas as possible, and we'll pick the best/feasible ones soon) |
Line 87: | Line 110: |
* sync on demand - TODO (manual/forced sync in some cases might be useful) | * sync on demand - TODO (manual/forced sync in some cases might be useful)<<BR>> How sync works is dependent on the settings - may be syncing only on wifi and/or data link, perhaps we could let the user adjust the frequency of synchronization (lower for less power consumption). |
Line 93: | Line 117: |
* Streaming data - would it be possible to watch a movie from U1 without downloading the file? (This is actually a silly idea, but I wrote it down anyway) | |
Line 95: | Line 120: |
* Access to browser (Firefox, Chrome?) "keyrings" (see: https://wiki.ubuntu.com/Specs/LucidUbuntuOneKeyringSync ) - neat idea, but auto-fill on mobile browser would be rather difficult. Nevertheless, if access to those keyrings would be possible, user could copy-paste the password to the browser from Ubuntu One app - passwords subsection. Actually, when I wrote about that passwords subsection, another nice idea came to my mind (not necessarily feasible during summer /GSoc). We could design a plugin system to Ubuntu One (based on Android ''intent''), similarly to what ''Locale'' application has. Then, any application that supports couchdb could plug in to ''Ubuntu One for Android'' to pull/update couchdb data in easy, uniform way (to say more concisely: open ''Ubuntu One for Android'' and: * you have access to Tomboy notes if you have Tomboy plugin * you have access to passwords if you have Keyring plugin * you have access to any other couchdb per-application specific data, if you have specific-plugin! :) https://launchpad.net/tomdroid - progress is little, we could integrate that functionality as a plugin |
|
Line 101: | Line 134: |
If you have any questions about the project, leave them here or contact me directly (https://wiki.ubuntu.com/GSoC/2010/MichalKarnicki) | |
Line 102: | Line 136: |
If you have any questions about the project, leave them here or contact me directly (https://wiki.ubuntu.com/GSoC/2010/MichalKarnicki) | * Michał Karnicki: Can I use Ubuntu One name openly? This project will be Open Source, I hope 'Ubuntu One' is not a trademark - if it is, who can provide formal agreement for such course. ------- === Other/TODOs === * How to add this page to https://wiki.ubuntu.com/CategorySpec ? * Can I add my mentor to Contributors in the first section? === Other notes === http://code.google.com/p/apps-for-android/ |
Ubuntu One for Android
Launchpad Entry: TODO
Created: 2010-03-27
Contributors: Michał Karnicki
Packages affected: none
Comment
This Spec is being heavily edited, consecutive sections will be revealed when finished
Notation: Apd stands for Android powered device (phone or other mobile Internet-enabled device)
Contact / GSoC project page: https://wiki.ubuntu.com/GSoC/2010/MichalKarnicki/
Summary
This documentation specifies features, that would appear in Ubuntu One for Android application. It justifies needs for specific features and their inner workings.
Rationale
Computer users like flexibility. There are more ways to get to your files in the cloud than through PC/laptop/netbook. Smartphones are becoming increasingly popular. The missing link here for Ubuntu One project is a client app for Android (amongst other platforms like iPhone & Blackberry). Daily use of mobile phones/devices justifies the need for such application. We can see recent proposals supporting this idea:
[1] brainstorm Idea #19912 1
[2] Bug #4681142
[3] ubuntuforums thread3
[4] yet another thead - poll4
Use cases
Viki makes a picture using her Apd, goes to Menu, taps Share, and selects 'Ubuntu One'. She then can e-mail or tweet (or use otherwise) a public link to that file easily.
Tom wants to collaborate on a document of his friend Mark, but Marks computer isn't connected to the Internet. Tom plugs a usb cable, downloads the file, uses any file browser to Share with 'Ubuntu One' - and has his file available on his PC anytime he's back home to start working on it. (He could also use the generic U1 folder, if he has sync enabled.)
Kim made some notes on her laptop last night, but forgot to take it with her the next day. No worries, the file was in her Ubuntu One folder, so she can access it any time with her Apd.
Ben has almost full SD memory card in his phone - so he manually selects a few files for download whenever he's in range of wifi network (he may choose to use his Mobile Network, as his current plan is a good deal, anyway!)
Assumptions
Application developed in tight communication with Ubuntu One team to ensure flawless functionality and back-end support of proposed features.
Design
The application should be user friendly, have clear interface and be easy to use.
Implementation
The project will be developed in Java language, the choice of Android platform. Have to investigate further what about Python GUI on Android platform. CouchDB has an existing minimal Android library, see section below.
TODO Elaborate more.
Usefull links
- Ubuntu One technical details
- CouchDB docs
- CoutchDB for Android
- Protocol Buffers
- Ubuntu One storage protocol
- Twisted docs
- Android Scripting Environment
BoF agenda and discussion
List of features that are possible (not necessarily feasible during summer period) for the project to implement. This section is more about quantity (I'm collecting as many ideas as possible, and we'll pick the best/feasible ones soon)
- File sync
- full sync - for spacious SD cards and cheap data plan
- semi sync - syncs only selected (favourite) files
sync on demand - TODO (manual/forced sync in some cases might be useful)
How sync works is dependent on the settings - may be syncing only on wifi and/or data link, perhaps we could let the user adjust the frequency of synchronization (lower for less power consumption).
- Easy sharing
so called intent to share file by selecting option from Menu -> Share with -> Ubuntu One
- file is uploaded to the cloud
- the user receives public link..
- ..and can email it, tweet it, sms' it, share with barcode, etc
- Streaming data - would it be possible to watch a movie from U1 without downloading the file? (This is actually a silly idea, but I wrote it down anyway)
- Support for partial file updates, not whole files
- the back-end software would have to support partial updates, nevertheless it is rather a case for U1 for PCs than Android powered phones. Users rarely edit graphis, for example. And editing text.. well, text files are small. You can always download/upload a full file. All in all, this feature is interesting from algorithmic point of view and can be implemented as project continuation.
Access to browser (Firefox, Chrome?) "keyrings" (see: https://wiki.ubuntu.com/Specs/LucidUbuntuOneKeyringSync ) - neat idea, but auto-fill on mobile browser would be rather difficult. Nevertheless, if access to those keyrings would be possible, user could copy-paste the password to the browser from Ubuntu One app - passwords subsection.
Actually, when I wrote about that passwords subsection, another nice idea came to my mind (not necessarily feasible during summer /GSoc). We could design a plugin system to Ubuntu One (based on Android intent), similarly to what Locale application has. Then, any application that supports couchdb could plug in to Ubuntu One for Android to pull/update couchdb data in easy, uniform way (to say more concisely: open Ubuntu One for Android and:
- you have access to Tomboy notes if you have Tomboy plugin
- you have access to passwords if you have Keyring plugin
you have access to any other couchdb per-application specific data, if you have specific-plugin!
https://launchpad.net/tomdroid - progress is little, we could integrate that functionality as a plugin
Comments and feature requests
Please leave any comments here. Feature requests and ideas are more than welcome!
Questions
If you have any questions about the project, leave them here or contact me directly (https://wiki.ubuntu.com/GSoC/2010/MichalKarnicki)
- Michał Karnicki: Can I use Ubuntu One name openly? This project will be Open Source, I hope 'Ubuntu One' is not a trademark - if it is, who can provide formal agreement for such course.
Other/TODOs
How to add this page to https://wiki.ubuntu.com/CategorySpec ?
- Can I add my mentor to Contributors in the first section?
Other notes
http://code.google.com/p/apps-for-android/
specs/UbuntuOneForAndroid (last edited 2010-05-30 23:13:14 by chello089072085049)