Monday, July 13, 2009

Banshee as a Platform

Every time I use YaST's Software Manager, I wonder if it would be better implemented using Banshee. Banshee's interface has been tuned for usability, both on its own, and what it borrows from iTunes. Software management is a naturally scary operation, and using an interface that the user is already familiar with could help reduce user fear.

Of course, it would just be the interface pieces of Banshee in a new app, you wouldn't actually start Banshee for software installation.

Another feature I would like to see taken from iTunes/Banshee is downloading/installing in the background. Once I hit Install, go ahead and download the application in the background, and install it in the background. I can click on the "Downloading/Installing.." menu item if I want to see what's going on. Most of the time, I'd rather be looking at other things to download.


Speaking of looking at other things to download, why not help me find apps I want to install? We have the openSUSE build service chock full of applications for users, but they're all hidden behind a terrible search-only interface. We need to give the user a way to browse applications and find cool things to do on their Linux machines.

App stores are all the rage, as they give users a way to browse and find new apps, guided by category browsing, "front-page" recommendations by editors, and ratings by other users. "Store" may not be the right word for us, as everything is FOSS, but the idea is the same. One key would be to only show things that are user applications. The user isn't interested in finding things like perl or x11 or gstreamer.


On the same topic, I think F-Spot could benefit from a Banshee interface as well. It's already pretty similar, so code sharing would be nice. Are there other apps that could benefit from using an interface that the user is already familiar with? Monsoon? Nautilus?

Tuesday, June 16, 2009

Mono in Visual Studio 2010

One cool new feature in Visual Studio 2010 is enhanced Multi Targeting. Presumably, its all about allowing developers to target both the 2.0 and 4.0 runtimes from VS2010, but what it really means is you can easily target Mono from within Visual Studio 2010.

Like this:



To enable this, you need to unzip this file to:
C:\Program Files\Reference Assemblies\Microsoft\Framework\.NETFramework\v3.5\Profile



Once you do that, you can take your .NET project:



Go to project properties and switch it to the Mono 2.4 Profile:



Now it will compile using Mono's assemblies, and will flag methods that Mono does not contain, like thus:



This also works for Intellisense:



And Object Browser:



We are very excited about this feature, which should make it easy for people to ensure they are staying compatible with the Mono subset of the .NET framework without leaving Visual Studio. Once VS2010 is released, we will hopefully release the profile packs as we release each Mono version!

Wednesday, June 10, 2009

Words to Live By

When someone says "your project/code sucks", the correct response is neither "you suck" nor "yours sucks more". The only correct response is "how can I make it better?".

Thursday, March 26, 2009

On Newspapers

newspaper = someone throwing litter on my driveway that *I* have to clean up

Wednesday, February 4, 2009

Congressman Day

Today, at approximately 4:12PM, 264 congressmen poked their heads out of their holes and saw the shadow of every American who can recite thousands of commercials, but haven't managed to see/watch/remember/act on the unending ones about DTV. They got scared, and promptly scurried back to their holes, meaning we have 4 more months of analog TV.

Thursday, January 29, 2009

gmcs in Visual Studio

I was trying to learn a bit about MSBuild today and how things get built in Visual Studio, and I came across a cute little hack. I may be the last person in the world to discover it, but I still thought it was neat.

If you go to:
C:\Windows\Microsoft.NET\Framework\v3.5\Microsoft.CSharp.targets

around line 145, and delete these two lines:
ErrorReport="$(ErrorReport)"
FileAlignment="$(FileAlignment)"

and around line 166, change these two lines:
ToolExe="$(CscToolExe)"
ToolPath="$(CscToolPath)"

to this:
ToolExe="gmcs.bat"
ToolPath="C:\Program Files (x86)\Mono-2.2\bin"

(your ToolPath may vary)

when you build your C# projects in VS2k8, it will build them with Mono's C# compiler "gmcs" instead of Microsoft's "csc" compiler.



(If you try this, you should of course backup your Microsoft.CSharp.targets file.)

Tuesday, January 20, 2009

Lemons and Lemonade

What started as criticism that Linuxers couldn't watch the official Inauguration stream due to the use of Silverlight:

- OSNews - Inauguration on Silverlight: Some Linux Fans Upset
- ZDNet - Some Linux backers upset about selection of Silverlight to stream Obama inauguration events

Ended not only with Linux users being able to watch the stream, but with Linux being advertised to the tens of millions (?) of people watching the official stream on the official website on their Windows and Mac PCs:



That is advertising money can't buy, even if we included Linux with every commemorative plate sold!

One small step for Silverlight, one giant leap for Linux!