Mythbuntu

Ubuntu Open Week -Mythbuntu - Mario Limonciello - Fri, Oct 26, 2007

18:07 < superm1> Hi everyone, my name is Mario Limonciello, and I'm leading the Mythbuntu effort.
18:07 < superm1> I'm assuming that everyone attending here today has at least heard of Mythbuntu.  In case you haven't though, I'd recommend you take a quick look at our homepage at http://www.mythbuntu.org .
18:08 < habitantee> q dice la comunidad
18:08 < superm1> i'll talk a little bit about our bases and then move over a little to talk about the development cycle
18:08 -!- mode/#ubuntu-classroom [+o Daviey] by ChanServ
18:08 < superm1> The big thing that makes Mythbuntu stand out from other similar projects is its relationship within the community.  All development is done directly within the Ubuntu archives and follows the standard Ubuntu release cycle.
18:08 < superm1> We are happy to share our code, artwork, and everything we have learned during development with other teams.
18:09 < laga> habitantee: wrong channel, try #ubuntu
18:09 < superm1> We have actually been in colaboration with the Ubuntu Media Center (UMC) team regarding some common blueprints and goals that we share such as remote control support (LIRC).  Likewise, the UMC team has begun to adapt some of our scripts and smaller applications that we use to create our environment.
18:10 < superm1> there has been a common push between us to make remote control support a more OOTB (out of the box) user friendly experience
18:10 < superm1> items here have ranged from adding support for pre-compiled kernel modules, improving debian install scripts, all the way to writing custom third party applications to help
18:11 < superm1> By using Ubuntu as our base and doing the development within the Ubuntu archives, we have a requirement of interaction with a large variety of other teams.
18:11 < superm1> One of these teams is the MOTU (masters of the universe) team.
18:12 < superm1> you may have attended some meetings in here where they discussed packaging and how all the things in universe get maintained
18:12 < superm1> All of the Mythbuntu specific packages sit in Universe or Multiverse.  Since i'm now a MOTU, I am typically the person sponsoring our packages.  This doesn't mean however that I am the sole sponsor or developer of the packages.
18:13 < superm1> if mythbuntu is to eventually turn into a canonical "supported" project, these packages will eventually need to be moved over to the 'main' component
18:13 < superm1> Several of our team members have aspirations to eventually become MOTUs themselves.  I am working with them and trying to teach them how to properly produce packages that are sufficient for the archive.
18:14 < superm1> PPAs (personal package archives) have been immensely useful here in testing our new packages.  Since our build process doesn't currently use the standard Ubuntu CD image builder, we have been able to add support for using a PPA to build the disks.
18:14 < superm1> If one of us has a package that needs to be verified to work correctly before pushing it out to the archive, it can be pushed to the PPA.  Any of us can then initiate a new local CD build that would use the PPA.  Once the CD build has been verified to work with that package, it can be pushed to the normal Ubuntu archive.
18:15 -!- mode/#ubuntu-classroom [-o PriceChild] by ChanServ
18:16 < superm1> If you are considering becoming a MOTU yourself, we are always looking for more people to help maintain and add additional new packages.  If you'd like to try to work on helping us with some packages to add to your portfolio of sponsored uploads, come and join us and we can try to help mentor you.
18:16 < laga> regarding the move to main: currently, the MythTV packages cannot be moved to main because of dependencies, eg liblame. liblame is used to encode the audio stream with some types of TV cards.
18:16 < superm1> if ever MythTV can be abstracted to depend on liblame or a third party "for purchase" decoder/encoder, this can become more feasible
18:17 < laga> we'd have to move away from liblame and friends to put mythtv into main. in order to do that, we'd need to work with upstream. there's also been an (orphaned AFAIK) project on debian's alioth server which tried to do just that.
18:17 < laga> superm1: yes, this will require some careful interaction with upstream. upstream seems to like liblampe a lot - that's an adventure for the future :)
18:18 < superm1> well, so if anyone has an interest in doing this, we can chat some more in our development channel about technical requirements and alternatives
18:18 < superm1> I'll jump back onto what i was going to go into next :)
18:18 < superm1> So wrg to packaging, the way that I got involved with Ubuntu originally was by working on the 'mythtv' package
18:19 < superm1> personally i've tried to stick to very related packages such as lirc, ivtv, mythplugins, ffmpeg, mplayer etc
18:20 < superm1> lots of MOTUs like to have diversity in the packages they work with, but i'll say its not necessary to become a MOTU
18:20 < superm1> the more important part is to show the knowledge that you have with packaging, and the conciseness, and concern for intricacies and ramifications for changes
18:21 < superm1> okay moving on:
18:21 < superm1> Another big area that we touch upon is Ubiquity.  We are the first Ubuntu derivative to have a custom frontend for Ubiquity.  Our frontend for it is derived from the GTK frontend.
18:21 < superm1> ubiquity is written in the sense that it can have different "interfaces"
18:22 < superm1> when you install a standard GNOME based Ubuntu install, you use the GTK interface
18:22 < superm1> if you install Kubuntu, you will see that it uses a QT based interface instead
18:22 < superm1> both of these interfaces are considered 'frontends' which call upon common code that is used to actually do the installation
18:22 < brobostigon> is this the mythbuntu session??
18:22 < superm1> brobostigon, Yes
18:23 < laga> because kubuntu uses KDE which is based on QT - you get a more consistent interface.
18:23 < brobostigon> thanks
18:23 < superm1> mythbuntu doesn't really have a standard 'interface' per say like gnome and kde do though
18:23 < superm1> we have just chosen to adapt GTK out of a personal preference
18:23 < superm1> so our frontend then derives a lot of its functionality directly from the GTK interface that is used for Ubuntu
18:24 < superm1> By using this custom installer we have the ability to ask questions and perform installations that would typically only be available in an alternate type installer.  We can then have custom post installation steps and do a lot more than the standard installer.
18:24 < superm1> if you have looked at the Ubuntu installer, it is much shorter than ours is.  Ours is actually about twice as long.
18:24 -!- mode/#ubuntu-classroom [+v superm1] by ChanServ
18:24 <+superm1> by doing this, we are able to ask additional questions to better customize the system, and packages installed before you actually reboot.
18:24 < laga> some time far, far away we might use the MythTV UI libraries to build an installer (and port mythbuntu-control-centre as well), but that won't happen soon. if you're interested, there's a very interestinjg üproject called "mythpython" which aims to porvide python bindings for the UI code of MythTV
18:25 < laga> it's still in its early stages, though. search the mythtv-dev mailing list if you're interested. also, you can come to talk to use in our developer channel :)
18:25 <+superm1> it would be very cool to have an installer that was based out of libmythui though too
18:25 <+superm1> the problem is that by using ubiquity our entire installer is based off a combination of sh and python
18:26 <+superm1> so it would be a very involved conversion to go to C or C++
18:26 < laga> not if we end up using mythpython. but we'll have to see how everything works out :)
18:26 <+superm1> as I said our installer disk is kinda like a hybrid between the 'alternate' installer and the normal ubiquity installer
18:27 <+superm1> because so much time had to be put into working on the ubiquity based installation, we didn't manage to finalize the items necessary for an 'alternate' disk install
18:27 <+superm1> this will be one of the goals for the upcoming cycle however.
18:28 <+superm1> something very nice though, the installer team has been very accepting of our code
18:28 <+superm1> so we actually have our ubiquity builds built at the same time as the normal ubiquity
18:28 <+superm1> this being said though there is a lot of work to be done in the installer yet.
18:29 < laga> some examples of what we're doing in our installer: we can set up LIRC (eg make your remote control do something useful), configure proprietary drivers including TV-out, enable VNC and a few more.
18:29 <+superm1> so if anyone would have an interest in learning more about how it works, implementing their own derivative, or even abstracting the frontend further for other derivatives to take advantage of, these are all items you can come and join us to talk about
18:30 <+superm1> As you would expect, like a lot of Ubuntu, we use a lot of custom code to integrate and work with these packages.  A lot of our development has been python lately.  However we are looking people who are interested in helping the project.  This includes artists, translaters and coders to name a few. We're also looking for people who'd like to help out with documentation. If you think you can help our effort, please do get in contact.
18:31 <+superm1> a majority of ubiquity itself is python, as well as multiple of our custom applications that were written
18:31 <+superm1> if you take a look at the screenshots on mythbuntu.org, you will see some for the mythbuntu-control-centre
18:31 < laga> like mythbuntu-control-centre and mythbuntu-lirc-generator
18:31 <+superm1> yup :)
18:32 <+superm1> these are completely custom applications that create an incredible end user experience
18:32 < DaveMorris> screenshots- http://www.mythbuntu.org/image/tid/5
18:32 <+superm1> we're always looking for ideas to improve them still though, and more developers to improve them too
18:33 <+superm1> one of the biggest ways we were looking for help still was translations.  As an example, we are pleased to see our control centre application being translated.  Currently that effort is going suprisingly well with 15 languages being worked on.
18:33 <+superm1> https://translations.launchpad.net/ubuntu/gutsy/+source/mythbuntu-control-centre/+pots/mythbuntu-control-centre . You can also help us translate the packaging scripts at https://translations.launchpad.net/ubuntu/gutsy/+source/mythtv and https://translations.launchpad.net/ubuntu/gutsy/+source/mythplugins
18:34 <+superm1> so as you can see there is a very large variety of areas that we touch upon to make this derivative happen.
18:34 <+superm1> there are many teams that are involved with the interaction, even if indirectly
18:34 < laga> which means there's a very large variety of areas where we can use your help :)
18:34 <+superm1> so even if you don't contribute to us directly, but help out with one of the parent projects that we use: you will help us immensely
18:35 <+superm1> recently since we started to use Xfce, I messaged the Xubuntu development team, and we will be working with them
18:36 <+superm1> so out of that, both xubuntu and mythbuntu will be improving with all of the increased exposure and bug filing that will result
18:37 <+superm1> okay so that's about what i had to say about our development.  So if you would like to get involved, please join us in #ubuntu-mythtv-dev shortly after this meeting.
18:37 <+superm1> we can discuss more of our specifications
18:37 <+superm1> and goals for hardy
18:37 <+superm1> Lastly, I'd like to thank everyone for putting aside some time to come and hear what we're about.  I'll open the floor to any questions.
18:37 <@Daviey> Please ask questions to the mythbuntu dev team in #ubuntu-classroom-chat , and they will be pasted in order.  Thanks
18:38 <@Daviey> < DaveMorris> [QUESTION] What does mythbuntu plan to add over the coming  Hardy cycle?
18:38 <+superm1> well we've got a very large (and growing) list of specs
18:38 <+superm1> https://blueprints.edge.launchpad.net/mythbuntu/
18:39 <+superm1> some of the bigger ones will be switching over to mythtv 0.21 as it gets released
18:39 <+superm1> and adding support for out of the box IR blasters
18:39 <+superm1> and consequently multiple LIRC devices
18:39 <@Daviey> We are also at a stage where we really need to thrash out some ideas that we have had.  These will be converted into blueprints for inclusion in Hardy (8.04)
18:40 <+superm1> if anyone has any ideas that they would like to see that are not on that list, please feel free to add a spec
18:40 <+superm1> you just need to register with launchpad. anyone registered on launchpad can submit one.
18:41 <+superm1> any additional questions?
18:41 < tgm4883_laptop> [QUESTION] What is the process of becoming a Mythbuntu developer or in aiding in the development of it.
18:42 <+superm1> well there are three big ways that development can be aided
18:43 <+superm1> 1) help out with a project that we use in mythbuntu.
18:43 <+superm1> this is probably one of the best ways, because then we benefit as well as a lot of other people
18:43 <+superm1> 2) Testing testing testing
18:43 <@Daviey> 2a) report bugs, report bugs, report bugs!
18:43 <+superm1> if we don't have people testing our products before release, its hard to gauge what's broken
18:43 < laga> 2b) triage bugs!
18:44 <+superm1> right after our first stable release, there was a large influx of bugs that could have been trivial fixes, but since we had just released, there wasn't much we could do about them at that time
18:44 <+superm1> the biggest point here will be regression testing
18:45 <+superm1> especially if you have very obscure hardware
18:45 <+superm1> there might only be 5 of you out there with that hardware, but if we know that it doesn't work for you, we can fix it and have it work for all 5 of you
18:45 <+superm1> 3) Come and join us in #ubuntu-mythtv-dev
18:45 <@Daviey> < tgm4883_laptop> [QUESTION] If i wanted to help, how active would i need to be?
18:46 <+superm1> we can talk to you about your strengths and weaknesses
18:46 <+superm1> and find where it would be best for you to help out with the project
18:46 <+superm1> you can commit as much time as you would like
18:46 <+superm1> there are no "requirements" per say
18:46 <+superm1> this is after all a community effort
18:46 <+superm1> we can try to set realistic deadlines for different specifications that are assigned and such.
18:47 <@Daviey> So flexible!  If you can help - do :)
18:47 <+superm1> and remember contributing doesn't have to be directly working on code
18:47 <+superm1> translations, helping users, and bug fixing are all great things to do
18:48 <+superm1> our forums are getting quite busy, so the more help the bettter
18:48 <+superm1> s/bettter/better/ :)
18:48 <@Daviey> The initial artwork was done by coders.. and it showed :) .  So anything you think you can bring to the project, we are listening.
18:48 <@Daviey> next?
18:49 <@Daviey> tgm4883_laptop> [QUESTION]  If I had an idea for mythbuntu, whats the best way to make sure it gets into Hardy?
18:49 <+superm1> file a spec on it
18:49 <+superm1> the more information you can add to the spec the better
18:49 <+superm1> if you for example have a remote control that works with a 10 step process
18:49 <+superm1> put that 10 step process in the spec
18:50 <+superm1> if you've got the time and knowledge to do so: even better, join up with us and implement it :)
18:50 <@Daviey> < laga> [QUESTION] how does regression testing work on Mythbuntu? .. and how do i go back to a previous version?
18:51 <+superm1> if you've got some general ideas where things need to be changed, but dont know the final details, we can help you walk through implementing it
18:51 <+superm1> the best way for regression testing is with multiple hard drives
18:51 <+superm1> you dont need to have two 500 gig drives to do it
18:51 <+superm1> just some basic tests would suffice.
18:51 <+superm1> have a working 7.10 install on one drive
18:52 <+superm1> and when you would like to do some regression testing, pop in the other drive instead
18:52 <+superm1> do a test install, and see what has changed and/or stopped working
18:52 < laga> it's also a good idea to keep backups - both of our database and of your whole Mythbuntu install.
18:52 <+superm1> well if you're going to test an upgrade install - yes
18:53 <+superm1> if you are just doing hardware regression testing, you can just do a quick test install to that second drive
18:53 < laga> Please remember that schema upgrades might be performed when a newer version of MythTv is introduced into an existing install. So: think twice before you connect your testing install to your existing master backend. :)
18:54 <+superm1> next q?
18:55 <@Daviey> Any questions people?
18:57 <+superm1> okay well looks like we're finished up here then.  Anyone that would be interested in joining our development, we're going to have a short meeting in #ubuntu-mythtv-dev in 10 minutes.
18:57 <+superm1> thanks again for coming and listening.
18:57 <@Daviey> Thanks superm1
18:57 < mzungu> superm1, many thanks!
18:58 < brobostigon> thanks

MeetingLogs/openweekgutsy/Mythbuntu (last edited 2008-08-06 17:01:23 by localhost)