I'm reminded again of OCC here at the MVP Summit with the lack of connectivity. I can't even maintain a cellular connection two flights up to Robert's room never mind create business logic to depend on it. Connectivity is very elusive here as in much of the the USA and world. Many developers assume wireless will be everywhere enabling applications to communicate to centrally located servers regardless of where the user is. Any developer that has actually tried deploying connected applications knows that this is really just a dream of an alternate universe that simply frustrates users with reality. Users want their applications to just work and their data to be available even if the network isn’t. Custom applications require data and application updates to be constantly verified. Users shouldn't’t have to press a button or manually switch from local to remote modes.
Too often in the past, Microsoft has not understood this and many developers don't either. Many technologies like ASP.NET suffer from requiring full time connectivity to servers, besides the fact that browser clients are often a bad choice when the deployment problems for Smart Clients have been solved. Thin clients were a great solution in the mid to late 90's with the massive deployment problems of MTS/COM+/COM/Windows DNA. They are not any more unless the ubiquity reach is needed for the solution. Microsoft has started to pay attention to making the Smart Client truly smarter with the Offline Application Block and the good stuff in CAB. Not every application needs offline access but I encourage .NET developers to really look at the scenarios out there. There is very little support for the remote offices and mobile/field workers that have been created as a result of the modern distributed enterprise. We're still trying to apply centralized architectures to a distributed enterprise. Client-Server and Web-centric systems often fall short here. Essentially business assets have been locked up that could be freed if business processes were distributed and “mobilized“ allowing edge workers and data to aggregate data from the edge to the center and back out, continuing to have access to their business data and applications while being disconnected.
In considering offline access, I see two major approaches; the “simple” way and the “not so simple or full OCC Smart Client.” In the simple way, essentially offline access can involve simply serializing data to and from XML files on the client or smart device using the WriteXML method of a DataSet or a DataTable in 2.0 Framework. Other options such as Isolated Storage exist. This can be combined with Caching as needed all the way up to the Caching App Block. In the full OCC client, it presumes a full local database on each of the smart clients with either transparent replication or even better synchronization. The vast power and deployment flexibility of both SQL Express and SQL Mobile make this a much easier option than the MSDE days. Many smart client developers use Merge Replication or RDA Replication. Both of these are problematic as they are not Service Oriented at all and introduce tight coupling. Services are supposed to guard their data sources and not allow clients to directly access the data sources. Services typically aggregate data in the business logic layer for presentation and if the databases are directly accessed, the amount of business logic that must be replicated to the offline client is greatly increased. Database replication tightly binds the client architecture to the server architecture. Replication tables from the client to the server can bypass business logic.
What can you do? Keep your synchronization engine loosely coupled through the use of Services that can be deployed via ASMX/WSE or now Indigo Web Services. One approach is the one that we took at Adesso. I think with the options afforded by Indigo, developers should consider this route in keeping loose coupling in their synchronization logic. For instance, a WCF queue could be used coupled with a WCF transport. The OCC Smart Client then morphs into an “Occasionally Connected Service Oriented Smart Client.” This is not buzzwords or just a mobile scenario. This is a real architectural option for distributing business processes and data out to the edge where many of your company's workers are today.
So, I'm here next to Scoble at one of the tables here inside the Microsoft Museum slamming code all night with some MVPs. As Scoble said, we saw a future version of GotDotNet Workspaces.This whole event was coordinated by my wonderful friend Korby Parnell, who phoned me personally at home about a month ago to float the idea of this event and who personally picked me up with this mondo truck he rented! What a guy! Raymond Chen (who I am arguing about managed code about) is behind me, Scott Sargent is at the table; Harry Pierson, Keith Pleas, Chris Kinsman, and most especially, God is here (Ward Cunningham). So Scoble interviewed Ward and I about the early days of Ward's Wiki and the community coming up with what became Extreme Programming. Look for it on Channel 9. Ward tells the story of this great community when we were discussing XP and Patterns and the ugly people they became when I talked about anything Microsoft. The truth finally emerges.
Make sure you check out the new Code Gallery on the GotDotNet site. I encourage to share, discuss and create community here. All I can say, is you will be extremely blown away at what comes next!!
Rick LaPlante has provided some details on Beta 3 of TFS:
- This release of TFS works only with Visual Studio 2005 Release Candidate 1 that we made available to MSDN subscribers and PDC attendees last week.
- This release is based on the September SQL Server 2005 Community Technology Preview also made available to PDC attendees last week.
- TFS Beta 3 includes a Go-Live license as well as product support (details below). Users may sign up for a click-through Go-Live license (which will be available w/in a couple days… still waiting for final legal approval).
- TFS Beta 3 will not be localized into languages other than US English.
- Anyone who "goes live" with TFS Beta 3 will need to update their server and client deployments to the TFS Beta 3 Refresh when it’s available because TFS Beta 3 will not work with the final RTM bits. You will need the TFS Beta 3 Refresh to work with the RTM bits.
We will release a Beta 3 Refresh which synchronizes TFS with the final RTM bits of VS/SQL. This release will be available to MSDN subscribers for download from the MSDN download center. It will also be available in the Visual Studio 2005 Team System Trial Edition kit that will be available beginning with our November 7, 2005 launch. It will also be available to all users of the Team System client products.
What I am trying to determine right now is if TFS will really work without AD. The directions still talk about domain accounts which require AD although there is a “To set up and configure Team Foundation Server using a single-server deployment on a computer that is a member of a workgroup, you can use local user accounts.” and that's it on that.
Whoops, just saw Rob's post on the new versions of the Install Guide and downloading the newest one, seems to remove the domain stuff. I'm actually installing it the night before a major demo - is that guts or what?
Oh my god! Jeff Beehler says:
the Team Foundation shiproom signed off on the Beta3 bits. We released them to the MSDN operations team who are busily uploading them to the MSDN download center. It takes a day or two to get the bits uploaded and propagated around the world. Once that's done, we’ll turn on the links. In the meantime, as I mentioned last weekend, make sure you’ve downloaded the release candidate of VSTS and the September CTP of SQL. We can't wait to begin receiving your feedback on this release.
See also Buck Hodges descriptive post
Now, I just have to get it and make it all work for my demos at Code Camp IV!! Hopefully this madness will end soon-)
I have talked about how I ran Vista since August 5th on my main laptop and the experience has been fantastic.While the Aero Glass effects are amazing with Build 5219, this build is a CTP NOT Beta 2, so I have had sufficient problems that it doen't make sense to run it. You should also know if you are a WinFX developer expecting to do certain types of Avalon and Indigo applications, that IIS(7) is not installed at all or available for this build. All this was good for me to discover in preparing for my Advanced Indigo on Vista talk where I will mention all this. The net is that since you don't have IIS there and there a lot of problems, it's not really a viable build even for developing. This is coupled with the fact that XP is a better development environment for WinFX right now. I was not able to discern nor run any additional capabilities of Indigo on Vista. I have Longhorn Server but the existing build does not yet include IIS. A new build should be coming shortly.
Given all of that and my upcoming Code Camp and the fact that Vista is unfriendly to projectors right now I repaved the machine to Windows Media Center 2005 and I will dual boot this with Vista Beta 1. Allthough Beta 1 of Vista does not support the September WinFX RC I am not sure that it's worth running at this point.
So, I said in my last post that I didn't get Aero Glass by default on my NVidia GeForce FX Go5200 but you can change this. I found how on this post on Neowin:
Start > run, type in devmgmt.msc
Display Adapters > right click on Geforce FX Go5200
goto drivers
update drivers
dont do win update
dont search
choose pick from list
uncheck show compatible hardware
Man: nVidia
Device: Geforce FX 5200 (LDDM)
The thing that is amazing is all the visual candy that now works such as the Sliding Full Preview Alt-Tab feature and the Windows - Spacebar Window stacking! Holy cow this rocks! The only trouble is with the LDDM Glass driver I can only get 1024X768 instead of the regular 1440X900 widescreen which makes it hard to work but the effects are mindblowing.
I got Beta 2 (5219) installed pretty easily except I could not format the drive or do anything with DiskPart at the command-line utility and had to install it beside the old one on the same disk. The Tablet stuff is there (why do they insist on installing this by default if I don't have a Pen???) and the Media Center stuff is there (pretty awesome). There seems to be lots of pleasing little changes to the UI that make it even more visually apealing. Still no true Glass out of the box for my NVidia GeForce FX Go5200 although it indicates “Glass” and does look better than the Beta 1 default. Doing the steps from here, I've gotten the WinFx CTP installation done and starting on Visual Studio (Beta 2!!!) now. And yes, once again, MSXML 6.0 Parser refuses to installl from VS setup but installs by hand. All installed now and working although I see some issues in the Avalon and Indigo Projects from VS.
I was in the middle of a beautifull New and Notable, 2nd day in a row no less when Windows Vista Beta 1 froze. No blue screen, just totally froze. No response to Task Manager or Ctrl-Alt-Delete. I guess you are not supposed to play a Windows Media Player file at the same time as doing anything else or maybe Vista hates Since I've Been Loving You from Led Zeppelin.
Yet another big gap (August 3rd). As you can tell from all the latest posts, I am playing a lot with Vista, WinFX (Indigo AND Avalon) and half a dozen incompatible versions of SQL Server/VSTS as well as diving into ADO.NET 2.0 in my day job. I am also writing some great new code and material for my Occasionally-Connected Smart Client session in Orlando. If you have seen this talk before at DevTeach and Code Camp, I apologize; it's been kind of lame but this one is really cool with an Outlook style app and Whidbey's Click Once as well as OCC and syncing with SQL Mobile and the like. So what do I have to share? More left-over stuff from the PDC that I haven't posted yet. I am also writing a book proposal together with someone from That Small Software Company in the Pacific Northwest. Take 3 guesses on subject? It sure ain't Visual C++.NET like the last one!
- Benjamin Mitchell has an excellent write-up on Jeff Richter's pre-PDC session which he terms “The Good, The Bad, The Ugly of C# 2.0 and .NET 2.0.“ I love this quote from Jeff, “Indigo loves using attributes. They use attributes so much that you no longer have to write code." Great stuff.
- ScottGu on Atlas Unleashed. Ok, see it? That's my one and only Atlas post on this blog
- Lots of people have commented on how cool the new Office 12 UI is. I agree and also think it's the best change in many years. I link to one of my favorite sites here; Neowin and their report
- The Agile Management blog points to “This well balanced piece of journalism looks at the new trend in agile management tools including Team System and its MSF process guidance. The piece manages to cover both MSF for Agile Software Development and MSF for CMMI Process Improvement as well as looking at rival products that support Scrum and Extreme Programming.“ This is a great blog. BTW, my pal Rob probably wanted me to comment on the recent posts about MSF-CMM and Agile. Just because you can now throw the word “Agile“ at everything doesn't make it so.
- ScottGu on the Quartz Web Designer. This product, and the other Expression products, really rock. It wasn't apparent from the quick look I took but hopefully these products will spare me from the hell that is XAML and Angle Brackets and let me do Avalon work in much better way
- Jon Udell captures an interview with Bill Gates and a podcast. Look at the list of questions - these are the questions I am interested in
- Barry, who is doing some excellent blogging this week, talks about my friend Eric Sink and his latest smart move: TeamPrise which allows you to access Team Foundation Server/VSTS from Unix, Mac and Eclipse
- Joel Jeffrey blogs the Windows Communication Foundation Best Practices PDC session
- Dustin Miller covers the Sharepoint V3.0 Features
- Paul Wilson thinks “Linq is Really Cool -- But DLinq is a Big Mess.“ He raises some good points.
- Joel Ross notices that the release notes are posted for CruiseControl.NET for RC2 so the release must be right around the corner
- Scott Swigart interviews the key VB9 players and its now on-line at Dr. Dobbs.
- Brian blogs Steve Schwartz's WCF (Indigo) - Under the Hood of the Service Layer PDC Session
- I guess another one of my sacred beta programs is now public: Longhorn Server
- According to Neowin, In total, 8 new games come with Windows Vista including Chess, Shanghai, a new Minesweeper, a new Freecell, a new game called "Purple Place", and a couple other card games.
- According to many blogs and the Microsoft OEM site, Microsoft is due to release Windows Media Center Edition Update (codenamed Emerald) soon. [via Neowin]
- A new pretty Windows Vista Homepage
- Q&A: Microsoft's Jim Allchin touts Vista, new developer technologies
- Jim Johnson::“What should I think about when using transactions with the file system?“
- Jorgen::Xbox 360 Launch Dates Announced
- Jorgen::WS-Management submitted to DMTF
Now that Jason has made public the fact that the September WinFX CTP is online now, I can post my findings from a week ago, when I had it for the Indigo program, that the WinFX SDK part will not install on Vista! It says “The product only supports installation to Microsoft code-named “Longhorm” Beta 2.” So is this the PDC build or what build? While you're at it, you may want to look at my Microsoft Max post. Are you sensing a theme here?
Scoble has a whole bunch of new stuff video from today's PDC. At the risk of repeating some of what he posted, “
I just loaded six videos up on Channel 9. The two that I think will be most viewed are the Office 12 UI video and the Windows Vista Explorer video.
Also there now are the AERO interface video, the 10 things devs need to know to build a great Windows Vista video, LINQ video, and the Internet Hearts video (a cool game written with Windows Presentation Foundation).”
I would have blogged this hours ago but the power to my hosting site was out in L.A. The Visual Studio 2005 Team Suite Release Candidate, along with the accompanying editions of the SQL Server 2005 Sept CTP have been released on the
MSDN Subscriber Downloads site. I've got them all down and already installing!
On 8/14/05, I wrote about 9 days problem free on Vista and how impressed I was. I am still using Vista but with the use of Outlook, VPC and some versions of VS2005 to do my work, I have run into some serious issues. Very often, mscorsvw.exe will start running for no apparent reason and use 40-80% of the CPU. I don't know quite what's going on but it's making it awful hard to keep using it for work. It wasn't doing this before so I am not sure what is going on. It's doing it right now (49% CPU) with nothing running (and you can hear the disk kicking in as well)!
Ah, it seems to be something with the .NET Runtime Optimization Service which is supposed to “provide support for optimizing managed assemblies using NGEN technologies.” Ah, I am going to have to dig into this from my CLR/Rotor hat and understand this. Jeff Richter had talked to me a while back about the upcoming NGEN changes and improvements and there has been an MSDN article as well. I don't understand what the Optimization Service is supposed to be doing but that's the guy that's eating all the CPU and with it off, it's all OK again. Hmm...
It's been a long time since I rock and rolled, been a long time since I did the stroll...whoops, this is a blog, not a song. Well, it has been a long time; over 3 weeks since the last post. In doing some work for a client today, I set up an Windows XP SP2 VPC image and flawlessly installed the August CTP for Visual Studio 2005 Team Suite. As part of the full install, I installed the included SQL Express as well and needed for the work I was doing. I had problems connecting to the SQL Express instance and I wanted to document the solution as at least 2 other people today I talked with had the same problems.
One thing you should be aware of is the new SQL Server 2005 Surface Configuration Tool (see Mike's excellent article). You now have to explicitly enable (as it should be!) protocols like TCP/IP, and Named Pipes as well as certain feature sets especially remote access. I had done all this with TCP/IP and the port and I was still unable to connect from inside of VS August to the instance either using local, localhost or xpaugust (the name of the machine). The name of the machine should work but it doesn't seem to for me. I kept getting that remote access was not configured in the surface area tool which was completely wrong as the machine was local, not remote (so machine name should work) and two, because remote access was enabled. I IM'd my good pal Robert and we ran down a list of the usual things: checking the surface area, the port, etc. He pointed me to these two excellent blog entries of which we seemed to be doing things correct. It wasn't until Robert said have you tried typing at the command line:
SQLCMD -S .\SQLEXPRESS
that we hit it. That worked as well as SQLCMD -S xpaugust\SQLEXPRESS but no dice in VS. So the command reminded us that you have to plug in “.\SQLEXPRESS” into the Add Connection in VS August. This is as it was in much earlier betas. It now works so maybe this will save some other people some time (it already saved another person I shared it with) time.