ScottRitchie

Revision 33 as of 2007-04-20 23:35:49

Clear message

ScottRitchie

Hey, I'm Scott Ritchie. You can usually find me on IRC as YokoZar, both in #ubuntu-devel and #winehackers. [https://launchpad.net/~scottritchie Launchpad link].

I make the wine packages at winehq.org, which so far have been getting synced straight to Ubuntu by [wiki:StephanHermann Stephan Hermann]. I started making them and putting them up at winehq.org after the ones included in Debian (and therefore in universe) became horribly broken and out of date. I've tried becoming the official Debian maintainer, as well as getting him to sponsor my packages, but have been completely unsuccessful and have basically given up on getting anything "official" in Debian at this point. Regardless, I was pleasantly surprised when [wiki:JeffWaugh Jeff Waugh] came directly to me and asked me to sign up for Ubuntu. That was back in the Hoary days, and I've been directly helping ever since.

I'm primarily concerned with usability of Wine software, including proper packaging and documentation work. My goal is nothing short of making Wine easy and effective enough to be an official supported package in Ubuntu. Like most developers, however, I like to try my hand at being useful throughout the entire project, doing everything from filing bugs in other packages to drafting entire specifications.

Specifications I've been brainstorming:

  • BetterIntegratedWineSpec - a spec to improve Wine's usability in Ubuntu

    • -- currently needs to be revised to reflect upstream Wine improvements and a few new goals (see below)
  • EmuleViaWineSpec - a spec to integrate eMule as a regular application in Ubuntu, powered by Wine

  • JabberAccountCreationSpec - a spec to make it very easy to create a Jabber account when first starting Gaim

  • Amd64BitWinePackage - my attempts at making a 64 bit Wine package that can run 32 bit apps.

  • MouseConfigurationSpec - a spec to allow disabling of x11's left+right = middle click feature from the Preferences->Mouse panel

    • -- this is harder to fix than a simple bug, since currently this is controlled by the xorg configuration file rather than the desktop environment, and so a new freedesktop.org standard to change it on the fly needs to be drafted and implemented.
  • UsefulDisksManagerSpec - a spec to beef up the disks manager applet to include error checking and other features

    • -- obsolete since the disks manager has been removed, although it should probably come back in some form (with these features Wink ;) ) In any case, there should be a way to graphically run fsck from the system menu.

Todo list:

  • Become an MOTU
  • Clean up my wiki page
  • Finish, submit, and get approved the specs above - a few are Wine related, the rest are general usability things I've thought of.
  • File bugs in launchpad for all the work I've created for myself here...
  • Get community help in making a full-fledged Ubuntu Windows theme, to use in Wine (when Wine's theming support starts working fully). In the interrim changing the default colors to match the Ubuntu default theme is a partial step, although things will get ugly when a user changes his Ubuntu theme.
  • A very useful (for Ubuntu) app would be eMule, however compiling it in Winelib so it builds on Ubuntu will be a bit hard as it's built in MSVC normally and there currently is no "simple" MinGW build. eMule would be a great candidate for inclusion with Feisty + 1, both for its utility and as a demonstration of how other windows programs can be seemlessly moved into Ubuntu - see EmuleViaWineSpec.

Wine todo list:

  • The wine launcher needs to set the working directory of the program correctly after double-clicking an executable file. Most windows apps expect the working directory to be where the application resides, but Gnome's (and I think KDE's) default behavior is to set it to ~/
  • Integrate the fancy icons at: http://200.181.205.134/wine/

  • Warn the user if they don't have OpenGL installed
  • Winecfg and the Wine application uninstaller need to be added to Wine's menu by default. We might want to move these to some other place in the menu (eg system->preferences) in an official package.

  • There also needs to be a "browse virtual windows drive" option that opens the .wine/drive_c/ folder in nautilus (and not Wine explorer). In an official package, this might best be a place selectable under the places menu.

  • Wine usability changes that need to be done:
    • .msi files need to have an install option that launches "msiexec /i (filename)"
    • There needs to be a way to tell users they don't have a Windows font installed and that things look broken as a result (eg, steam and tahoma.ttf). We could either include a free replacement font (if available), or treat some of these fonts like restricted files (eg msttcorefonts package). Either way, something other than displaying blank text needs to happen - even an ugly font is better than nothing.
      • -- this could be done through changing a default registry entry for Wine to add a replacement for tahoma.ttf...but which font is a good replacement?
  • Documentation

    • Updating the content of the Wine User Guide itself is largely done, however live help needs to be provided elsewhere (such as Winecfg)
      • -- Some documentation changes will need to be made as Wine 1.0 approaches, however, as more and more things like msi installs "just work"
    • Wine's changed a bit too: double clicking apps should just work, except for this bug in nautilus in edgy: [http://tuzakey.com/~scott/wine-without-mime.png] and an issue with setting the working directory properly.

    • The Wine documentation also needs to be moved into the right places. Currently it's in a separate package upstream and isn't even included in the Wine packages in Ubuntu. This is ok, since most people just read the manual from winehq.org, but we'll need to actually integrate the docs properly if we want to support Wine.
    • Need to convert Wine docs to XML (they're sgml at the moment), which is a blocker for using the scrollkeeper OMF standard and porting to the standard freedesktop help format.
  • Winecfg:

    • Winecfg needs a pretty through redesign, as it has some annoying usability issues such as tabs referring to other tabs. I've got a sketch outline on my notebook of what a new winecfg would look like, I should digitize and spec it out soon.
    • Need to separate logic of winecfg (eg command to change audio drivers) from the program itself. These can all be converted into terminal commands since all they do is modify the registry in some predictable way. Then any application can properly reconfigure Wine, such as winecfg, a custom install script, a new user interface, or a system control applet.
    • Then, we can make a new config program in a toolkit native to the desktop environment, like in GTK. The configuration applet could then even be launched from System->Preferences->Windows Applications

    • There also needs to be a fonts configuration tab to organize font aliases, along with some default ones like for tahoma

Miscellaneous tasks for myself:

  • Patch pbuilder to create pbuilder-dapper, pbuilder-edgy, pbuilder-feisty, pbuilder-etch, pbuilder-unstable etc. packages that depend on pbuilder and setup the separate chroot environments like the instructions on the wiki page show. This would greatly reduce the time for package developers to support different package versions.
  • Write up a spec for point and click installation of a third party apt repository. As it stands, the installation instructions on [http://winehq.org/site/download-deb this page] are too complicated - a user must first identify his Ubuntu version, then run two terminal commands, and then make sure he runs them again when he upgrades distro versions six months later. A user should be able to simply click a link in FireFox, enter his password, and have it all be set up for him. It also took me as a repository maintainer quite a bit of time to figure out how to set that up - as we encourage more and more ISVs to create their own repositories, setup should be made more standardized and clear.

    • -- APT needs to be extended a bit too, in order to get the repository name from the repository itself (or from the installer file mentioned earlier); user's should have to see "wine.budgetdedicated.com/apt" before they see "WineHQ APT repository" in their system configuration panel.
  • Write up a howto on setting up a third party repository, since I run the most popular one. ISVs will want to know how simple this is, and what kind of work they can expect maintaining it. I envision a day where I can download the latest Doom 3 from an APT repository, and have it work perfectly after entering in my CD Key.
  • Write up a post on the eMule forums detailing the argument for weighted random queue answering and an increased preference for peers who have uploaded more. I'm convinced that the overall speed and health of the network can improve significantly by two relatively simple changes, however it may require a well written argument and a mathematical model to convince the developers.

Interests Outside of Ubuntu:

  • I've been teaching myself Python for the purpose of conducting my own research into mathematical analysis of different [http://en.wikipedia.org/wiki/Voting_system voting systems]. I plan to develop this research further as I head into grad school, and publish results as they come. I even see myself writing a book at some point, albeit that's around 4 years into the future.


CategoryHomepage