Dev Week -- Ubuntu Technology overview -- mhall119 -- Tue, Jan 31st, 2012

   1 [17:00] <mhall119> hi everybody!
   2 [17:00] <mhall119> so this is going to be a short session, only 30 minutes
   3 [17:00] <ClassBot> Logs for this session will be available at http://irclogs.ubuntu.com/2012/01/31/%23ubuntu-classroom.html following the conclusion of the session.
   4 [17:00] <mhall119> Most of what I'll be talking about here will be covered in more detail in other sessions
   5 [17:01] <mhall119> so Ubuntu as a development platform provide a number of unique features that, as an application developer, you will probably want to work with
   6 [17:02] <mhall119> I'm sure you all know Unity, the default desktop shell since Ubuntu 11.04
   7 [17:02] <mhall119> but Unity is more than just a desktop, it's also a development platform that your apps can integrate with
   8 [17:03] <mhall119> The launcher will use normal .desktop files, but you can also add what are called "QuickLists", a set of options for your application that are made available through the Unity interface
   9 [17:03] <mhall119> your app doesn't even nee to be running
  10 [17:04] <mhall119> for example, Thunderbird has QuickList items for composing a new email, or opening the address book
  11 [17:05] <mhall119> in the Dash we have Lenses which let users quickly find content, both on their computer and off the internet
  12 [17:06] <mhall119> we ship a set of default lenses, but it's easy to add your own, or even provide an additional "scope" to feed content from your application into any of the existing lenses
  13 [17:06] <mhall119> there are currently over 50 lenses and scopes being developed for Unity
  14 [17:07] <mhall119> Like QuickLists, your lenses and scopes will be available to users even when your application isn't running
  15 [17:07] <mhall119> it's all integrated into the desktop
  16 [17:07] <mhall119> in the top panel of Unity we have application indicators
  17 [17:08] <mhall119> Indicators provide a more useful and user-friendly interface to application that are running, but may not have an active window
  18 [17:08] <mhall119> they also let us group similar functionality and information
  19 [17:09] <mhall119> for example, all your message notifications are available in the messaging indicator
  20 [17:09] <mhall119> and you can control your speaker volume and music playback from the sound indicator
  21 [17:09] <mhall119> all of these provide APIs that your application can use
  22 [17:10] <ClassBot> pawel_st asked: ​ If I'm not mistaken, the current lens architecture & API assume all lenses are daemons. This has implications when more and more lenses are added to the system. What was the rationale for this architecture? Is there an alternate approach?
  23 [17:10] <mhall119> so the rationale for keeping them separate is that we don't want a problem in one of them to crash everything else
  24 [17:11] <mhall119> right now if a lens or scope crashes, everything else keeps working, and Unity will reload the daemon process for that one lens and try it again
  25 [17:11] <mhall119> join #ubuntu-unity if you want to discuss more technical details about the implementation
  26 [17:12] <ClassBot> satanselbow asked: Is this section about developing for Ubuntu or Unity?
  27 [17:12] <mhall119> this session is giving an overview of Ubuntu's technologies (of which Unity is a big one), that you are likely to encounter during the rest of the week
  28 [17:12] <ClassBot> jincreator asked: Why indicator-applet need whitelist? It's really hard for people to add their applications at indicator.
  29 [17:13] <mhall119> we want to move everything to using application indicators, but some apps haven't yet upgraded and are still using the gnome systray icons
  30 [17:14] <mhall119> for those that need a systray icon, you can whitelist them so they are displayed in Unity
  31 [17:14] <mhall119> !q
  32 [17:14] <ClassBot> laza36 asked: ​ What's an example for a scope that gets installed as a default?
  33 [17:14] <mhall119> the default lenses are for Applications, Files and Music
  34 [17:15] <mhall119> the Music lens will show both local music, and things available for purchase through the U1 music store
  35 [17:15] <mhall119> there are also scopes written by community members that will feed music options from services like Spotify into the Music lens
  36 [17:16] <mhall119> One of the main advantages of lenses is that they allow other people to write scopes to feed results into them
  37 [17:16] <ClassBot> Kvrmurthy asked: What are lens and scopes?
  38 [17:17] <mhall119> https://wiki.ubuntu.com/Unity/Lenses and https://wiki.ubuntu.com/Unity/Lenses/Guidelines give a pretty detailed description
  39 [17:17] <mhall119> but the short answer is that Lenses display content, and Scopes supply content
  40 [17:18] <mhall119> lenses will be discussed in much more detail at 1900
  41 [17:18] <mhall119> I encourage you to stick around for that
  42 [17:18] <mhall119> Many of you have probably seen the new HUD prototype
  43 [17:19] <mhall119> Since Unity is exporting application menus over DBus to display them in the top panel, that also means we can use that data for other interesting things
  44 [17:19] <mhall119> which is what the HUD does, allowing you to search for menu action without having to know where they are
  45 [17:19] <ClassBot> calmpitbull asked: just got in :) what is the best way to start programing my own lens, and where to start
  46 [17:20] <mhall119> calmpitbull: stick around for the 1900 UTC session and they will cover all of that
  47 [17:20] <mhall119> outside of Unity we also have the Ubuntu One cloud syncing service
  48 [17:20] <ClassBot> There are 10 minutes remaining in the current session.
  49 [17:20] <mhall119> Ubuntu One lets users sync files between multiple computers, but it also provide an API for application developers to use
  50 [17:21] <mhall119> for example, the Tomboy notes application uses Ubuntu One to sync it's note data
  51 [17:21] <mhall119> and there is a new API in the works for syncing key-value data, called the U1DB
  52 [17:21] <mhall119> there will be a session on Thursday covering both of those
  53 [17:22] <mhall119> then we have the Software Center and http://developer.ubuntu.com, which provide application developers an easier way of distributing their application on Ubuntu
  54 [17:22] <mhall119> there is even support for selling commercial applications through the Software Center
  55 [17:23] <mhall119> and we have a dedicated Application Review Board (ARB) that will help you with that process
  56 [17:23] <ClassBot> nava asked: we know unity is API for all (tablet,tv,phone) and also we know all mobile OS have a sdk , what about ubuntu ?
  57 [17:24] <mhall119> So this collection of technologies, together with the foundation of Ubuntu itself, will essentially be your SDK
  58 [17:25] <mhall119> we have tools such as Quickly that will get you started and automate a lot of the work around packaging
  59 [17:25] <mhall119> Ubuntu does not force you into specific programming languages or toolkits though, you can use whatever you're comfortable with as long as it's available on Ubuntu
  60 [17:25] <ClassBot> There are 5 minutes remaining in the current session.
  61 [17:26] <mhall119> and best of all, All of these APIs are going to be the same, whether it's Ubuntu on desktop, TV, tablet or phone, you don't need to learn different technology
  62 [17:26] <ClassBot> jrzabott asked: I used both synapse, like the unity menu... but i still have the feeling that synapse is more efective for the commom and home user... it have more speed, and it is lighter... If we put more daemons, lens, scopes and etc... i'm affraid it get worse... what do ya think?
  63 [17:26] <mhall119> I'm not familiar with synapse, so I don't really have an opinion
  64 [17:26] <ClassBot> rich3 asked: You mentioned Dbus.  what is dbus?
  65 [17:27] <mhall119> DBus is a low-level messaging system, it allow different processes to communicate with eachother, without being tied to eachother
  66 [17:27] <mhall119> For example, Scopes and Lenses get a DBus message from the Dash when you enter a search, and then they send DBus messages back to the Dash with their results
  67 [17:27] <ClassBot> pawel_st asked: ​ is lens/scopes api stable/going to be stabilized with 12.04; will backwards compatibility be maintained from now, or is it still a moving target?
  68 [17:28] <mhall119> the lens API had to be changed between Oneiric (11.10) and Precise (12.04), because the original way of doing thing wasn't going to be efficient enough
  69 [17:28] <mhall119> but the new API should be all but set in stone
  70 [17:28] <mhall119> the changes to the API, by the way, were not very drastic
  71 [17:29] <mhall119> I was able to update my code in just a couple of hours
  72 [17:29] <ClassBot> nava asked: we have tv with unity 2d (Qt) ,is Qt main language for also mobile and tablet ? or sth. else
  73 [17:29] <mhall119> Both Qt and GTK are first-class toolkits in Ubuntu
  74 [17:30] <mhall119> The TV demo was done in Qt and Unity-2d, but that won't matter from the perspective of an application or lense developer

MeetingLogs/devweek1201/UbuntuTechOverview (last edited 2012-02-01 10:26:55 by dholbach)