When you get a chance, check out Live Mesh at www.livemesh.com. As it is right now, it's incredibly useful for sharing files across computers and users. For example, I synchronize certain folders across both of my work PCs and my personal laptop, so that I can access those files anywhere. I also synchronize a couple of folders with my wife's PC, so that we don't have to email the family budget back and forth to each other anymore ... we automagically work on the same document. With 5G available for the free preview, you can also use it as a simple way to back up a lot of files - automatically.
What's even more exciting to me as a developer is that Live Mesh is a platform ... the existing functionality just skims the surface of what is possible. The platform SDK isn't released yet (or even available to play with), but moving forward, Live Mesh will give developers the ability to create rich client applications that store their data in the cloud and automatically synchronize across devices - even mobile devices. I have a couple of ideas for this already ... can't wait to see what other people come up with.
I just downloaded the Windows Live Writer beta. It allows me to work on posts offline and just push a button to publish them.
Since I spend a lot of time on planes and trains, I think this will suit me.
I've tried it both on spaces.live.com and this blog. So far, so good ... if you blog, it's worth checking out.
I was in Utah Wednesday, meeting with a subsidiary of a large software vendor that I work closely with. Great people with a really cool product. After work, they took us up into the mountains to a restaurant at Sundance. Oh my – the food was excellent, but the scenery … it was incredible.
On my way back, I stopped in Chicago for a couple of days to work at the Microsoft Technology Center there. Last night, another one of my ISVs, DoubleTake Software, gave a customer appreciation party for CDW at the House of Blues, and Microsoft helped sponsor the event. How many public companies have a CEO who plays in a very, very good cover band with other employees? Cluster-Funk rocks! They often play at Microsoft events like TechEd and the WorldWide Partner Conference. Last night was the first time I got to hear them.
I tried to play my fiddle for a couple of tunes, but that didn’t go so well … we had technical difficulties, and I didn’t really know any of the songs. For jazz and blues, I can fake it well enough, but for rock, I need to prepare ahead of time. These guys were great, so I’m going to learn the set list and bring my electric fiddle to their next gig. Still, I had an absolute blast dancing and cutting loose with a fun, fun group of people.
Finally, today (Friday) I got to meet one of my heroes, Joel Spolsky. Joel is brilliant and funny, a combination that makes him my favorite author – I recommend his blog, Joel On Software to everyone in the software industry. I also got to meet Brett, a developer at Fog Creek, and he was really cool. He even laughed at one of my jokes.
They were in Chicago to give a demonstration of the new version of FogBugz. I’ve used FogBugz in the past, and although it’s a competitor to one of our products (Team Foundation Server), I have to say it’s excellent. And hey, it integrates really well with Visual Studio.
I've learned a lot from Joel's writing over the years, and Joel's company, Fog Creek, is a very interesting case study in software development practices. I've written some thoughts on how ISVs can learn from this very open company, but I have to dot my i's and cross my t's ... so I'll share in a few days ...
But in the meantime, let me just say ... what a great week!
So you want to learn how to develop on the Microsoft platform, but you don't want to spend any money ... what do you do?
First, if your goal is to learn, I ALWAYS recommend starting with the Next Big Thing, which means unreleased (typically beta) software. So … to learn .NET 3.5 (and 3.0 and 2.0), I would download Visual Studio 2008: http://msdn2.microsoft.com/en-us/vstudio/aa700830.aspx. It’s pretty mature. You can also download the full Team Suite and Team Foundation Server bits to get accustomed to the Application Lifecycle Management (ALM) aspects of the product line. You should be able to work with this beta for a few months and stay ahead of the curve.
If you’d really rather work with released bits, then download the trial of Visual Studio 2005, which works for a whopping 180 days: http://msdn2.microsoft.com/en-us/evalcenter/bb188238.aspx. Personally, I’d stick with the 2008 beta, though, unless you specifically need to learn 2005 for a job or something.
If your goal is to build PRODUCTION software for your own use (to run/manage a web site, etc.) or to sell, and you don’t want to spend any money, then download our Express editions: http://msdn.microsoft.com/vstudio/express/.
Finally, if you are looking to build software to sell, then join our Empower program: http://www.empowerforisv.com/?CID=7C2Q98F66C16SX. For $375, you get everything you need. For that price, it’s almost worth THINKING of a product to build and sell! The point of the program is to lead you to being a Certified Partner, so you sign up for a year with an option for a second year. After that, you have to become a Certified Partner (which costs a bit more) to receive the same benefits (plus a few more).
In addition to our primary development tools, most of our other products have excellent trial and/or beta downloads as well (or they’re simply free, like Windows SharePoint Services and IIS7). For example, you can download the Windows Server 2008 beta: http://msdn2.microsoft.com/en-us/evalcenter/bb383571.aspx. You can even evaluate Office, MOSS, and more: http://msdn2.microsoft.com/en-us/evalcenter/default.aspx.
There are so many resources for learning the Microsoft platform. The key is not to wait - just dive in and start learning!
As I said, I'm learnng more about Windows Live Services and what it can do for ISVs. Here's the place to start: http://dev.live.com/.
Here's a company that used Windows Live Services to bring lenders and borrowers together: http://www.zopa.com/ZopaWeb/. Powerful idea.
I'm at MIX07 this week, and it's very exciting. Silverlight is the big story, along with the release of Expression Studio.
Seeing Silverlight in action, I keep thinking that this is going to have a huge impact on the way people think about and build applications for the web. The most obvious use is video ... and Silverlight Streaming is stunning. High Definition over the Internet will soon be quite normal. I just went to MSDN, clicked on the link to install Silverlight (beta) and started watching some channel 9 content on the front page. So easy - the install was painless, which is great news.
But the application development possibilities are mind-boggling. The idea that we can now code in .NET languages for the web CLIENT ... I never thought that would be possible. Now I can write a C# app using Visual Studio Orcas (beta 1 now available, as of yesterday as well) that will run inside a browser - even on Firefox, even on a Mac! Microsoft's support for dynamic languages is greatly improved now as well ... so that client-side application could just as easily have been written in Python or Ruby. Awesome.
Right now I'm learning more about Windows Live. Great stuff. I'll write more soon!
There are so many new features in Windows Server Longhorn and Vista … how can you learn how they fit together?
Try visiting www.dinnernow.net. DinnerNow is an end-to-end sample that shows off IIS7, ASP.NET Ajax, LINQ, WCF, WF, WPF, CardSpace, PowerShell, and the .NET Compact Framework. You can view an overview video, download the code, and soon you’ll be able to try the live application.
Bon Appétit!
LINQ – Language Integrated Query – is one of the coolest language features I’ve ever seen. It makes queries into first-class language elements – not just strings that you pass along to a database engine. That has all sorts of benefits … one of the simplest is that it enables IntelliSense on queries. One of the fanciest is that “lamda expressions” – which are used to implement the “where” part of a query – are sometimes compiled into executable IL and sometimes compiled into an “expression tree” (data, not code) … which can then be translated into T-SQL. So even though LINQ is general purpose enough to query ANY data collection (for example, arrays), it can be optimized for important types of collections, such as SQL Server databases.
There are so many features, I can’t do LINQ justice. Check out the home page: http://msdn2.microsoft.com/en-us/netframework/aa904594.aspx.
I recommend starting with the overview, by gurus Don Box and Anders Hejlsberg: http://msdn2.microsoft.com/en-us/library/aa479865.aspx.
The next thing I’m going to learn about is ADO.NET Entities: http://msdn2.microsoft.com/en-us/library/aa697427(VS.80).aspx.
Amazingly enough, VS Orcas accomplishes this without having to upgrade the CLR! LINQ was implemented at the language level (in both C# and VB.NET) using general language features and improvements as building blocks. Wow.
Jon Udell (now a fellow Microsoft employee) recently made a simple suggestion: every time you email someone with information, ask yourself if you can blog that information instead (or in addition). That way, you expand the reach of your communication. He calls this “keystroke conversation”: http://blog.jonudell.net/2007/04/10/too-busy-to-blog-count-your-keystrokes/.
It makes a lot of sense to me, so I’m going to give it a try.
I'm Patrick Foley, and I've been at Microsoft for 3 months. I'm an "ISV Architect Evangelist". My job is to help independent software vendors build great software on the Microsoft platform.
Based out of Grand Rapids, Michigan, I work closely with about 20 large ISVs in Michigan, Ohio, Indiana, and Illinois. My broader mission is to help ISVs of all sizes build great software, and that's one of the main reasons for blogging … to reach a broad audience.
My background before coming to Microsoft was quite varied. Over the past 15 years, I built software on a lot of different platforms in a lot of different environments, mostly as an independent consultant. I've been on many projects where I rolled up my sleeves and coded, and I've been on a few high-level architecture projects where I never even sniffed a running system.
As a Microsoft evangelist, I'm focused on "The Next Big Thing", whatever that might be. For example, we just released Vista and 2007 Office System. The launch of these two great products was enormously successful, thanks in large part to ISVs working before the release to ensure that their software was compatible with Vista/Office 2007 and to exploit the new features of these products, such as the Windows Presentation Foundation, gadgets, and the new Office UI. I've only been here for 3 months, but the team I belong to worked with ISVs around the world to help them succeed while Vista and Office succeed.
Now we're pointing toward the next releases of other important products. Some of these are still under wraps, but some are available for public review. Two that are particularly important for ISVs are Windows Server "Longhorn" and Visual Studio "Orcas". Over the coming weeks and months, you'll see many posts from me and my team about the ways these products and related technologies will help you write better software and add value for your customers.
I work with a lot of really smart people … if you have questions about building software on the Microsoft platform (or even competing platforms), please communicate with us on our blogs. We're focused on the needs of developers and companies that build software for sale, not on internal corporate software development, but many of the concepts are the same. Please let us know what you care about.
Examples speak louder than words. At the launch event I attended, a company called electric rain demonstrated their beta product StandOut (www.erain.com/standout). StandOut is a presentation tool that aggressively separates content from visual design, and it was built using Expression Blend and Visual Studio. It has an awesome user experience that takes advantage of the new features in Windows Vista provided by the Windows Presentation Foundation, such as scalable vector graphics. The result is stunning - check out the screenshots (such as http://www.erain.com/products/Standout/img/SS/Pres-Inter01XL.html) to see what a cool tool StandOut is in its own right and to see the rich user interface elements that are going to become the standard as software vendors incorporate Expression Blend into their development processes. It is worth noting that the presentation for the launch event itself was created using StandOut, and it was very impressive.
Another vendor I met at the launch event was Total Training (http://www.totaltraining.com/). They make training for a wide variety of products, and I've been using their Expression Web training to help me get up to speed quickly. It's organized in such a way that you can plow through it sequentially or jump to a specific topic for a quick refresher, making it both a training tool and a reference.
I suspect that Expression Web will be used to create thousands of static web sites, but what excites me is using it as the front end designer for dynamic sites built using ASP.NET and Visual Studio. Visual Studio is an awesome tool, and it's been a staple of development for several years, but it isn't designed for visual designers. Expression Web is. Now there's simply no excuse for having ugly user interfaces on your web software. Even business users deserve a pleasing user experience.
As you can tell, I'm really excited about Expression. I believe it's going to help ISVs significantly enhance the user experience for the applications we use every day, and that's a wonderful thing. Stay tuned as the entire Expression Studio line is released … and usher in the next generation of beautiful and compelling software that blurs the lines between the desktop and the web.
DISCLAIMER: I work at Microsoft, but the opinions expressed here are my own. This posting is provided "AS IS" with no warranties, and confers no rights.
On Thursday, I attended the Expression launch event in Chicago. Expression is Microsoft's new line of tools for creative designers. I'm not a designer, but I care deeply about good design, so I've always tried to incorporate design professionals into the software development process. That's what makes me so excited about Expression - because it provides tools that bring visual designers into the software development process seamlessly and effectively.
ISVs take note: The bar is about to be raised - now that the platform and tools enable more beautiful software, users are soon going to expect more beautiful software. Start thinking about how you can make your software more visually appealing and engaging, and consider how you are going to incorporate professional designers into your development process. Expression can help.
There are four products in the Expression line (only Expression Web is released at this time):
- Expression Blend is arguably the most exciting product for software vendors who create Windows programs. Expression Blend allows you to create "next-generation applications that blend the best of the Web and the desktop." Windows Vista gives us the platform to create great client software; Expression Blend and Visual Studio give us the tools to harness the power of the platform.
- Expression Web is a full-featured web authoring tool. On its own, it will compete favorably with the likes of DreamWeaver. However, what excites me about Expression Web is that it was designed from the ground up to integrate into a broader web application development process. It works seamlessly with Visual Studio, so it will play a central role in making dynamic web applications that not only work great but look great, too.
- Expression Design lets visual designers create and manipulate vector assets that can be exported to XAML (where they can be made interactive with Expression Blend). As I said, I'm not a designer, so I won't be a power user of this tool, but I know how to perform basic graphic manipulations. I'm looking forward to giving this product a spin and learning more about creating vector images.
- Expression Media is "a professional asset management tool to visually catalog and organize all your digital assets for effortless retrieval and presentation." Expression Media also imports assets from countless input formats and encodes to ideal output formats.
What does this mean for software vendors? To me, it means that there is finally an effective way to incorporate visual designers into the development process for both Windows and web applications. Designers are the people who turn the merely functional into the beautiful and usable. Before Expression, visual designers had one set of tools and programmers had another, and there were only ad hoc ways to bring the two worlds together. The result was low-tech and repetitive at best, chaotic at worst … and typically designers were simply excluded from the software development process altogether. Expression allows visual designers to work in tools that feel natural to them and integrate their results with Visual Studio. You get the right people working in the right tools at the right time.
Read more about Expression at http://www.microsoft.com/products/expression/.
DISCLAIMER: I work at Microsoft, but the opinions expressed here are my own. This posting is provided "AS IS" with no warranties, and confers no rights.
In 2005, the US Congress passed legislation to lengthen Daylight Savings Time. Starting in 2007, DST dates in the US and Canada will start three weeks earlier and end one week later. This obviously impacts many software products, including several from Microsoft. Does it affect yours? What do you need to do about it?
Understand how Microsoft is responding to these changes by visiting http://www.microsoft.com/dst2007, which will be updated regularly.
This type of change can affect programs in subtle ways. For example, in Outlook 2003/XP/2000, events will be offset an hour during the added weeks of DST unless you apply a patch. Outlook 2007 does not need a patch because the developers were able to anticipate the changes to US time zones. However, users in Mexico need to make sure that they no longer use US/Canadian time zones; there are new time zones for Mexico, because Mexico is not participating in the lengthening of Daylight Savings Time.
Again, it's a subtle issue, so start thinking about how the new law and subsequent changes are going to affect your software and your customers. Microsoft is committed to making this transition as seamless as possible for our users affected by the new DST changes and will be producing an update for Windows products as well as other Microsoft products affected by the law. These updates will be released through multiple technical support and online channels.
Stay tuned for more information!