forked from diaspora/diaspora
-
Notifications
You must be signed in to change notification settings - Fork 1
Android app project
copyninja edited this page Jul 24, 2011
·
11 revisions
We are at early stages of developing an android application for diaspora. Our first meeting to be at #diaspune on FreeNode, this Sunday 24th July at 9.30 PM IST/9.00 AM PST
#IRC Logs#
[2011-07-24 21:38:35] [INFO] Now logging to . [2011-07-24 21:39:49] |<-- sudiptamondal has left freenode (Ping timeout: 252 seconds) [2011-07-24 21:40:04] stultus where is subin/? [2011-07-24 21:40:08] rajiv_nair: what do you think what kind of api we want?.. [2011-07-24 21:40:35] -->| Jerin_Philip (~Jerin_Phi@wikipedia/monu1618) has joined #diaspune [2011-07-24 21:40:36] rajiv_nair: I was talking with ashik and we both thought restful API's similar to the Facebook or twitter will be great [2011-07-24 21:40:42] every please share your thoughts [2011-07-24 21:40:57] [ERROR] Connection to irc://freenode/ (ircs://irc.freenode.net:7000/) reset. [[Help][Get more information about this error online][faq connection.reset]] [2011-07-24 21:41:47] -->| YOU (vasudev) have joined #diaspune [2011-07-24 21:41:47] =-= Topic for #diaspune is ``Ruby on Rails Workshop on Saturday | http://www.meetup.com/Diaspora/Pune/288201/'' [2011-07-24 21:41:47] =-= Topic for #diaspune was set by j4v4m4n on Thursday, July 14, 2011 10:23:41 PM [2011-07-24 21:42:45] ping.. did i miss anything? [2011-07-24 21:43:20] vasudev, no [2011-07-24 21:43:36] so what do you guys have to say about restful api's? [2011-07-24 21:44:54] |<-- stultus has left freenode (Read error: Connection reset by peer) [2011-07-24 21:45:20] * vasudev wonders if every one is still arround [2011-07-24 21:45:40] [INFO] Messages Cleared. [2011-07-24 21:46:47] * j4v4m4n_mobile doesn/lt know what is a restful api, is it normal http get, put etc? [2011-07-24 21:47:08] j4v4m4n_mobile: yes just by doing http get post put delete [2011-07-24 21:47:18] we can do what we exactly want [2011-07-24 21:47:32] response can be in json or in xml but most time i prefer json [2011-07-24 21:48:02] response means the data which is sent back by diaspora [2011-07-24 21:48:09] -->| stultus (~stultus@117.97.52.83) has joined #diaspune [2011-07-24 21:48:33] we may not need data all the time but for some operations like getting profile information getting feeds from your followers [2011-07-24 21:48:36] -->| ilyaZ (~ilyaZ@201.161.0.20) has joined #diaspune [2011-07-24 21:48:43] woot ilyaZ joined us [2011-07-24 21:48:44] hey everyone sorry for the lateness [2011-07-24 21:48:46] ilyaZ: hello [2011-07-24 21:48:51] ilyaZ, hellozz :) [2011-07-24 21:48:56] ilyaZ, hey [2011-07-24 21:48:59] -->| Pooja (75c326a8@gateway/web/freenode/ip.117.195.38.168) has joined #diaspune [2011-07-24 21:49:12] rajiv_nair: ping [2011-07-24 21:49:20] (timezones just trolled me) [2011-07-24 21:49:22] ilyaz heya [2011-07-24 21:49:27] hey j4v4m4n_mobile [2011-07-24 21:49:38] hey vasudev stultus abdulkarim [2011-07-24 21:50:26] sorry did I miss anything? [2011-07-24 21:51:17] ilyaZ: nothing much I was just explaining restful api stuff which is provided by facebook and twitter [2011-07-24 21:51:37] ilyaZ: i think diaspora should also have similar api's but I'm waiting for others suggestions [2011-07-24 21:51:53] |<-- stultus has left freenode (Changing host) [2011-07-24 21:51:56] -->| stultus (~stultus@wikisource/Hrishikesh.kb) has joined #diaspune [2011-07-24 21:52:40] vasudev, in some ways the rails makes it super easy to have the same api be the same as your controller actions [2011-07-24 21:53:48] -->| abc (75d37b2a@gateway/web/freenode/ip.117.211.123.42) has joined #diaspune [2011-07-24 21:53:50] ilyaZ: novice in rails but yeah i remember a friend mentioning its easy to provide api's using rails [2011-07-24 21:54:30] we were at first talking about doing that, but we talked to sarah and she had a good point (that by not making it just the same routes, the api can scale differently than the app) [2011-07-24 21:54:30] =-= abc is now known as Guest85711 [2011-07-24 21:54:56] <--| Guest85711 has left #diaspune [2011-07-24 21:55:18] also that way we can version the api [2011-07-24 21:55:43] -->| onthelivelyside (75d37b2a@gateway/web/freenode/ip.117.211.123.42) has joined #diaspune [2011-07-24 21:56:01] ilyaZ: so you are not using rails method to provide api's? [2011-07-24 21:56:28] because we need them to be at different actions [2011-07-24 21:56:53] right now "api/v0" is where the api methods should go [2011-07-24 21:56:57] ilyaZ: oh [2011-07-24 21:57:24] ilyaZ: api's are available already? [2011-07-24 21:58:15] not really, as praveen mentioned earlier we're agile about it [2011-07-24 21:58:26] i.e. we build apis as they are needed [2011-07-24 21:58:46] ilyaZ: oh okay.. [2011-07-24 21:59:02] ilyaZ: how about API's for authentication.. is it OAuth based? [2011-07-24 21:59:45] first step for android app is authentication so I think that is the first API's which we need right? [2011-07-24 21:59:53] * vasudev wonders why no one is talking!! [2011-07-24 22:00:10] rajiv_nair: j4v4m4n_mobile ping [2011-07-24 22:01:08] we have OAuth built in, we do a distributed authentication thing for cubbi.es (automatically does oauth preregistration) [2011-07-24 22:02:51] ilyaZ: so what is the procedure for authenticating apps with diaspora? [2011-07-24 22:03:09] hmm.. I think the first step to do something easy/ not distributed [2011-07-24 22:03:31] (i.e. a user would have to do something to register the client application on their own pod) [2011-07-24 22:03:39] -->| j4v4m4n (~user@gnu-india/supporter/j4v4m4n) has joined #diaspune [2011-07-24 22:03:46] ilyaZ: we are directly getting access token for cubbi.es so this is what you meant by preregistration [2011-07-24 22:03:50] sorry, my mobile got switched off :( [2011-07-24 22:04:13] j4v4m4n no issues :) reached home? [2011-07-24 22:04:23] -->| grippi (~grippi@201.161.0.20) has joined #diaspune [2011-07-24 22:04:43] grippi: heya [2011-07-24 22:04:56] vasudev: yup [2011-07-24 22:04:57] Ciao [2011-07-24 22:04:57] grippi: heya [2011-07-24 22:04:57] so when you usually do oauth, you go to dev.twitter.com and get application id & secret [2011-07-24 22:05:08] ilyaZ: yeah [2011-07-24 22:06:14] ilyaZ: but when it comes to diaspora things are different right because we have different pods! [2011-07-24 22:06:15] so for apps (at least web apps we automate this preregistration by using keypairs) [2011-07-24 22:06:23] vasudev, yeah [2011-07-24 22:07:01] ilyaZ: but if we wanted to change access token then? [2011-07-24 22:07:17] like in twitter its possible to reset tokens is it possible with preregistration ? [2011-07-24 22:07:32] Yeah [2011-07-24 22:07:33] vasudev, you can still reset tokens [2011-07-24 22:07:39] oh okay [2011-07-24 22:07:57] Pre-registration is pretty removed from the oauth 2 flow [2011-07-24 22:08:19] <--| kutti-chat-an has left #diaspune [2011-07-24 22:08:23] It's just really a check before we perform oauth [2011-07-24 22:08:46] so when we develop android app I think distributed nature should be given to client side right.. I mean user can select pod from settings before authenticating [2011-07-24 22:09:02] Yeah, exactly [2011-07-24 22:09:10] if not selecting he can enter pod url in the app settings that way things will be simpler to implement on server side [2011-07-24 22:09:27] What we should do is have the user just sign in using their diaspora id [2011-07-24 22:09:27] -->| ershad_ (~ershad@49.200.218.222) has joined #diaspune [2011-07-24 22:09:50] yeah.. we can get pod url from their diaspora id itself [2011-07-24 22:10:04] username @ pod_url [2011-07-24 22:10:12] I think the app should just generate a keypair on boot [2011-07-24 22:10:36] =-= ershad_ is now known as ershad [2011-07-24 22:10:36] We don't need to set a server if someone supplies their entire nick/domain [2011-07-24 22:10:36] and then use diaspora-connect flow [2011-07-24 22:10:36] Right [2011-07-24 22:10:39] (Sorry if I'm slow to type, I'm on a phone) [2011-07-24 22:10:54] ilyaZ: key pair means token key and token secrets? [2011-07-24 22:11:07] vasudev, nope an RSA key pair [2011-07-24 22:11:18] one sec [2011-07-24 22:11:26] |<-- j4v4m4n_mobile has left freenode (Quit: Lost terminal) [2011-07-24 22:11:38] https://github.com/diaspora/diaspora-client this is the ruby lib that cubbi.es uses to authenticate [2011-07-24 22:11:44] vasudev: It's very similar to how browser extensions have keys [2011-07-24 22:12:05] At least with chrome extensions... [2011-07-24 22:13:05] grippi: i never went through code ;) i blindly used your chrome code in Firefox extension [2011-07-24 22:13:24] An application uses a key-pair to sign an well-defined authorization challenge. [2011-07-24 22:13:25] A Diaspora pod fetches the application's manifest and the public key for that application. [2011-07-24 22:13:25] The pod checks the signature for that manifest and the authorization request. [2011-07-24 22:13:25] The application's registration credentials are returned to the application (assuming everything checks out). [2011-07-24 22:13:46] grippi: can you share latest code of firefox extension?. there is still some issue with twitter infinite scroll [2011-07-24 22:14:15] this is instead of going to dev.twitter.com (because an app developer can't regester at every pod) [2011-07-24 22:14:36] All the code for it is on the FF addons site [2011-07-24 22:14:36] (+ pods they don't know about) [2011-07-24 22:14:54] ilyaZ: oh [2011-07-24 22:15:15] grippi: okay I'll update my repo once I've a Linux laptop [2011-07-24 22:15:35] ilyaZ: so this flow is bit different compared to normal Oauth right? [2011-07-24 22:15:38] vasudev: It shouldn't be messing up twitter... [2011-07-24 22:15:44] vasudev: Kk [2011-07-24 22:15:48] -->| ksnmdksdn` (7aa766b5@gateway/web/freenode/ip.122.167.102.181) has joined #diaspune [2011-07-24 22:15:59] vasudev, after the pre-registration its regular oauth 2 from there [2011-07-24 22:16:50] so instead of getting key and secret from pod we use key pair instead to sign the authorization challenge and rest of the flow remains same right? [2011-07-24 22:17:13] and this should happen only once when the app is to be authorized with a pod right? [2011-07-24 22:17:59] one sec [2011-07-24 22:18:25] okay [2011-07-24 22:18:36] * vasudev is getting confused with preregistration stuff [2011-07-24 22:18:56] <--| ksnmdksdn` has left #diaspune [2011-07-24 22:19:27] so pre-registration is equivalent to going to dev.twitter.com [2011-07-24 22:19:50] -->| napster (7aa766b5@gateway/web/freenode/ip.122.167.102.181) has joined #diaspune [2011-07-24 22:20:30] * napster sorry for being late! [2011-07-24 22:20:37] napster, np [2011-07-24 22:21:07] What is the plan? Just an android client like one for facebook? [2011-07-24 22:21:13] so when app sends the authorization challenge signed with keypair what is returned to it? [2011-07-24 22:21:30] vasudev, I need to go check out of the hotel, I'll be back in 15 mins [2011-07-24 22:21:39] ilyaZ: sure np [2011-07-24 22:21:45] brb [2011-07-24 22:21:56] * vasudev want to have a look normal oauth flow again :) [2011-07-24 22:22:05] |<-- grippi has left freenode (Remote host closed the connection) [2011-07-24 22:22:07] napster: yes [2011-07-24 22:22:15] napster, yes [2011-07-24 22:22:16] -->| grippi (~grippi@201.161.0.20) has joined #diaspune [2011-07-24 22:22:31] napster: vasudev was discussing authentication flow for the app [2011-07-24 22:22:44] =-= offSchub is now known as DenSchub [2011-07-24 22:22:48] napster, any other idea in your mind? [2011-07-24 22:23:21] <--| Pooja has left #diaspune [2011-07-24 22:23:25] back [2011-07-24 22:23:42] j4v4m4n: I had another idea, since everyone keeps their android phone up and online all over the time, what about setting up pods of their own on their mobiles? [2011-07-24 22:24:16] the data goes nowhere but stays back on their devices... [2011-07-24 22:26:13] |<-- ilyaZ has left freenode (Ping timeout: 255 seconds) [2011-07-24 22:26:14] napster: that will have more challenges, but that can be a separate project [2011-07-24 22:26:37] |<-- grippi has left freenode (Ping timeout: 255 seconds) [2011-07-24 22:27:59] j4v4m4n: more challenges : yes [2011-07-24 22:28:29] napster, that sounds like FreedomBox :) [2011-07-24 22:30:10] abdulkarim: I guess this idea will serve the entire idea behind Diaspora... [2011-07-24 22:31:02] abdulkarim: freedomebox : yes, a sort of [2011-07-24 22:31:27] napster: lets try that in parallel to our regular android app [2011-07-24 22:31:33] j4v4m4n: ok [2011-07-24 22:32:02] napster: you understand it would take us to reimplment the whole diaspora :( , right? [2011-07-24 22:32:35] j4v4m4n: need to think more... [2011-07-24 22:33:11] not sure [2011-07-24 22:33:39] napster: what were in your mind? [2011-07-24 22:33:57] napster: get ruby on rails on android? [2011-07-24 22:34:11] j4v4m4n: http://andrewgertig.com/2010/07/android-and-ruby-on-rails/ [2011-07-24 22:34:44] this is not completly related thing [2011-07-24 22:34:51] oh, shit [2011-07-24 22:35:03] My bouncer didn't log... [2011-07-24 22:35:08] but, I guess, to do it we might need ROR on android [2011-07-24 22:37:13] now why do we need to run it on a android phone? [2011-07-24 22:37:36] when there are pods and a diaspora client for mobile phones I think that is more than sufficient right? [2011-07-24 22:37:43] why to complicate things [2011-07-24 22:37:45] |<-- ershad has left freenode (Quit: Good night :)) [2011-07-24 22:37:45] vasudev: post the log on the wiki [2011-07-24 22:37:45] -->| grippi (~grippi@201.161.0.20) has joined #diaspune [2011-07-24 22:37:51] -->| grippi_ (~grippi@201.161.0.20) has joined #diaspune [2011-07-24 22:38:01] grippi in multiple instances :) [2011-07-24 22:38:09] j4v4m4n: please link me [2011-07-24 22:38:32] Is my chat client going crazy right now? [2011-07-24 22:38:34] |<-- grippi has left freenode (Read error: Connection reset by peer) [2011-07-24 22:38:34] =-= grippi_ is now known as grippi [2011-07-24 22:38:48] vasudev: https://github.com/diaspora/diaspora/wiki/Android-app-project [2011-07-24 22:39:18] j4v4m4n: i will be around may be 15-20 mins more then i'll leave as I've got office tomorrow :( [2011-07-24 22:39:46] vasudev: if you can post the log, may be napster can take it from here [2011-07-24 22:40:08] j4v4m4n: yeah i'm doing that now [2011-07-24 22:40:15] vasudev: thanks [2011-07-24 22:40:20] |<-- shilpi has left freenode (Ping timeout: 252 seconds) [2011-07-24 22:40:34] j4v4m4n: no issues [2011-07-24 22:40:44] -->| shilpi (0117ba89@gateway/web/freenode/ip.1.23.186.137) has joined #diaspune [2011-07-24 22:40:53] grippi: we saw you entering room multiple times :) but now only one instance is there [2011-07-24 22:41:03] K phew [2011-07-24 22:41:35] grippi: iPhone or Android ? [2011-07-24 22:43:34] j4v4m4n: What are the expected funtionalioties apart from a normal facebook like client? [2011-07-24 22:43:36] |<-- libin has left freenode (Read error: Connection reset by peer) [2011-07-24 22:43:46] -->| ilyaZ (~ilyaZ@201.161.0.20) has joined #diaspune [2011-07-24 22:43:58] back [2011-07-24 22:44:04] hi ilyaZ :) [2011-07-24 22:44:16] hey DenSchub [2011-07-24 22:44:44] vasudev, are you still here? [2011-07-24 22:44:49] ilyaZ: welcome back [2011-07-24 22:44:53] ilyaZ: yeah :) [2011-07-24 22:45:31] |<-- grippi has left freenode (Ping timeout: 255 seconds) [2011-07-24 22:46:21] [INFO] will now open at startup. [2011-07-24 22:47:07] |<-- napster has left freenode (Quit: Page closed) [2011-07-24 22:47:20] napster: post and read messages, view and share pictures, share links from browser - normal facebook client functionality [2011-07-24 22:47:55] ilyaZ: Shravan was supposed to join, but he is down with fever :( [2011-07-24 22:48:21] yeah, photos are the awesome thing [2011-07-24 22:48:31] j4v4m4n: chatzilla is not allowing me to open log when its in running mode