The Government Digital Service's technology blog, describing how the UK team builds and runs GOV.UK and its open-source practices.
HN commenters praise it as a great blog showing government IT done well, and link it for its progressive enhancement approach to web development.
Your application is very interesting but it looks like you're trying to do too much at once. Especially with the AI part haha. I think a subset of it is achievable by one, focused person for a limited set of students and topics. As another said, the crap people deal with today is mandated by law and policy under a regime that won't buy into what you're proposing. Further, many places require by law that the kids are in what educational system considers a school rather than your app. So, you might want to prove the idea by hitting the market for workforce training and personal improvement then pivot into general education as both will use similar resources.
Another problem with your proposal, a huge one, is that there's nothing in it about countering spread of misinformation. Quick link to give an idea of how easy invalid information spreads and persists across social media:
http://www.iflscience.com/technology/facebook-echo-chambers-help-spread-and-reinforce-misinformation/
That or another Facebook study also pointed out that retractions (eg a Snopes article) only slowed misinformation in the 30-40% range IIRC. The bad info spreads more and lasts longer in your model. It has to be detected somehow with official counters on any topics where there's a consensus that they need to know. That means your model, like the others, needs human beings that act as sort of teachers and moderators. This is even true for a high-quality forum of smart people like Hacker News. Alternative…
I'd suggest getting a solid understanding of the core front end technologies: HTML, CSS and vanilla JavaScript. If you can't build reasonably complex websites without the crutch of a framework or a more complex tool chain, then you've probably missed out on getting the basics right.
You should also learn about UX and design. I met a self appointed frontend developer recently, who didn't have any understanding of what a good designer does. This led to some really horrible conflicts where core design decisions got ignored (the developer thought they knew better) and the end result was a mess. Designers are your friend when working as a frontend developer and will help to make sure that the end product is both well built and actually useful for the users.
Read: https://gdstechnology.blog.gov.uk/2016/09/19/why-we-use-progressive-enhancement-to-build-gov-uk/
If you're building frontend your job is to make sure that your audience can use it. There's no reason not to learn and use fun tech, we all like play and make our own development lives easier, but your users must always come first.
If you can do all of that then you'll be able to do a pretty good job as a frontend developer. Picking up the latest and greatest frameworks is really quite easy once you understand how JS and the DOM works. You'll have the added advantage of being able to critique new tools as well.
You’re not wrong about screen readers, no. I wrote a blog post about this last year[1] but I’ll copy and paste a list of possible reasons from it here:
- script hasn’t finished loading, or has stalled and failed to load completely
- application route is up, but the route to the Content Delivery Network is broken
- user has chosen to install a plugin that interferes with the DOM
- user has been infected with a plugin that interferes with the DOM
- user’s company has a proxy that blocks some or all JavaScript
- user’s hotel is intercepting the connection and injecting broken JavaScript
- user’s telecoms provider is intercepting the connection and injecting broken JavaScript
- user’s country is intercepting the connection and injecting broken JavaScript
- JavaScript code has functions not implemented by your user’s browser (older browsers, proxy browsers)
[1] https://gdstechnology.blog.gov.uk/2016/09/19/why-we-use-progressive-enhancement-to-build-gov-uk/
ps. You could implement your own functionality to collect these reports. The Report-URI product (as opposed to header) is just a pre-written service to save you rolling your own. You just need to build something to receive the HTTP POST statements and do something with the data. Or you look on GitHub and find someone's done that for you: https://github.com/seek-oss/csp-server (and more: https://github.com/search?utf8=%E2%9C%93&q=csp+report-to).
Specifics and examples of what `report-to` looks like here: https://wicg.github.io/reporting/#examples
There's also a nice blog about implementing the old `report-uri` header here: https://gdstechnology.blog.gov.uk/2015/02/12/experimenting-with-content-security-policy-on-gov-uk/
This is not exactly surprising. With the unbelievable amount of energy microsoft has put into preventing ODF at every turn, this has to be something that scares the hell out of them. Office is still one of their bigger cash cows. I'm sure they're furiously trying to talk the UK government out of this decision.
This is great news for the UK people however. I'm constantly impressed with how tech savvy some parts of the UK government. A great example would be this gem of a post:
https://gdstechnology.blog.gov.uk/2013/12/05/building-a-new-router-for-gov-uk/
And this: https://github.com/alphagov
I still wish they would accommodate security conscious users who avoid running JavaScript by practicing progressive enhancement. IIRC all of the tickets about it have been rejected though. I note the UK government uses this web development methodology.
https://en.wikipedia.org/wiki/Progressive_enhancement
https://gdstechnology.blog.gov.uk/2016/09/19/why-we-use-progressive-enhancement-to-build-gov-uk/ https://news.ycombinator.com/item?id=12538144