- 1) You want to use GPL or similar licensed components in your software instead of spending time and money re-inventing the wheel
- 2) You expect the product to be adopted by other DEVELOPERS, who will work on and improve the code for free in their own interests
- 3) If 'broad' user testing is usefull. By releasing opensource you are potentially greatly extending the userbase and by releasing early it is possible to get significant testing.
The core idea is that costs are shared by co-operation between parties who have a similar need. This is not a new concept, and has appeared and suceeded in many different forms in business. Like a 'franchise' which shares branding costs because it would be impossible to get the same level of branding on their own individual budgets. There are other reasons to opensource your code (fame, altruism, etc) but these are not very appropriate in your context.
- Access all the stuff on your SD card
- Track your current location with GPS.
- Download anything they like onto your phone.
- Access ALL the accounts (not just facebook) that you use on the phone.
On many phones (like mine) this app is pre-installed and actually uninstallable it was the main reason i switched to cyanogenmod
- Every time you build a kernel you have to download the latest nvidea driver and install it separately.
- Want to try a release candidate kernel? nope forget it. Just to get the damn thing to install you have to reverse engineer their installation scripts, and even after you get that working, the driver is usually unstable (not surprisingly).
- It overwrites libgl with its own version that wont work with anything else
- I had serveral problems such as an unstopable crackle coming out of my TV/monitor over HDMI (nevermind actually getting the HDMI audio to work!) , or having to write my own modeline to stop overscan
- The installer is a real PAIN IN THE ASS if you swap about kernel builds a lot. It complains about kernel versions and refuses to install, or refuses to uninstall grrrrr
- nouveau simply did not work for me, and even if it did i wasn't sure the 3D would be good enough for my needs. I could never get X running with it on my monitor. just screen noise. The nouveau guys are kinda heroic but why isn't nouveau backed by nvidia? and why is nouveau helping sustain a product whos manufacturer wont play ball? might they not be better employed helping improve the open ATI drivers?
recently i finally decided to give the radeon and try. and bought a cheap radeon HD 6450. Ok. I admit i still had to write my own modeline to get rid of overscan issue (similar to my experience with nvidea), but after that it JUST WORKED, with seemingly any kernel i build without having to shoe-horn in proprietary drivers everytime i do a build.
The 3D performance seems perfectly adequate for my needs, and being opengl 4.1 I can build and run opengl ES 2.0 type code against it happily. I really dont know why every slags off ATI/radion support, and gives nvidea a free ride. I like life of the ATI side of the fence and I'm not going back to nvidia anytime soon.
For some of us having a card with a half decent opensource driver in the kernel tree is not an idealogical battle, but simply a practical necessity.
On the other hand when i was growing up my biggest hero was "The incredible Hulk", some guy who's would get angry, totally loose it, and go on a violent rampage. Not a great role model if you think about it, but I dont think it did me any harm.
Personally I dont think creating 'artificial' role models makes sense. I think the problem is parents etc, for some reason most of them want to encourage girls to be 'girly' and boys to be 'boyish' in terms of their own preconceptions of what these roles should mean. My sister hosted a birthday party where she gave all the boys blue boxes with a car in it, and the girls pink boxes with a hairclip and a wand (which i was told is typical). Maybe boys and girls are naturally drawn to slightly different things, but many adults seem to want to actively enforce and artificially exagerate the difference.
So do you need the serverside code at all? of course you do, but it should be feeding the client with JSON (or similar) instead of html. For this 'feed client with info' serverside code the traditional web framewords still work fairly well even though their role has changed. there is nothing wrong with using java here if thats what you are comfortable with (i normally use either python wsgi or asp.net).
Usually the most sensible design for a modern website is a (sort of) MVC structure where JQuery is the controller, the 'views' are static html, and interfacing with the data model is the serverside framework.
Oh and DOJO is a perfectly workable alternative if you hate JQuery for some reason.
1) "Nah you dont want to go to the post office, its UPS you want. To get to UPS you should go..."
2) "Its 11am? what sort of idiot goes to the post office at 11am? the queues will be terrible, you should just go home."
3) "There are many ways to go the postoffice, i cant tell you which if you dont give me the exact critiera by which you can judge the best route. Is it fastest? shortest? most scenic? safest? does it need to be wheelchair friendly?"
4) "You should just use email! you fool!"
No? then dont ask slashdot...
(Crazy fanatic dad walks in)
Crazy fanatic dad : "OH NO!!! you have been corrupted by the filthy western decadance!! "
Muslim kid : "No dad!! look im using their own flithy videos against them, by hiding cunning terrorist plans inside them!! honest!!"
Crazy fanactic dad : "Ahh good son. Well done carry on"
(Crazy fanactic dad leaves)
Muslim kid (whispers) : "sucker! heh heh "