Non-partisan software developer

Wednesday, November 16, 2005

Avalon and XAML

It's about time... Avalon and XAML are pretty much where UI should be. I am learning more about XAML and not sure it's the absolute simplest markup for designing GUIs in but it works and is 1000% better than writing imperative language such as C# / Java etc...

I really wonder if the Sun guys are going to build something similar...they'd probably use something like SVG but the concepts would be the same. Flash would work well as a rendering engine but probably better off building on OpenGL.

Thursday, June 30, 2005

Microsoft needs to understand Open Source

I just got done reading a very interesting thread over on TheServerSide.Net about James Newkirk releasing a conversion tool from NUnit units tests to Team System.

This got me to thinking and stewing about how I love C# and entire .NET platform and I hate the fact that it isn't as open as it should be. I know about Mono and it's the saving grace for .NET but the tools and developer infrastructure isn't quite here yet.

Recently when talking to partners about interoperability, Steve Balmer was quoted lately as saying "we can't support open source--but we can support interoperability." Microsoft will either eat crow here or die. There is just NO reason why all developer tools and frameworks shouldn't be Open Source. The old way of developing software where you wait for the "elite developers" give us the tools and frameworks we need are gone. It's just too powerful to have a living breathing community behind a framework or tool.

Do you know what the most exciting technologies are in .NET right now for our team at work? No it's not VS.NET 2005 it's not running CLR code inside SQL Server or HTTP Endpoints (which seem useless to me unless I really want BAD design and put my business logic in the database).

No, what we are most excited about using are things like NHibernate, Spring.NET and dotLucene. These are all great Open Source driven projects. These are just some of the frameworks we are excited about.

On the developer platform side we've been using NUnit / MbUnit, CruiseControl.NET and NAnt to provide our own "Team System." The thing is Microsoft isn't really innovating anything here... and there already exists a nice base from which they could have built on or supported via their excellent VS.NET IDE.

Sometimes I really wonder if Microsoft doesn't get it--or they just pretend to not get it because they cannot see how they'll replace the income that comes from selling developer tools instead of open sourcing and providing a truly powerful platform that anyone can contribute / fix / extend.

I understand why open sourcing Office or Windows may not be in Microsoft's best interest but open sourcing developer tools and frameworks only makes your MORE competitive and invite more applications to be written for your platform.

Major issues would be solved quickly by open source:

- Bugs in the framework libraries and half implemented libraries. The classic example is Windows Forms, everyone goes out and buys third party controls to make really nice looking Windows Forms applications. Why should I have to buy third party controls to get decent GUI widgets? Ever tried a Windows Forms Toolbar, DataGrid, or TreeView? Half implemented libraries? Take a look at System.Collections and compare it to Java's collections or better yet Jakarta Commons Collections.

- Adoption rate, (.Net has had troubles with a lot of VB6 and C++ developers) Open Source is just a magnet for developers cause they know that the project will be there as long as people are interested in the product. Open Source projects don't get canned or orphaned because they aren't making money. I am more willing to use an open source product than a commercial product because I know that it'll be around!

- Lack of some important key libraries out of the box or at least available as extensions. Java has a TON of libraries that simply missing on .NET (e.g. application servers e.g. JBoss, lightweight containers (ala Spring), PDF parsing and creation (iText), Imaging, BarCoding, etc... in .NET the only way to get them is to pay some closed source vendor big bucks. Open source developers write software they need. Commercial companies write software they think their customers will buy. Open source comes closer to the target of what actually is useful and pragmatic for real developers to use because it provides automatic dogfooding in real world situations. You can tell that Microsoft isn't building many applications with .NET right now. They are building frameworks for their customers, but not real applications. (Somebody prove me wrong!)

The nice thing is people are creating this open source projects without Microsoft's support but it would sure be nice with more corporate support like Sun does for Java.

If Microsoft could sit down with developers like myself and figure out what our frustrations are rather than trying to get us to write software that is tied to the Office or SQL Server platform they might just beat Linux / OS X. If they don't, they'll see developers leaving in droves to find friendlier pastures and as developers leave so will the need to run Windows.

ORM vs. DataSet

I have been doing a lot of ORM research and prototyping lately. I am convinced of the importance of a real domain model, one that is designed with OO concepts in mind.

Found a really nice gem here:

Sam explains it better than I've heard anywhere...

Wednesday, June 01, 2005

Picasa UI Magic

Picasa's UI is just too interesting. In a world of applications where they all work the same and rarely improve on anything Picasa has done some awesome things with their GUI.

Here is an awesome blog on it:

This leads me to think that the same UI should be able to be created by using SVG or Flash instead of just loading up static images.

I'm very interested in projects like Neoswiff and Xamlon. Anyone that has experience with this kind of stuff let me know I'd like to speak with you.

Sunday, May 08, 2005

Java Swing vs. C#

Currently I am developing on the .NET platform using C#. We've had a TON of problems with Windows forms and how immature and hacked together the API is. Bascially it's an object wrapper around the win32 api and not even all the widgets are the best win32 api widgets. Example the toolbar provided in Windows Forms is weak. It supports 8-bit color images so when you put a 24-bit color icon / bmp you get a downleveled image that looks like crud.

At any rate we've got a lot of Java programmers on staff and a lot of the tools we are looking at are direct ports of successful Java projects. We use NAnt, Spring.NET, etc... I've done enough Java to know a lot of it's strong points but my desktop / rich-client experience w/Java is limited. Most of what I've done was pretty server side / distributed system.

So there is a lot of talk about Swing / Java Web Start etc... I'm warming up to the idea. I'm a little concerned with these types of comments from someone like Slava.

and then the comments from here:

Which leads me to the question -- are there any Java developers that have switched to C# or vice versa. And if so why was the switch made and what problems has it solved. I am talking about rich-client applications so keep that in mind.

Thursday, April 28, 2005

Longhorn 5048

I just installed Longhorn 5048 build from WinHec 2005. Holy crap... it's crap! I never did get the PDC 2003 builds to check it out, but the screen shots looked awesome and it had a lot of new features (sidebar, glass effects, etc....) but 5048 was WINDOWS XP but uglier.

Right now I am running Windows XP with the Tablet pc theme and it's pretty smooth looking. It makes Longhorn 5048 look like 3 years ago.

I ran into a couple of weird things. I added a user and then switched the logon method to show the welcome screen. I logged off and got a the Windows XP welcome screen. Huh? They also used a Windows 3.1 hour-glass icon during the install process... wow!

I cannot believe how unpolished this build is. Why show this crap off at Win HEC, maybe it's more stable just for hardware engineers to produce the drivers and not meant to dazzle but wow it sucked. It lasted about 15 minutes on my machine and then I removed it.

Microsoft is seriously going to loose the desktop if they don't get their stuff together. BTW I am a developer and have been doing C# for the last 3 years so you can't call me a MS hater. I really liked Windows XP when it came out and loved C# / .NET and still do mostly except I've been doing Windows Forms development lately and found how crappy that part of the .NET Framework is.

Tuesday, April 26, 2005

DANGIT! You're pretty much ruining my life!

kyle gray ( stole my preferred blog address. Oh well I've lived with a goofy last name my entire life I guess a goofy blog address isn't too bad! Humm... I wonder if he'd give it back, he doesn't seem to be harnessing the power of his blog right now.

I am going to try out this blogging idea because everyone else is having such a killer time doing it. I will probably post mostly geeky stuff here but who knows I may get in a word or two about something else...