# Visual Basic > Slow Chat with the Microsoft Visual Basic team >  Usage question

## PaulYuk_MS

I'm curious how you're using Visual Basic.  Would you care to share?  

The kinds of things that would be interesting to note:
- what the application(s) do
- the app type: Windows, Web, Office, Mobile, other
- version(s) you're using
- the size of the team working on this application
- is it for internal or external use?
- where are you spending most of your coding time?
- features you want more of
- features you want less of
- where do you wish you were spending it?
- what motivates your decisions (cost, time, ramp up, risk) ...

Any specifics or anecdotes would help a lot.  Given we're in the business of tools and platforms it helps so much to hear what you're using the product for.

Any responses are great - nothing will be too off the wall.

----------


## techgnome

The kinds of things that would be interesting to note:
- what the application(s) do
We've built an enterprise style application. It is a Customer Management, Billing, and (to a certain extent) Risk management application for deregulated utility (Natural Gas & Electricity) independent Marketers. In a nutshell, it allows marketers to track their customers cradle to grave, along with their usage (which can be entered manualy or via several file interfaces) and billed (or sent to a third party for billing). Uses SQL Server 2000 (with plans to move to SQL2005 & SQL2008 in the next 6 months) as the back end.

- the app type: Windows, Web, Office, Mobile, other
Definitely a Windows Desktop type of app, although we do have a special "trimmed" down web version that allows a client of ours to offer their bills online to their customers, and to make address & contact changes.

- version(s) you're using
For the last 10 years, we've been using VB6 for development. We have jsut entered a transition phase to move to VB2005 (ultimately VB2008 next year)

- the size of the team working on this application
currently 11 developers.... about half of our company. 

- is it for internal or external use?
External.

- where are you spending most of your coding time?
Maintenance. And most of that has to do with architecture that "seemed a good idea at the time" that is now crumbling under 10 years worth of development and "stuff being tacked on". Some parts of our system work great, others not so much. I shudder to think about how much bubble gum, duct tape and bailing wire must be in there.

In all honesty, most of what we're feeling the pain from is self-inflicted. 

The only thing that's external holding us back in any respect is simply trying to keep things up to date in terms of technology changes. No sooner did we get our console portion of our app running in VB2003, VB2005 came out.... and now that we are finally ready to roll that out, 2008 is on the horizon. But don't get me wrong, I see this is a good thing...

- features you want more of
Code generation tools. I'm still looking for an option to "Turn Private Member Variables into Public Properties" -- I've only recently discovered the Class Diagram... so that cuts some of that development, but I still have to create the private members and hook it up.... maybe that's some thing that could be added in a future version of the Class Diagram? An option to "Create private members based on Property names". I do like the Snippets tool, that's something I use a lot of when I can.

- features you want less of
I will have to think about that. 

- where do you wish you were spending it?
Working on my model train layout.  :Smilie:  seriously, though, this is bettered answered by saying where I was spending less time: in the nitty gritty mundane stuff. Like hooking up member variables to class properties. I have a standard, I'd like to be able to set that up and when a new prop is added, BAM! the MV is created with it. Even if the only way to do that is in the CD, I'd be happy.
As it is, to get past that mundane stuff, we're buying a third party tool to automatically generate a lot of that stuff when we need it. Which is great here at work, but at home I won't have access to it. 

- what motivates your decisions (cost, time, ramp up, risk) ...
Cost, ease of use, time invested initially vs time maintaining it vs time saved. Plus how owly my boss feels that day. 


--- that's the day job reply....
for use at home... 
The kinds of things that would be interesting to note:
- what the application(s) do
Can't go in to detailed specifics (NDA), but it does data analysis and some statistical computations. Then based on the results and pre-defined rules, produces a result for the user.

- the app type: Windows, Web, Office, Mobile, other
Currently it is a Windows desktop app... eventually we would like to take it mobile (PC Tablet, Compact Windows), and / or have an web interface.

- version(s) you're using
Today VB2005.... but if I find that LINQ can do what I need it to, I might switch to VB2008 for parts of it.

- the size of the team working on this application
1 - me. 

- is it for internal or external use?
Internal for the client.

- where are you spending most of your coding time?
Waiting for VS to start up, shut down. And the app too... there's a lag time between I say GO! and the ap actually goes. Odds are though, this is related to my system more than anything else. 

- features you want more of
I think I pretty much said it all above.

- features you want less of
I wish some of the tool windows (is the right word - properties, toolbox, locals, solution explorer) weren't quite so.... jumpy (or is there a way to change that). Some times when coding, I push the mouse out my way, this causes a window to jump out at me when I didn't really want it.... then there's the opposite effect, when I AM trying to get a window, and it's slow to respond. Typically this is the Solution Explorer the first time I show it, or the Toolbox, and sometimes (intermittently) the Class Browser.  I know, I know, some people just aren't happy unless they are complaining.

- where do you wish you were spending it?
Hehehe... same response as above.

- what motivates your decisions (cost, time, ramp up, risk) ...
In this aspect, cost is a huge factor. Number one factor. Since I'm doing this stuff freelance, there's no payout until the job is done, which means having to go out of pocket - and that just doesn't happen.


I hope you find the above useful. If you have any question about it, let me know.

-tg

----------


## PaulYuk_MS

This is incredibly useful!  thank you for taking the time to write this up.  I might ask you follow-ups separately

I hope to see more folks jump in...

----------


## masfenix

- what the application(s) do
*I've built a small application for someone with a website. All this application did was act like an admin panel to them. From changing user properties to accessing certain areas of the site, viewing logs, and printing reports. This was something I did in the summer holidays* 

- the app type: Windows, Web, Office, Mobile, other
*I can't really think of an application to build. Most of my time is on the web, and due to that I mainly develop for the web. I tried PHP, but to be honest I hate working with infinite amount of brackets. I have done java in a computer science course in my previous year of highschool. So it wasnt that bad.*
- version(s) you're using
*I can barely afford to buy a domain name, so I still use the 2008 beta .
And I have VWD express since I dont even use 20087 beta.*
- the size of the team working on this application
*I am a one man team* 

- where are you spending most of your coding time?
*at my house in my basement hehe.*

- features you want more of
*I agree with the previous posted. Making properties for each private member is very frustrating. Sometimes when I have too many variables, I just create a public class with public variables. Then I add information to that class, and send that class over to another class to talk to the DB.
*

- features you want less of
*Just recently I have upgraded to a dual core processor. before that I was on a AMD athlon XP and first of all i didnt even have visual studio, and visual web developer would take FOR ever to switch from design view to code view or vice versa. Maybe optimize that for the lower end users*

----------


## RobDog888

Hi Paul,

Here's my list...
Version: I'm using VSTS 2005 SP-1 mainly.
I started out professionally on VB 6 many years ago and integrated .net 2003 into my skillset when it came out. I jumped on 2005 when it came out and really think it had made a big improvement over 2003.Apps: Windows mid-sized desktop applications, Office automation and UserControls.
The project types are used in a wide variety of businesses. My major client is a manufacturer for Boeing Airlines. So I write and support many applications for them: Reporting, Forecasting, Planning, Shipping etc., automation of legacy apps (putting employees out of work or getting them to work faster  :Big Grin: ), integration and automation of Office apps like Excel, Access and Outlook via VB.NET or VB 6 AddIns or plain VBA code.Size: 1 man show!  :Big Grin: 
I run my own software consulting business.Both internal and external/commercial:
Usually the projects I get are for my clients internal use so I would consider that external to me. I also have some public commercial apps/controls so also external. Then I have my personal use utilities and addins etc. that I wrote to save me time in my work.I want less focus on wizards.
IMO, the inclusion of too many wizards makes coders rely upon them too much. I see alot of "How do I change my db path?" type questions posted. If they didnt use wizards to create the db connection and binding code then they would know how to write the same thing with pure code giving them complete control and knowledge over their db code.Where time spent: I probably spend most of my time writting (or fighting with) UserControls. Seems there is a lack of indepth documentation and code examples.More focus on: QC, Stability and Optimization of code functions.Motivated decisions: My decisions are motivated by points like: Which can I produce the app using .net or vb 6 in the budgeted time and which will provide the best results/performance. I try to focus on .net as its more powerful and is better to use current technology as it insures your future upgrades on the projects will be easier and better.

I hope its helpful enough but I'm pressed for time as we are approaching the closing hour.  :Frown: 

Thanks,
Robert

----------

