Welcome to the MacNN Forums.

If this is your first visit, be sure to check out the FAQ by clicking the link above. You may have to register before you can post: click the register link above to proceed. To start viewing messages, select the forum that you want to visit from the selection below.

You are here: MacNN Forums > Software - Troubleshooting and Discussion > Developer Center > Is there an expected increase in integration between IB and PB?

Is there an expected increase in integration between IB and PB?
Thread Tools
Mac Elite
Join Date: Sep 2000
Location: Norfolk, Va
Status: Offline
Reply With Quote
Nov 6, 2002, 06:29 PM
 
I was wondering what the programming community thinks the future trajectory will be for IB. In particular, I'd like to know if anyone expects that the two projects will "merge" to some extent, and if IB will someday be the sole source (and a complete source) for UI design.

For example, I have four "wish list" items I'd like to see. As someone who has just gotten into Cocoa programming, I'm finding the lack of these features to be my greatest hardships:
  • Toolbar design in IB
    I assume this is absent from IB because toolbars are such a new feature. But doing anything in code is bad, IMHO. The ideal API would be as simple as connect the dots, literally, if you ask me.
  • Variable listings in the debugger
    Maybe I'm not using it right, but when I'm running the debugger I have very limited success finding the bugs! I think it is because most of the time it is nearly impossible to find out where in the program the debugger is, and to find out what the variables' values currently are. I would like it if debugger launched a separate app which had a window with all my subroutines (excuse me 'methods' ) listed and program variables, so I could find out where the problem is just by looking.
    As it is, I end up creating variables and sending them to a text field to find out what the problem is...
  • Live editing of instanced objects
    So I created this subclass in IB, complete with outlets and actions, and instantiated it. But then, after I had created the code for this object, I decided I was missing 2 or three actions. So I have to go back and forth between each app to add the missing info. Not a biggie, but it would be nice to not have to keep track of these things. Of course, if my next idea came true, this would be a nonissue...
  • Graphical layout of Class and implementation files in IB
    This is probably the most complicated idea. If you think about it, PB is just a text editor. It links to a compiler, and has fancy functions for code management, but at its heart it's just a few text files. I envision IB being the only program, and all of PB being incorporated into it. Wouldn't it be great if each method, instance, or any paragraph in a PB text file showed up as an OmniGraffle style bubble in IB whenever you selected a GUI object? Then you could see right away what each GUI element did, to what variables with what method. I think this would make it much easier to edit and keep mental order of what does what to whom and how.
    I'm going to do a mock up of this, and show you in my next post.

Any advice for these issues, opinions on others of the sort, or theories as to future solutions?
(Last edited by Gametes; Nov 6, 2002 at 06:35 PM. )
you are not your signature
     
Gametes  (op)
Mac Elite
Join Date: Sep 2000
Location: Norfolk, Va
Status: Offline
Reply With Quote
Nov 6, 2002, 07:00 PM
 
Well, here's my pretty miserable first attempt. I hope it's gets the point across, though its obvious even to me that the implementation for this sort of thing would be complicated. I think we'd see lots and lots of little bubbles everywhere, but that could be customizable like PB's "# of windows" option.

you are not your signature
     
Mac Elite
Join Date: Sep 2000
Location: Tempe, AZ
Status: Offline
Reply With Quote
Nov 6, 2002, 08:40 PM
 
Originally posted by Gametes:
  • Toolbar design in IB
    I assume this is absent from IB because toolbars are such a new feature. But doing anything in code is bad, IMHO. The ideal API would be as simple as connect the dots, literally, if you ask me.
I'd imagine this will come soon - windows already have a toolbar outlet in IB.

  • Variable listings in the debugger
    Maybe I'm not using it right, but when I'm running the debugger I have very limited success finding the bugs! I think it is because most of the time it is nearly impossible to find out where in the program the debugger is, and to find out what the variables' values currently are. I would like it if debugger launched a separate app which had a window with all my subroutines (excuse me 'methods' ) listed and program variables, so I could find out where the problem is just by looking.
    As it is, I end up creating variables and sending them to a text field to find out what the problem is...
Open the debugger console and use 'p myVariable' or 'po myObjectiveCObject'. You can also use 'set myVariable=newValue' or 'call (void)[myObjectiveCObject method]'

  • Live editing of instanced objects
    So I created this subclass in IB, complete with outlets and actions, and instantiated it. But then, after I had created the code for this object, I decided I was missing 2 or three actions. So I have to go back and forth between each app to add the missing info. Not a biggie, but it would be nice to not have to keep track of thes things. Of course, if my next idea came true, this would be a nonissue...
You can tell IB to re-read the class header - you only have to edit the info in one place. Right click on the class' name in the 'Classes' tab. Make sure you've saved your changes to the header first (I always forget).

  • Graphical layout of Class and implementation files in IB
    This is probably the most complicated idea. If you think about it, PB is just a text editor. It links to a compiler, and has fancy functions for code management, but at its heart it's just a few text files. I envision IB being the only program, and all of PB being incorporated into it. Wouldn't it be great if each method, instance, or any paragraph in a PB text file showed up as an OmniGraffle style bubble in IB whenever you selected a GUI object? Then you could see right away what each GUI element did, to what variables with what method. I think this would make it much easier to edit and keep mental order of what does what to whom and how.
    I'm going to do a mock up of this, and show you in my next post.
I'm fine with just looking at the connections.

More integration definitely wouldn't hurt, though.
Geekspiff - generating spiffdiddlee software since before you began paying attention.
     
Mac Enthusiast
Join Date: Jul 2002
Status: Offline
Reply With Quote
Nov 6, 2002, 08:51 PM
 
My two bits:

It's true that PB debugging leaves something to be desired but I'm not sure IB is the place for that. The integration (specifically, merging new outlets into existing source) could certainly be cleaner.


What I WOULD like to see is a move away from pixel-based layout. Pixels are SO 1984.

All dialog layout ought to be computed dynamically from a system of layout rules (think HTML/CSS, with the widget sizes and spacing defined in a DTD-like manner, coming from the HIG spec) and text content all populated from *.strings. This way, you define your dialog layout ONCE and it works for all localizations, all widget sets (Aqua, Metal, Winblows, future sets) as well as scaling to high resolution displays cleanly.

No, this is not a trivial problem, as anyone familiar with browser CSS bugs can verify. But it is doable (see: Adobe Photoshop) and in my opinion, REQUIRED for us to break away from "72 dpi" derived GUIs. Thinking ahead to my PowerBook G6 here, with a 2560x1707 display.

It would also dramatically reduce localization and cross-platform resource twiddling.
     
Mac Elite
Join Date: Jan 2001
Location: New York
Status: Offline
Reply With Quote
Nov 7, 2002, 02:58 PM
 
Originally posted by arekkusu:
My two bits:

It's true that PB debugging leaves something to be desired but I'm not sure IB is the place for that. The integration (specifically, merging new outlets into existing source) could certainly be cleaner.


What I WOULD like to see is a move away from pixel-based layout. Pixels are SO 1984.

All dialog layout ought to be computed dynamically from a system of layout rules (think HTML/CSS, with the widget sizes and spacing defined in a DTD-like manner, coming from the HIG spec) and text content all populated from *.strings. This way, you define your dialog layout ONCE and it works for all localizations, all widget sets (Aqua, Metal, Winblows, future sets) as well as scaling to high resolution displays cleanly.

No, this is not a trivial problem, as anyone familiar with browser CSS bugs can verify. But it is doable (see: Adobe Photoshop) and in my opinion, REQUIRED for us to break away from "72 dpi" derived GUIs. Thinking ahead to my PowerBook G6 here, with a 2560x1707 display.

It would also dramatically reduce localization and cross-platform resource twiddling.
No thanks. I really don't want Java like layout managers.
     
   
Thread Tools
Forum Links
Forum Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On
Top
Privacy Policy
All times are GMT -5. The time now is 06:18 PM.
All contents of these forums © 1995-2011 MacNN. All rights reserved.
Branding + Design: www.gesamtbild.com
vBulletin v.3.8.7 © 2000-2011, Jelsoft Enterprises Ltd., Content Relevant URLs by vBSEO 3.3.2