App Developer Week -- Unity Technical Q&A -- DBO & jcastro -- Fri, Apr 15th, 2011
1 [21:01] <jcastro> ok so does the bot kick in or what? 2 [21:01] <jcastro> oh well that answers that! 3 [21:01] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2011/04/15/%23ubuntu-classroom.html following the conclusion of the session. 4 [21:01] <jcastro> welcome everyone to the Unity developer Q+A with me and Jason Smith 5 [21:01] <DBO> Howdy folks! 6 [21:01] <jcastro> I'll be fielding the questions 7 [21:01] <jcastro> and then Jason will answer them 8 [21:01] <DBO> like a boss 9 [21:02] <jcastro> so while you think of questions, jason why don't you tell us about some of the cool things you can do in Unity. 10 [21:02] <DBO> So some of our favorite new features in Unity this cycle are lenses, and the new libunity launcher API, I will touch on lenses first 11 [21:03] <DBO> Lenses are bits of pluggable UI used to mash up websites and other applications into the dash 12 [21:03] <jcastro> For example: http://i.imgur.com/yNjY0.jpg 13 [21:03] <DBO> creating a lense (like the one shown above) takes very little time :) 14 [21:04] <ClassBot> james_w asked: what is the dee thing that I keep hearing about? 15 [21:04] <DBO> libdee is a low level dbus based library that is used to keep tables of data in sync between two remote objects 16 [21:04] <DBO> basically libdee provides a stable and fast data model over dbus that abstracts away the annoying syncronization issues 17 [21:05] <DBO> libdee is used in unity to keep places daemon result data up to date in the dash's lenses 18 [21:05] <DBO> I hope that answers your question 19 [21:05] <DBO> another piece of API we have created this time around is the libunity launcher API 20 [21:06] <DBO> this API allows you to modify existing launcher icons in a very simple manner. Currently it supports adding progress bars, count tags, and setting urgency hints to a launcher icon 21 [21:06] <jcastro> Here's an example of Thunderbird integrating with Unity via the launcher API: http://vimeo.com/21027015 22 [21:07] <DBO> Additionally through libunity, application authors are able to add quicklists to their applications, extending existing functionality and providing more right click options 23 [21:07] <jcastro> http://ubunturocking.wordpress.com/2011/04/12/dynamic-quicklists-in-unity/ 24 [21:08] <jcastro> here's an example of how app authors can generate quicklists from their applications 25 [21:08] <ClassBot> saimanoj12 asked: Why are these links not clickable? 26 [21:08] <DBO> because your IRC client has failed you? 27 [21:08] <jcastro> :) 28 [21:09] <DBO> honestly I dont know :) 29 [21:10] <ClassBot> MeanEYE asked: Will there be a possibility to add more than one progress bar to dash using API? 30 [21:10] <DBO> Currently this is not possible 31 [21:11] <DBO> I am not aware of any plans to expand this functionality either 32 [21:11] <DBO> I think the general idea is to keep the design as simple as possible. We dont directly indicate what the progress bars are for, therefor having two would not directly inform you which progress bar belongs to which task 33 [21:11] <ClassBot> MeanEYE asked: Did you plan on adding emblems to counters? For example email client could display how many messages needs to be send and how many unread. This can get UI a bit clunky, maybe putting those in tooltip. 34 [21:12] <DBO> We already do that 35 [21:12] <DBO> libunity::LauncherEntry has a count member variable, that when set results in a count being displayed on the launcher 36 [21:13] <ClassBot> crazedpsyc asked: in his session, kamstrup said progress bars and badges are being, or have already been removed because the design team voted against them. Is this true? 37 [21:13] <DBO> Progress bars have been kept, badges were removed, count is still present 38 [21:13] <DBO> and being able to set urgency status was also added at the same time 39 [21:14] <ClassBot> MeanEYE asked: Did you consider making minimum width of indicator items? For example bluetooth icon is always narrow which can be a pain to click if you are using touchpad or something like that. 40 [21:14] <DBO> Yeah, that bug has reported to Neil, a fix should arrive on your system soon :) 41 [21:14] <ClassBot> stefano-palazzo asked: Are there plans to implement counts et al for Places this cycle? 42 [21:15] <DBO> Currently there are no plans to implement this, it would require changes to the libunity protocol and we are well passed freeze for that. On a design end I am not sure they want to see counts there anyhow 43 [21:15] <DBO> Though I can see where you might want them, we'll see where next cycle goes :) 44 [21:16] <ClassBot> crazedpsyc asked: Does the dash file search use tracker? Or what? 45 [21:16] <DBO> It uses zeitgeist actually, we dont currently use tracker and dont have any plans to in the future (so far) 46 [21:17] <DBO> Though there are obvious issues with zeitgeist right now (sometimes the results are less than optimal) and we are hoping to resolve that in the future 47 [21:17] <ClassBot> MeanEYE asked: How well Unity supports multiple-displays? 48 [21:17] <jcastro> I use unity in twinview 49 [21:17] <jcastro> it's an area we spent some time on 50 [21:18] <jcastro> what happens currently is the extra monitor also has a panel 51 [21:18] <jcastro> and the appmenu and indicators also show up there 52 [21:18] <jcastro> in the past the menus and stuff were on the other monitor 53 [21:18] <jcastro> so it made it a loooooong journey to the menu when using a mouse 54 [21:18] <jcastro> now each panel gets a menubar 55 [21:18] <jcastro> I think it's much better than what we had in gnome 2 56 [21:19] <jcastro> since we now have a panel that isn't so crufty 57 [21:19] <jcastro> when you plug in an external monitor it doesn't jumble your indicators anymore 58 [21:19] <ClassBot> crazedpsyc asked: Are there any plans to at least have the option of a moveable launcher (maybe drag, or just align-to-edge)? 59 [21:19] <DBO> Currently there are no plans to implement a movable launcher 60 [21:20] <DBO> however we have talked about the need to support RTL languages 61 [21:20] <DBO> and this would likely require the ability to place the launcher on the right 62 [21:20] <DBO> combine this with the newly landed edge reveal option 63 [21:20] <DBO> and we will see what the future holds :) 64 [21:20] <ClassBot> MeanEYE asked: Global menu seems slow when it comes to drawing. Also it fails to draw menu items with custom widgets in it. Are there plans to fix this? 65 [21:21] <DBO> The biggest issue with this is that the widgets have to be communicated over dbus 66 [21:21] <DBO> while dbus is flexible, we have not fully implemented everything you can dream up yet (obviously) 67 [21:21] <DBO> most of the normal cases, and even some of the more abnormal ones have been covered 68 [21:21] <DBO> as time goes on I hope this support will grow and continue 69 [21:22] <ClassBot> saimanoj12 asked: Is unity same as gnome3? 70 [21:22] <DBO> Unity is based on top of a mixture of GNOME 2 and GNOME 3 technologies right now 71 [21:23] <DBO> while it uses gdk/glib and gtk from GNOME 2, it also uses gdbus and dconf, which are largely used within GNOME 3 72 [21:23] <DBO> when GNOME 3 lands in full next cycle, we will be ready to adapt to any new technology changes 73 [21:24] <DBO> we will be migrating all of our GTK/GDK code over to GNOME 3.0 technologies for Oneiric :) 74 [21:24] <ClassBot> crazedpsyc asked: What language(s) [is/are] the launcher specifically written in? What modules or libraries does it use? 75 [21:25] <DBO> The launcher, dash, and panel are all written in C++ 76 [21:25] <DBO> we use a base opengl library called nux to provide widgets 77 [21:25] <DBO> nux is also C++ based 78 [21:25] <DBO> our places (the files and applications place) are written in vala 79 [21:25] <DBO> some third party places (the reddit place and askubuntu) are written using python 80 [21:26] <ClassBot> Titeuf_87 asked: currently I see three different kind of scrollbars: does the new kind of "small" scrollbar need to be implemented on a per-app basis? 81 [21:27] <DBO> It is implemented by the theme engine actually 82 [21:27] <DBO> currently we are using a whitelist to enable it in well tested applications where we are sure it does not cause bugs 83 [21:27] <DBO> I am not sure if the whitelist will remain through until release, or if we will see a global enablement 84 [21:27] <DBO> Obviously we see considerable value in having a consistent visual look across all scrollbars 85 [21:28] <ClassBot> MeanEYE asked: At the moment Unity is not allowing amount of window shadow to be changed. Is this on purpose? 86 [21:28] <DBO> I think this is largely due to missing support 87 [21:28] <DBO> we just didn't have time to turn this into a configurable size option 88 [21:29] <ClassBot> gmb2001 asked: I've noticed today that when double clicking the globalmenu that the window restores from being maximized, but off to the right. Is this a known bug? 89 [21:29] <DBO> It is now! 90 [21:29] <DBO> I haven't heard that reported before 91 [21:30] <DBO> I will make sure sam gets the message :) 92 [21:31] <ClassBot> MeanEYE asked: Can we expect PPA or something like that for Unity in Natty during the Oneric development cycle? 93 [21:31] <DBO> I am not sure to be honest 94 [21:31] <DBO> we have always maintained a daily PPA 95 [21:32] <DBO> and I imagine weekly releases will be available for Natty until library version delta's become too big 96 [21:32] <DBO> and we are no longer able to support Natty 97 [21:32] <jcastro> FYI: https://launchpad.net/~unity/+archive/daily 98 [21:32] <DBO> (that will happen probably in the first couple months) 99 [21:32] <DBO> once we port to GTK 3, it will be much harder to backport 100 [21:32] <ClassBot> crazedpsyc asked: What library did Unity's launcher use to get an average color out of each icon? I tried to do something like this but it resulted in most of my buttons being black or grungy 101 [21:33] <DBO> So I wrote that actually :) 102 [21:33] <DBO> The original algorithm I wrote for Docky, we them ported that over for usage in Unity 103 [21:34] <DBO> it basically loops over each pixel and adds up the R/G/B and biases against desaturated pixels (and obviously gives little weight to transparent pixels too) 104 [21:34] <ClassBot> MeanEYE asked: Have you considered a development model for Unity that resembles one of Google Chrome, having stable and development branch, releasing as often as possible? 105 [21:34] <DBO> we have been doing weekly releases for the passed 6 months 106 [21:35] <DBO> I am not sure we are going to move a chrome-esque development model 107 [21:35] <DBO> I actually rather doubt it 108 [21:37] <ClassBot> MeanEYE asked: Few days ago I tested Unity on my laptop connected to WiFi. Whenever I clicked "start" button (or whatever you call it) I noticed few seconds before shell became responsible again. Will there be an option for us to disable lenses and how does Unity handle lenses that require internet on disconected machine. 109 [21:38] <DBO> Lenses are totally async (they are different processes) and should not cause the shell to freeze while waiting on a lense 110 [21:39] <DBO> if you are experiencing a freezing type issue, there is a fix for these kinds of issues going into todays compiz release 111 [21:39] <DBO> you may wish to check that out :) 112 [21:39] <DBO> if that doesn't help, we love bug reports (well not really, but we read and respond to them) 113 [21:41] <ClassBot> davidcalle asked: Are you planning a way to bookmark some searches in lenses? 114 [21:41] <DBO> No, but as a personal note, I think its an awesome idea 115 [21:43] <ClassBot> Titeuf_87 asked: are lenses a bit comparable to what was the deskbar-applet in older versions of Gnome? 116 [21:44] <jcastro> sort of 117 [21:44] <jcastro> they are searchable and stuff 118 [21:44] <jcastro> I think they're more equivalent to firefox custom search things 119 [21:44] <jcastro> but at the OS level 120 [21:44] <jcastro> so like you know how some websites let you install their search engine in firefox 121 [21:44] <jcastro> lenses are kind of like that 122 [21:45] <jcastro> so I can just hit the windows key, type "rick roll" and the youtube lens would return a list of videos to me 123 [21:45] <jcastro> what makes lenses more powerful is that we can also connect to applications. 124 [21:45] <jcastro> so we can search things on your PC for you as well as the web 125 [21:46] <ClassBot> MeanEYE asked: What's the reason behind making Launcher menu with custom graphics and not using system menu style? 126 [21:46] <DBO> Short answer: that is how design wanted it 127 [21:46] <DBO> Long answer: we wanted something that was flexible, fast, and would look exactly how we wanted it to 128 [21:47] <DBO> (not a very long, long answer) 129 [21:47] <ClassBot> crazedpsyc asked: Will the top panel ever get the option to autohide? I have all my AWNs autohidden or over windows because my screen is so small vertically... 130 [21:48] <DBO> so the awesome thing about Unity is how much vertical it saves you without having to resort to autohiding 131 [21:48] <DBO> by embedding the decorations into the panel when a window is maximized, you gain as much vertical space as you would from an autohiding panel 132 [21:48] <DBO> combine this with the global menus, and you gain 24 more pixels or so on top of that 133 [21:48] <DBO> but 134 [21:49] <DBO> no, we dont have any plans to autohide the panel 135 [21:49] <ClassBot> MeanEYE asked: At the moment if you highlight an item in dash using your keyboard and then move your mouse over a different item bot of them will be highlighted in the same way. Will this change, since it can bring confusion?! 136 [21:49] <DBO> Yes that is a bug 137 [21:49] <DBO> we will fix it (I hope) for natty 138 [21:50] <ClassBot> soreau asked: What should we tell users that just want their old compiz+gnome-panel back? Is there a non-unity session selectable from gdm? 139 [21:50] <DBO> there is an ubuntu classic session in gdm 140 [21:50] <DBO> those users will be well serviced by that! 141 [21:50] <ClassBot> soreau asked: Is there a way to select non-unity session by default? 142 [21:50] <DBO> after you select the classic session once it will remain the default from then on 143 [21:51] <ClassBot> MeanEYE asked: Now that Unity is Compiz based, will Canonical pay more attention to default eye candy? (more of a general question actually) 144 [21:51] <DBO> yes, the compiz defaults will be under constant review and scrutiny 145 [21:51] <DBO> this cycle we have made as many changes as possible that we thought would improve the user experience 146 [21:52] <ClassBot> There are 10 minutes remaining in the current session. 147 [21:52] <DBO> Now that you all have voice 148 [21:52] <DBO> let the free for all begin! 149 [21:52] <ClassBot> stefano-palazzo asked: we can assume that LibreOffice will be integrating its menu into the panel before the release, yes? How hard is it for a big app, especially if it's not written using GTK, to make its menu compatible with Unity? 150 === davidcalle is now known as davidc3 151 [21:52] <DBO> Its in universe, but it's not shipped by default 152 [21:52] <DBO> probably ready for 11.10 153 [21:53] <DBO> like with any application that doesn't use the standard toolkit, it can be difficult to fully integrate with the OS 154 [21:53] <ClassBot> htorque asked: the lenses and the workspace switcher seem to be quite important launcher items. why are they placed at the lower end of the launcher, where they are likely to get folded/expanded off-screen instead of having them at the top (or even movable)? 155 [21:54] <DBO> As important as they are, we feel they are not as important as your favorite applications 156 [21:54] <DBO> However, I think that considering the folding behavior, this will be an area of attention in the next cycle 157 [21:54] <DBO> finding a way to make sure lenses and workspace switcher are as easy to access as anything else 158 [21:55] <ClassBot> crazedpsyc_ asked: But will GTK apps automatically use the global menu? 159 [21:55] <DBO> yes, unless they do something really strange 160 [21:55] <ClassBot> soreau asked: What is the key purpose behind lenses? 161 [21:55] <DBO> lenses are designed to give access to applications, files, and web resources inside of the Unity shell 162 [21:56] <DBO> lenses are extensible, which is quite nice for third party developers 163 [21:56] <ClassBot> There are 5 minutes remaining in the current session. 164 [21:56] <DBO> they basically serve to replace the existing gnome menus 165 [21:56] <DBO> (and much more) 166 [21:56] <ClassBot> MeanEYE asked: Can we expect an option to hide unusable items from Launcher? 167 [21:56] <DBO> Not this cycle, maybe next 168 [21:56] <DBO> we'll see :) 169 [21:56] <ClassBot> maxb asked: Is more configurability (especially of auto-hide / edge-reveal timeouts) in the short term plan? 170 [21:57] <DBO> Edge reveal timeout may receive some tweaking this cycle, which may result in an option popping up in CCSM, we'll see 171 [21:57] <DBO> we are not planning on adding options explicitly however 172 [21:58] <jcastro> ok, that's about all the time we have 173 [21:58] <jcastro> whew, we really went through a ton of options. 174 [21:58] <jcastro> I mean questions. 175 [21:58] <jcastro> thanks everyone for asking so many questions!