Ladies and getns, Google Summer of Code is over!
May http://wiki.ubuntu.com/AndroidU1 be your source of any further information about AndroidU1 :) Cheers!
Friday, August 20, 2010
Tuesday, August 3, 2010
Thursday, July 29, 2010
As of today, 7/29/2010, version 0.2.13pa1 is now available for download and testing!
(Note: This is still a pre-alpha release and still under heavy development.)
Along with the new version comes the following new features:
- New look to the UI. Matches one.ubuntu.com much better.(Screenshots below)
- FamFamFam icons are used, same as in WebUI.
- File/Unknown File Type
- Changelog will soon be available for viewing through the AndroidU1 (sysadmin of wiki.ubuntu.com has to fix a certificate issue), but you can also find it here.
- New "Downloading" and "Ready" toasts added.
- Long Tap/Click brings up new context menu (needs fixing, sorry!).
- Changing orientation has been sped up.
These are some awesome changes that have happened since the last release and I must say that I'm really impressed. AndroidU1 just feels much more stable now and every release brings a new user friendliness to the app.
Please feel free to download and test AndroidU1. Also, please remember to file bug reports if you encounter anything out of the norm. Known issues are listed in the changelog (we're working on them!). As always, we are available to chat and answer question in the irc (irc.freenode.net #androidu1), check us out at the bottom of the blog! :-)
Monday, July 19, 2010
There's some good progress!
I'm pleased to inform that I have passed GSoC midterm evaluation with AndroidU1. Thanks Stuart, I hope you're happy with the progress we made :) There's still tons of work and I'm excited to continue working on the application!
WELL JOIN US FOR A CHAT! :-D
How can I do that, you ask? Here's how:
- Scroll down to the bottom of the blog
- Type in a nickname
- Click connect
IT'S THAT SIMPLE! :-)
We look forward to chatting with you. :-)
Sunday, July 18, 2010
Since I'm not a programmer I'm not able to contribute code to the project, but I am an avid blogger and thought that I could help out by keeping the public up to date on the progress of the project. :-)
Moving forward, you all can look forward to more frequent updates as well as updated screenshots (I'm sure we all remember that post ;-) ).
So all that being said; keep visiting, commenting, and sending your suggestions!
PS…Remember that we can always be located in the AndroidU1 IRC Channel (irc.freenode.net #androidu1). Also remember that AndroidU1 is still a pre-Alpha release and still under heavy development.
Tuesday, July 13, 2010
Tuesday, June 29, 2010
Monday, June 21, 2010
Monday, June 14, 2010
Monday, June 7, 2010
Tuesday, June 1, 2010
Dang it's 5:33 AM o_O I did third commit to lp:androidu1/0.x - this night I fixed oauth (including success verification, that returns 200 OK if everything's fine) and introduced Auth Activity to separate code form GUI (which is Login Activity). I even tested it on my phone for the very first time :) It's a bit slow (due to the fact, that Auth doesn't need a view - I'll fix that), but it works well. Umm.. gotta go! Be sure to subscribe to https://launchpad.net/~androidu1-users
And that makes us really close to the first milestone :) I should reach it by tomorrow. That is: well implemented and functioning authorization. Yeah well.. nothing to show off (yet!) ;)
Monday, May 31, 2010
Saturday, May 29, 2010
Hi everybody! It's been a while. On Wednesday evening I broke my Ubuntu (installed an old udev driver) and made it unusable. I recovered on Thursday, talked to my mentor, seeked some feedback on IRC and investigated OAuth behaviour (there are still issues, doesn't work every time).
I have setup a launchpad project, which you will find here. Since I don't want people to unintentionally bzr branch (download) the development sources, which can be broken any time and are suitable for review (or testing) only, I have left the trunk series with main branch empty. Therefore if you're interested in the devel branch, check this out. Whenever I will implement a feature in 0.x series, I will push that to the main branch.
Tomorrow I'm co-organizing this http://goo.gl/YGSX conference, and afterwards I plan to see into releases, blueprints and milestones of the lp project (+ some nightly hacking).
Stay tuned. I wonder if my project can have it's mailing list.. ah! I'll set up androidu1-users group :D
PS I should have started writing my blog post in HTML long ago ;) No stress at all.
Wednesday, May 26, 2010
And no, the log-in procedure is far from perfect. I feel that 1/3 of the time I was fighting with this error (and it, or my bug, cases authorization to work after 2nd or even 3rd try):
Monday, May 24, 2010
Fetching request token from Ubuntu One... Request token: GnpqrjR98jBcXXXXXXX Token secret: pvBlJDjq1jgm9M14rzx0hgH2xXNnhFG8zC3VkqxDdshrSKcnbBNJwD6CCJR4XXXXXXXX Now visit: https://one.ubuntu.com/oauth/authorize/?oauth_token=GnpqrjR98jBXXXXXXXX ... and grant this app authorization Enter the PIN code and hit ENTER when you're done: XXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXX Fetching access token from Ubuntu One... Access token: ddxQlp8tfltXXXXXXXX Token secret: Zn172Q7xsFdTlfB58LhLg4c8TzFmHRRhLWMQDCdvrrjJ27d0fkbk8qvVjN9rtbcnmfXXXXXXXXXXXXX Sending request to Ubuntu One... Response: 200 OK
Sunday, May 23, 2010
Saturday, May 22, 2010
First, I wanted to thank for your comments, mails, even a wiki feature-request entry :) Your opinions and feedback is priceless, and one of the things that gratifies my efforts. Thank you, Ubuntu Community!
And now the update: yet again, Guillermo (aka verterok) is my hero ^ ^ To remind you, he's the one that has written ubuntuone-java-storageprotocol, which I will be using. He has answered all my questions, both really silly and some less-but-still-silly ;) (I am glad he believes there's no such thing as dumb questions :) ). He also spent quite a while helping me to properly configure the project with maven, which I am new to. Thank you, verterok!
Finally I was able to run the ExampleClient from within Eclipse, and see it in action. I also played a bit with the code, but plan much more code-fun for tomorrow (Saturday, that is).
Keep visiting, commenting, and sending your suggestions :) !
Thursday, May 20, 2010
Hi everybody! As you already know, for the last two days (or nights actually) I have been using Balsamiq software to make my mock-ups.
I would like to happily share with you, that I have been generously granted a Balsamiq license key, so that I can use it's full potential and bring you the best quality mock-ups I can in this Open Source project. Latest pictures you have seen are just the beginning. There's still much to design and many decisions to make. I believe Balsamiq will make my sketching much more pleasant, than working with a pencil and rubber like I have before (I had quite a few sheets of paper wasted when I came up with the first drawings).
Please enjoy, and don't hesitate to share with me how would you like the application to work and look like in the future! Thank you Balsamiq!
Hi there my dear visitors!
This time I really need your feedback, as this issue will directly impact the behavior of the application. As seen in the previous post on the mockup, there's no 'Open this file' nor 'Browse this directory', since I have concluded these would be normally what you wish to do when you tap/touch/click a file/folder. Long press, on the other hand, invokes a context menu to Share a folder with other people, or Publish (a file) via Ubuntu One, then you can copy or share the link options etc.
Question is: how would you want a short tap/touch to act upon a file on your Android Ubuntu One app? Would you think of opening it (point-and-shoot scenario ;) ), or perhaps (since you're using a mobile device) there are options you would be more probable to expect after short tap, like publish a file or remove it?
To rephrase one last time: do you want to open a file with a short tap/touch while long-press pops a menu to publish, delete; or do you want to pop a menu with the list of options (and maybe some additional info about the file) after any (short/long) press on a file?
Please leave your comments below. I will appreciate any constructive critique. (If you have used Android Dropbox application before, please note that or make sure your opinion is not influenced by you wanting to have the same behaviour as Db does.)
Click to enlarge.
Wednesday, May 19, 2010
Tuesday, May 18, 2010
Had a short IRC chat with my mentor, mentioned setting up a Launchpad project, and got a link to an article relating to OAuth, as this is an area I'm not yet confident in:
Monday, May 17, 2010
- http://incompetech.com/graphpaper/squaredots/ (pen and paper are still fancy)
- http://www.balsamiq.com/ (however that I've also found earlier)
I also started to poke around ubuntuone-java-storageprotocol, but I see I'll really need some pointers from verterok on this.
Sunday, May 16, 2010
Wednesday, May 12, 2010
From the Framework topics, I've got only Content Providers and Security and Permissions left :) (Graphics, Audio, etc are unrelated to my project). This feels right, as it's about time I start some storageprotocol-related code testing - it will be the very base for my work.
I leave Publishing for later, as I have to implement the application first :P
Best practices - well.. I should read that, anyway - as soon as possible. I've watched some Android-team movies concerning performance, responsiveness and seamlessness.
All in all I must admit, this documentation is quite a load of reading ;)
Tuesday, May 11, 2010
Useful action constant from Intent class:
ACTION_MAIN, target: activity; Start up as the initial activity of a task, with no data input and no returned output - app (i.e. activity) entry point
ACTION_SYNC, target: activity; Synchronize data on a server with data on the mobile device. - we would make sync service call that upon the app
ACTION_BATTERY_LOW, target: broadcast receiver; A warning that the battery is low - we could turn off data sync in such situations (defined in app settings)
The action in an Intent object is set by the setAction() method and read by getAction().
The setData() method specifies data only as a URI, setType() specifies it only as a MIME type, and setDataAndType() specifies it as both a URI and a MIME type. The URI is read by getData() and the type by getType().
Monday, May 10, 2010
Sunday, May 9, 2010
Saturday, May 8, 2010
Thursday, May 6, 2010
More importantly, till late night I have talked to Guillermo (verterok at #ubuntuone) about Java implementation of ubuntuone storage protocol. He started it in January (it's still in the +junk ;) ), and though it's missing some features, it already handles get/put, which is great news! This means that, instead of getting dirty (at least for now!) with the low level details, I'll be able to focus on the application itself. verterok has therefore laid some basis on which I can build the Android app, very fortunate :) !
Here I'd like to thank him for his patience and time he spent helping me figure out maven issues, when attempting to compile ubuntuone-java-storageprotocol . I'll finish this entry with triumphal
[INFO] BUILD SUCCESSFUL
[INFO] Total time: 8 seconds
[INFO] Finished at: Thu May 06 02:10:02 CEST 2010
Yup, time to get some sleep.
Tuesday, May 4, 2010
Clearing the stack
Remote call procedures
Saving activity state
Broadcast receiver lifecycle
Processes and lifecycles
One of most important facts to note is that we'll be using a service, not spawning a thread, to upload files to the cloud (e.g. a picture from a camera), so that Android assigns service process rank to the task, minimizing jeopardy of it being killed in the meantime :)
Next up: User Interface
Sunday, May 2, 2010
- BroadcastReceivers (triggered by any event)
Androidology - APIs [ link ]
Google I/O 2009 - ...Make your Android UI Fast and Efficient [ link ] (good one!)
- reuse views with Recycler for higher fps
- prescale bitmaps with
image = Bitmap.createPrescaledBitmap(image, view.getWidth(), view.getHeight(), true);
- remove backgrounds from views, which fill parents full width and height (eg if you have a map, you don't see the background, which is still rendered) [00:17:23]
- invalidate() to redraw a view is inefficient, use invalidate(rect) or invalidate(left, top, right, bottom)
- fewer (views) is better ;) (try to get rid of views that have only one child, too: HierarchyViewer)
- use compound drawables (eg TextView instead of ImageView+TextView)
- use ViewStub to inflate part of the UI on demand (eg for part of the UI that for majority of the time is invisible) [00:35:20]
- use merge tag to reuse UI hierarchy elements
- RelativeLayout instead of embedding linear layouts; hard to use, but it pays off
- use custom views, custom layouts instead of overusing numerous views
- garbage collection kicks in for 100~500ms, stops threads (so allocate little memory, or even none :d)
- do not allocate memory in those time-critical points:
Saturday, May 1, 2010
Thursday, April 29, 2010
I have sent an e-mail to -students-list to invite students from xx country to #gsoc-xx (generalization here was intentional for others to use gsoc-jp , gsoc-us , etc) so that at #gsoc-pl we could exchange ideas and perhaps get some feedback from fellow students.
This is my first time at GSoC, and all guys (and girls) are really incredible. We've got fresh, motivating atmosphere all over the place :)! I have been also e-mailed by Matt, who has some experience on Android platform and will be happy to help in case I stumble upon a problem (cheers Matt!). Along the schedule, this weekend's focus is Android SDK.