Udostępnij za pośrednictwem


A "Live" Version of Visual Studio?

After seven years in developer division marketing, I'm making a transition into the product team to work as a program manager to help define what a "Live" version of Visual Studio might look like. If you think about Office Live and Windows Live, you can see that "Live" is coming together to mean "software that is smarter when it's online and back-ended by a set of services." I think most developers get this concept intuitively -- that software can (and should) be better when it's online. Already in Visual Studio 2005 there are features where we've begun to look at this kind of linking. Some examples:

  • CodeZone-integrated help. When you search help in VS now, you can search the locally-installed .hxs files, the documentation on MSDN, and a set of sites from our CodeZone community. The search is cleverly dispatched to these sites, and returned and aggregated in the IDE. I've heard several people tell me that this help works exceptionally well -- better in many cases than the Microsoft help.
  • The Community menu. Pull down the community menu to ask a question and it runs a search from within the IDE against the VS and .NET newsgroups.
  • The Start Page. OK, I may be stretching here, but the Start page is dynamically refreshed based on online content.

So I've started imagining what the world could be like, and with very little effort I've come up with some ideas. But before I spill the beans on those I'm interested in what other folks would like to see in a "Live" version of Visual Studio.

Comments

  • Anonymous
    January 11, 2006
    To me, "Live" means connected to others...

    I'm thinking "distributed team" Live features. Features in the IDE that help you work with your team, no matter their location.

    1) For example, think an IM presence like feature, where when you have a Solution open in the IDE, you can see everyone else on your team who also have the same project open.

    Kind of like Presence w/ Context. Not just that they are online but online and in the same project. i.e. in your same context...

    2) Or something like a "Sync'd IDE's"

    I see my teammate/buddy is in the same project I'm on (or I see that he isn't and I ask him to open a project... maybe including a VSTS Project link?).

    I then click on the "SYNC IDE's" button (and my buddy agrees), and then open a class...

    Now we are both on the same code, in the same location in the code, etc...

    Heck add shared editing... So either one of us could edit the code.

    A P2P IDE. Now talk about team coding.

    3) A Windows Live Messenger Shared Folders kind of thing where I can click on a Solution and select a "Send Solution to Buddy" option.


    All in all, making it easier for me to work with others on a given project...

  • Anonymous
    January 11, 2006
    I am not really not interested in Internet-based "rich" content being integrated into the IDE. What is the value of that integration, relative to just finding the same content with a web browser? I've already turned off those features in VS2005 because they have a poor signal-to-noise ratio, and they slow down searches too much. I use local searches for some topics, and Internet search engines for when I can't find what I want in my local MSDN content or want to find information about a more broad concept.

    It is really important that Visual Studio stay focused on core functionality and not get all distracted with novel ways to serve content.

    Deeper help content is always a value add, especially more examples and more descriptions. But that can/should be available both online and locally.

    I agree with Greg, the focus of Visual Studio "Live" should be to help me work with my workgroup, whether that is in my building or around the world. Quick and easy sending/sharing source and other relevant files is important. Sending files via IM now is tedious, especially because I can't just send a folder/directory without having to ZIP it up first.

    It might be nice if the project's files were available in a central store and/or synchronizable as Greg suggested. In this case, there would have to be support both for local stores (i.e., network share) and Internet stores. Many folks won't want their source code stored on servers they don't physically control (us included).

    I would like to see some file locking controls that don't rely on a VCS. For example, if one other developer and I are working on a new feature together, we want to be able to quickly lock and unlock files (ensure mutual editing exclusivity) without having to commit them into the VCS. We don't like to use a VCS for this purpose because the files may not be tested yet, and shouldn't be exposed to the larger community.

    I think a Live version of VS should have some better way to get VS bugfixes/patches faster than waiting months and months for the next SP. But obviously the user still needs to keep control over what version of the tools is in use.

    Finally, I think that a lot of thought needs to be given to the online/offline scenarios discussed with Windows smart clients. Developers may do the majority of work when an Internet connection is available, but it is important that productivity not go to zero when the connection is not available.

    With some more thought and interaction with others, I'm sure I could think of more input, but I need to time-limit my comments right now. Maybe you want to consider setting up a group of folks to provide you input, and/or work somewhat interactively to give you thoughts/ideas, like maybe just a simple mail list.

  • Anonymous
    January 11, 2006
    I've wondered about some of these ideas -- particularly about things like MSN Messenger integration and the "sync IDEs" as you call it -- for something akin to pair programming but without the physical presence. I've also wondered about student/homework scenarios -- I'm sitting at home doing my CS assignments, get stuck, and can call up my classmates in IM who are online for help.

    And I love "send solution to buddy!"

  • Anonymous
    January 11, 2006
    Your comment about staying focused on core functionality is definitely heard in our division. Right now, I'm a team of one looking for the key scenario we need to enable -- not just looking for a "Live" checkbox, but really something that's useful. One of those things is soemthing you mention: ship faster. In all my conversations with my management, I've emphasized my desire to ship more interesting stuff more quickly and they have wholeheartedly agreed -- thinking weeks and months, not months and years.

    One piece of feedback we've gotten from a huge number of people is that documentation needs to get "better" -- with richer samples, the ability to correct errors more quickly, and so on. I think you'll be pleasantly surprised in the coming months, but since that's not my project, I'm not going to say more.

  • Anonymous
    January 11, 2006
    Excellent idea to have a live version of VS. Here are some ideas that come to mind...

    (1) Creating an integrated Windows Error Reporting (WER) service.

    (2) Creating online functionality so the software team can host a beta portal thru which beta users can post bug reports, etc. In fact the WER service could be part of that.

    (3) Having a hosted test and debug environment for ASP.NET apps.

    (4) Having the entire foundation server hosted, which would save a lot of work setting it up for the ISV/SI and also enable new scenario's for licensing. For example, SIs would be interrested in renting a foundation server for the duration of the project and charging the cost to the project, rather than licensing the complete software in the current licensing schema.

    (5) Providing an online globalisation envrionment where Microsoft links the translation software companiesn to translation services, which could be located anywhere in the world. This could create a marketplace for translation services where the ISV would pay per translated word.

    (6) Integating the controls toolbar with an online market place for controls so that developers can more easily find and purchase controls from third parties.

  • Anonymous
    January 11, 2006
    The comment has been removed

  • Anonymous
    January 11, 2006
    I love these ideas -- I've collected a bunch myself, like the idea of the Toolbox that integrates with known 3rd-party VSIP plugins. Same with the translation stuff -- Microsoft has some amazing machine translation technology that we use today on our docs and we could look into that. Thanks!

  • Anonymous
    January 11, 2006
    The comment has been removed

  • Anonymous
    January 11, 2006
    There is a limit to how much you can push into on application window before clean degrades into busy.

    I don't use any of the built in web browser stuff in VS, I find it disrupts my experience. When I choose view in browser, I want to see it in a browser, not in some window that covers up the thing I'm working on. Being a bit of an extremist, I don't enable help to launch on F1 either; slow and disruptive. I can find things fast on MSDN using Google


    I know there are usefull Web-enabled things in VS, but they get in the way of the essential things. Paired and related applications might be a thing to consider.

    I really liked having a nUnit as a separate app, I had tried the addin that runs inside VS but went back to the separate window. In trying team system and tests. There are an enormous number of different kinds of child windows; I quickly thought that it would be nice to have a separate test-runner app just to enable using ALT-Tab (test-dev) and CTRL-TAB (Dev code1- dev code2)


    One feature that would be nice:
    When a file is checked out, have a option to IM the person who has it checked out.
    I've done this kind by checking who has it checked out then knowing that they are in my contacts. Today someone came to see me because he mis-read "last checkin" and thought I had the file checked out.




  • Anonymous
    January 11, 2006
    I definitely think the intergretion of some kind of IM system would be useful, being a CS student myself.

  • Anonymous
    January 11, 2006
    The comment has been removed

  • Anonymous
    January 11, 2006
    John, you're comment "if you're going to pay for it..." is interesting.

    What exactly are we talking about here - how much of a departure from current licensing models? Now, I purchase a perpetual license for VS for a fixed amount, or I subscribe to MSDN. What price model is being thought about for "Live"?

    I think this is important to discuss up-front, first to set expectations, and secondly, to determine if the cost model is so far off as to not be palpable by customers.

  • Anonymous
    January 11, 2006
    The comment has been removed

  • Anonymous
    January 11, 2006
    The comment has been removed

  • Anonymous
    January 11, 2006
    "What exactly are we talking about here - how much of a departure from current licensing models?" I don't actually know yet -- we haven't even figured out what we're going to build, so I'm a little premature saying what it might cost. I was mostly asserting that, if you're going to pay, you deserve some kind of clear SLA (service level agreement). But until I know more about what we're going to build, I'm going to have to table the question of how much we might (or might not) charge.

  • Anonymous
    January 11, 2006
    "I have to go outside my machine to get basic work done, and my net is down, I'm dead in the water." I'm pretty sure that none of the scenarios I'm contemplating would 100% require the network up. Or you could just turn off pretty much all the features we've talked about. But the unnetworked application these days is a very lonely application. ;-)

    As for doing the ROI analysis, I'm doing it now and it actually looks pretty good. I'm thinking less about revenue and more about customer satisfaction. Let's take one example: wouldn't it be nice if we could update the documentation to remove errata seamlessly? A documentation service could be very useful to a lot of people and would help raise customer satisfaction.

  • Anonymous
    January 11, 2006
    I'm personally against having critical content, like my OS, Office Apps, and VS2005, running on a remote server. As a business owner, I would prefer to continue to incur the costs to have those installed and managed locally. I think that google and others are stirring up the water a bit, with the notion of hosted apps. It may be good for some things, but it is not good for everything. I really hope that VS doesn't morph into this sort of thing. It doesn't seem reasonable to me at all.

  • Anonymous
    January 11, 2006
    I don't think I've said that VS is going to "morph" into anything. I'm talking about adding features, not taking features away.

  • Anonymous
    January 11, 2006
    MSDN.com

  • Anonymous
    January 11, 2006
    The comment has been removed

  • Anonymous
    January 11, 2006
    I liked "aruiter"'s ideas.

    We obviously use VS.NET, but are also VSIP partners, so I have two angles.

    When an exception occurs in our product DLL/EXE on a customer PC - Windows already intercepts it and asks if they'd like to send the info to MS (if we don't otherwise intercept it). As developers we'd love a way to automatically capture and have the appropriate information available from VS.NET LIVE.

    Note: this would require some correlation between the version of the code the client is running and the version of the code in VS.NET LIVE.

    As VSIP we provide an alternative team system - CVSNT / CVS Suite. If VS.NET LIVE could connect to a version repository on cvsnt.org, SourceForge, or even the developers own PC then that would be a great team feature.

    If the developer wanted to ensure offline access to the code then they could sync the VS.NET LIVE version of their code to their own PC using the GPL/Free CVSNT client or the commercial one...

    Finally as a vendor the ability to offer services for sale to developers via VS.NET could be good, however if it's so OTT or irrelevant that the users "tune out" then it'd be self defeating.

  • Anonymous
    January 11, 2006
    Please, no more live content in the IDE itself. What's really needed in VS are the basic stuff - e.g. refactoring & customizable syntax coloring. Compared to other IDEs my colleges are using (e.g. IntelliJ for another part of the project), VS2005 feels so 90's. Sigh.

    Whatever new features is planned for VS, please keep in mind that most of its users are professional developers working on real production code. They want features that can get their job done (test coverage), not widgets to IM their fellow students on a course project. To them, live mean lively performance, lively productivity, and lively expectation when they click that icon to launch the IDE.

    We understand that your job is to get your division on board with the live bandwagon. We don't envy you. It's a TOUGH job. Not every software product can be turned into a service revenue model. If it's ok, we, your loyal customers, will gladly pay the annual MSDN Service fee instead of the Subscription fee. But please leave our most basic tool out of the live initiative. Thank you.

  • Anonymous
    January 11, 2006
    i wouldn't mind seeing something that facilitates some common processes.

    for example
    - hosting an integrated source control system over the internet. (preferrably one with really well done change sets :-)
    - allowing a reviewer to mark up/comment on another's code without modifying the underling code - similar to MS Word's comments
    - very basic whiteboarding, where i can share a file or group of files with someone else, and even control the arrow on their installation

  • Anonymous
    January 11, 2006
    I like the idea of distributed pair programming in a shared IDE - live messenger is a sound idea to support this but I have used VoIP products such as Teamspeak very successfully in the past to allow multi-channel voice comms between distributed team members. Perhaps a voice comm option would leave fingers free for typing?

  • Anonymous
    January 11, 2006
    If 'Live' is al about replacing the various additional services for different Microsoft customers, I think Visual Studio Live should be the replacement of the current MSDN subscriptions.

  • Anonymous
    January 11, 2006
    What about the ability to host the "Live" Visual studio yourself? I know many companies would probably want to be able to adopt this kind of solution running from their Intranet.

    Aside from that, little things like optional "Live" code, which contains the latest edits, or the ability to revert to the last checked in code. That way you can very quickly check to see if someone's edits are going to cause you problems.

    For me, "Live" has to mean collaboration, not necessarily communication - there are already quite good tools for that, and many teams are physically close enough to shout anyway. Stuff like Snippets shared automatically with your team / company. Plus we'd be talking about Team System, rather than the plain old IDE - who would need live feedback from the team more than the project managers - and getting testing results back to the entire team instantly would be awesome. I could probably go on for longer...

  • Anonymous
    January 11, 2006
    tzagoota: "I'm personally against having critical content, like my OS, Office Apps, and VS2005, running on a remote server"

    If only everybody did backups....

    For me the big attractions of hosted applications are that you don't have to be sitting in front of the same PC to do the job - and you (hopefully) get a well managed (and therefore highly available) service benefiting from economies of scale.

    Shared editing/review across the internet coupled with conferencing would be top of my list.

    I'd also like to see a protocol & implementations for sharing trouble ticket data between organisations. Although somewhat satellite to VS's main functionality, wouldn't an implementation in VS be synergistic?

    C.
    (who already uses sourceforge.net extensively)

  • Anonymous
    January 12, 2006
    If 'live' means making the IDE work fast in normal use I'm all for it.

    The VS.Net 2005 IDE is just way too slow. And I mean in normal development.

    And why would you want to search online help and get a load of badly written and erroneous articles by inexperienced or niaive developers. Much better to spend the effort on making the built-in help correct.

    Microsoft seem to be looking to abdicate their responsibility for writing comprehensive and in-depth help that's frequently updated, and relying on the community instead. For example, I challenge you to to find anything in the MSDN for VS2005 that explains assembly version numbering for Asp.Net projects.

    Matt

  • Anonymous
    January 12, 2006
    Does this mean subscription software?
    Does this mean someone else can change the software I am using? What happens if I don't want the changes?
    The start page in VS2005 slows thigns down and the last thing I want in VS2005 for it to get EVEN SLOWER.
    I use VC6 for small jobs because it loads and runs so fast.

  • Anonymous
    January 12, 2006
    The comment has been removed

  • Anonymous
    January 12, 2006
    Hey, using third party servers is fine, if you don't mind third parties having access to your code.

    I, however, mind. AND I get around the problem with Virtual PC and a portable hard drive. My dev environment can follow me EVERYWHERE I go, and I compromise a LOT less than you do, because every single bit of my environment follows me. My test data, it comes. My support apps? They're right here too. My bookmarks? Right here.

    Is the IDE configured right? Yup, because it is always MY IDE, not someone elses.

    I don't need a network connection, just a USB port.

    Trust me, if you have to work with the same project in multiple locations, it is the ONLY way to fly.

    And I get the added bonus that my dev environment is totally isolated from the live environment at all times. I don't go live until I specifically take code outside my VPC.

    Sort of the complete opposite of Live, huh? And yes, as long as I do backups, I never ever have to worry about being seperated from my data, because hardware failure is the only serious barrier I would have (except for being stupid enough to leave it in a backpack in the back of a cab, but I'm not a DOD employee with topsecret documents or nuclear launch codes, so I tend to pay attention to where my stuff is!)

  • Anonymous
    January 12, 2006
    How do you stop the start page dynamically refreshing? It's most annoying.

    I've taken to starting VS.Net by clicking on (a short cut to) the solution file just so as I can bypass it.

    Matt

  • Anonymous
    January 12, 2006
    The comment has been removed

  • Anonymous
    January 12, 2006
    The comment has been removed

  • Anonymous
    January 12, 2006
    The comment has been removed

  • Anonymous
    January 12, 2006
    I have seen third-party services that offer online repositories of code snippets, and I think that would be interesting. And I think a scaled-down version of the Team development stuff - sort of like sending a postit note to a coworker, that pops up when she opens the project - would be a nice feature for the Pro version. As far as the requiremnt to be online goes, I think others have stated the problems well - there must be a graceful fallback if the internet is not available.

    My #1 wish? Improve MSDN search, so it's at least as effective as doing a google search for an API.

  • Anonymous
    January 12, 2006
    The comment has been removed

  • Anonymous
    January 12, 2006
    Can I just point out that I hate the way the help works in Office 2003? It goes crawling off to the web and utterly fails to return the information I want (office help has been getting steadily less useful to people who already have a clue for years...)

    I haven't got to VS2k5 yet but the same problem exists when searching the web (generically or MSDN) when I have problems - lots of results but very few answers...

  • Anonymous
    January 22, 2006
    I am becoming increasingly frustrated with the assumptions of working live, which have now gone to the extent of having to wait a minute or so for Windows Explorer to display local folder content when the Internet is not connected (because it tries to ping all .URL files in the folder - even though I am not using thumbnail view) and having applications for which there is no documentation whatsoever when the Internet is down.

    My concerns:

    1. I want my data to be safe on my local machine and not accessable to anyone else (unless I permit it), and I do not want it to be lost when I can't keep up a subscription fee between jobs or a remote service provider goes belly up.

    2. I want the software I use to create my data to accessible indefinately in case I need to go back to past projects.

    3. I want my IDE to be fast and responsive and uncluttered and only go out to the Internet when I want it to. Particularly when working on confidential projects where monitoring incidental Internet activity could give information away.

    4. I want my work environment to be fully customisable and not be restricted to some other developers idea of fixed working folders and preferences (anyone else fed up with how everyone is abusing the 'My Documents' folder with their own manadatory ugly default working folders lately? I organise my work by project, not by application, thank you).


  • Anonymous
    February 05, 2006
    I have to second Mark's comments. Integrating online functionality, even if it's automatically disabled when no connection is available, just slows down the workflow. Ever tried using help in the new versions of Office while connected to the internet with a modem? Don't even bother! The mantra for VS Live should be "First, do no harm."

  • Anonymous
    February 16, 2006
    I just noticed Scoble's post mentioning John Montgomery's post about "Live Visual Studio"; John is interested...

  • Anonymous
    August 01, 2006
    I just noticed Scoble's post mentioning John Montgomery's post about "Live Visual Studio"; John is interested

  • Anonymous
    April 06, 2008
    PingBack from http://collegefunfactsblog.info/a-view-from-elsewhere-a-live-version-of-visual-studio/

  • Anonymous
    April 12, 2008
    PingBack from http://collegesboardblog.info/a-view-from-elsewhere-a-live-version-of-visual-studio/