I love Silverlight. If you are reading this text, you know why. Looking at the various demos makes me want to work in Silverlight. When Microsoft.com offers me their download center in Silverlight I click the yes please option.
The eye candy makes me happy to be a user. Even the moving backgrounds are subtle enough and I don't feel dizzy or ready to rant. All the effects make me feel special and loved.
And then I hit my middle button.
No, it must be me. The Silverlight wouldn't do that to me. Look at it, it loves the dev me and the user me. I hit the obviously malfunctioning middle button again, and the one on the side too (mapped to act as middle click) - just to be sure.
No tab appears.
Apparently, while starting work on a competitor product to Flash, no one cared to think about the usability of the user experience. Or think of the various user habits. Or look at all the mistakes Flash made.
So I have to wonder - after playing catch up in the "tabs are good, people want tabs" game, why kill them again? What is so wrong about people opening links in new tabs? Is no one on the Silverlight design team loves tabs a bit too much? And why do they hate me using a context menu? I though Windows loved the context menu.
Please stop me before I move on to the dreaded JavaScript link...
And while I am at this choices thing, I'd like to know why Live anything doesn't allow me to set the language of my choice?
Seriously people! I have it in my IE languages options, right there at the top. So you chose to be smarter than I and read my location, color me impressed. But I have a profile, don't I? And I can't set my preferred language? Why? Please let me know why me telling your site what language I like to read stuff in is bad.
A couple of colleagues and I went to dinner a few weeks ago. As it does so often, we chatted about work stuff. It drifted to various topics, some more, some less on the personal side of life.
One of the things I mentioned (or complained) was my unhappiness with my working knowledge of .net development work. Which is to say I went on about stuff I couldn't figure out due to a lot of stuff. Since my day job isn't really about writing code I have only my free time to learn .net. And being mostly self taught there is a big barrier standing between the idea and the text I need to look for - namely names of things.
But another approach was mentioned. Development isn't about code. It is about the process. Working on an application is about a great many more steps than sitting down, firing up Visual Studio (or insert editor of your choice) writing a control to do X and a database (insert your data store here) to hold your information.
Development starts with an idea, a need, a thing to get done. It starts with a piece of paper to jolt down the purposes, ideas and improvements of existing applications out there. If you ever looked into starting a company it is very much like that. You start with two business plans - a long one and a short one.
An application should start like that. Writing down a short business plan, a summary you can show to people and make them understand why you need to write it, why it is an improvement on an existing version of the same thing (and odds are it already exists). It is your pitch to yourself and anyone interested. I like to grab non IT friends and talk to them because I have to explain things to them to make them understand, and they pose simple questions users might ask - it is like getting user feedback before you have anything to hand out to users.
The long business plan of an application is the long term projection. It needs to be harsh and realistic, slacking off time included. Writing down the phases and time frames. Expected growth and goals. Will it be released to the general public, will it be open-source, which licensing option will you use, how will you (will you) generate any income?
Doing pre development planning offers a great deal of benefits, or I'd like to think. It allows you to set realistic goals for yourself. It should provide you with time frame to keep to. Looking into tools to use sets your framework and can help build new skills. Most of all it will keep you in focus.
And development, be it for fun or profit, needs its focus.