September 2005 Entries
The LINQ Project is probably the most exciting announcement of PDC for me.
I have been using an O/R Mapper for quite some time and I couldn't imagine designing a new application without using one.
We all heard about ObjectSpaces way back on 2002 and how it would bring object orientation to relational database UIs. Then we all wondered what happened to it when they decided to pull it from the 2.0 Framework. Well, the ideas of ObjectSpaces were rolled into an even more ambitious project, that is LINQ.
LINQ is broken into several Namespaces: DLinq, XLinq; which target SQL and XML specifically.
LINQ will not render tools such as LLBLGen useless, in fact, it will further enhance what they do best and allow them to focus on how to do the mapping, LINQ will provide a unified approach to provide the plumbing while third party tools can focus on doing the mapping for us.
Then using LINQ we can interact with our data in a very object oriented way that is standardized across implementations and does not require us to remain dedicated to a 3rd party solution to provide proprietary ways to actually do the objectness.
One of the biggest gripes I hear from people about XML is how hard it is to understand and implement things like XPath and XQuery. XLinq and DLinq are going to unify the way we interact with persited data in either XML or SQL, we will essentially access them both in the same way, this is HUGE, it removes the ramp up time developers will need to be able to intuitively write programs that need to interact with data.
As the project progresses, other persistant data will be added so that we can interact with things like the Registry, WMI, LDAP and other structures in the exact same way without having to learn the internal plumbing required to do that sort of interaction.
As Ayn Rand outlined in her classic work of about Society's collapse by people rising up against the the constraints of their overseers, Project Atlas empowers normal developers to buck the standard idea of how web applications are built around synchronous postbacks.
Asynchrounous web pages have become essential, developers are packing more and more information into useful web sites that are data driven. In many instances relying on caching and viewstate has been the standard way to do page refreshes. Some developers resorted to IFrame, others more adventurous approaches used XMLHTTP (including behaviors) to do asynchronous processing.
The biggest problem was that these methods required working outside of the tools provided by the development language and are extremely difficult to implement and debug correctly. Many of those solutions are also dependent on a single browser to operate.
Atlas is the answer when we move to ASP.NET 2.0
While this is a technical preview now, it is actually a built in function in the 2.0 framework, the previews gives you the client-side scripting and shows you how to write server controls that do the necessary things to implement what is already in the framework.
Why is Atlas important?
It is important because it gives us the ability to bring interaction to busy web pages without refreshing the entire page. I have been doing this for years, but to accomplich it took months of research and effort to refine a solution that worked all the time in every browser. Atlas renders this work obsolete, but it also provides a much more powerful way to use async approaches to nearly any portion of a page that you want to update from some activity on the client.
For example, you could feed several tables on a page, allow the user to manipulate those tables without going back to the server, then invoke a webservice with the manipulated data to produce a Graph (or a report) in a seperate <div> on the same page. The page itself doesn't change, the data in the grids is not sent back and forth to the server in viewstate, it just sends the important parameters to a webservices which then populates the <div> with appropriate display information.
This leaves the data in the grids intact and could allow you to build powerful whatif scenarios for your business users.
Atlas makes scenarios like this very simple to create inside of the VS.NET IDE with full intellisense, property pages, etc. If you were about to toss out ASP.NET and move to a Smart Client just to implement scenarios like this, then you can rest assured that there IS a way to do it without rocket science.
I am the INETA Community Launch Team Member for Phoenix.
The Community Launch Team Members will be the local experts on the new products and will speak to their user group at their local Community Launch event of Visual Studio and SQL Server after the official product launch.
This means that I will be the guy who has the pleasure of introducing and speaking about Visual Studio 2005 and SQL Server 2005 to the Phoenix area.
Feel free to email me with any questions you may have about these two outstanding tools and how they will impact your development process.
It has always surprised me that Ink was more difficult to implement on a desktop than it is on a tablet. Thankfully, that is all about to change.
I have a digitizer and i want to be able to make handwriting entries on my desktop, so far it has been difficult to find applications that even support it.
In Vista, there will (supposedly) be no difference between a tablet and a desktop, you will even be able to ink with a mouse if you want to.
You can annotate Live Video, something currently impossible in XP.
The MIL - Media Integration Layer has been replaced by WPF (avalon) and all the presentation is controlled and gracefully degraded depending on capabilities. It is quite interesting that all the demos of WPF is done with spinning cubes of video or some such nonsense. While this certainly has its place in some applications, it is not the first thing that comes to mind for great UIs.
I remember some of the awful UIs created with Win95 just because you could use bitmaps. When it comes to a practical UI, making Annotations is purely natural and we should be able to do that with handwriting or text depending on our ability of having the appropriate input device.
So... enough philosophizing, here are some key ideas that Avalon brings to the Tablet.
InkCanvas will be the single painting surface for Ink, replacing the current set of 3 in TabletSDK 1.7. This makes complete sense and unifying the surface is a great idea. Ink is also is a built in function of WinFX, the only reason you may need to add on the InkAnalysis SDK is to do avanced handwriting recognition.
Shape Recognition is a core component, while it will not do any actual conversion of ink to basic geometry, it will recognize a primitive shape and flag it with a property so you can tell your app to do the conversion in any manner you may need to.
The InkAnalysis SDK will offer more advanced background processing of handwriting (still in only 10 languages so far) so you can make something like Journal or OneNote without the thousands of lines of code it would currently require just to do things like paragraph, line, word, and indentation level detection. This is going to lead to some fabulous new Tablet applications that will also work in a similar way on the desktop.
As convergence happens in notebook hardware, igitizing is surely going to become as ubiquitous as wireless has as the demand continues to rise.
I very much look forward to working with the new tools soon to see what innovative ideas are possible with this simplified (codewise) Ink Model. Watch http://msdn.microsoft.com/mobility fior the new SDKs.
I can finally announce this...
I have recently accepted the position of
Vice President - Engineering and Development at GlobeNet Technologies, Inc.
I look forward to talking about what I am going to be doing there including Development Process Organization, and transitioning a major product from ASP.NET 1.1/SQL 2000 to ASP.NET 2.0/SQL 2005.
Windows Workflow Foundation
And you thought WWF was about wrestling... Well, it still is, its about wrestling the flow of information from one place to another around the enterprise.
This is Groove Network (recently acquired by Microsoft along with Ray Ozzie)
There is no doubt this is good stuff and its being implemented as a Framework Foundation API. This is one of the technologies I have really looked forward to using in my new system designs. Watch for much more about this technology in the near future as I dive into it.
The Big revelation of the Keynote this morning was the first public display of Office 12.
My first impression was , “it's about time they made it easier to get to the features.”
Read the details about the new look and feel here: http://www.microsoft.com/office/preview/uioverview.mspx
As for what was displayed; I really like the new interface which combines the toolbar and menus in a context sensitive and user configurable way. There are many, many features that I get really annoyed trying to track down and customizing the toolbar on every machine I use is somewhat tedious.
I hope there is a way to save the layout so I can apply the same look and feel with a macro or something from a list of settings I can save on a keydrive. This would be a huge help for those of us who use multiple machines on a daily basis.
The enhanced integration with Sharepoint looks very nice. We really don't need any more “features” in Office, there are plenty already that 90% of the user never even know exist. What we have needed for years is a beter way to collaborate and organize our documents and it looks like they have finally hit the nail on the head.
Some people are going to balk at using Sharepoint as a document library, but it makes enourmous sense to do that rather than keep disparate files scattered across the network in even the smallest “enterprise”.
While this is still a year away from release we can get our IT staff to start moving everything in the right direction to be prepared for it by adopting Sharepoint as a central document repository.
Blogroll Me!
Copyright © 2003-2009 H. Steele Price, IV -
All opinions are my own, not necessarily those of my employer, your mother, or any government agency.