I think it would be insane for MS to not support APIs such as WPF, Win32 or Silverlight for writing apps that target this new Immersive environment, especially WPF, which seems tailor made for this type of rich app.
And the spelunking into leaked builds of Windows 8 seem to indicate that the new AppX system will support apps developed with these APIs as well as allow integration with the new shell via tiles (which I could understand being more limited in implementation as they are effectively embedded in another application).
But I think Microsoft needs to make an official statement as to whether these APIs will supported for developing future apps that target and integrate with the new Immersive experience or whether such apps will be relegated to the legacy desktop, even if we still have to wait for the September Build conference for details.
"NLN is a concept that can be implemented in many ways."
True. My approach is still NLNish and is not all that different from yours. I'm just presenting the lists of open items as tabs accross the top of the window instead of of hiding them behind one or more numbers or in listsboxes somewhere in the UI. In fact,
the Contoso App screen shot that I borrowed for my mockup appears to use NLN in the form of the open customers list at the top left. You can see I was experimenting with wher one could put the number of open items in such a UI with that red badge next to "Employees".
One of my concerns was that the app I have in mind would have a two level menu like the Zune client rather than the one level menu of modules that the Contoso App has. Where would the badges go in such a design?
"Does your approach allow the user to have multiple forms open at once? ex, sales, billing and a report? Does form get torn down if you navigate away from it?"
Yes, yes, and no.
Individual invoices, bills, or reports would be opened as tabs across the top of the window. The screens for looking up invoices, bills or available reports would all be contained in the leftmost tab, though I could imagine allowing one to open another instance
of that tab as well, say by middle clicking one of the module links.
Something along these lines is what I'm picturing:
The main tab would contain all of your search screens and such and the additional tabs would be opened for detail screens, reports, and complex multiscreen tasks. Those detail tabs could also be dragged away to create top level windows for when you want
to refer to one window while working in another. Consider it a hybrid between a completely navigational app and one where every screen is opened in a new tab (or window).
I worry that by hiding the clutter behind one or more small numbers or badges in the NLN UI, a user could get themselves deep into a stack of opened records without noticing it. With this hybrid tabbed browser style approach you would notice all the tabs
you've piled up at the top of the window.
One advantage of your BBQShack and Hollis' design is that the navigation icons are always accessible from any screen whereas mine are only on the main tab.
Great video but I have some concerns about this "non-linear navigation" pattern. I was initially excited to see Billy Hollis' demo on DNRTv as well as Karl's BBQShack implementation, but I'm starting to think NLN is more of a workaround for Silverlight's
limitations rather than an optimal solution for multitasking within a single app.
With a true desktop app you can spawn real top-level windows for record editing or standalone tasks and take advantage of the OS's window management features to multitask, especially on Windows 7 with its new Taskbar and Aero Snap features. If window clutter
is a concern you could go with a tabbed UI like in modern browsers, or even better, allow drag and drop switching between both models as in Google's Chrome browser.
With a traditional web app (assuming it doesn't use popups) you can rely on the browser itself to open tabs/windows from links to other parts or your app by middle/right clicking on said links and multitask that way.
I'm guessing that these two methods are impractical with a Silverlight app.
On another note, I'm curious to know how this new SL4 navigation stuff compares to WPF's navigation features and whether any of this will (or should) make its way back into WPF.
I don't know if this was covered in the (I wasn't paying enough attention when I watched it , but would the move to rendering IE9 via DX allow a future version of the WPF WebBrowser control to function without the airspace issues of the current GDI based
Thanks for the Chrome fixes. I use that browser for personal surfing at work
While on the subject of Chrome/c9 bugs, here's a weird one. Pasting text with newlines (ie: "foo /n bar") into an empty post editing box in Chrome wraps it in the following styling, rendering it invisible: