views:

799

answers:

16

Do you write consumer desktop applications with .NET languages? If so what type?

My impression is that most consumer desktop applications are still native compiled applications in C, C++ and the like.

Whilst .NET languages are growing in up take and popularity, do these new breed of applications ever break out of the enterprise & web domain to become high street consumer applications?

For example look at your desktop now? how many applications are written in .NET languages, Firefox? Microsoft Office? Thunderbird? iTunes? Microsoft Visual Studio?

My company develops high end CAD/CAE applications we leverage new technology but our core development is still done with C++.

+2  A: 

That's a shame. The only reason to hold back on desktop development with .net is the requirement of the .net framework on the desktop machine, but imho that is a small price to pay for the bennefits you get when being able to work in the .net environment.

Per Hornshøj-Schierbeck
But its your customer who has to pay that "small cost" of deployment.
RBerteig
Ofcourse, but there is always a cost - depending on the customer, it might be big or small though :)
Per Hornshøj-Schierbeck
"but imho that is a small price to pay"I think that decision is best evaluated on a case-by-case basis.
Vulcan Eager
New versions of Windows already ship with the .NET Framework anyway.
Konamiman
+3  A: 

Maybe you are seeing this because many of the popular desktop apps have a code base older than 2001?

Edit: I should probably have said older than 2003 or 2004...I doubt anyone would have started a major desktop app the first year or two of the .NET release.

Giovanni Galbo
:D I Did. It was a curious experience (if anything). Some bugs in 1.0… but then 1.1 came and I saw the light. :)
Martín Marconcini
I disagree with Giovanni. There have been numerous applications developed since the time .NET was first released. IMHO, .NET has had its chance and has failed to deliver on the desktop front.
Vulcan Eager
In 2003 I tried to convince my boss to start doing new developments in .NET (we were developing custom applications using VB5). His answer: "No way, what if installing .NET framework in clients' computers breaks something?" Luckily I could find another job soon afterwards.
Konamiman
A: 

Well there are apps such as Tomboy and Beagle which are available as part of some Linux distros so I'm not sure if they count as high street consumer applications. Come to think of it I'm not really that aware of any other "non-enterprise" applications written in .NET languages.

Steve
+2  A: 

As long as you don't need über performance, I can't see any reason not to use .NET. With the new super small redistriutables you can include a .net installer that takes up a couple hundred KB.

I would say that the productivity gains of a modern, garbage collected language should only make C++ a good option if you already have the developers who are proficient in that language or there are specific technical requirements which makes it necessary or if the clients' machines are locked down such that the .net platform cannot be used.

While I'm not a part of the working force yet (i.e. I am a student), everything I can get away with I write in C#. Nothing else I've tried comes close to the level of efficiency and cleanness afforded by this language (and which provides all the productivity features of Visuall Studio).

Morten Christiansen
where are those "super small" redistributables? All I can find are the 20+ MB .NET 2.0 redistributable or the similarly sized 3.5 client profile.
There are some different options but Scott Hanselman covers them here: http://www.hanselman.com/blog/SmallestDotNetOnTheSizeOfTheNETFramework.aspx
Morten Christiansen
That same small redistributable cost me an entire afternoon while it (.NET 3.5) downloaded an unknowable amount of stuff for a while, then spent a really long time claiming to be installing, and then required the third reboot in a row of getting the *#*$* app DEMO installed.
RBerteig
+4  A: 

As mentioned, I know of Tomboy, Beagle, and in addition, F-Spot. All come as part of most linux distros. Paint.NET is another app.

Bernard
Paint.NET is a good one, but developed by Microsoft employee, who on StackOverflow is developing consumer desktop applications with .NET languages?
titanae
I do, albeit for dentists. I use C#.NET and I know dozens of colleagues who also work with .NET
Martín Marconcini
Wow!! I wonder if .NET could help to turn the tables in favor of Linux!!!! Oh, the irony!!
Vulcan Eager
@titanae: Microsoft hired the Paint.NET developers *after* Paint.NET had become popular though.
Konrad Rudolph
A: 

Not the traditional desktop app, but the ATI Catalyst Control Center is .NET based.

Giovanni Galbo
A: 

Actually, I have found some applications that require .Net on my desktop.

The most famous is Paint.Net, but also amongst them is "Catalyst Control Center", delivered with my ATI graphics card.

And naturally, our company is writing our own desktop .Net application. Our target audience are business users.

GvS
+7  A: 

I built and maintain a big desktop application written in .NET (1.1, 2.0 now). The application is for Dentists and it works by making use of the Ink technology found in the MIcrosoft.Ink namespace in the TabletPC SDK. Some dentists use Tablet PCs to make things easier and leverage the power of that technology.

On the other hand, since I find Windows UI not good looking (XP/Vista) and find that every application looks the same and inconsistent, I wrote my own GDI+ library of controls and while respecting more or less the "windows UI guidelines", I came up with very nice buttons and other UI elements that make my App look "way better" than any other "normal" windows application.

We run at full screen (maximixed, no controls, no app bar), but we do this because it's a very specific application used in machines dedicated to the task. Dental clinics don't use Microsoft Excel and ALT-TAB to our application. The application works like an "ATM", touch touch, done. Very simple. It has been a success in Europe where I am.

So I have to say that I am glad that the app is not a web application, because when we started, the .NET GDI+ for Windows Forms was way superior to anything that WEB could have offered; even today, Ajax is not able to reproduce the full desktop experience (not that it should but…).

Java had an ugly UI back then (don't know now) so we elected .NET and used C# ever since.

Desktop applications are not going to die anytime soon, some things still cannot be reproduced inside a webrowser.

I considered Java, C++, Delphi among others before starting with this six years ago. None offered the simplicity and power of c#.NET with little disadvantages (like the Framework that nobody had back then). Now, every windows box will surely have the .NET Framework 2.0.

Again, my consumer application is very specific and targeted towards a closed market, but we don't have anything against .NET.

Martín Marconcini
A: 

There probably won't be a whole lot of winforms apps in the traditional sense being written, but the next version of both windows live messenger will be written in windows presnetation foundation and I think this is what the trend will be towards.

Windows Media Centre was written in C# which is pretty impressive, but having said that, it's not your traditional winforms app either.

lomaxx
A: 

TechSmith's Jing is .NET, and in fact it is WPF so it is 3.5, bleeding edge .NET.

+2  A: 

I've noticed that in Process Explorer more and more of my desktop apps are being highlighted in yellow (meaning they're .Net). As mentioned above, ATI's Catalyst is, Windows Live Mesh, many games have .Net update or config engines, as well as most of the bits I write that haven't quite made it into the public arena yet (because I don't have as much time as I'd like for coding & testing). Also, large parts of Visual Studio ARE .NET - at least according to Process Explorer.

I think that, as somebody mentioned above, there are a lot of desktop apps already out there that have older code-bases which their owners won't convert unless there's some fantastic value in doing so.

Captain Toad
+1 for Process Explorer. How else are you going to find out whether commercial desktop apps are .NET or not?
MarkJ
A: 

Almost all the client programs written here where I work are in .NET; it's a terrific platform for business applications. Having said that, most of the programs out there that .NET would be a good target for are being deployed as web applications instead; the rest are typically graphical and cpu-intensive applications that are typically implemented in c++ for performance reasons. For the same reason, you don't see too many desktop applications written in java, either.

omellet
A: 

Most of you refer to open source. I agree, there are some projects using .NET (I'm using RSSBandit for example) but they doesn't matter (mostly). But what about enterprise apps? Recently I've written app which is like MS Surface and it is for advertising purposes. Before this I had to write an app to maintain warehouse for example. Something different? In times of WinForms I've written an app to support ebay-like page. Do you need any more?

Personally, I think that .NET is widely use in business (which you don't see everyday) and it's not used by open source (why? I don't know, maybe contributors hate MS?). However, I also think that it will be changing towards .NET, especially with the next releases of the Windows platform. And, I almost forgot - installing .NET framework is not a problem, be serious, users are not that stupid and lazy!

And it's true that desktop is loosing it's mojo to web environment, but it will never die ;)

Łukasz Sowa
Its not a matter of stupid and lazy users, its a matter of convincing a potential user that it is worth his time to install the entire framework just to run some free utility. That is a stretch. Java has suffered from the same issue too.
RBerteig
+2  A: 

Visual Studio (at least 2008) IS written in .NET

Andrei Rinea
Not entirely I think.
Vulcan Eager
Well if not entirely then how much? 50%?
Andrei Rinea
+1  A: 

Intuit's TurboTax 2007 and 2008 are both written in .NET. Unlike the demo of a niche-market video edit tool I griped about in a comment to another answer, it actually installed completely cleanly and without incident (including its self-updater trick) on my slightly aging XP box here at home.

This year's UI is substantially different from past years, and for the most part its better. Since the transition to .NET seems to have happened last year without changing the UI much at all, the new UI can't be blamed on (or credited to) the switch to .NET.

I'm just a user, and have no idea what motivated their dev team to switch.

I do think that is the first retail software package I've caught in the wild that was clearly based on .NET.

RBerteig
A: 

Microsoft InfoPath - part of Microsoft Office is also written in .NET

Andrei Rinea