Time |
Nick |
Message |
10:03 |
erikos |
#TOPIC Sugarizing of Web apps (by Lucian Branescu Mihaila) |
10:03 |
|
#LINK http://wiki.sugarlabs.org/go/Webified |
10:03 |
|
#LINK http://git.sugarlabs.org/projects/webified/ |
10:05 |
|
passes over to lucian__ |
10:06 |
bernie |
I'm around |
10:06 |
lucian__ |
I'm very sorry abou that, I've just had a kernel panic |
10:06 |
|
it's the second this week, i'm getting worried |
10:06 |
|
i blame the 3G dongle drivers |
10:06 |
erikos |
lucian__, no problem |
10:07 |
|
bernie, hey! |
10:07 |
lucian__ |
erikos: anyway, i was about to say that the offline feature outlined in that ticket has very little overlap with my project |
10:07 |
erikos |
lucian__, yup, right |
10:07 |
lucian__ |
erikos: it's basically caching bookmarked pages |
10:07 |
erikos |
lucian__, I mean the global bookmark part - there are some ideas from eben hidden in the ticket |
10:08 |
|
lucian__, I will move it over after the meeting |
10:08 |
lucian__ |
sure |
10:08 |
|
should I do a #startmeeting ? or what? |
10:08 |
erikos |
lucian__, maybe you want to start to give an overview about what the project is good for |
10:08 |
|
lucian__, no logs are already running |
10:09 |
|
lucian__, a highlevel overview would be nice |
10:09 |
lucian__ |
alright. my project aims to allow Browse to create specialised copies of itself |
10:09 |
erikos |
lucian__, what can a user do with this |
10:09 |
lucian__ |
the user can click 'create ssb' and a new activity is created for that specific website |
10:10 |
|
that website is the homepage and there is a new toolbar called 'customize' |
10:10 |
|
this toolbar will contain buttons to allow the user to further customize the activity |
10:11 |
erikos |
the new toolbar then only appears in the 'clone'? |
10:11 |
lucian__ |
erikos: yes |
10:11 |
erikos |
lucian__, ok |
10:12 |
lucian__ |
anyway, the customisation done to the SSB is stored as activity data |
10:12 |
|
when the user has done more extensive customisation, they can create a new SSB (from inside the current SSB) |
10:13 |
|
created SSB bundles can be shared or posted at activities.sl.o |
10:13 |
erikos |
what are the possible customizations? |
10:13 |
|
a new icon for example? |
10:13 |
lucian__ |
adding bookmarklets, userscripts (greasemonkey), userstyles (custom css), icon, title |
10:14 |
|
bookmarklets would en up on the SSB toolbar as buttons |
10:14 |
erikos |
so in the end - customizing a web application to be a native application (activity) |
10:14 |
lucian__ |
userscripts can alter behaviour (add offline to wikipedia, add sugar-specific functionality, etc.) |
10:15 |
|
erikos: yes, that's the point |
10:15 |
erikos |
lucian__, what are the benefits in just having - lets say bookmarks in browse |
10:15 |
|
lucian__, each page has it's icon already normaly |
10:15 |
lucian__ |
erikos: bookmarks as opposed to SSBs? |
10:16 |
erikos |
lucian__, well yeah - from the user point of view |
10:16 |
lucian__ |
erikos: there's a much more clear separation between the browser and the web application |
10:16 |
erikos |
lucian__, I mean besides the customization - I can have it all in one app, I guess |
10:16 |
lucian__ |
GMail can be made to behave like a native email client |
10:16 |
|
and there's the sharing |
10:16 |
erikos |
lucian__, I just ask provocatly |
10:16 |
lucian__ |
erikos: yes, i figured |
10:17 |
|
i think walterbender made a GMail activity |
10:17 |
erikos |
yes, right |
10:17 |
lucian__ |
with this SSB creator, users can make their own GMail.xo and share it |
10:17 |
walterbender |
lucian: my gmail activity was a hand-built instance of what you are making happen with a button push :) |
10:18 |
lucian__ |
walterbender: yes, mostly |
10:18 |
erikos |
what I like about it - it is another way for kids to start customizing the system |
10:18 |
walterbender |
we have a green light from Google, BTW, to package all of their google apps if we care to do so |
10:18 |
lucian__ |
walterbender: i intend to do just that :D |
10:19 |
|
as soon as I get a workaround working for that pyxpcom bug and Gears works, even offline :) |
10:19 |
walterbender |
lucian: is there an intention that people would add their apps to ALSO? |
10:19 |
|
^ALSO^ASLO |
10:19 |
lucian__ |
walterbender: yes, i'm trying to make that possible |
10:19 |
tomeu |
walterbender: but those aren't free software, right? |
10:19 |
FGrose |
(the Activity Library) |
10:20 |
walterbender |
tomeu: the wrappers are free software... |
10:20 |
erikos |
what about space constraints? or let's say the problem of always copying all of the bundle |
10:20 |
tomeu |
walterbender: so everything in the client side is free software? |
10:20 |
erikos |
tomeu, there was once the intention to make making a web app more simple |
10:21 |
lucian__ |
erikos: i though of that. in the end bundles shouldn't be much larger than Browse itself |
10:21 |
tomeu |
erikos: I think there's still that intention |
10:21 |
walterbender |
tomeu: I assume so, but maybe there are corner cases |
10:21 |
erikos |
tomeu, getting more of the stuff in browse.xo into hulahop |
10:21 |
|
tomeu, ok |
10:21 |
lucian__ |
tomeu: the .js sent to the client isn't. it's a bit blurr |
10:21 |
erikos |
tomeu, might be a good moment to think about that |
10:21 |
|
lucian__, ok, cool |
10:21 |
tomeu |
erikos: or from browse into sugar-toolkit |
10:21 |
erikos |
tomeu, ok, or that |
10:22 |
tomeu |
erikos: wade sent a plan about that |
10:22 |
lucian__ |
it would help with space if browser.py and friends were part of sugar |
10:22 |
erikos |
tomeu, ok, good |
10:23 |
lucian__ |
i still need to keep an eye out for space when bundling the gecko profile |
10:23 |
erikos |
lucian__, right - if as much as possible would be in the toolkit itself |
10:26 |
|
lucian, welcome back ;p |
10:26 |
walterbender |
the wonderful world of 3G? |
10:26 |
lucian |
erikos: got disconnected. my 3G signal isn't very good |
10:27 |
|
walterbender: my neighbours upstairs have wifi, i'll have a chat with them |
10:27 |
|
anyway, i still haven't implemented the ssb toolbar |
10:28 |
|
custom CSS and bookmarklets will be easy to implement |
10:28 |
walterbender |
lucian: are there any concernes re the toolbar? |
10:28 |
lucian |
walterbender: just design concerns |
10:28 |
|
it's going to look something like this |
10:28 |
walterbender |
lucian: maybe we could coerce Eben into designing some icons for you |
10:29 |
lucian |
add bookmarklet, add userscript, add userstyle |separator| bookmarklet buttons |
10:29 |
|
i'm a bit worried about icons, though |
10:29 |
erikos |
walterbender, or gary |
10:29 |
lucian |
should I incorporate the website favicon in the sugar icon? |
10:29 |
|
or should I leave all SSB have the same icon by default |
10:30 |
erikos |
lucian, you mean into the activity icon? |
10:30 |
lucian |
erikos: yes |
10:30 |
|
(well, bookmarklet icons as well) |
10:30 |
erikos |
lucian, the problem is I guess that the sugar icons are only two colored |
10:30 |
walterbender |
lucian: I'd do the former, not the latter. |
10:31 |
|
erikos: we could use a simple algorithm to change the colors... |
10:31 |
lucian |
walterbender: so the Browse icon with the favicon in the middle? |
10:31 |
erikos |
walterbender, yeah, thought about something like that |
10:31 |
walterbender |
erikos: it is more a matter that the fav icon is not likely to be SVG |
10:31 |
erikos |
or maybe - the creator has to do it himself |
10:31 |
walterbender |
erikos: it would be good to give them something reasonable by default |
10:31 |
erikos |
walterbender, would be a nice exercise |
10:32 |
walterbender |
another task for a long airplane flight |
10:32 |
erikos |
walterbender, well there could be an editor in the toolbar to allow that |
10:32 |
|
walterbender, or something like that |
10:32 |
walterbender |
erikos: it would be nicer to make a separate svg editor activity... |
10:32 |
|
and a way to import the icon from the Journal |
10:32 |
erikos |
walterbender, of course |
10:33 |
walterbender |
inkscape :) |
10:33 |
erikos |
heh yeah |
10:34 |
|
you never know if it is kernel or 3G |
10:34 |
lucian_ |
a tiny svg editor that can have an image as a background would be nice |
10:34 |
|
erikos: 3G :) |
10:34 |
|
so the user can just follow the contour of the original image |
10:34 |
erikos |
lucian_, ;p |
10:34 |
|
lucian_, yup that is what I had envisioned |
10:35 |
bemasc |
I think an SVG editor is out-of-scope. Converting the favicon should be possible. |
10:35 |
walterbender |
I really discourage you from adding this level of complexity... |
10:35 |
lucian_ |
bemasc: i wouldn't think of doing it for GSoC |
10:35 |
bemasc |
ok |
10:35 |
walterbender |
not a matter of GSoC or not... it is a matter of adding needless complexity to an already complex activity |
10:36 |
erikos |
walterbender, good point |
10:36 |
|
let's build small tools that can work together |
10:37 |
walterbender |
erikos: the Sugar way of doing things |
10:37 |
bemasc |
A totally automated favicon converter seems worthwhile... and might also be a useful component for other sugarization problems. |
10:37 |
erikos |
walterbender, but the first version of the editor activity could just be a converter |
10:37 |
|
bemasc, ^^^ |
10:37 |
bemasc |
It should certainly be low-priority for lucian_, though. |
10:37 |
walterbender |
bemasc: we could make a crude version pretty quickly |
10:38 |
bemasc |
walterbender: agreed. |
10:38 |
lucian_ |
bemasc: i'm really not even touching that |
10:38 |
|
if someone goes and makes an tiny svg editor, great |
10:38 |
erikos |
lucian, ok, lets focus maybe on the main goals |
10:38 |
walterbender |
I'd vote for an SVG wrapper (with Sugar icon colors) around the bitmap imported |
10:38 |
erikos |
lucian, what you could do is advertising on the ml that it would be a nice thing to have |
10:38 |
walterbender |
as a place to start.. |
10:38 |
erikos |
lucian, and if someone wants to work on it - great |
10:39 |
lucian_ |
walterbender: that should be doable |
10:39 |
|
erikos: sure, will do |
10:39 |
erikos |
ok, lucian - what are your outstanding questions? |
10:39 |
|
lucian, I have added you to: http://wiki.sugarlabs.org/go/D[…]admap/0.86#Browse |
10:39 |
|
lucian, i guess that is ok |
10:40 |
lucian_ |
i'm not sure how I should be storing the bookmarklets |
10:40 |
|
they're links, possibly with a description and ideally with an icon |
10:40 |
erikos |
the global bookmarks? |
10:41 |
lucian_ |
erikos: they don't have to be global, i could persist them in the ssb bundle |
10:41 |
|
erikos: should i try to use mozilla's stuff or roll my own (probably json files) |
10:41 |
erikos |
lucian, ok - what are they from a user point of view? |
10:41 |
lucian_ |
s/json files/.ini files/ |
10:41 |
erikos |
lucian, a bookmark in the classical way? |
10:41 |
lucian_ |
erikos: http://en.wikipedia.org/wiki/Bookmarklet |
10:42 |
erikos |
looks |
10:42 |
lucian_ |
erikos: they have most of the traits of regular toolbar buttons |
10:42 |
|
erikos: they just happen to live on the bookmark bar in most browsers |
10:42 |
erikos |
lucian, ahhhhh |
10:44 |
|
lucian_, json is one option - that is what we do for the sharing bokmarks |
10:44 |
|
lucian_, we store an icon here as well |
10:45 |
lucian_ |
erikos: yes, i'll have to make a wrapper .svg for this as well |
10:46 |
|
my other issue was how to persist session data |
10:46 |
|
the customisations a user does would get stored as session data |
10:46 |
|
and i want to store that in the bundle i create |
10:46 |
|
i'm not sure what the best way for that would be |
10:47 |
erikos |
ok, let me think a sec |
10:49 |
|
hmmm, it should be global data |
10:49 |
|
not session data, right? |
10:49 |
|
as it changes the behavior of the activity itself |
10:50 |
lucian_ |
erikos: well, yes |
10:50 |
|
but afaik the rainbow doesn't let activities do that |
10:50 |
erikos |
lucian_, maybe this does mean activity versions? |
10:51 |
|
lucian_, i mean - we create a new version of the activity I guess |
10:51 |
lucian_ |
erikos: yes, bemasc compared it to currying in functional languages |
10:52 |
erikos |
oh dear - haskell |
10:52 |
lucian_ |
erikos: since activities are immutable and they save state externally (in the journal) |
10:53 |
erikos |
hmmm |
10:56 |
lucian_ |
erikos: another issue I have right now is that Gears doesn't quite work |
10:56 |
|
tomeu pointed me in the right direction for implementing a workaround |
10:57 |
|
(the Gears permission dialog is too small to click the 'allow' button) |
10:57 |
erikos |
lucian_, so for the activity version stuff - I am not sure how we solve that, yet |
10:57 |
tomeu |
lucian_: btw, you can actually click on the checkbox, you just need to do it in the right pixel row |
10:57 |
lucian_ |
tomeu: heh. i'll try that |
10:58 |
erikos |
tomeu, you did work on gears at one point, or? |
11:00 |
tomeu |
erikos: yup |
11:00 |
|
adds one more to the list of people who aren't reading his blog |
11:02 |
walterbender |
tomeu: I haven't tried your tab patches yet, I have to admit... |
11:04 |
erikos |
tomeu, 19 days old! |
11:04 |
|
tomeu, I have forgotten about it already 5 times ;p |
11:05 |
tomeu |
walterbender: I don't think the user experience should block applying the initial patch. we can only change what the gtk widget allows changing, and any of those changes won't be invasive |
11:05 |
|
erikos: hmm, ok, you are off the list for now, but I will test you in the future :p |
11:06 |
|
walterbender: what we'll need is adding stuff, like keybindings, etc |
11:06 |
erikos |
had luck for today |
11:07 |
|
lucian_, tomeu shall I add addons support to the 0.86 roadmap? |
11:07 |
lucian_ |
erikos: not all firefox extensions can work with Browse |
11:07 |
erikos |
lucian_, tomeu at least for now - to see if we find someone who is willing to work on it |
11:08 |
|
lucian_, ok, what is the criteria? |
11:08 |
lucian_ |
erikos: try it, give up if it doesn't work |
11:08 |
|
erikos: extensions target the firefox XUL |
11:09 |
tomeu |
erikos: as you wish, we need someone to look at the extension manager in firefox and see how much is in xulrunner and how much we should implement |
11:09 |
lucian_ |
which Browse doesn't have |
11:09 |
|
erikos: stuff that uses toolbars, statusbars, etc. won't work |
11:09 |
erikos |
oh, ok - that soes not sound that easy after all |
11:09 |
lucian_ |
erikos: gears does because it barely has any GUI |
11:10 |
erikos |
lucian_, ok, but you need gears after all |
11:10 |
|
lucian_, I mean you need it for your project, right? |
11:11 |
lucian_ |
erikos: for making web apps work offline |
11:11 |
tomeu |
erikos: extensions are bundles of chrome+components |
11:11 |
|
erikos: xulrunner supports adding chrome and components |
11:11 |
|
erikos: so if you read my post you will see how we expand the extension bundle and install each piece in its place |
11:14 |
erikos |
tomeu, ok, thanks for the explanation |
11:14 |
|
lucian_, and offline support would be nice - but not highest priority? |
11:15 |
lucian_ |
erikos: not really. most web apps are inherently online |
11:15 |
|
erikos: some work really nicely offline, like google docs |
11:16 |
|
erikos: so it would be very nice to have it, but not vital |
11:16 |
erikos |
lucian_, ok, that sounds good |
11:16 |
|
lucian_, so we are not blocking on it |
11:16 |
|
lucian_, but we can try to make it work in parallel |
11:16 |
lucian_ |
erikos: yes |
11:16 |
|
bookmarklets i plan to work on today |
11:16 |
erikos |
awesome |
11:17 |
|
what else do we have? |
11:17 |
lucian_ |
userscripts are also very useful, i'll try to get greasemonkey installed |
11:17 |
|
are you familiar with greasemonkey? |
11:17 |
erikos |
nope |
11:17 |
|
Allows you to customize the way a webpage displays using small bits of JavaScript. ... |
11:17 |
|
ok |
11:18 |
lucian_ |
erikos: yes, mostly |
11:18 |
|
it basically injects some javascript in the page |
11:18 |
|
it allows you to do really cool things, thougu |
11:19 |
|
like this http://code.google.com/apis/ge[…]/gearsmonkey.html |
11:19 |
|
erikos: there's another thing, i was thinking of allowing javascript to call dbus methods |
11:19 |
erikos |
is greasemonkey similar to gears - installation wise |
11:19 |
lucian_ |
erikos: yes, also an extension |
11:19 |
erikos |
lucian_, yeah, I mean - barely no GUI |
11:19 |
lucian_ |
erikos: so users could download a userscript that adds native sugar alerts and sounds to gmail |
11:19 |
erikos |
? |
11:20 |
lucian_ |
erikos: a window and a status bar icon |
11:20 |
|
erikos: i may have to remove some code from it, but it should work |
11:20 |
erikos |
lucian_, so the trick we do for gears might work? |
11:20 |
|
lucian_, ok |
11:20 |
lucian_ |
erikos: if not, it shouldn't be that hard to make my own javascript injector |
11:21 |
erikos |
lucian_, ok, cool |
11:22 |
|
lucian_, http://groups.google.com/group[…]/988927e098b7b38c |
11:23 |
|
actually: http://sandbox.movial.com/wiki[…]owser_DBus_Bridge |
11:23 |
lucian_ |
erikos: yes, that's what i'm using |
11:23 |
erikos |
great |
11:23 |
lucian_ |
erikos: it works great with firefox and epiphany-gecko, but for some reason not with Browse |
11:23 |
erikos |
sigh :/ |
11:24 |
lucian_ |
erikos: i can't find anything relevant in the logs either |
11:24 |
|
erikos: i'll try to compare logs from firefox and Browse when running the dbus test |
11:25 |
erikos |
lucian_, ok |
11:25 |
lucian_ |
erikos: anyway, this even less priority than Gears right now |
11:25 |
|
s/this/this is/ |
11:26 |
erikos |
yup, lucian_ - other issues? |
11:26 |
lucian_ |
erikos: things like this make the platform integration better, but getting SSBs to work in the first place is more important |
11:26 |
|
erikos: that's all i can think of |
11:26 |
erikos |
lucian_, yeah - it is important to get the base going first |
11:26 |
|
lucian_, and have the other parts in mind |
11:27 |
|
lucian_, at least I understand a bit better now the parts involved ;p |
11:28 |
|
lucian_, let's wrap up here |
11:28 |
lucian_ |
erikos: ok |
11:29 |
erikos |
a) what is the plan for the page at: http://wiki.sugarlabs.org/go/Webified |
11:29 |
|
or wait - let me see |
11:30 |
lucian_ |
erikos: that page is just slighty outdated |
11:30 |
erikos |
it would be cool to have the stuff we discussed today listed there |
11:30 |
|
or at another place |
11:30 |
|
yeah |
11:30 |
lucian_ |
erikos: is my blog ok? http://honeyweb.wordpress.com |
11:31 |
erikos |
lucian_, I would prefer the wiki - actually |
11:32 |
lucian_ |
erikos: alright, i'll put it on the wiki then |
11:32 |
erikos |
lucian_, http://fedoraproject.org/wiki/Features/DeviceKit |
11:33 |
|
lucian_, my plan is to have something like that for the roadmap |
11:33 |
|
lucian_, I have to get up a template |
11:33 |
|
lucian_, I guess I should do that *now* |
11:34 |
lucian_ |
erikos: yeah, that looks nice |
11:34 |
|
erikos: i guess I could make a new wiki page without all the GSoC related content |
11:34 |
erikos |
lucian_, ok let me do this - you can then add the info there |
11:34 |
|
lucian_, yup |
11:34 |
lucian_ |
erikos: alright, go ahead |
11:34 |
|
erikos: i'll add content later |
11:34 |
FGrose |
erikos: I could do the wiki template based on the DeviceKit page |
11:35 |
erikos |
lucian_, and we can send a link as a summary to the ml |
11:35 |
lucian_ |
erikos: yep |
11:35 |
erikos |
FGrose, that would be awesome! |
11:36 |
|
ok - looks like we have a plan |
11:36 |
|
lucian_, thanks for joining in today and being such a nice guest ;p |
11:37 |
lucian_ |
erikos: thanks for being a nice host :) |
11:37 |
erikos |
lucian_, do you think this was useful and we should do the same for othe other GSOc projects? |
11:37 |
lucian_ |
erikos: yes, it was quite useful. it always helps to explain your idea to someone else |
11:38 |
|
erikos: and it spurs more feedback, too |
11:38 |
erikos |
lucian_, ok, I can propose this then |
11:38 |
|
lucian_, of course |
11:39 |
|
FGrose, thanks for the Linuxtag event reminder ;p |
11:39 |
|
closes |
11:39 |
|
#endmeeting |