This post originated from an RSS feed registered with Agile Buzz
by James Robertson.
Original Post: Pollock
Feed Title: Michael Lucas-Smith
Feed URL: http://www.michaellucassmith.com/site.atom
Feed Description: Smalltalk and my misinterpretations of life
To a large extent the pollock design is stolen from all the smalltalks plus delphi, plus visual basic, plus going back to a product called clipper, plus power builder and plus object windows and MFC. Sam says he's invented absolutely nothing new for Pollock.
Why did he start doing Pollock? When he was interviewed at Cincom they asked him what he'd change in the product. He said the GUI - the GUI sucks (5i, 5i2). Then they said in a week or so "Okay, you're going to lead the GUI project."
This talk isn't how to use pollock and not too much about the arcthitecture. Instead, this is going to be a road map and get the questions rolling. Pollock is an extremely disruptive technology if you're using VisualWorks.
Sames - "One of these keys should work"
Pollock is going into Production 1 late fall early winter.
Question: Which Hemisphere?
a) The only one that matters.
Pollocks release is disconnected from VW7.3's release. VW is having a long beta. Pollock won't be feature complete at that point, so it's disconnected. It's possible that within a month after 7.3 that pollock will release.
Where are we now? Widgets: Done. XLM & LA Specification Building: Done. Code Building Frameworks: Done. Motif & MacOSX L F: Done. Wrapper Features: 80% Done. 13992 SUnit Tests. Over 300,000 assertions.
Pollock is guaranteed to have all the same base features as wrapper. It may have some more (and it does). Secondary features will be starting in a month.
What's left? The little stuff: Wrapper feature match, promises, bugs. The medium staff: API Clean Up, i18N Input Support.
The big stuff: Tab Order ~= Z Order. Smart Invalidation (No direct GC writes, smart clip all invalidation). New Multi-Rectangle Damage. Double Buffering.
Sames - "There will be no flicker in Pollock at all"
Double Buffering will be on by default in all operating systems except Windows98 and WindowsME.
Question: How is the double buffering done? Backing store?
a) No, we're not going to use backing store. Just pixmaps.
Production 1: All Widgets, Wrapper Equiv Features. Three Looks: Windows 9x/2k/ME, MacOSX Panther, Motif. Framework Only - No Tools. Winter 04-05.
Top 10: What's it got that wrapper hasn't?
10: Auto Look Change
9: Dynamic Scrollbars
8: XML or Literal Array Specifications
7: Global Drag-Drop (Not operating system)
6: Trigger Event System
5: Better Look Emulation (95% accurate. Last 5% have to do with Sam being lazy)
4: E-Z Extensibility
3: Consistent API
2: No Wrappers
1: A Future!
Wrappers is going in to the obsoletes eventually when Pollock is completed and the tools are using. Addressing bugs in Wrapper will require $$.
Between milestone releases, versions of Pollock will be published to Public Store with announcements on vwnc mailing list.
Highlights: TextEdit - Save & Load as XML with Emphasis. Grid - Emphasis by Row, Column & Cell. Grid - Resizable Rows. Frames (Layout) - Relational Frame. Aspects Not Required. Rich API - Directly on Widget. Hotkeys - By Look, Image, User Interface or Widget. TabControl - Optional Tabs. Toolbars - Input & DropDownLists.
Production 2
Conversion Tools: Menus, Toolbars, Specs, ApplicationModel code into UserInterface code.
Future Features: TextEdit - Attach a Block to Text (hypertext). Windows XP Look. ListBox Inline Edit. Grid: Any Widget in Any Cell. TreeView Column, Different Selected and Unselected Row Views. Smart Fly-By Help. BGOK/Charts.
Question: Is there drag-drop in tree view? Rearranging order?
a) Absolutely.
Question: In the grid, can it have virtual cells - millions of them?
a) Yep
After Pollock. Chagall: Native Widgets. Expanded Native Widgets (MacOSX, Windows.Net, Windows32, Windows Mobile, QT, GTK, Motif/CDE). Mixed Native and Emulated Windows. Native Keystroke Support (Meta on X11, Splat on MacoSX, True Keypress/Release/Repeat events).
After Chagall. Peaches: Graphics Engine moved out of VM into Image. GraphicsContext in the Image. New Platform Portable Font System. Event Loop in Image.
Question: Can you make menus and toolbars from 'command specs'?
a) That's a tools question, not a pollock question.
Question: When will documentation be available for this?
a) Just started to work on the documentation. Production 1 will have basic framework documentation. Additionally Sam has started a 'How to Build a Window with Pollock that you can load today'. This is on Sam's blog.
Question: How will the GC evolve and will there be translucency?
a) Translucency may be in 7.3. The 2d model will stay the same until Chagall.
Question: Can you have widgets be attached to other widgets?
a) Yes, use a relational frame in Pollock
Question: Can you add growth constraint bounds
a) Not currently, good idea.
Question: What about VisualWave?
a) That will load Wrapper for a long while
Question: This all sounds splendid, but Why name it after a fish?