|First Hi to all, and sorry, my English is not as good as people would like, then probably I will fail a little...
I want to discuss something that has been worrying me, with the modern PC and Devices, our new Developer are ignoring the old issues we use to have with performance and storage due the amount of Ram and CPU power... At this point of time I considere we the old developers (30 year +) still remembers our issues with pointers and not being free to load everything in memory, we use to implement crazy logic in our software just to be able to handle a couple of megabytes... now with the amount of "FREE" Memory new Developers are not giving to much importance to this topic, and what really worries me is that those new Developers will be the teachers of tomorrow, at some point, no one will remember and care about this....
To make thinks Easyer I want to use 3 categories here:
1st Generation (G1): that Old champions that build they code with just some KB of memory, they made everything possible. Just a few of them still alive... (people over 45 or 50 years, yes that oldies from 80s)
2nd Generation (G2): Me, we start using visual studio, windows and Obejct Oriented programing, we saw the bird of Java and C#, not to much of us remembe Assembly but we remember we saw it on a class... We worked not with KB but with MB, so we still remember the importance of performance. We are still the majority. I guess people 30+ years old, we are 90s people
3rd Generation (G3): The younger generation, they don't know about KB or MB they have GB and GHz, HD with Terabits, Clouds.. they probably don't know what is a pointer (but they are using it everywhere), lets call those the 2000s and Mobile generation.
4th Generation (G4): the new born, the developer from Tomorrow, they probably still in School or Kinder Garden... They teacher will by our current G3.
Ok, now I categorize them, but not to say one is better or worst (if G3 and G4 fails, is because we G2 didn't do right teaching), I just want to emphasize they context, they environment...
I will point a little to the Android market, from the OS to the App people are developing, I has been noticing something simple and estrange.. no Exit, no Logout... Why are those applications not implementing Exit or Logout? why they wants me to have always an APP running int he background eating 60MB of my 2GB Galaxy phone?... I was chatting about this in our lunch time at the company, then one of the juniors (totally G3) comes and told me: "man I don't want to wait for the application to LOAD, so if you are running out of ram, buy a better phone".. and he was not joking...
I was like OMG, and this is something that is really happens with new developers (also to some of G2) mostly to the Mobile developers, they are like, man our phone is better that a 4 year old Laptop, we should I care about performance, lets just add better hardware... and this is what makes me worry about our future developers, will they forget about perofmance?
Why, I really wants to understand why Android developers don't implement basic features as exit or logout (one of the last updated for Skype removed exit and logoug, people just hate that, they added it back and now we all happy)... no matter how good is the Android OS and the running in background in terms or Power usage, 60MB in memory are 60MB, we don't free it when the user wants to exit and close the app? There are a lot of APPs and Games that are used as much 30 minutes at day, but they stay in memory 24/7... (at this moment I can't live without a Task Killer in my phone)...
Another point of interest, why are the new developers implementing everything is automatic with asking the users if they want it automatic? man, I have logged or sync applications with my Facebook, twitter or gmail account, then when I try to send a simple SMS.. WTF all the contacts are mixed... I never ask the applications to sync and download this data... they should ask If I want to get the contacts or no.... so I add something else to the list of what I think is wrong with the current Android Mobile Development (I don't want to talk about IOs cause I just don't own one IOs Device).... (I know there are stuff that is good to be automatic but not everything, specially with personal info, plus we should always leave open the option to enable/disable this stuff when not vital for our apps)
So my list of main issue from G3 developers:
- We have Infinite Memory and Resources
- We don't need Logout and Exit
- We don't need to ask the user, we know they will like this... - Security, my device is mine, no one else will use it, there is no need to user and password...
Of course yes, they are others, but those are my main concerns... then was I clear enough about my topic? What do you think?