UnityQ&A

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!
 176 

MeetingLogs/appdevweek1104/UnityQ&A (last edited 2011-04-18 13:14:47 by dpm)