How important is Cross-Platform?
-
For general application, such as an icon editor, notepad2, etc., how would being cross-platform be good to the sales? Does that really mean a lot? Or is just something that make you feel complete? Afterall, the code is much easier to maintain if it is going to be written for a targetted platform. There seems to be 'some' linux user, but does it worth the investment to maintain a linux build??
.jpg wrote:
For general application, such as an icon editor, notepad2, etc.
Those aren't necessarily general applications. An icon editor on Windows should work with the Win32 icon formats, while such a thing is unlikely to be useful on Linux. Whereas an XBM or SVG editor could work well for some Linux environments, but wouldn't be very useful to most Windows users or developers. Even a text editor would tend to have some subtle platform-specific considerations. Of course there's the \r\n vs. \n issue, but if you do syntax highlighting for system configuration files, then you might want to spend more time on that for *nix than you would for Windows where pretty much everything's INI or XML. Now, that doesn't mean it's not feasible or useful: the three apps i use most often are cross-platform: SciTE, The GIMP, and Firefox. But in each case, a substantial effort has been put into making them and keeping them cross-platform, and i've still heard a fair bit of criticism from people who aren't satisfied with how they look and behave on one platform or another. My advice: if you are cross platform, and you have a use for the app on both platforms, then go for it. Otherwise, try and find a volunteer who actually does spend a fair bit of time using the OS you don't, and get them to write and maintain the platform-specific bits.
---- Scripts i’ve known... CPhog 1.8.2 - make CP better. Forum Bookmark 0.2.5 - bookmark forum posts on Pensieve Print forum 0.1.2 - printer-friendly forums Expand all 1.0 - Expand all messages In-place Delete 1.0 - AJAX-style post delete Syntax 0.1 - Syntax highlighting for code blocks in the forums
-
For general application, such as an icon editor, notepad2, etc., how would being cross-platform be good to the sales? Does that really mean a lot? Or is just something that make you feel complete? Afterall, the code is much easier to maintain if it is going to be written for a targetted platform. There seems to be 'some' linux user, but does it worth the investment to maintain a linux build??
.jpg wrote:
Afterall, the code is much easier to maintain if it is going to be written for a targetted platform.
I don't entirely agree with this point enitely. Some times it is, sometimes it isn't. If the life of the product is relatively short, say a year or two, then yes I entirely agree with you, it is much easier to maintain. However, if it is much longer, the techniques that you apply to achieve a cross-platform product are thee axct same ones you have to apply to use a cross-technology product. For example, if someone wrote some software that used one of GTK, Win32, WinForms as GUI's, then there is more than a fair chance that it was written in such a way that adding WPF would not be that much of a nightmare. On the other hand if none of that discipline was taken, and it was written with only MFC or WinForms in mind, then porting to WPF is a potential NightMare So in the end, adopting a discipline and strategy that allows you to minimise the cost of shifting technologies or platforms, that is usually a good thing. Unless of course the code in doing that is less than the cost of a rewrite, which it almost always is :) - Phil
-
For general application, such as an icon editor, notepad2, etc., how would being cross-platform be good to the sales? Does that really mean a lot? Or is just something that make you feel complete? Afterall, the code is much easier to maintain if it is going to be written for a targetted platform. There seems to be 'some' linux user, but does it worth the investment to maintain a linux build??
Really depends. In my case, the core libraries need to be portable, because they are used both on the server (Unix) and client (Windows) side. The client GUI and server-side specific stuff (networking, threads, logging) are not portable.
-
.jpg wrote:
Afterall, the code is much easier to maintain if it is going to be written for a targetted platform.
I don't entirely agree with this point enitely. Some times it is, sometimes it isn't. If the life of the product is relatively short, say a year or two, then yes I entirely agree with you, it is much easier to maintain. However, if it is much longer, the techniques that you apply to achieve a cross-platform product are thee axct same ones you have to apply to use a cross-technology product. For example, if someone wrote some software that used one of GTK, Win32, WinForms as GUI's, then there is more than a fair chance that it was written in such a way that adding WPF would not be that much of a nightmare. On the other hand if none of that discipline was taken, and it was written with only MFC or WinForms in mind, then porting to WPF is a potential NightMare So in the end, adopting a discipline and strategy that allows you to minimise the cost of shifting technologies or platforms, that is usually a good thing. Unless of course the code in doing that is less than the cost of a rewrite, which it almost always is :) - Phil
Phillip Martin wrote:
I don't entirely agree with this point enitely.
Not to be redundant :)
Gary Kirkham Forever Forgiven and Alive in the Spirit He is no fool who gives what he cannot keep to gain what he cannot lose. - Jim Elliot Me blog, You read
-
.jpg wrote:
Afterall, the code is much easier to maintain if it is going to be written for a targetted platform.
I don't entirely agree with this point enitely. Some times it is, sometimes it isn't. If the life of the product is relatively short, say a year or two, then yes I entirely agree with you, it is much easier to maintain. However, if it is much longer, the techniques that you apply to achieve a cross-platform product are thee axct same ones you have to apply to use a cross-technology product. For example, if someone wrote some software that used one of GTK, Win32, WinForms as GUI's, then there is more than a fair chance that it was written in such a way that adding WPF would not be that much of a nightmare. On the other hand if none of that discipline was taken, and it was written with only MFC or WinForms in mind, then porting to WPF is a potential NightMare So in the end, adopting a discipline and strategy that allows you to minimise the cost of shifting technologies or platforms, that is usually a good thing. Unless of course the code in doing that is less than the cost of a rewrite, which it almost always is :) - Phil
I understand, but in order to be platform-independent, you also have go give up lots of solutions, because most solutions out there are platform-dependent, mostly Win32. When you can't buy existing solutions, you will have to spend to money to develop it. The point is, given the large percentage of Win32 user base, does it really worth it to invest on this small amount of market which is non-Win32??
-
For general application, such as an icon editor, notepad2, etc., how would being cross-platform be good to the sales? Does that really mean a lot? Or is just something that make you feel complete? Afterall, the code is much easier to maintain if it is going to be written for a targetted platform. There seems to be 'some' linux user, but does it worth the investment to maintain a linux build??
It depends of your public-target. Companies usually comes tempted if you will install some ERP system in Linux boxes, what helps on reduce costs.
Engaged in learning of English grammar ;)
For God so loved the world, that he gave his only begotten Son, that whosoever believeth in him should not perish, but have everlasting life.(John 3:16) :badger: -
It would depend on your application, but for most I think 80%-85% of the market by targetting Windows only would be large enough demographic for many applications :) -- modified at 14:10 Wednesday 14th February, 2007 You might also toss this around while thinking of a Linux target, most people did not pay for the OS, wonder how many of them will pay for your product ;)
Rocky <>< Latest Code Blog Post: OpenID/CardSpace - Is it time? Latest Tech Blog Post: Scratch: fun for all ages for free!
Rocky Moore wrote:
You might also toss this around while thinking of a Linux target, most people did not pay for the OS, wonder how many of them will pay for your product
That is certainly my thinking. I tried Linux to see what it was like. Eventually I came to the conclusion that you get what you pay for. So, for the moment, I'm sticking with Windows.
Upcoming events: * Glasgow: Geek Dinner (5th March) * Edinburgh: Web Security Conference Day for Windows Developers (12th April) My: Website | Blog | Photos
-
For general application, such as an icon editor, notepad2, etc., how would being cross-platform be good to the sales? Does that really mean a lot? Or is just something that make you feel complete? Afterall, the code is much easier to maintain if it is going to be written for a targetted platform. There seems to be 'some' linux user, but does it worth the investment to maintain a linux build??
As soon as MONO is ready for prime time and the critical 3rd party component vendors we use (like reporting etc) are on board we'll be creating an application and releasing a windows and linux and mac version simultaneously and seeing what percentage of sales are for each platform. The fact is it's probably impossible to estimate in advance and so it's just a matter of going for it and seeing the results. Also it's probably very specific to each type of application. I wouldn't do it outside of .net though. MONO can already run many .net apps written for windows with no modification and they are rapidly approaching full support for all major aspects of .net 2. The idea is you write the app once and people simply run it on windows under microsoft .net or run the exact same executable and assemblies on Linux or Mac or any other platform that MONO has been ported to. When that comes about it's a moot point because you're only ever really maintaining one build anyway.
-
Rocky Moore wrote:
You might also toss this around while thinking of a Linux target, most people did not pay for the OS, wonder how many of them will pay for your product
That is certainly my thinking. I tried Linux to see what it was like. Eventually I came to the conclusion that you get what you pay for. So, for the moment, I'm sticking with Windows.
Upcoming events: * Glasgow: Geek Dinner (5th March) * Edinburgh: Web Security Conference Day for Windows Developers (12th April) My: Website | Blog | Photos
Most people nowaday still don't get: "you get what you pay for". People tried some open source or free software which does 60% of what they expected, then come to commercial venders and 'told' you that they need those extra 40% or else your product is a crap. They don't understand, most open source/free software can only offer 60% of what they need, as a maximum, and as a nature.
-
For general application, such as an icon editor, notepad2, etc., how would being cross-platform be good to the sales? Does that really mean a lot? Or is just something that make you feel complete? Afterall, the code is much easier to maintain if it is going to be written for a targetted platform. There seems to be 'some' linux user, but does it worth the investment to maintain a linux build??
No, not very.