Wednesday, February 14, 2007

Tuesday, February 13, 2007

Monday, February 12, 2007

General .net code samples

There are some nice samples of different tasks us .net programmers come across time to time at Mike Woodring's personal samples dump area.

Thursday, February 08, 2007

Office 2007 and RSS feeds

RSS is definitely the key to up to date info about software releases like WPF/E or AJAX. But with RSS feeds comes one simple problem... how to get them all in a decent manner.

My basic issue with RSS readers I've tried is that RSS feeds are spread apart as much as possible. By this I mean to read blogs, you generally have to click on an object for each blogger to read their new blog for the day, then onto the next blog that's been updated today. It can take a few clicks to read the latest blogs.

My goal was to always have one central feed, or perhaps 3 or 4. Maybe like Programming, News, Sports, Fun. So every programming blog I subscribe to goes into one folder. So when I log in that morning I have simply have 5 unread Programming blogs.

So think about email with Outlook. You can sort by sender, date, subject, conversation (great for newsgroups BTW) and where you want you can send certain emails to other folders to keep them out of the "main stream". You log in that morning and X emails await you, which is great. So when I heard Office 2007 would support RSS, I figured this would be very similar and allow such flexibility. I was wrong... kind of.

By default Office 2007 adds each feed to a new folder, and doesn't make it obvious there is an alternative, which I find frustrating. Once added, each folder is completely separate and can't be merged into one giant feed. However in each folder, you still have all the ordering features, but what's the point when it's all one blog.

So this is how I've setup my RSS in Outlook 2007. It's the long way but worth it in the end I think, solving the problem I had.
  1. Right Click on RSS Feeds and choose "Add a New RSS Feed"
  2. Enter the URL for the RSS Feed (usually found by clicking the orange antennae symbol and copying the URL it takes you too)
  3. Click Add, and when the next dialog appears click Advanced.
  4. Click Change Folder
  5. While RSS Feeds is highlighted click New Folder and type a general name for you feed like Programming
  6. Highlight Programming and press OK
  7. Also notice the Downloads section has a "Download the full article as .html..." I click that as some really good posts include images which make things worthwhile.
  8. Press OK and then Yes to finish it off, and you have your feed going to a Programming folder.

There is absolutely nothing stopping you adding more feeds to this folder, with the added benefits, that if you check your feeds folder today, the Programming folder will contain all useful programming feeds for today, in full html format and you don't need an external program to achieve this. And all in your new install of Office 2007, which I know for me, adds a nice reason to upgrade.

Sunday, February 04, 2007

Good .net code links

Always nice to have somewhere to look when trying to work out how to acheive a new task in .net.

http://www.codeplex.com/

http://www.gotcodesnippets.net/

http://www.gotdotnet.com/

Thursday, February 01, 2007

wpf/e in the real world

I have to get something off my chest. I've been having a play with wpf/e. In short that is the Microsoft codename to a technology that allows programmers to bring some of the great benefits of the new .net 3.0 GUI WPF to browsers near you including Firefox browsers and Macintosh computers.

Pros

The real beauty is the language behind wpf/e is XAML, which is a large improvement from standard winforms or HTML programming, and in fact takes some of the best parts of each.

As an example, winforms is pretty lacking when it comes to anything 3D. WPF, and even wpf/e gives an easy way to make a control seem like it's been moved elsewhere in 3D by using transformations. But even better like HTML which allows you to store GUI objects in GUI objects a lot easier than winforms, you can do that transform to the top level GUI object and the inner objects all do the transform too. This is the case with events too. You can add click events which cascade down the child objects, which is not possible in winforms.

So this is all good, but considering this is avialable for many browsers and OS's it's even better. From what I've played with you can do some real magic in a browser using wpf/e which brings us much closer to the browser nirvana. That is where web forms are a better solution to a solid windows app. I'd hope to get all happy and optimistic here, but the cons are yet to come.

I'm not an expert on the subject but some of the above is just the beginning, as the project is still evolving and I haven't dug nearly deep enough just yet.

Cons

OK, there had to be a downside to such a nice multi platform graphics platform.

wpf/e is as mentioned a cut down version of WPF. And I love some of the features they have squeezed in but, there is a massive issue here... javascript. It is the backend language for wpf/e, which has me deeply concerned. Forgetting those poor folk who run their browsers without javascript of course (as most others have already since AJAX appeared on the scene), javascript programming is just not fun or easy. We started asp.net sites without really needing javascript, and now with Microsoft AJAX and wpf/e they want us to have half our code in javascript.

In some way I can forgive the above as javascript at least is fairly common. My biggest concern is lack of databinding. In such a modern language, Microsoft knows that data is a central point, but have opted to not support data at all, a very strange move. Are they worried that such a comprehensive browser plugin would eliminate the need for windows? Because as it is, to bind any data to any wpf/e control needs:
  • javascript
  • AJAX
  • Web services (technically not needed but easier)
  • more javascript to get the AJAX data returned
  • some method of filling the data a the wpf/e data template
  • some more javascript to put the templates into a grid like structure

The above isn't friendly enough for most, and in fact brings me to think they simply trying to match Flash with this version.

OK, I finally mentioned it, yes Flash. Personally, I'm not a big fan of Flash at all, but it is pretty hard to avoid. The good Flash programmers improve your experience on the web, others, not so much. The percentage of sites that are improved are fairly low by the way. Now that I bring Flash into the equation, a quick comparison needs to be made:

  • I'm not going to say wpf/e is better graphically, as I've seen some pretty impressive Flash pages over time. But I will say it seems to be at least match.
  • Users aren't always happy to install a plugin to get a page to work, especially after installing Flash after weeks/months/years of websites using it. The only thing in MS's favour is it's MS, which most people would at least trust.
  • Where MS could have moved forward in leaps and bounds would have been a solid DB backend, but it didn't happen. With this programmers would have/will flock to wpf/e in droves. Even hooking up to a web service without javascript code would be a good start if it's possible

OK, so that's about my rant for now. Personally, I'm in no hurry to program for wpf/e (or Flash) especially when Microsoft AJAX brings forward so much more than what asp.net did but with all the high quality DB support that asp.net has, and of course works anywhere without plugins.

All I can hope is wpf/e improves enough to keep MS interested, as it has plenty of potential if given time to evolve.