Coffeehouse Thread

27 posts

WPF for Word Processor

Back to Forum: Coffeehouse
  • User profile image
    Bobinho

    Is WPF robust enough to allow me to build a full-featured* text engine on top of it? Or would I have to roll my own?

    * Incorporating footnotes, endnotes, flow document support across long documents, advanced formatting, etc.etc.

    Thanks in advance for any advice you may have.

  • User profile image
    W3bbo

    It probably is, but you're a masochist if you think it's realistically possible.

    WPF is for fancy whimsical frontends, not business apps.

  • User profile image
    Bobinho

    Alas, I share your cynicism. Wink

  • User profile image
    AndyC

    W3bbo wrote:

    WPF is for fancy whimsical frontends, not business apps.

    Just because you can develop over the top GUIs doesn't mean you have to. WPF will be the way to develop all .Net apps going forward from Orcas.

    As to the question: WPF is certainly up to the task of complex document display, though writing something as complex as a word processor is by no means trivial, regardless of the graphics engine you use.

  • User profile image
    Larsenal

    W3bbo wrote:

    WPF is for fancy whimsical frontends, not business apps.


    AndyC is absolutely correct.

    In fact, I'm working on a biz app right now which would benefit greatly from WPF.  Specifically, we have to display a month linearly and have all sorts of time-related interactions on that display (such as select days, place items on certain days).

    Why try to represent everything with radio buttons and checkboxes if you don't have to?

    However, I do agree that there's no sense in adding WPF to basic CRUD apps.  If that's what you meant, then cheers!

  • User profile image
    Bobinho

    Interesting Andy.

    We want to build a word processor that is aimed specifically at academics. We all come from a Mac dev background but we think there is a real need for a credible alternative to Word on the Windows platform.

    If WPF and .NET can help us achieve our aims then so much the better. It seems very exciting, but is as yet unproven for the kind of work I'm talking about.

    We're getting a feel for all the different technologies on Windows so we're ruling nothing in or out at this stage.

  • User profile image
    DCMonkey

    Larsenal wrote:
    However, I do agree that there's no sense in adding WPF to basic CRUD apps. 


    Even there I think the web-like page navigation system in WPF could be of use. With WinForms you have to roll your own or use MDI or the default sea-o-forms.

  • User profile image
    brian.​shapiro

    there's something like a texteditcommands class in the framework for this purpose.

    im still annoyed at the fact that selection properties are available for text boxes but not flow documents, so you cant even see what text is selected in a flow document viewer, without a lot of work that i havent been able to figure out yet

  • User profile image
    W3bbo

    Bobinho wrote:
    We want to build a word processor that is aimed specifically at academics. We all come from a Mac dev background but we think there is a real need for a credible alternative to Word on the Windows platform.


    Hate to rain on your parade, but isn't this what most academics use?

  • User profile image
    Rory

    W3bbo wrote:
    It probably is, but you're a masochist if you think it's realistically possible.


    Or perhaps he's ambitious.

    I've looked into this - for winforms, anyway - and the only way I was going to get anywhere was by using some 3rd party control.

    It's never easy to write wor processing stuff. Ever.

    It sounds like you're singling out WPF here, but it's hard regardless of your UI toolkit.

    W3bbo wrote:
    WPF is for fancy whimsical frontends, not business apps.


    Why do you think that?

  • User profile image
    AndyC

    W3bbo wrote:
    
    Hate to rain on your parade, but isn't this what most academics use?


    Not in my experience (working at a University) - most academics either use Word or write LaTeX. Usually it is a combination of the two depending on the task in hand.

  • User profile image
    Dr Herbie

    AndyC wrote:
    
    W3bbo wrote: 
    Hate to rain on your parade, but isn't this what most academics use?


    Not in my experience (working at a University) - most academics either use Word or write LaTeX. Usually it is a combination of the two depending on the task in hand.


    For most of my (too much) time as an academic, I only used Word. I never met anyone outside of a CS dept that used anything else, even the Mac users. As I recall, even submitting papers to journals was done on Word format (not that I submitted more than a couple).
    All the reference management tools that I ever came across were targetted at Word, too.

    Herbie

  • User profile image
    Ray6

    Rory wrote:
    
    W3bbo wrote:It probably is, but you're a masochist if you think it's realistically possible.


    Or perhaps he's ambitious.

    I've looked into this - for winforms, anyway - and the only way I was going to get anywhere was by using some 3rd party control.

    It's never easy to write wor processing stuff. Ever.



    I agree, but it does seem that the Cocoa frameworks does take a lot of the drudge out it by providing an pretty complete rich text editing framework out of the box. Doesn't .NET have something similar?


  • User profile image
    John Melville-- MD

    Bobinho wrote:
    Interesting Andy.

    We want to build a word processor that is aimed specifically at academics. We all come from a Mac dev background but we think there is a real need for a credible alternative to Word on the Windows platform.


    I think what is bugging some of the people is that an simple and vaguely stated question is being asked about an extrodinarially difficult problem.  While it is possible you are, jutifiably, trying to hide the details of your idea; it makes some of us wonder if you understand how difficult a task writing a word processor is.

    I am using WPF on two real world projects, and it is certianly "production strength".  It will reliably put text anywhere on the screen you want it to.  You aren't going to use many of the advanced text or layout features anyway.  If you're a word processor, layout and flow of the text is what you do and you wouldn't dream of handing over that much of your core functionality to anybody's library.

    So yes, WPF is production grade.  If your real question is "Can I spend a few months learning XAML and put out 'a credible alternative to Word?'" the simple aswer is: Forget it.  The Word code base is over a decade old, with tons of little fixes for things that didn't quite work right, and now do.  Word is actively maintained and enhanced by a large team of programers at huge expense.  Your, or anyone's, inibility to duplicate that accomplishment, let alone exceed it, in a short ammount of time is not an indictment of WPF, its just a matter of fact.

    I would be interested to know what makes word not an acceptable alternative for you.  I have written academic papers for both computer science and medicine in Word without a problem.  Word is very extensible.  An add-in that provided the functionality you needed could turn a formidible competitor (Microsoft Word) into an asset.

  • User profile image
    someone

    Check out: http://www.openxml.biz/OpenXMLWriter.html. It's a bare-bones word processor that supports OpenXML AND WPF.

  • User profile image
    Sourcecode

    W3bbo wrote:
    It probably is, but you're a masochist if you think it's realistically possible.

    WPF is for fancy whimsical frontends, not business apps.


    What ? Why do you say that ?

    The use of WPF (insert other rich client tech here) IMO is about providing a richer user experience business app or not. I’m using another rich client technology to build a rather large business app and I can say that future and present clients are very amazed at the usability and richness compared to today’s business apps.

    The ways in which you can make a mundane business app that much more enjoyable and richer for a user is amazing. For apps that are being developed today user experience matters. Both in usability and productivity.


    Another Technology, but these guys are building a word processor.

    http://www.virtub.com/



    I had to actually look up that word "masochist". Are you sure the context is correct? Perhaps i'm reading the phrase wrong.

    Do not click the link if your boss is over your shoulder.
    http://encyclopedia.thefreedictionary.com/masochist


    To the original poster i say go for it.

  • User profile image
    W3bbo

    Sourcecode wrote:
    

    W3bbo wrote:It probably is, but you're a masochist if you think it's realistically possible.

    WPF is for fancy whimsical frontends, not business apps.


    What ? Why do you say that ?

    The use of WPF (insert other rich client tech here) IMO is about providing a richer user experience business app or not. I’m using another rich client technology to build a rather large business app and I can say that future and present clients are very amazed at the usability and richness compared to today’s business apps.

    The ways in which you can make a mundane business app that much more enjoyable and richer for a user is amazing. For apps that are being developed today user experience matters. Both in usability and productivity.


    Another Technology, but these guys are building a word processor.

    http://www.virtub.com/


    The way I've seen Microsoft's marketing material (and MSDN examples) pitches WPF for lots of applications, but I've never seen any "boring" application rendered in a WPF demonstration. The closest thing to a mundane word-processor I've seen in a WPF demo was that Law Firm app demod at PDC2003.

    Sourcecode wrote:
    

    I had to actually look up that word "masochist". Are you sure the context is correct? Perhaps i'm reading the phrase wrong.

    Do click the link if your boss is over your shoulder.
    http://encyclopedia.thefreedictionary.com/masochist


    To the original poster i say go for it.



    That's the literal interpretation. In real-world usage it refers to anyone who, generally, derives some sort of pleasure from painful tasks, usually spoken in jest. In this context it's got nothing to do with whatever S&M sexual fetishes people have.

    It's like calling someone "a sadist", taking pleasure out of others suffering, not necessarily literally a dominatrix, what about slave-drivers or filthy capitalist pigs greasing the cogs of their machines with the blood of the workers? They're both, by definition, sadists.


  • User profile image
    Sourcecode

    W3bbo wrote:
    
    Bobinho wrote: We want to build a word processor that is aimed specifically at academics. We all come from a Mac dev background but we think there is a real need for a credible alternative to Word on the Windows platform.



    Hate to rain on your parade, but isn't this what most academics use?



    If you think that creating a software product is only smart if your idea doesn’t already exist, or if you think that you have to stick to using the general rule or accepted way of doing things or if you don’t think people will change to a more usable/functional product then you may want to rethink your career choice.

    If all programmers thought that way we’d still be using Lotus 123 or VisiCalc.

    Sorry if I miss understand you and I really hope that I am way off on reading that.

    I’m just not making sense of this coming from a programmer that wants to get into research.

    EDIT: It's not towards you but your comment in anycase a bit harsh, sorry.

Comments closed

Comments have been closed since this content was published more than 30 days ago, but if you'd like to continue the conversation, please create a new thread in our Forums, or Contact Us and let us know.