Catch up on stories from the past week (and beyond) at the Slashdot story archive

 



Forgot your password?
typodupeerror
×
Java Programming Businesses Cellphones Apple

Sun Is Porting Java To the iPhone 275

krquet notes an InfoWorld article on Sun's plans for the iPhone. After studying Apple's newly released SDK docs for 24 hours, Sun decided it was feasible to develop a JVM, based on Java Micro Edition, for both the iPhone and the iTouch. An analyst is quoted: "I think going forward, with the SDK, it takes out of Apple's control which applications are 'right' for the iPhone." The article doesn't speculate on how Apple might to react to such a loss of control. "Apple had not shown interest in enabling Java to run on the iPhone, but Sun plans to step in and do the job itself... The free JVM would be made available via Apple's App Store marketplace for third-party applications."
This discussion has been archived. No new comments can be posted.

Sun Is Porting Java To the iPhone

Comments Filter:
  • by wildBoar ( 181352 ) on Saturday March 08, 2008 @02:30PM (#22687746) Journal
    Oh the irony
    • Re: (Score:2, Insightful)

      by wildBoar ( 181352 )
      Damn there are some mean spirited people out there. I generally spend my mod points on pumping up the good stuff.
  • Loss of Control (Score:5, Insightful)

    by Doomstalk ( 629173 ) on Saturday March 08, 2008 @02:31PM (#22687758)
    What Loss of Control? They've got final right of refusal on everything that goes up, and they hold the only means of distribution. If that's a loss of control, I don't want to know what it'd be like when Apple is totally in control.
    • I agree. I'm not sure what they mean by loss of control, but this move makes me happy. I'm not especially a fan of Java in general, but it supports what I've been saying all along. One just had to look at the number of developers and the cool stuff being designed for the iPhone/touch months ago to know that it would just take off when Apple finally got around to creating an official avenue for 3rd party apps. Developers (including me) want to develop for the iPhone because it's such a cool platform (o
    • Re: (Score:2, Interesting)

      by erroneus ( 253617 )
      I got modded flamebait on a previous thread discussing Apple's intended singular point of control disallowing enterprise administrators the ability to install apps on the phones within their enterprise domain where at least three people (so far) said I simply didn't read the articles that Apple *will* in fact, allow such enterprise control.

      I still doubt Apple will release control. I'd be similarly surprised if Apple even allowed Sun's Java on the iPhone at all. After all, once Java gets on there with inte
  • by adamwright ( 536224 ) on Saturday March 08, 2008 @02:35PM (#22687784) Homepage
    Section 3.3.2 of the SDK agreement states...

    An Application may not itself install or launch other executable code by any
    means, including without limitation through the use of a plug-in architecture, calling other
    frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in
    an Application except for code that is interpreted and run by Apple's Published APIs and built-
    in interpreter(s).

    Now, this is certainly lawyer speak and probably covers more than they'd like - I very doubt they'd care if you used some of your own library code to script custom UI elements in, say, LISP. But it is certainly their intent to stop people from just republishing all the iPhone APIs under a new wrapper, then selling an "Interpreter App" that downloads and runs "jPhone Apps" (aka "data" for your special iPhone app), thereby bypassing all their controls. It certainly seems to rule out a JRE in the sense that we've used to, and from Apples point of view, this is correct (no judgements from me on whether this is a good thing or not).

    • by sane? ( 179855 ) on Saturday March 08, 2008 @02:54PM (#22687900)

      What a lovely way for Microsoft, err sorry, Apple to find themselves in court. I'm sure the EU will look forward to the fresh cash injection. If Microsoft find themselves hundreds of millions of Euros down the swanny for failing to document APIs and make them available, what will be the fine for actively trying to prevent competitors having the same access to the machine that Apple does?

      I guess Sun have read the API and know they can bend Apple over their own arrogance.

      • Re: (Score:3, Insightful)

        Apple aren't a monopoly. I'm guessing that's where the differentiation is, there is plenty of other options if you're unhappy with the iPhone.
        • Re: (Score:3, Funny)

          by Kattspya ( 994189 )
          Yeah, that pisses me off. I have no choice at all in operating systems, I wanted to install Ubuntu but I couldn't because of Microsofts monopoly. Their evil monopoly is horrible, just horrible.

          Goddamn fanboys.
    • Re: (Score:2, Informative)

      by bagofcrap ( 260283 )
      Which isn't to say Sun and Apple couldn't come to a separate agreement wrt "jPhone", but this does serve to highlight a rather problematic licensing limitation in this day and age of greasemonkey and users wanting more control over the devices they own.

    • by civilizedINTENSITY ( 45686 ) on Saturday March 08, 2008 @02:58PM (#22687926)
      Please note that:

      No interpreted code may be downloaded and used in an Application except for code that is interpreted and run by Apple's Published APIs and built- in interpreter(s).
      ...is not mutually exclusive to:

      After studying Apple's newly released SDK docs for 24 hours, Sun decided it was feasible to develop a JVM, based on Java Micro Edition, for both the iPhone and the iTouch.
      ...which fact is attributed Eric Klein, vice president of Java marketing at Sun, in TFA:

      Sun came to the conclusion it could make a JVM work on the iPhone after taking 24 hours to look at information on Apple's SDK. Sun saw nothing in the public statements preventing the JVM from being one of the applications enabled on the iPhone, said Klein.
    • by RalphBNumbers ( 655475 ) on Saturday March 08, 2008 @03:07PM (#22687980)
      True.

      But Sun has Lawyers too, surely they've read the license as well. They wouldn't say they're going to make iPhone-java unless they saw a way to actually do it (albeit, their way to do it may just be to say they're doing it even though they know it's forbidden, and then try to drum up public support if Apple stops them).

      It seems likely that larger players are getting access to extra capabilities not allowed by the public SDK.

      Sun isn't the only big company doing things with the SDk that imply a special deal. AOL already demonstrated an AIM client for the iPhone, which would be rendered largely useless if it had to follow the restriction against public-SDK based apps running in the background.
      • by DdJ ( 10790 ) on Saturday March 08, 2008 @03:45PM (#22688196) Homepage Journal

        But Sun has Lawyers too, surely they've read the license as well. They wouldn't say they're going to make iPhone-java unless they saw a way to actually do it (albeit, their way to do it may just be to say they're doing it even though they know it's forbidden, and then try to drum up public support if Apple stops them).
        Sure, and there's a very easy way for them to do it.

        They make the JDK/JVM available only to developers. Then it's essentially just a library that a developer can use. The finished app still needs to go through Apple, and be posted as an individual app. And installing such an app on the iPhone doesn't enable the end-user to install any other apps on the iPhone.

        I don't see Apple's terms as forbidding that.

        Also, note that if you're a developer, you can install whatever you want on your own iPhone. That $99/year gives you the tools to install apps on your own phone by a mechanism other than the consumer-oriented ones. So, a more conventional JDK/JVM could be made available to developers pretty easily.

        And there's also that talk about corporate centralized app-loading. We don't know what the rules for that are going to be, yet.

        But it does seem likely that ordinary consumers are not going to be able to load a conventional JVM or Perl interpreter or PalmOS emulator or MAME implementation onto iPhones.
        • by RalphBNumbers ( 655475 ) on Saturday March 08, 2008 @04:28PM (#22688392)

          They make the JDK/JVM available only to developers. Then it's essentially just a library that a developer can use. The finished app still needs to go through Apple, and be posted as an individual app. And installing such an app on the iPhone doesn't enable the end-user to install any other apps on the iPhone.


          They might try that, but the article says, "The free JVM would be made available via Apple's AppStore marketplace for third-party applications." So if that's all they intend to do, they didn't get that point across to the reporter.
    • Re: (Score:3, Insightful)

      by firewood ( 41230 )
      Section 3.3.2 of the SDK agreement states...

      An Application may not itself install or launch other executable code by any
      means, including without limitation through the use of a plug-in architecture, calling other
      frameworks, other APIs or otherwise. No interpreted code may be downloaded and used in
      an Application except for code that is interpreted and run by Apple's Published APIs and built-
    • by jc42 ( 318812 )
      It's restrictions like this, and the locking in general, that are why I quickly decided to not waste my money on an iPhone, attractive as it might be.

      An anecdote: A few years back I worked on a project in which we investigated making some of our apps available on various smartphones. The main app that I worked on was remote access to medical databases, and we thought it could be very useful if, for example, emergency medical workers could have wireless access to their databases from an accident scene. We
  • Now that the Mac is overrun with terrible ports of Java apps with Windows interfaces and menus at the top of windows instead of in the menubar, we can send the iPhone down the same road! Horray for inefficient power wasting slow ports! But at least it's easy to go cross platform with Java, as long as you don't want it to look right or run fast. Ok, I'm a tad cynical. We can hope that iPhone users will demand a higher standard of usability than the "hey, I bet we could make this run on Macs with a few hours
    • At least it's not Flash [informationweek.com], right?
      • by civilizedINTENSITY ( 45686 ) on Saturday March 08, 2008 @03:06PM (#22687976)
        Agreed that Java is preferred to Flash.

        Java is a decent language. The library support is fantastic. With Sun opening up Java, its time to reconsider the use of a VM to draw our desktops. Certainly Java is preferred to Mono ;-)

        Still, there is a certain amount of Java-biased derision echoing about slashdot. Perhaps those issues need to be addressed before advocating the embracing of Java. Yet it is a decent language, one of the best of the curly bracket languages :-)
        • by rs79 ( 71822 )
          Can somebody explain to me what it is you can do on an iPhone app you can't do through a web page on a regular cel?

          That is, it just glitz? Or is there any actual functional characteristic the iPhone has that sets it apart?

          • Re: (Score:3, Insightful)

            by edalytical ( 671270 )
            Well for starters you can use the location APIs to get the physical location of the iPhone. You can get information from the iPhone's 3D accelerometer and use it's multi-touch input. That opens the doors to a whole range of interesting application that wouldn't otherwise be possible.
    • by VGPowerlord ( 621254 ) on Saturday March 08, 2008 @02:49PM (#22687868)

      Now that the Mac is overrun with terrible ports of Java apps with Windows interfaces and menus at the top of windows instead of in the menuba

      For Swing apps, isn't that Apple's fault? They did the JVM port to OSX, after all... they had the power to make the JVM merge the Swing menu with the Apple menu using OS hooks.

      Instead, they chose to have it display at the top of each application like Windows and most XWindows GUIs.
      • i call bullshit.... (Score:4, Interesting)

        by bennini ( 800479 ) on Saturday March 08, 2008 @04:43PM (#22688472) Homepage
        sorry but you are wrong.

        if you have a java application and want the menu bar to appear at the top of the desktop (like all other OS X apps), then simply invoke the jvm/java app and pass the following system property as a JVM arg:

        -Dcom.apple.macos.useScreenMenuBar=true

        as described here [sun.com]

        its not that complicated....

        • You should probably tell the guy who made the great-grandparent post, not me. He's the one complaining about how "the Mac is overrun with terrible ports of Java apps with Windows interfaces and menus at the top of windows instead of in the menubar."
    • Re: (Score:3, Insightful)

      Now that the Mac is overrun with terrible ports of Java apps with... menus at the top of windows instead of in the menubar

      People seriously do that?

      I'm kind of torn. On one hand, it's terrible form to violate an operating system's UI conventions. You just don't do that. On the other hand, having one menu bar for the entire system is the worst UI design decision I've ever seen. I'm really not sure which is the good alternative between those two... but I am still really honestly surprised that people are violating the system's UI conventions. How do they figure it's going to help usability, contradicting everything users of th

      • by wal9001 ( 1041058 ) on Saturday March 08, 2008 @03:00PM (#22687942)
        Well, they're not all that bad. It's mostly smaller projects, like PCGen that are the worst offenders, and some more widely used ones like Azureus never really got good Mac interfaces. For example, when you make the Azuerus window smaller, instead of adding a scrollbar it just covers stuff up bit by bit. So you can make it small, but if you want all of the statistics to be available you have to leave it at a fairly large size. Azureus's interface is the main reason that everyone I know has switched to Transmission.

        And I don't want to sound all negative, because there are plenty of good Java based programs on Mac. For example, Lux does a great job with the interface (maybe because it started on Mac and was ported the other way), but I'm still worried. The prospect of hundreds of developers jumping on the iPhone thinking "I already know Java, so I don't have to learn anything new" seems like it could end badly. I guess we'll have to wait and see what happens, if Sun does go through with this.
        • If what they'll offer is J2ME-based, then it shouldn't be that bad. The GUI framework in J2ME, LCDUI, is so generic that it is sometimes annoying because of not being able to specify precisely what you want; but, on the other hand, all applications written using it are inherently adaptable to pretty much any device- and platform-specific UI conventions. I've had two different mobile phones, a Sagem and a Nokia, and the same J2ME LCDUI application looked native on either one. I don't see any reason why it sh
      • by furball ( 2853 ) on Saturday March 08, 2008 @06:44PM (#22689146) Journal

        On the other hand, having one menu bar for the entire system is the worst UI design decision I've ever seen.


        http://en.wikipedia.org/wiki/Fitts'_law [wikipedia.org]

        That "worst" UI design decision results in a menu bar of infinite size which is better for usability than a menu bar of finite size. Poke around the Mac UI and you'll find other examples of Fitt's Law, like how its tree displays work compared to everyone else's.
        • No, it really isn't better for usability. But this is why UI design is art, not science. You're welcome to believe otherwise, of course.
      • by jc42 ( 318812 )

        Now that the Mac is overrun with terrible ports of Java apps with... menus at the top of windows instead of in the menubar

        People seriously do that?

        Heh. Apple's own "native" apps do it.

        For example, I have a Safari window next to this SeaMonkey window that I'm typing into. When I click on the Safari window, the usual "Safari" menus appear in the top-of-screen menubar. But the Safari window has a number of bars across the top. One of them (I don't know what it's called) starts with "Google News", and when

  • It seems like the iPhone is fully-featured enough to completely support a full, first-class JVM. Why are they porting a crappy pared-down Micro Edition version? That limits a lot of developers in what they're able to do. Maybe that's all they could get Apple to agree with?

    Dlugar
  • Why bother? (Score:3, Insightful)

    by Realistic_Dragon ( 655151 ) on Saturday March 08, 2008 @02:41PM (#22687822) Homepage
    I strongly respect anyone's right to do anything they want. However, I don't see the logic behind this move - or equally, behind anyone writing free apps for the iPhone via a jailbreak app.

    The outcome is that they are making a platform with a high degree of Apple lock in more attractive to consumers. When version two comes along with more effective control mechanisms users will be tied to Apple's integration services, and the tenuous foundations of a business model standing on some else's shifting sand will be destroyed.

    So why do it? It's bad enough choosing to write apps for Windows, but at least there is some logic given the size of the user base. The iPhone user base isn't very big (compared to, say, s60) but it _will_ be if it becomes the best option in town because everyone has helped Apple make it the best tool around by writing software for it. Then a later version can close you out and bang, lay off time is here again.
    • However, I don't see the logic behind this move - or equally, behind anyone writing free apps for the iPhone via a jailbreak app.

      ...

      Then a later version can close you out and bang, lay off time is here again.

      Oh, noes! I've been laid off from my job of writing free apps for jailbroken iPhones for the fun of it!

      (Yes, I suspect that's at least part of the logic - doing it for the fun of it. I doubt, for example, that there are zillions of customers who just won't buy an iPhone without term-vt100 [installerapps.com] and the

  • by crovira ( 10242 ) on Saturday March 08, 2008 @02:44PM (#22687844) Homepage
    is that Apple is off the hook for anything that fucks up with Java Apps (and Sun knows it so look for very conservative Java apps to get rolled out first.)

    That opens up the iPhone (and iPod Touch but who cares about that minority,) for corporate deployment and all those goodies without exposing Apple at all.
  • by Doc Ruby ( 173196 ) on Saturday March 08, 2008 @02:49PM (#22687876) Homepage Journal
    Java ME is already part of the default platform for DVB/ATSC (European / N American cableTV clients), most mobile phones, and Blu-Ray (so all HD videodiscs). When it's on the iPhone, JME will get high visibility as a development platform (DVB/ATSC/BD-J and even most mobile phone development is nearly all done by a small niche of developers).

    The same JME applets will run on any of those devices. In fact, the Java classloader lets any running Java program load a class from any other Java device connected by the network, load it and run it (safely) locally.

    I wonder whether having lots of developers targeting a very featureful terminal that can be used as a "universal remote" for all these personal devices will finally offer some good applications for Java's ability to transmit the same objects around all the devices. Like the GUI objects installed in each device being available on any other device, to control the "home" device in familiar terms. Or any other of these.

    And if that "mobile objects" platform does indeed come of age, will even Sun's "JavaSpaces" [wikipedia.org] finally have a use for its far-out platform?

    Will all of Sun's "useless" Java platforms from the past decade+ eventually be recognized as "visionary"?


    • Wow. Your post got me thinking. I could write a remote-control interface for my iPhone that would send commands via TCP/IP to my MythTV box. Change channels, play / record, etc. over wi-fi.

      Seth
      • You're welcome.

        But you don't need Java to do that. A native iPhone app can send TCP/IP commands to MythTV.

        What's really cool is when the MythTV server has Java applets for remote control that can run on you iPhone, and on your cablebox, and on your Blu-Ray player.
  • ...third-party apps can't run as a background process? From the documentation: "Only one iPhone application can run at a time, and third-party applications never run in the background." Limited resources or not, it seems like this is going to end up like the older versions of PalmOS.

    • by MadMidnightBomber ( 894759 ) on Saturday March 08, 2008 @03:11PM (#22688004)
      Easy - we'll just port Emacs. Then you won't need to run anything else.
      • Easy - we'll just port Emacs. Then you won't need to run anything else.

        Well, Emacs does have one of the original multitouch interfaces...

        (Doesn't it stand for "Escape Meta Alt Control Shift"?)

    • Re: (Score:2, Informative)

      by prxp ( 1023979 )

      "Only one iPhone application can run at a time, and third-party applications never run in the background."

      This is a completely fabricated limitation. For starters, the iPhone email app does run in the background (when it's fetching new messages). There is a good number of non-official (as in jailbreak based) 3rd party applications for the iPhone that run as background processes (including some popular daemons like apache, sshd, tinyproxy, etc). There are even applications that run their UI on top of the UI of another application (both applications running at the same time), like the dock App that runs on top o

  • by aneviltrend ( 1153431 ) on Saturday March 08, 2008 @02:52PM (#22687890) Homepage

    Here's a short section of the interface design guidelines as released by Apple:

    Only one iPhone application can run at a time, and third-party applications never run in the background. This means that when users switch to another application, answer the phone, or check their email, the application they were using quits. It's important to make sure that users do not experience any negative effects because of this reality. In other words, users should not feel that leaving your iPhone application and returning to it later is any more difficult than switching among applications on a computer.

    So when the JVM is used by an application, it'll be launched/terminated each time the app is switched to? I'm willing to bet that will make apps that leverage the JVM almost unbearable to use.

    • by argent ( 18001 )
      How can they prevent third-party applications from running in the background?
      • That's a silly question. They control the OS, so they can kill -9 anything they please at any time they like.
        • by argent ( 18001 )
          They control the OS, so they can kill -9 anything they please at any time they like.

          That's got nothing to do with them controlling the OS... any application can do the same thing. They all run as root.

          But, yes, I agree, they could have some daemon sitting there looking for unexpected processes and killing them, but if they did wouldn't you expect it to have shown up by now?
          • As of the 1.1.3 firmware userspace apps no longer run as root [macworld.com]. It's also absurd to think forthcoming changes in the 2.0 firmware won't lock this access model down any more. As per the documentation, apps will be run in sandboxes which can and will control the sort of access they have to resources.
            • by argent ( 18001 )
              So basically this SDK isn't going to let even developers open up their own iPhones, and Jailbreak will continue to be a necessity to use an iPhone as a regular smartphone. Even PalmOS, limited as it is, provides a better environment.

              Oh well.

              I hope Apple is not going to make the mistake of trying to push the idea that a leaky OS level sandbox is a free pass for security, the way Microsoft has.
      • by DdJ ( 10790 )

        How can they prevent third-party applications from running in the background?

        You don't understand how this is all working.

        The only way for ordinary consumers to install anything at all is going to be through Apple. You won't be able to hand someone a floppy with your own program on it and have them load it on their own iPhone. It won't work.

        So, all Apple has to do to prevent third-party applications from running in the background is refuse to distribute any apps that do. An ordinary consumer with an or

        • by argent ( 18001 )
          Yes, I know they can stop them at the political/financial layer (or at least play cat-and-mouse games with people who sneak "accidental" backdoors in anyway). What I want to know is if they have built any technical restrictions into the API... for example, running installed apps as non-root in a chrooted or jailed environment, or restricting the system calls available to installed apps.
      • by Macrat ( 638047 )
        By closing the app?
    • by DdJ ( 10790 )

      So when the JVM is used by an application, it'll be launched/terminated each time the app is switched to?
      Yes and no.

      It sounds like you're taking "launched/terminated" to mean "jumps to main()/gets a kill signal". I'm sure a hibernate/resume cycle will be just fine, in terms of meeting that requirement. The point is that when it's not in front, the app can't have any RAM footprint, any CPU cycles, respond to any interrupts, et cetera.
  • JDK 6 - Leopard?? (Score:3, Insightful)

    by yamamushi ( 903955 ) <yamamushi@gma i l . c om> on Saturday March 08, 2008 @03:46PM (#22688202) Homepage
    That's great and all, but a lot of us are still waiting for a decent JDK 6 and Java SE 6 releases for Leopard!
  • There's already a port of Java to the iPhone. To run it on a jailbroken iPhone, first install Cydia (http://www.saurik.com/id/1) and then install iPhone/Java.

    It even comes with a simple demo Java app that uses the iPhone frameworks!

    Admittedly it's pretty primal, and there's a long way from "JVM runs" to being able to run J2ME app's (like, for example, a GUI layer). But it's still really cool!
    • by saurik ( 37804 )
      I got that working ;P. It's JamVM with a custom connector from Java to Objective-C that works like PyObjC, allowing access to all of the frameworks on the device. It's actually been around for _months_ now, but I have been quite busy and have been unable to really market it well enough. If anyone wants more information, please e-mail me: saurik@saurik.com. My website is http://www.saurik.com/ [saurik.com], and I've had a bunch of time in the last couple days to actually write articles for my site, and JocStrap/iPhone/Ja
  • then how is it going to get on AppStore? They are the gatekeeper.

    If you are talking about some sort of hack, then how is that different than all of the other hacks? I suppose it might make the iPhone easier to hack, but how hard will it be for Apple to put out a firmware update every three months or so that wipes out anything related to Java on the phone because it violates terms of service? Will serious users put up with that kind of instability?

    If Apple doesn't want it to happen, it ain't gonna happen.

    Thi
  • to see if apple lets this pass. as i understand, they have final say as to whats made available in the appstore, freeware or not.

    should be a nice test of how control freak apple wants to be about the store.
  • Oh Please No (Score:3, Insightful)

    by tacocat ( 527354 ) <tallison1&twmi,rr,com> on Sunday March 09, 2008 @07:28AM (#22691724)

    If you compare the languages, Objective C and Java, odds are that Java really can't bring anything to the table that is going to make it stand out from the crowd. Java works if Java can stay in memory, or be the entire application interface so it's always in memory, that's how is can make a decent application for phones -- be the application. That isn't the case here. Apple has their own OS that they are running and it's pretty good. They won't get rid of it. So now you are going to run two on tandem. Which will be very bad for Apple.

    JVM based widgets will suck ass and everyone will want to blame Apple for their shitty phone that doesn't run Java apps really fast. Well, it wasn't designed to. But there are like a million little programmers running around saying "Go Java" and banging out every kind of widget they can think of anyways. And still people will blame Apple for making a shitty iPhone because Java widgets don't run fast. Recall that it still isn't designed to do that.

    I have a very strong dislike for Java because of what Sun did with it. They lowered the entry barrier to Java by making is really easy for someone to get a certification in a week and then start programming at a job. Problem is you end up with a lot of programmers who are stupid shits and can't code their way out of a paper bag. The really amazing programmers still exist, but they've been diluted by the thousands of overnight contractors that have no experience.

    So the net effect is that you end up with a lot of bad programmers making a lot of bad programs on a code base that is very sub-optimal for the applications and platform that they are going to be developing. And even the really good programmers are going to struggle because it's not a native Java machine and they'll have to fight against that one.

    I guess I forgot to say, I don't think that there is any problem with what Apple is doing with their SDK and their product development model. They have a different approach to their products. They release what they can and need to in order to ensure functionality. This is contrary to Windows and others who release crap for everything all on the same day and then have a lot of people pissed off with things not working. It is the quality of their products that has been a corner stone in their success in the market.

    Opening up the iPhone like this is going to mess that their perception of quality in the market and that is probably one of their most valuable selling points.

The use of money is all the advantage there is to having money. -- B. Franklin

Working...