Slashdot Log In
VM Enables 'Write-Once, Run Anywhere' Linux Apps
Posted by
Zonk
on Sun May 27, 2007 06:16 AM
from the i-run-so-far-away dept.
from the i-run-so-far-away dept.
An anonymous reader writes "A startup will soon launch 'a kind of holy software grail,' according to an article at LinuxDevices. The dual-licensed technology is claimed to enable more or less normal Linux applications to run — without requiring recompilation — under Windows, Mac, or Linux, with a look and feel native to each. 'As with Java, Lina users will first install a VM specific to their platform, after which they can run binaries compiled not for their particular OS, but for the VM, which aims to hide OS-specific characteristics from the application. Lina comprises a platform-specific application that virtualizes the host PC's x86 processor... A lightly modified Linux kernel (2.6.19, for now) runs on top of the VM. Under the Linux kernel is a filesystem with standard Linux libraries modified to map resources such as library, filesystem, and system calls to analogous resources on the host platform.' Further details, including an entertaining video or two are at OpenLina.com"
This discussion has been archived.
No new comments can be posted.
VM Enables 'Write-Once, Run Anywhere' Linux Apps
|
Log In/Create an Account
| Top
| 482 comments
| Search Discussion
The Fine Print: The following comments are owned by whoever posted them. We are not responsible for them in any way.
Lofty Goals Indeed (Score:5, Insightful)
(http://www.animal-assist.org/donate.html)
I hope this lives up to its hype (and promise). I may have to finally break down and get an Macintel (much to the chagrin of my PPC army).
This won't be useful for a MAJOR market segment. (Score:2, Insightful)
This is a noble effort, though, but what about the 3D?
Re:This won't be useful for a MAJOR market segment (Score:4, Insightful)
(http://pizzagame.sourceforge.net/)
Are PC games crucial in every situation? I think it's naive to believe that there can't be a success for a technology just because it means it doesn't apply for demanding 3D games. I'm sure they can live without PC gamers and focus on the multi-billion dollar companies who want their applications to work seamless no matter the operating system.
Re:This won't be useful for a MAJOR market segment (Score:4, Insightful)
(http://ufy.sourceforge.net/)
Re:This won't be useful for a MAJOR market segment (Score:4, Insightful)
(Last Journal: Sunday November 05 2006, @05:31AM)
-jcr
Humor (Score:5, Funny)
Re:Humor (Score:4, Funny)
(Last Journal: Wednesday August 14 2002, @12:33PM)
From the FAQ (Score:5, Funny)
(Last Journal: Friday November 28 2003, @02:48AM)
A: For performance reasons, we've written LINA in C and C++.
Why not just write the VM in Java, then it'll be truly portable, right? Right..?
Business case hurdles (Score:2)
>graphics software] and Intuit [for its personal finance software] because they write to Windows, and
>people can't give up those two pieces of software. As soon as companies like that, or companies that
>want to compete with them, start writing to LINA, things are going to change fast."
And how is the likelihood of big software houses starting to write to LINA bigger than big software houses staring writing to Mac or native Linux?
CoLinux (Score:1)
CoLinux lacks only a good and painless frontend, and transparent support for X which would create new Windows instead of a X Server client containing Windows. The MacOS port does not feel like big stuff.
The only point of this VM would be performance.
Native Look and Feel (Score:5, Insightful)
(http://www.davi.cz/)
Re:Native Look and Feel (Score:5, Informative)
(http://www.mcternan.me.uk/)
try
{
UIManager.setLookAndFeel(UIManager.getSystemLookA
}
catch (UnsupportedLookAndFeelException ex) {}
While not perfect, it is pretty good. There are screen shots and some of the deficiencies laid out here: http://today.java.net/pub/a/today/2003/12/08/swin
Re:Native Look and Feel (Score:5, Insightful)
That's one thing (and you're totally right). And second:
As with Java, Lina users will first install a VM specific to their platform, after which they can run binaries compiled not for their particular OS, but for the VM, which aims to hide OS-specific characteristics from the application.
Which left me thinking... "and unlike Java.. it does what?".
We've got Java, which has matured over the years, we've got
Looks like that startup has agenda to brings more of the Linux API to Windows, and thus help Linux become more mainstream as a development platform. But agenda does not business or money make. They've entered a crowded market, offering little new except impossible promises for native look and feel.
Why...? (Score:2)
So it's like UML on Windows using Qt/Windows and Gtk directly? And it runs as a layer on top of Win32??
I'm not sure that this effort is really worth it if you've to recompile. With Qt4/KDE4 more or less all of KDE will operate on Windows. Most major open source applications are already functioning in Windows.
No matter what this thing does, it's still an extra layer between the win32 subsystem and the applications.
It's not truly transparent (Score:2, Informative)
http://www.linuxdevices.com/news/NS6279947776.htm
"In Lina's case, the VM is essentially a Linux environment that supports standard C/C++ applications, or even perl and python, if their respective interpreters are installed. CTO Nile Geisinger explained, "You have to compile binaries specifically for Lina, but it's fairly trivial, no different than compiling binaries for SuSE or Red Hat."
-> how is this better than cygwin/mingw???
Even worse:
"Open source developers will be able to use Lina for free, while commercial developers will pay an as-yet undecided licensing fee, the idea goes."
->so, better recompile for free for the three systems.
->wine is the other way round, but at least it doesn't need you to recompile or require you to pay to use it.
->no comments:
"Geisinger hinted that Lina's library set is fairly extensive, after four years of development by a team that has ranged from two to five developers. "There's a lot of code there," he said.
However, a few biggies are missing. GTK+ support is in the works, but not finished yet. There's no support initially for USB peripherals and possibly for other hardware interfaces. And, there's no slick installer to put non-Linux users at ease."
->compare with the resources put e.g. behind java or even cygwin
Enterprise what? (Score:1)
Dual licensed - wtf?! (Score:4, Insightful)
(http://www.treblig.org)
'A: LINA is dual licensed. For non-commercial users, LINA is available under the GNU General Public License, Version 2.
If you wish to use it commercially, please contact us to find out more about the LINA commercial license.'
Erm I'm sorry?! You can't stop someone using a GPL licensed program for commercial use.
Do they mean to say that if you want to sell it or do none-free changes then they will sell
you a non-GPL license?
Re:Dual licensed - wtf?! (Score:5, Interesting)
(http://threeseas.net/ | Last Journal: Friday January 18 2002, @01:44PM)
Though this is a Virtual Machine, not the software that runs on it, you typically have to have some sort of clearance or approval to install and run such software in a large company. And having a paper trail of purchase or licensing fits the traditional business model. So yeah, if they actually produce, it makes since, however...
How long will it be before someone gets the idea to simply put it all on a memory stick and/or live CD/DVD such that they can take it with them, yet run it on top of other running OS's, that would then allow the best of both worlds (let the best app win regardless of OS)....
BTW, a windows version of D-BUS is being developed and in a case like this, it can be what integrates the two system applications. And that is what will make it really useful.
Imagine taking your personal tool box to work that you keep and which adds to your value to the company.
Qt? (Score:3, Informative)
(http://www.icefox.net/)
Don't forget wxPython! (Score:5, Interesting)
So I've been using this 'holy grail' for years, but maybe the VM slowdown and commercial licensing will appeal to some people.
Just what we need...another VM.. (Score:4, Insightful)
Besides, its not hard to write cross-platform C++ code.
Re:Just what we need...another VM.. (Score:4, Insightful)
VMs exist because no one dared to a make a C++ like language that guarantees source-code level compatibility in all platforms and has garbage collection.
And the premise "write once, run everywhere" is totally flawed. If you have N architectures, you need N virtual machines. If you go the direct route (i.e. no VM), then you need N compiler back-ends. Since the virtual machine is actually a compiler back-end (only executed lazily), I see no benefit from using VMs.
Dependencies? (Score:3, Interesting)
(http://supercheetah.livejournal.com/ | Last Journal: Friday March 04 2005, @03:24AM)
I don't doubt that this will be useful, but there's just too much hype surrounding it right now, and I can't tell the difference between the truth and the embellishments.
'Write-Once, Debug Everywhere' Linux Apps (Score:1)
Just what i have been waiting for...
So what! Windows already has this. (Score:1)
"Look and feel native to each" (Score:4, Insightful)
(Last Journal: Sunday November 05 2006, @05:31AM)
Sorry, that claim has been bullshit for decades.
-jcr
Deja Vu all over again! (Score:1)
VM enables "write-once, run anywhere" Linux apps?
Ultimately, Lina has some pretty lofty goals.
Hi.
1. This sounds like what Java tried to do.
2. Startup!?!?! Watch your pocketbooks!
write once, test everywhere (Score:4, Insightful)
(http://www.devinmoore.com/ | Last Journal: Thursday May 24, @06:16AM)
-if running mac, then do this fix, if running windows then do some other fix, if running linux then do some third fix
so either your code gets very large and unweildly, or you have 3 different versions and let them branch a bit. Either has advantages and drawbacks, but neither is what VM promises in theory.
Remember: "in theory, there's no difference between theory and practice, but in practice, there is."
Software Virtualization (Score:2)
(http://slashdot.org/~nurb432/ | Last Journal: Friday August 27 2004, @03:24PM)
What business wants to adopt something that doesnt have management tools these days? I know i dont want to make more work for myself.
For the love of God, why? (Score:5, Insightful)
(http://aharoni.wordpress.com/)
There are some binary Windows apps, which could make life easier (albeit somewhat unethical in FSF terms) for Linux users, such as MS Office and IE6, and AFAIK that's what WINE is for (although i've never had the dire need to actually try it). But vice versa??
All the FOSS Linux apps that are source portable - OpenOffice, Perl, Mozilla, SVN, Audacity etc. - already found their success on the Windows platform. Is someone weird enough to make an application which is binary-only *and* Linux-only?
Or am i missing something?
fat bunny? (Score:2)
MS should buy this immediately (Score:3, Funny)
Write once... debug everywhere! (Score:2)
(http://www.snowmoon.com/)
Write Once, Run Nowhere seen in market again (Score:5, Insightful)
There are uses for virtualized environments, but they're hardly a new approach to code portability.
Can anyone say "pcode" ? (Score:2)
(http://www.oreilly.com/catalog/samba/author.html | Last Journal: Wednesday August 24 2005, @03:32PM)
I daresay we've improved on that since, with perl as one obvious example.
--dave
nothing new, but could be great if done well (Score:2)
UML, coLinux? line.sf.net? (Score:2)
Why start at the kernel level? Why not start at the application level,
like line.sf.net did?
Yea but Java's soon GPL. (Score:3, Interesting)
(http://www.goaway.com/)
wtf? Barring commercial use of GPL soft? (Score:3, Interesting)
(http://www.goaway.com/)
How can they expect to bar commercial *use* of Lina when it's a GPL'd software product--unless their software must be embedded in the end executables?
Meanwhile, the video describing Lina is terrible. It shows (in a ridiculously puny window) two people installing an Apache-backed *WEB APPLICATION* onto two apparently different systems: a Linux machine and a Mac machine. What's the point of that when a PHP-backed application will do just as well and is nearly as simple use? (And what needed Lina? Apache? The web app itself? Both? Beats the hell out of me.)
There's no word on actual performance of Lina binary applications either, and while they claim additional "security," the reality is that complexity does NOT breed security, and Lina is yet another layer which must be maintained, secured, configured, and reconfigured.
Java already provides all or nearly all of this, and targetting development at Lina would be a massive re-tooling. It would also appear that the LINA PDF is internally inconsistent on the matter of whether legacy *binaries* or just legacy *apps* would run under a Lina host. I'll guess that everything must be recompiled specifically for Lina for it to work properly.
Quite frankly, once Java's GPL'd code is ported to the missing OSes it needs to be ported to, there will be no barrier to Java adoption anymore. Plus, commercial devs can still create independently-licensed Java applications without worrying about Lina demanding their cut for commercial development under Lina.
VMware without the interface ?! (Score:1)
(http://fnarg.com/)
For all I care, it'd be nice if we could cull the hundreds of vanity distros and repatriate all those developers onto Ubuntu, Red Hat, Gentoo, Debian and maybe Slackware (if they even care). Heck we could probably merge all the binary distros into a single one with "profiles", because typically a binary that runs on one standard distro, will run just as well on another distro running on the same architecture (as long as its dependencies are met). In a pinch, I can build something on my Gentoo, copy it over to my pain-in-the-ass CentOS box and run it. x86 is x86 no matter what crap you load onto it, it still runs x86 code.
More? Or Less? (Score:2)
"... its dual-licensed Lina virtual Linux machine will run more or less normal Linux applications ..."
Well, what is it? Is it more, or is it less?
Requesting a Dupe (Score:2)
To: Slashdot Editors
Re: Dupes
I know we bitch about dupes, but can we get a dupe of this article when they actually RELEASE this please?
Thanks!
Bunny! (Score:2)
That is all.
I won't comment on vapor-ware (Score:3, Interesting)
(http://hartsock.blogspot.com/ | Last Journal: Wednesday October 31, @08:25PM)
On the matter of the product itself:
From the videos on the website it sounds like Lina is a new type of VM for C/C++ code similar to the JVM. If that is the case I can easily contain my excitement and hope these guys have a good marketing department. The technology is not 10x better and as such will have a long road to success.
If you can write to Lina and distribute Lina "binaries" or native binaries (that is "exe" on windows) I don't think you'll see much resistance to Lina as a product. You may not see much fervor over it either though.
If you can recompile a Linux project and distribute either "Lina binaries" or native binaries for a program then I think we have gold here. I'll be very excited and it means that Linux could morph into a kind of super Java style API for all Operating Systems... a sort of meta System V.
If all Lina does is provide a VM to write to, (which is what I suspect), then Lina's success is going to be a matter of marketing. But not traditional big marketing... it will succeed on a combination of smart technologist marketing and viral marketing. If Lina has that it might carve out a niche for itself.
The question is, true believer, can Lina make your heart flutter like Linux, Ruby, Python, or PHP did? If it doesn't learn to make your heart go pitter-patter then I it will have to find a way to cut deals to make you want to learn to dance with Lina. Maybe folks at dLoo can cut a few deals that move a critical mass of developers over to the Lina side of the force.
I don't know if I like Lina or not, I haven't even met her. With a hook like this on Slashdot today would have been the perfect time for me to meet Lina and maybe have dinner. As it stands, I'm a desirable geek and get lots of young new technologies interested in my time and attention. I've got Beryl that I'm hanging out with right now, some python code from Numenta that keeps calling me back and looks mighty nifty, I've got new FX-y tech I'm going to spend some time with too... And, that's just this weekend. I may not notice Lina again. I'm sure she's a nice girl with great personality but... the other tech I can meet and talk to right now and Lina didn't even give me a month and day to get back to her on.
Why not Java? (Score:2)
Perhaps this has value for companies wishing to port legacy GNU/Linux products to Windows and OS X with less effort than is required to target Cygwin + OS X native, but then how many companies are there in that situation who are willing to accept the risk of targetting a brand new VM platform from an unknown vendor, and do not already have the inhouse expertise to maintain Cygwin and OS X ports?
And why not Java? That's the question they need to sell any intelligent prospective customers on. If you care about performance to the extent that you don't want to target Java (VM) in the first place, why would you want to target this VM virtualizing the entire Linux kernel, a VM that doesn't have the benefit of years of tuning and performance enhancing technologies from some of the brightest engineers in the industry (Java)? And once again, a VM from an unknown player that is not proven in production?
My suspicion is that this is just a bunch of people looking to be bought out, or at least hired, which is a perfectly reasonable thing to do,
This sounds like a reverse WINE (Score:2)
(http://www.geocities.com/orion_blastar/contact/ | Last Journal: Tuesday April 03 2007, @07:19PM)
LINA runs Linux software on Windows.
I guess originally they would have called it LINE, but then changed the last letter to A to avoid being just like WINE?
Part of the reason why people develop for Windows are that the development tools are easier to work with than Linux and other operating systems, like Visual Studio, Delphi, etc. Now you have to use Linux development tools, I am guessing C and C++, and Linux libraries to make code to run on this LINA virtual machine based on Linux APIs and the Linux Kernel? The best thing you have in Linux next to Visual Studio is the Mono project, but the IDE needs a bit more work, and the Winforms translation library needs more work as well.
I would like to try it out sometime and see what languages it supports for developing under LINA, when one does not have a Linux box to write the software on. I wonder if it supports the Python language and allows installing other languages on it, so we aren't limited to just C and C++ development.
Stupid (Score:2, Insightful)
Just write a fucking app in good c/c++ and staticly link libraries not on windows. Compile it and wohoo, a binary for windows. The only thing the least bit interesting is the gtk/qt to native api layer. That should be the library they provide developers with for ease of compiling to different OS's.
Java + SWT (Score:1)
cygwin? (Score:2)
(http://www.kinkyfriedman.com/ | Last Journal: Saturday May 15 2004, @01:14AM)
is there no "cygmac" or equivalent?
WORA is a Myth (Score:2)
(http://www.google.com/)
First, there are different utilities and features available to each operating system. Every developer that ignores these features and utilities in order to write a program once for all systems will be at a disadvantage relative to the person that writes a native app. In other words, the native app will run better than the generic app.
Second, people gain access to a flexible choice of operating systems, but the developers get locked into a proprietary language/framework. Again, limited choices means that for some (many?) problem domains, a different language/framework will be a better choice, and by denying themselves that choice, the developer loses a competetive advantage to another developer.
And that's ignoring the issue of just getting it to work as advertised... Java hasn't even gotten there, 15 years later. I'm sure a small subset of problems will work just great with Lina... but I don't think it will do any better than Java in the long run.
Raven
Objectification (Score:2, Interesting)
(http://onut.net/)
, (to make things easier and for 'sharing' code), were obscure pointers to areas of memory.
that required a rocket scientist to figure out what the hell was going on. Wow! We had 'functions' - we could
share code a lot easier!
that required a rocket scientist to figure out what the hell was going on. Wow! We had 'objects' that virtualized
concepts. But why do we suddenly have 'fat' programs.
out what the hell was going on. We had objects that virtualized everything. 'fat' programs? - forget fat these
were obese.
figure out what the hell was going on. Forget trying to virtualize program space - heck let's virtualize the whole
damn O/S! What's a fat program without a fat O/S?!
So, what's next after O/S virtualization? We've tried in the past to objectify and virtualize program space
and to a large extent doesn't work as we either keep changing userland requirements or our methodologies force
us to change.
Don't get me wrong - love virtualization for all the right reasons. But, all we have at the end of the day
is faster and faster machines that sit there chewing up greenhouse gases, (Bring back the old days of the
TRS80!).
Don't we already have web apps? (Score:1)
This really sounds like they're trying to fill a problem that doesn't exist. If you need apps that satisfy the lowest common denominator, then you build a web app and suck up the time for web development. If you need a highly performant and responsive app, then you write a platform-specific forms app.
Running the whole thing through a VM just wrecks performance and still requires massive testing, plus you lose all of the OS-specific features b/c you had to code for an OS-agnostic VM. Even if it works, it's still wrong :(.
another cygwin (Score:2)
(Last Journal: Monday February 03 2003, @08:59PM)
The main feature seems to be that GTK and QT will be mapped at runtime to win32 APIS... which is... ah... an interesting choice since GTK and QT already run on windows.
This doesn't sound like something that will have mass market appeal... although some companies that want an easy way to port existing unix tools to windows (if they are converting to windows) may take advantage of this.
I have no conception of how the authors imagine this will spur linux adoption. If this works right, the user wouldn't be aware they were running a linux environment. If it doesn't work right (like cygwin) users will be annoyed that they are using some big clunky vm that doesn't integrate with their os.
P-Code ... again (Score:1)
(http://www.is-cs.com/ | Last Journal: Tuesday July 20 2004, @09:39PM)
rPath (Score:1, Interesting)
Linuxolator! (Score:2)
(http://www.mavetju.org/)
Re:Huh? (Score:5, Insightful)
(http://slashdot.org/~eldavojohn/ | Last Journal: Tuesday October 16, @03:26PM)
Interestingly enough, the word 'groundbreaking' was not used even once in the summary or the article. News doesn't have to be groundbreaking. It could be a very simple old idea used in an ingenious way to be a very useful tool for the masses. Like this, they aren't hiding that they're kind of copying what Java does. But, you know, if it was such an easy engineering task, why haven't you done it? I'm very interested in where this goes.
Re:Huh? (Score:4, Insightful)
(http://www.monroe.nu/)
With something like Qt, its "write once, compile three times". Distribute binaries for Linux, OS X, Windows. All with a native look and feel, using native compilers and libraries.
Its not clear how this thing works with the GUI. Is it a new toolkit? Is it a hack of the Gtk toolkit? (I thought it was funny how the demo talks about the "native Gtk looknfeel from within what looks like KDE).
Re:Huh? (Score:5, Insightful)
(http://www.umcs.maine.edu/~err)
It should be
"Dear user: Insert the CD. Click 'Install'. Click 'OK' and go for coffee."
See the difference from a user's point of view?
Re:Huh? (Score:5, Insightful)
Phone relative because the CD does nothing.
Find Install and click it.
Cancel the dialog and click the other install.
Phone relative again and ask them why its going to take 3 hours.
Make coffee.
Return to computer and switch it off (thinking they were switching it on because the screen was blank)
Ring relative and ask why its not worked.
Re:Huh? (Score:4, Informative)
(http://www.mandible-games.com/)
To my knowledge, Linux doesn't have autoplay. While I agree that autoplay is awful, it does make things easier for endusers.
I don't know if OSX has autoplay or not, but in any case with OSX it tends to be "put disc in, double-click the disc icon that just showed up". I haven't seen any equivalent for Linux - you usually have to find the install program or similar. God help you if you have a package manager - then you have to search for what you want to install!
People's brains freeze up when confronted with a computer. They'd much rather just put a shiny disc in and let the magic computer do its work. Seriously, you could sell "Linux application install discs" which are just a pack of CDs where each one has "aptitude install gimp", maybe a hudnred bytes each, and people would buy them.
Re:Huh? (Score:4, Insightful)
(http://nickstallman.net/)
I think package management is far superior to cds. For one you cant lose your package management and spend half a day looking for it.
Re:Huh? (Score:4, Insightful)
(http://www.mandible-games.com/)
Personally, I agree - I vastly prefer package management or online downloading. I suspect there will be some user re-training needed to get most people to understand that, however.
Re:Huh? (Score:5, Insightful)
What are you talking about? One of the big problems in the Windows world right now is that applications are so easy to install, that the user often has to run special software just to keep applications them from installing all by themselves!
Re:Huh? (Score:4, Insightful)
(http://dr-tools.sourceforge.net/ | Last Journal: Tuesday January 23 2007, @10:27AM)
install.sh
----------
#!
make && make install
What was your point, again ? Oh yes, there is no "Click 'OK' " step, do you care ?
Re:Huh? (Score:4, Informative)
(http://www.umcs.maine.edu/~err)
Do not force end-users to the command line.
Re:Huh? (Score:5, Interesting)
This mentality bothers me. While the command line is intimidating at first, and end-users should never have to learn how to navigate the command line, if I'm giving instructions, I would much rather have someone using a command line.
For example, a few months back, my girlfriend wanted me to put Linux on her computer. She was saving up for a Mac, and her anti-virus had expired on Windows. She needed a web browser, office suite (She used OpenOffice on windows to begin with), and an instant messenger. I had her install Kubuntu, answering a few questions when she had them. Once it was installed, I pulled up a terminal to start installing some programs and codecs with apt. She was deathly afraid of learning the terminal, so I started stepping her through the installation with Adept Installer. The instructions for installing Flash went something like this:
- Click the "K"
- Click add/remove programs
- Type your password
- Check the box next to "unsupported"
- Check the box next to "Proprietary software"
- See where it says "KDE"? Click the down arrow and select "Any Suite"
- Type "flash" in the search box
- It's not in multimedia? Try "Others" I guess.
- Check the box next to "Macromedia Flash Plugin"
- Click "Apply Changes"
- When it's done, click "quit"
Alternatively, I could have told her:
- Click the 'K'
- Hover your mouse over 'System'
- Click 'Terminal Program (Konsole)'
- Can you remember that? Next time I may just say "Open a Terminal"
- Type "sudo aptitude install flashplugin-nonfree"
- Type your password
I explained to her that I didn't expect her to learn how to use the command line on her own, but it's a lot easier for me to tell her a command when I'm giving instructions. She hasn't used the terminal once on her own, and she's enjoyed perusing the programs available through Adept Installer, but she knows if I have to give her an instruction, it will be a lot easier to use the command line.
I realize it's initially intimidating for users to have to open a terminal, and I'd like to see graphical interfaces for everything a normal user would need to do, but I also wish we could get the average user to where they realized the set of instructions is a lot shorter when someone gives you a command than when they have to explain dozens of clicks.
Re:Huh? (Score:5, Insightful)
(Last Journal: Saturday June 23, @05:33PM)
Though in this particular case, if your girlfriend's about to get a Mac anyway, maybe it doesn't matter so much. I'd be more worried about getting dumped once she realizes she doesn't need you to fix her computer anymore.
Re:why Windows has a 'run' command (Score:5, Funny)
(http://www.isights.org/)
Re:Huh? (Score:5, Funny)
WTF is that?
Re:Huh? (Score:5, Insightful)
And therein lies the problem. You would rather have them using a command line. They don't want to. When you have a GUI, you always have prompts and a safety net. You can say, "Click on the button that says 'Change Setting.'" They have an automatic double check because there is something that matches, exactly, what they're being told to do. They have limited choices because they're working from a menu or from components and when one matches what they're told to do, they have some kind of confirmation they're pressing the right button. When you say, "Now type this," then you can hit any number of snags and they know it. You can tell them what to do and they can use a single quote instead of a double one or hear the word wrong or mistype it and, from their point of view, they don't know what's going to happen if they make a mistake.
You are much wiser than most developers I've seen post here who want to blame the uses for not knowing everything they know and you've got a good point. You and I can often move much more quickly with a console, but for users, the mere thought of having to type commands is frightening. They're looking at a blank screen with no feedback until they hit and then it could be too late.
You've realized, though, that it isn't about what you or I want, but what the user can handle or take care of on their own. That's the problem: It's our job to give them what they can handle. That is rarely a console. With my clients, before I got my software up to the point I wanted it, I had them install RealVNC on their computer and used a tunneling program I wrote in Java so it would go through their firewalls, then had them add me, and I configured RealVNC so it would only run when they wanted to run it and so it had a strong password. (And before anyone starts screaming, I'm simplifying and leaving out discussions with their bosses and IT departments about safety.) When they had problems, I just had them run RealVNC and add me, then I could fix, in less than 5 minutes, what could take 45 minutes or more if I were telling them what to do. When I finally got my own program to where I wanted it to be, that wasn't an issue anymore since I had enough failsafes they didn't need that kind of help anymore.
Re:Huh? (Score:5, Insightful)
(http://www.paxconsultoria.com/)
When MS released Windows 3 was when it started to become known in Brasil. At the time, there was a TV show called "Confissões de Adolecente" (no need to translate, since the name is not relevant). At the time, there was an episode where the main character was bitching an complaining about having to use a mouse and click on stuff. After all, if he wanted something, all he had to do before was to type the command. Now, he had to search for the icon, click on it, than click on something else etc.
So, to translate your comment into something that really means something (and is actually true), what you mean is:
"Do not force end-users to do something different"
Here is Brazil we have a saying for cases like this, which roughly translates as: "If you change the color of the grass, the mule will starve to death"
Oh How I Wish It Were That Easy (Score:5, Insightful)
Second, what about dependencies, how does she know to read the README file or anything else to figure out what she needs to build this source. You don't exactly include all the source of all the libraries you coded with, do you? Rarely have I seen a project coded from scratch with no dependencies.
See, the issue here isn't that she can't be instructed like a monkey to hit a button. The problem here is that if something goes wrong, she's out of luck. I mean, as it is, the concept of double clicking what you downloaded to install it was a tough one to drive home. And even now I worry about her willfully installing viruses or malware on the home computer. Because she just doesn't understand the concept so well. When you ask someone to build from the source, you're pushing them quickly into something they don't understand and it's just going to result in a bad experience. The ease of use for software is actually more important to most people than its efficiency or anything else. Why do you think Java is so popular?
Re:Oh How I Wish It Were That Easy (Score:5, Insightful)
If your mom is technically savvy enough to have created an application that is now to be compiled from source to different platforms then she obviously understands the original sentence.. and the typo... Unless she is a programming savant who creates source code not knowing what it is.
Again.. the original poster was talking about a (developer of an app) (compiling binaries from source) (for different platforms), not an end user or your mom.
Re:Huh? (Score:4, Informative)
Either it's missing some libraries (my experience with GD), or it requires SUDO permissions but the instructions didn't say it required SUDO permissions, or the path its writing to is wrong, or it has a Good Ol American compilation error... something always goes wrong.
If you want to write a GUI to cope with every single possible error in the 'configure' and 'make' process, more power to you. But I doubt it's possible for any computer program to handle every case in an automatic fashion.
Re:Huh? (Score:5, Insightful)
And come back to:And that's assuming the user knew enough to open a terminal and navigated to the appropriate directory, which you left out. Let's say after they got that error they look at INSTALL and discover your instructions forgot to include 'configure', and now they get:Let's say they go ahead and disable spell-checking, even though it would be a useful feature. They type 'make install' again, like the instructions said, and get:Maybe they're not quite frustrated enough to give up just yet, and they do a google search and discover that you forgot to tell them to run as root. Hurrah! It installed! They type the application name and getWhoops, still root. Maybe they realize this (smart user!), exit, and try running again as themselves. Oh, damn, the application installed in
Re:Huh? (Score:4, Insightful)
Re:Huh? (Score:5, Insightful)
That's what we do! It isn't 1979 anymore and having to compile source code isn't something the average user should ever be expected to do....
Re:Huh? (Score:5, Informative)
(http://kamthaka.blogspot.com/ | Last Journal: Wednesday March 30 2005, @03:18PM)
The work needed to abstract the fact that you are running on Windows or MacOS instead of Linux is highly repetitive, and therefore a good target for factoring out into some common -- thing.
The most accepted way for this is to develop a framework with WxWidgets. But what if you don't like the framework? What if you need a different framework? What if your language is not supported by the framework? Integrating a VM to the underlying OS is an alternative.
Another thing that I think is useful in this approach is potentially dealing with coupling of unrelated applications via common library dependencies. If one application requires a later version of a library than another is compatible with, you can't run them both easily on the same machine. Anybody who used non-Ubuntu repositories on Ubuntu has run into this.
Re:gui needs a framework (Score:4, Interesting)
I'm sorry, have you ever USED a Qt program on anything other than Linux? I've yet to see a single Qt application that doesn't look and behave like ass on Mac OS. (That said, I've never seen a wxWindows one that didn't look and behave like ass on Mac OS either.) My personal favorite is RealBasic, since I've seen RB apps that look and feel native on Mac and Windows, but you'll never get the open source community to use it because it's proprietary.
Re:Huh? (Score:2)
(http://slashdot.org/)
Re:Is this going to hurt Linux? (Score:2)
(http://www.polyprecords.com/ | Last Journal: Friday October 03 2003, @02:20PM)
However it is already possible to write one application and deploy accross OSX, Linux and Windows. Simply write and compile against WineLib .
Re:Huh? (Score:2)
(http://www.aes.me.uk/)
Re:Linux (non-)portability (Score:2)
I found that to be especially true in the 1998-2002 timeframe, but much less so today. Nowadays all the applications I've run across post-2002 will at least run on all the major desktop Linux variants with minimal hassle. However, embedded systems still tend to require recompiling to the target libc as they don't often ship with multiple versions of it.
Re:Linux (non-)portability (Score:2)
(http://www.pembo13.com/)
A common newcomer mistake (Score:3, Insightful)
Re:Huh? (Score:1)
(http://www.4g61t.org/)
I run plenty of binary packages at work and it would be wonderful if the "just ran"(tm).
Re:Huh? (Score:2)
see you just fucked your whole argument right there.
Re:Huh? (Score:1)
Re:Linux (non-)portability (Score:1)
Re:Huh? (Score:1)
(http://patchshorts.redirectme.net/)
Huh? Storage and handling. (Score:1, Insightful)
Like in Squeak for example.
Re:Huh? (Score:2)
Re:REALbasic? (Score:1)
(http://scorch.quickfox.org/)