Express editions and the new wave for community connect


After I got my new laptop the first thing I installed was the Express versions of Visual Studio – VWD Express, C# Express and VB.NET Express (http://msdn.microsoft.com/vstudio/express/). Also I installed the MSDN Express Edition. Really these are very powerful software absolutely at free – Amazing!
Even if you think this from two year back perspective it was not possible. And any one can built really very cool and powerful software from these express edition. This is really a great opportunity for the hobbist and ISV market who do not have to pay big bucks for license. But still can take the benefit of all the features of .NET Framework. I still remember once I searched the web for free version of VB6. Still it’s not available for free!
I also installed the SQL Express version and Management Studio Express Edition. So now I have everything – a great front end tool for UI and Business Logic and a database for storing my data.
They inbuilt development web server (Casini) feature of ASP.NET 2.0 also helps greatly as you can now create local file system webs sites even if you do not have IIS. That solves lot of issues related to debugging ASP.NET applications without Admin Rights.
This is the first time I am actually using the Express versions. Before this I have always used VSTS Team Suite Edition. I was just wondering if we can have a express version of VSTS also with little bit class diagramming and application diagramming support.
May be in future we will have express editions for TFS also.
I think things are changing rapidly. Now all the major development platforms has distinct offerings for hobbist and small ISVs including Microsoft, Sun and Oracle. Oracle also has an Express Edition – Oracle 10g database. This is also freely downloadable –
http://www.oracle.com/technology/software/products/database/oracle10g/index.html. I have started playing with it. I will blog about some of its’ cool features in future blogs.
I think going forward all the companies will put major stress in community effort. There will be more sites like CodePlex (
http://codeplex.com) and tools like PowerTools (earlier PowerToys) for TFS built as community project. The biggest example probably is Eclipse. I hope some day .NET community will also come up with such beautiful IDE.  

I will end this article with a small nice feature of Express editions. The Options dialog in Express versions has a small checkbox called "Show all settings" in the bottom left of the window. By default this option is unchecked and shows only important and popular options. If you check the checkbox then you’ll get all the options similar to other versions of Visual Studio. I think this checkbox should be there in other versions also – may be it should be checked by default. But it allows to clear up advanced settings for beginners.


UI Inconsistencies in Vista, Office and Visual Studio


There are subtle changes in the Vista UI. Some of the changes are easier no notice, some are less subtle and harder to notice. One such change is the UI text – For example the text on the button. For example when you make some changes in notepad and click on X button it pops up a message box.

If you notice the buttons in earlier versions (like XP) were Yes, No and Cancel. So by looking at the buttons only you will have no clue about what to do. You have to read the message. Now since in Vista the buttons are changed to Save, Don’t Save and Cancel you do not have to read the message. This is followed throughout Vista apps.

But one thing I noticed is it’s not followed through out all MS apps. So it seems that there is inconsistency between different divisions. For example the buttons are still the old way in Office 2007 –

Also some more inconsistencies and differences –

  • In Vista the buttons are aligned right, whereas in Office it’s centrally aligned
  • Also the highlight below the buttons is missing in Office

Also there is a small difference in VSTS. The middle button is called "Discard" rather than "Don’t Save" 🙂

Hope these inconsistencies will be corrected in future versions!

Ctrl + Tab key in VSTS


 
Another cool feature of VSTS that most of the developers do not use is the Ctrl + Tab key. When you have lot of windows open within VSTS IDE you can switch to another by clicking on the tab, selecting the active files icon on the right of the tab bar or selecting the window from the Window menu.

Another option is to use the Ctrl + Tab Key which opens up a small dialog as shown the next figure, similar to Alt + Tab Window in Windows. Then you can use the Tab key or Up & Down key to navigate to other windows while keeping the Ctrl key down.

I was just wondering if we’ll have Ctrl 3D (similar to Flip 3D in Vista) where all the open windows will be shown in 3D in future versions of VSTS. May be that’ll be too much. Also live preview of windows (similar to what happens when you hover the mouse pointer over a minimized window icon on Windows Taskbar) will be great!

VSTS Project Save Settings


One of the good features of VSTS is that you can build an app (Windows) in memory – you do not need to save it in a location. This feature is not available for Web sites. It’s only available for Windows applications (C#, VB.NET and other). By default when you create a new project in VSTS it asks for a location (folder) to save the project/solution.

Some time you do not want to save – you just want to play a little or just a little piece of code. You can change the settings in VSTS Options dialog box (Tools > Options menu). Go to Projects and Solutions > General section and uncheck the “Save new projects when created” checkbox.

 

Next time when you create a new project VSTS will not ask you to specify a location. It will hide the location textbox in the “New Project” dialog box –

It will temporarily save your files and project in a temporary folder and when you click on Save it will ask for location (similar to Word, Excel or any Office app) and will save the files/project in the specified location

Some Agile History from Dave Thomas


Dave Thomas (one of the original signatories of Agile Manifesto – http://agilemanifesto.org/) has written a nice blog about the history of Agile methodologies – http://pragdave.pragprog.com/pragdave/2007/02/some_agile_hist.html
The best part is that it contains the snaps he took from his notebook containing his notes taken at Snowbird back in 2001. He also captured the Agile Manifesto which we all are very familiar today in his note –

Manifesto for Agile Software Development

We are uncovering better ways of developing
software by doing it and helping others do it.
Through this work we have come to value:

Individuals and interactions over processes and tools
Working software over comprehensive documentation
Customer collaboration over contract negotiation
Responding to change over following a plan


That is, while there is value in the items on
the right,
we value the items on the left more.

Stand-up meetings / daily scrum


I was reading an excellent article by Jason Yip of ThoughtWorks on daily stand-up meetings which is also called daily scrum – http://martinfowler.com/articles/itsNotJustStandingUp.html. Jason has given a good picture of a daily stand-up meeting at their Pune office!

The whole idea behind daily stand-up meetings is to sync all the team members of the project. It’s a time-boxed meeting (10-15 min) and so it’s a standing meeting, so that people finish it up quickly. The issues that will be raised by team members need not be solved in the meeting itself. That can be done later in follow up meeting or one to one with smaller audience. The three questions asked to each team member of the team are –
1. What have you worked on yesterday?

2. What are you going to work on today?
3. Any issue, questions or any important thing you want to mention/raise

The meeting should not be the first task of the day. It can be started any time. In my last project we used to have the stand-up meeting at 10 in the morning. It should be at same time and at same location so that people do not have to search for the location. Also one good idea presented in the article is who ever comes last has to start talking first. This way people will either come prepared or will try to be punctual. Either way helps 🙂

I conceptualize stand-up meetings as continuous integration among team members. It’s similar to the Continuous Integration (CI) followed in code. It reduces impedance among team members and keeps everyone focused.

After arriving to office, I generally prepare a list of tasks that I will try to accomplish today. The idea of daily stand-ups should be to come with a task list for the project everyday. And in next day’s stand-ups every team member should answer how much they were able to accomplish.

It really helps rather than doing a long meeting with MOM, room booking etc. Even if we have to do a long meeting it should be time-boxed and goal centric.