From Desktop Application to Web Application - Advice Please

  • Thread starter The Business Valuer
  • Start date
T

The Business Valuer

Hello All,

We are the developers of a Business Valuation Tool for accountants and professional advisors.

In the coming months we are going to be looking at developing a WebApp version of the software in-house.

Our team have identified a number of potential technologies to consider, but I wanted to rack your brains on here to see if we have overlooked anything!

The current software is written in C#.NET and interfaces to a MySQL database. The obvious and easiest road to go down therefore looks like ASP.NET. Are there any good "plugins" we can use with ASP.NET to help with data input, graph generation, pdf exports, etc within a browser?

Is silverlight a viable option, and do you know of any websites that current use it for a financial application?

The website will need to handle a large amount of data input but the user, and will also need to have membership management of course.

Will appreciate any ideas you throw at us,

Regards

Rob
 
D

DotNetWebs

ASP.NET 3.5 and 4 have built in charting controls which I have used in the past:

http://weblogs.asp.net/scottgu/arch...arting-controls-vs-2010-and-net-4-series.aspx

Silverlight is very powerful but requires a plug in which some users will be reluctant to install. Others, e.g Linux users, will not even have the option unless they jump through a lot of hoops.

For that reason I wouldn't advise using Silverlight beyond Windows-only Intranets.

Regards

Dotty
 
Upvote 0

lynxus

Free Member
  • Business Listing
    Jul 5, 2011
    1,343
    316
    Gloucester, UK
    imsupporting.com
    Ok, as I run a business that specialize in a "web app" I would say STAY AWAY from silverlight.

    You need to write a Webapp that will work on as many computers as possible and silverlight will just give you headaches.
    Stay away from flash as much as possible also.

    You seem to like .NET so I wont say use PHP but using mysql is a good choice.

    Use javascript where possible ( Offload as much computing as you can to the client ) this will help your server to only need to compute private data or sensitive data.

    Try not to use too much html5 , if you do.. make sure its a widely supported feature ( Ie: works in Firefox, Chrome, Safari, IE .. etc )

    Make use of the jquery librarys.
    Try to only use OPEN software as your app will be able to work on more devices.

    Telling someone that they MUST be using Internet explorer on a windows vista or higher machine will be a big no no.

    If your gonna do a web app, It MUST! be able to run on any platform ( Mac, Windows, Linux, Phone, iOS etc )
     
    Last edited:
    • Like
    Reactions: The Business Valuer
    Upvote 0
    D

    DotNetWebs

    ...You seem to like .NET so I wont say use PHP but using mysql is a good choice...

    I don't think it's simply a case of 'liking' it. If most of the 'business logic' has been done in C# it will be a relatively simple job to port it to a web app.

    I agree with you on jquery and tend to start all new .net projects in ASP.NET MVC which allow great integration with jquery.

    WCF is also a related technology to look at if you want create a mobile version. e.g serve JSON via a REST interface etc.

    Regards

    Dotty
     
    • Like
    Reactions: The Business Valuer
    Upvote 0
    ASP.NET definitely, depending how it is written you should be able to reuse a lot of the existing C# code in the backend. It wouldn't make sense to rewrite the code in another language when you have in-house C# developers.

    There are a few PDF plugins, take a look at them and see what makes the most sense, it may be worth using a paid option but open source options are available.
     
    • Like
    Reactions: The Business Valuer
    Upvote 0

    JDX_John

    Free Member
    Mar 26, 2009
    1,133
    125
    North-East England
    I would disagree slightly with the comments on Silverlight, based on the use-case of this software - if I understand rightly it is for professional users only, who have registered to the service? That immediately makes it easier to 'control' your target platform - you know that Windows is even more dominant in the professional space and Linux is pretty forgettable. Macs are used in offices, but Silverlight works on Macs... Netflix uses Silverlight for example and it works great on Macs.

    However - whether this means SL is worth using is a very different question. It will certainly be easier to have slick charts using something like Flash/SL BUT you can do it using plain HTML - render charts serverside is the classic example.

    You should almost definitely stick with .NET for the server side.
     
    Upvote 0

    lynxus

    Free Member
  • Business Listing
    Jul 5, 2011
    1,343
    316
    Gloucester, UK
    imsupporting.com
    I don't think it's simply a case of 'liking' it. If most of the 'business logic' has been done in C# it will be a relatively simple job to port it to a web app.

    Yep makes sense , Sorta why Im not gonna moan about .net or php or whatever..
    Each to their own for their own reasons..

    One other thing to think about when writing a web app is scalability.

    I can only assume you have a separate mysql server. So thats a good start.
    Id make sure that when writing it you think about how easy it would be to add more frontend servers serving the app itself.

    Obviously if you were to become popular overnight ( does happen ) you can scale up quickly.

    Just think about how you could increase the speed of your queries.. Cluster mysql?
    Load balance the frontend via hardware or using software or even a simple round robin DNS?
     
    Upvote 0
    In the coming months we are going to be looking at developing a WebApp version of the software in-house.

    ...

    The current software is written in C#.NET and interfaces to a MySQL database. The obvious and easiest road to go down therefore looks like ASP.NET. Are there any good "plugins" we can use with ASP.NET to help with data input, graph generation, pdf exports, etc within a browser?
    The current software might be a Windows desktop application, but think about it in terms of what is user interface, and what is background processing and data. Think about it in terms of what is client (interface) and what is server (back end), or what could be client and what could be server (as in the client/server model).

    It will certainly be easier to port the backend of the Windows application to a server running Windows. In some cases you may also find it easier to move certain parts that you might have classed as "client" to the "server" too, e.g. generate graphs pdfs server side.
     
    Last edited:
    Upvote 0
    D

    DotNetWebs

    ...if I understand rightly it is for professional users only, who have registered to the service?...

    Silverlight is effectively Microsoft's answer to Flash. Many people will already have it in their system without even realising it.

    It's a simple plug in that takes a few seconds to install. The biggest problem is that most people won't already have it and many will be put off by the fact that they are presented with popups, download instructions and firewalls questioning whether it's safe or not.

    MS had hoped to challenge Flash with it but have now realised that is not going to happen and that Flash is in decline anyway.

    Silverlight is now being promoted at the way to code Windows Phone 7 and other 'specialist' uses.

    As I said IMO it's fine for in-house Windows only Intrantets but would be a poor choice for a public facing site.

    Regards

    Dotty
     
    Upvote 0

    garyk

    Free Member
    Jun 14, 2006
    5,992
    1,019
    Bedfordshire
    Silverlight is effectively Microsoft's answer to Flash. Many people will already have it in their system without even realising it.

    It's a simple plug in that takes a few seconds to install. The biggest problem is that most people won't already have it and many will be put off by the fact that they are presented with popups, download instructions and firewalls questioning whether it's safe or not.

    Maybe on windows but not OS X and Linux. Sure you can get it but as you say people dont like downloading plug-ins, I know I dont anyway!

    I would look at using a rich UI javascript framework like extjs, in fact you can get ext.net which allows you to render the UI using c# so you can stick with what you know and leverage any existing business logic.

    Gary
     
    Upvote 0
    Maybe on windows but not OS X and Linux....

    Yes I know that why I said in my earlier post.

    ..Others, e.g Linux users, will not even have the option..

    My "simple download" point was in relation to this previous post:

    ..I would disagree slightly with the comments on Silverlight, based on the use-case of this software - if I understand rightly it is for professional users only, who have registered to the service? ...

    I guess I should have qualified my statement with "For Windows users..."

    Regards

    Dotty
     
    Upvote 0
    But anyway I think most of us agree that using the existing C# code with a rich client-side library is the way to go.

    By far the best way to do this nowadays IMO is by using ASP.NET MVC. It even has an in built membership model that will probably suite OPs membership requirement.

    Since OP is already coding in C# my best advice would be to be to set up a new dev machine and download everything needed from here and have a play:

    http://www.asp.net/mvc

    The Pluralsight videos on that site are an excellent introduction and most of the problems you may encounter will likely be solved by searching Stackoverflow etc.

    Regards

    Dotty
     
    Upvote 0

    JDX_John

    Free Member
    Mar 26, 2009
    1,133
    125
    North-East England
    Maybe on windows but not OS X and Linux. Sure you can get it but as you say people dont like downloading plug-ins, I know I dont anyway!
    As I already pointed out - for a business application you can bet they are running Windows, and tell them they need SL. Unless you want it to run on tablets of course.

    A whole site done in SL is a bad idea but there's nothing wrong with suing SL/Flash as long as you know who your users are and that it won't cause issues.
     
    Upvote 0
    T

    The Business Valuer

    Thanks for the responses (all be it heated!).

    With regards to the OS issue: Our software only runs on Windows at present and we haven't actually had one person ask if we have a Mac/Linux version. This indicates to us that the majority of our potential customers (Accountants) are running Windows (I would assume due to the use of Sage, Office, Exchange etc, and that they often need to be compatible with their clients’ needs, which we can assume are mainly Windows based).

    I agree with all comments regarding sticking with C#, I for one don’t fancy re-writing all of the backend code!
    For the desktop app we used DevExpress components for the interface and report generation. Can anybody offer any experience using DevExpress within a browser?

    Plenty more questions here, but this will do for now.

    Thanks again for your input,
    Rob
     
    Upvote 0

    JDX_John

    Free Member
    Mar 26, 2009
    1,133
    125
    North-East England
    TBV - sorry if you already posted but can you explain WHY you are wanting to port to a browser app in the first place? I see a lot of people feeling they HAVE to put all their apps in the browser since the cloud is cool but your case with a fixed target market, I'm not so sure?

    Please note - storing data online and having back-end servers is still entirely possible with a regular desktop application. Just look at every console game and tools like Google Chrome, they all do this. If you target Windows only, you will get a far nicer user experience using a C# app and native UI than a web app can give.

    Just a different viewpoint - don't port it to the browser just because the cool kids are!
     
    Upvote 0
    T

    The Business Valuer

    John,

    Lots of reasons for browser over desktop app:

    - Many users like to use TBV in multiple locations: office, home, laptop. At the moment they have to install in all places.

    - Updates: We are constantly updating the software, and as a result our users are using a variety of versions of the desktop app. Other solution would be to force update checks every time they load the software.

    - [FONT=&quot]Convenience[/FONT]: Some people don't want to download and install software.

    - OS: Webapp will run on Windows and Mac.

    - Speed: Users can start their valuation immediately after payment.

    Regards

    Rob
     
    Upvote 0
    ... you will get a far nicer user experience using a C# app and native UI than a web app can give.

    Just a different viewpoint - don't port it to the browser just because the cool kids are!

    A few years ago I would have agreed with you but IMO the benefits of a web app now is so much greater for little trade-off in user experience.

    If you use C# with Ajax methods via MVC / jquery you come very close to the desktop experience.

    Many apps now have desktop and web versions and I often find myself sticking to the web one even if I am on a windows PC.

    e.g Evernote just had a bit promotion on their new desktop app but found that most people actually prefer to use the web version.

    For all the reason TBV has identified I personally think the *slight* reduction in user experience is a very small price to pay for the benefits gained.

    Regards

    Dotty
     
    Upvote 0

    JDX_John

    Free Member
    Mar 26, 2009
    1,133
    125
    North-East England
    Oh there are certainly many cases where a web-app is preferable. I simply make the point that many people think they HAVE to go this route and for a specialized market rather than mass-market, it is not automatically the case.

    I'm glad to see that Rob has researched this and those are all good reasons... no problem there!

    My biggest dislike of "web-apps for the sake of it" is needing an internet connection... if I want to work on a train for instance. Always-on internet isn't something we have, and while offline browser-apps are improving it is still in it's infancy.
     
    Last edited:
    • Like
    Reactions: The Business Valuer
    Upvote 0

    Latest Articles

    Join UK Business Forums for free business advice