All of lore.kernel.org
 help / color / mirror / Atom feed
From: Joshua Lock <josh@linux.intel.com>
To: bitbake-devel@lists.openembedded.org
Subject: Re: [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder
Date: Thu, 23 Feb 2012 18:42:29 -0800	[thread overview]
Message-ID: <4F46F915.5010705@linux.intel.com> (raw)
In-Reply-To: <cover.1330004101.git.dongxiao.xu@intel.com>



On 23/02/12 05:48, Dongxiao Xu wrote:
> Hi Richard,
>
> This pull request is a new implementation for Human Oriented Builder, please help to review and pull.

Please, let's not call it the Human Oriented Builder. It was always just 
Hob, not HOB - are we changing that now?

> Changes from previous pull requests:
>   - Re-implemented a lot of code according to Belen's new GUI design.

This is really hard to review as a several thousand line patch... It's 
difficult to know where what seems like an odd decision in the code was 
made for a sane reason without any git history or code comments to 
follow the logic of the development.

The fact that the patch was rejected by the mailing list is a good 
indication that we need to separate into smaller logical commits.

I could review coding style, but that is probably pretty useless at this 
point and so  offer somewhat superficial comments below regarding UI 
implementation with Gtk+.

First things first, I can't run the BitBake in the submitted branch:

joshual@shamshir:~/Projects/Yocto/poky/build [master *]
$ ../bitbake/bin/bitbake -u hob

Traceback (most recent call last):
   File "../bitbake/bin/bitbake", line 258, in <module>
     ret = main()
   File "../bitbake/bin/bitbake", line 178, in main
     ui_main = get_ui(configuration)
   File "../bitbake/bin/bitbake", line 68, in get_ui
     module = __import__("bb.ui", fromlist = [interface])
   File "../bitbake/lib/bb/ui/hob.py", line 33, in <module>
     from bb.ui.crumbs.hoblistmodel import RecipeListModel, PackageListModel

I found and ran a recent poky-contrib branch for Hob, though I've no 
idea if it reflects what's in this patch, just so that I had something 
to look at and offer feedback on.

The Build environment tab of the settings dialogue doesn't fit in the 
allocated space - I had to resize the dialogue to see Save and Cancel 
buttons. This is also true of the Others tab though less so.
These buttons don't follow the GNOME HIG in several ways, perhaps this 
is intentional?

It's also worth noting that the visual style 'leaks' in the Settings 
dialogue and I see standard Gtk light-bulb info icons rather than the 
steely i displayed on the main page.

The 'Package list may be incomplete' dialogue is a very nice piece of 
functionality but interface-wise I'd expect to see the buttons labelled 
along the lines of 'Get full list' 'View existing'.

It seems like the Stop Build tracking isn't consistently reset between 
builds so when I was playing around started & stopped a build then 
played some more and started another build and tried to stop it I only 
had the option to Force Stop or Cancel...

Taking a look at the code the first thing I notice is multiples of 5 for 
spacing, why is that? I thought we'd agreed with Belen that we'd follow 
the GNOME HIG for consistent visuals amongst Gtk+ apps?
Further, there are still hard-coded colour values. Are these issues on 
the "to fix later" list?

I'm not suggesting these hold up merging - just asking the question. I 
can play HIG zealot and write a patch once this is merged? I think it's 
important we present a professional GUI which matches the visuals of the 
host OS.

The buttons that act like tabs for changing between notebook pages (i.e. 
on the 'Package Selection' view) took me a long time to figure out as 
they look like they are depressed (mid-click) buttons for the inactive 
tabs and ready to click buttons for the active tabs - confusing visual.

There's at least one instance of commented out code (a signal handler 
connection in builder.py) - we can probably drop those, right?

Setting the size and position of windows on each launch (as in 
builder.py) is generally considered to be hostile to users - it should 
be sufficient to start with a sane default size and then as the UI 
allows the user to resize it we should remember the size for the next 
launch.

This UI has come on leaps and bounds and I look forward to seeing this 
foundation polished over the coming weeks. Maybe I can even submit some 
changes myself.

Hopefully this splash of feedback gives you something to work with...

Cheers,
Joshua
-- 
Joshua Lock
         Yocto Project "Johannes factotum"
         Intel Open Source Technology Centre



  parent reply	other threads:[~2012-02-24  2:51 UTC|newest]

Thread overview: 8+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-23 13:48 [PATCH 0/1][PULL] Hob2: A new implementation for Human Oriented Builder Dongxiao Xu
2012-02-23 13:51 ` Xu, Dongxiao
2012-02-24  2:42 ` Joshua Lock [this message]
2012-02-27 12:26   ` Wang, Shane
2012-02-27 23:15     ` Joshua Lock
2012-02-29  2:04       ` Wang, Shane
2012-02-24 18:17 ` Richard Purdie
2012-02-27  0:54   ` Xu, Dongxiao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F46F915.5010705@linux.intel.com \
    --to=josh@linux.intel.com \
    --cc=bitbake-devel@lists.openembedded.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.