UbuntuTechOverview
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)