5 ms·
This post gets it close, but what we need is the best tools that can run in a web browser on a public library computer. Many don't even have a Chromebook or RPi
by kleigenfreude 10y ago
This post gets it close, but what we need is the best tools that can run in a web browser on a public library computer. Many don't even have a Chromebook or RPi.
And really what we need are the best tools that can run on the lowest end mobile phone. That way a lot more people could code: https://www.cta.tech/News/Blog/Articles/2015/July/How-Mobile-Phones-Are-Changing-the-Developing-Worl.aspx https://www.cta.tech/News/Blog/Articles/2015/July/How-Mobile... You could just give away free android phones- that'd be easier than trying to get everyone's clamshell phone to allow coding, and typing on a numeric keypad would be difficult. Also, even using Android- how will those people type? Hmm, maybe we just need to give them all computers or Facebook could set up computing centers. Actually, those luckily enough to get a ride into town and some money might afford 15 minutes in an internet cafe, so maybe if you wrote an app that could multifunction as a coding tutorial and universal web email client application at the same time maybe someone might use it. But definitely a low-end computer, so we're back again to serving some additional people realistically if we just have a webbased IDE that runs on a low-end computer. Should it support IE6 or IE7? Also, internet in many places is dog slow.
Still beyond that what is desperately needed is food, clean water, shelter, clothes, blankets, feminine hygiene products, medical assistance, infrastructure, the ability to grow food, doctors that live nearby with a constant supply of resources, and electricity. There are many parts of the world that don't have these things. Don't give them computers first. It would be intercepted before it gets to them or taken away from them or sold for necessary items. Many can't code, as they're struggling to survive.
- fredley 10y agoOr maybe we need to get Chromebooks/RPis into public libraries instead? I admit RPis are probably a bit of a stretch - given the potential for malicious usage, but Chromebooks seem to be an ideal fit, for much the same reasons they're good for the education market.
- kleigenfreude 10y ago(Note: fredley responded when my comment was just the first line about public libraries.) I think this gets too expensive. Instead, I think you need to just serve the lowest denominator and help those that don't even have that with other resources.
- headmelted 10y agoI've actually been looking at this too. I posted more detail on another comment, but it should be possible to write a nodejs server app inside the package that will serve up the electron HTML to the web app (i.e. with command flags like [--server --port $port]). You'd probably have to implement the keystroke handler and a renderer for the menus, but otherwise it _should_ work. Of course, I have no idea how much work would really be involved (although I imagine quite a bit), and you'd end up with something that resembles Cloud 9 or Mozilla Che, albeit with VS Code's extension library. It just feels like something that would be better built directly into Electron though, so it could work for e.g. Atom as well.
- kleigenfreude 10y agoSome computers are too old and slow to run the JS in the client as the IDE. Either the browser is old and incompatible, or it would just waste precious internet cafe/library computer time for each action. Either the JS needs to be fast and compliant with much older browsers, or you just do a webform with old HTML tables as structure and so everything server-side. Then you have the opposite problem in that those with newer computers wouldn't want to use it. So you might have to provide multiple levels of support, similar to how Gmail and OWA have a light client and a heavy client.
- pbhjpbhj 10y ago>"Still beyond that what is desperately needed is food, clean water, shelter, clothes, blankets, feminine hygiene products, medical assistance, infrastructure, the ability to grow food, doctors that live nearby with a constant supply of resources, and electricity." // I agree with the sentiment of that so much but it's not an either or thing in some situations. Also, computers, in the form of feature phones mainly AFAIK, have helped some of the poorest people by enabling communications and information acquisition that can help with water, food, shelter, medical aid, etc.. If you RTF though you'll see it only addresses the disadvantaged in developed countries where the above are not widespread issues.
- VLM 10y agoHaving lived thru the era, admittedly in the USA not UK, the article clearly was not written by a gen-xer because "effectively cut children from lower-income households off from the computer revolution" is complete nonsense. If anything the tradition of constructing computers to operate for a decade was still in play while rapid technological advancement meant kids could have somewhat used computers pretty much free for the asking. This continued well into the 90s where it seems every linux install story began with "first obtain a free discarded computer" to install on. Now a days you have to spend $75 on a new pi and its required accessories, but in the "old days" you learned for free on a used machine. I suppose no matter how bad it is for the environment, filling the worlds landfills with e-waste is at least good for the economy.
- deleted 10y ago[deleted]
- sambe 10y agoI agree with the sentiment. Do note that people said exactly the same about mobile phones in Africa - shouldn't be a priority. The article you link wouldn't have been written had we said "no, first give them water and blankets". Maybe the benefits turn out to be surprising even in deprived areas? As for web-based vs native, I can see it going either way. If connectivity is too unreliable and/or expensive then native will win. Many people in the developing world spend a lot of time with no credit on their phones. The biggest problem I see with teaching people computing these days, which is only partly addressed by cheaper computing devices and IDEs, is the sheer number of tools and abstractions to learn. What order do you teach in? What if there's no teacher? Version control, testing, frameworks etc. are all great things, and a certain proportion of people will need to learn them at some point. For others it's overwhelming, and for most it at least hinders the teaching process. Too much "ignore this for now" can be demotivating and confusing. Yet, it's also not enough to start with just a BASIC prompt any more. People have now seen all the cool modern things you can do and want to do it themselves, so moving an X across the screen is not motivating either. I have found completely dedicated environments like https://scratch.mit.edu https://scratch.mit.edu to be great for younger kids, but not sure how the rest of the learning curve should be shaped.
- kleigenfreude 10y ago> What order do you teach in? Not the same for everyone... here's a weak attempt at answering: Kids: 1. Visual 2D: https://scratch.mit.edu/ https://scratch.mit.edu/ 2. Visual 3D: https://minecraft.net/en/ https://minecraft.net/en/ 3. Interacting with real world: https://www.lego.com/en-us/mindstorms https://www.lego.com/en-us/mindstorms 4. Machine learning (why? it's the future!): http://stats.stackexchange.com/questions/22504/what-can-one-tell-a-school-kid-about-statistics-and-machine-learning http://stats.stackexchange.com/questions/22504/what-can-one-... Adults: 1. Take class(es) on using a computer or phone. Many don't have confidence for things we take for granted. 2. Online tutorials: http://javascript.info/ http://javascript.info/ http://iwanttolearnruby.com/ http://iwanttolearnruby.com/ https://wiki.python.org/moin/BeginnersGuide/Programmers https://wiki.python.org/moin/BeginnersGuide/Programmers https://netbeans.org/kb/articles/learn-java.html https://netbeans.org/kb/articles/learn-java.html https://msdn.microsoft.com/en-us/library/aa288436(v=vs.71).aspx https://msdn.microsoft.com/en-us/library/aa288436(v=vs.71).a... or go to school. 3. Learn enough to contribute to an open source project. 4. Get a job coding or code at your existing job, if allowed. On the job experience is essential.
- meredydd 10y agoBy far the best, easiest on-ramp for these users is a good web-based development environment. It will run on a public computer, or an unmodified Chromebook (preserving those security properties), and they are useful for everything from first-steps learning to Real Programming. Of course I'm biased, because I make one (https://anvil.works https://anvil.works) - but there are loads of great platforms out there. You can learn and practice basic Python with Trinket (https://trinket.io https://trinket.io), or command the full complexity of a Linux workstation system with Cloud 9 (https://c9.io https://c9.io). (With Anvil, we aim somewhere in the middle - useful, deployable, earn-or-save-money-with-them apps, without the full horror of the Web. But my point is that there are many good choices available.)
- pepe32 10y agohola
- loup-vaillant 10y ago> This post gets it close, but what we need is the best tools that can run in a web browser on a public library computer. Many don't even have a Chromebook or RPi. This would further the centralization of the internet, which is a disaster waiting to happen. It's easier, it's cheaper, but it's also wrong. We must teach people to take control of their computing power. This means giving them a personal computer they can control. They need enough computing power (low-end phones and the R-pi are more than enough), a decent I/O setup (screen and keyboard, mostly). You also want to avoid proprietary software. I won't object too loudly about adults and companies using proprietary products, but when it comes to children, I have to go full RMS: proprietary software is wrong, teaching it is evil. In some cases (MS-Word vs LibreOffice), we really have no excuse. (An ubiquitous counter-argument is, not knowing MS-Word makes it harder to find a job. This ultimately does not matter, because "proper" training will cause other* people to be unemployed. To reduce unemployment, we have to either create more jobs or share what we have (4 days work-weeks come to mind). Of course, since computing is mainly about destroying menial work, don't get your hopes up about job creation.)
- digi_owl 10y agoSadly most people don't want to, as they are mentally exhausted after pulling triple shifts and whatsnot to keep food on the table. They just want to vege out, with the web being the new cable TV.
- loup-vaillant 10y agoOf course. Basic needs first. Let's start with a 4 days work-week, so people have time to breathe and think. (You can keep the same net salary, because if done in the whole country, this mechanically reduces unemployment and related insurances).
- jrheard 10y ago>> This post gets it close, but what we need is the best tools that can run in a web browser on a public library computer. Many don't even have a Chromebook or RPi. > This would further the centralization of the internet, which is a disaster waiting to happen. It's easier, it's cheaper, but it's also wrong. Sorry, honest question - I don't understand what you're saying here. Could you please explain?