- The web development community needs to focus more on quality, accessibility, and standards compliance rather than constant innovation and new techniques. Browsers have come a long way but still struggle to balance implementing new features while maintaining compatibility. - Web pages have gotten slower and larger over time due to an emphasis on appearance over performance and a reluctance to drop legacy techniques. Many modern solutions make the web more complex without real benefits. - Developers should provide better feedback to browsers, demand stronger support for baseline functionality, and stop catering to outdated browsers to encourage continued progress toward an interoperable web. Simpler, more sustainable approaches would benefit all.
This document discusses JavaScript and ES6. It covers some of the historical issues with JavaScript, the learning process, dependency on libraries/frameworks, and new features in ES6. It also discusses transpiling code to support older browsers, standards and interoperability challenges, and new JavaScript engines like ChakraCore that could break monopolies.
talk given to the take off conference 2014 about promises and futures in javascript world https://www.youtube.com/watch?v=2OjHNe9Akaw
The document discusses the evolution of the web from progressive web apps to native mobile apps and back again to progressive web apps. It notes that early mobile web faced issues like small screens, poor connectivity and unreliable browsers, leading to the rise of native apps. However, app distribution issues like slow updates and the "walled garden" approach of app stores have led to a renewed interest in progressive web apps that work offline but do not require app stores, allowing for more open distribution like the original web.
In the last year or so things changed drastically. Everybody uses an iPhone6, is connected 24/7 at high-speed without data caps, is healthy, has shiny teeth and loves spending money on your products. All you need to do is constantly innovate and you'll be a major success. The term for this is "the modern web". Another word for it is nonsense. There is a web people want and there is one that people use. We should start thinking about upgrading the one people use and stop chasing our own tail trying to mimick other environments.
Microsoft has become more open in recent years by open sourcing many products, making products cross-platform, and making training materials openly available. This open approach makes business sense for Microsoft as it attracts developers, allows employees flexibility, and taps into outside skills. Examples of Microsoft's success with open source include the Edge browser, Visual Studio Code editor, TypeScript transpiler, and ChakraCore JavaScript engine. The presenter encourages attendees to help promote Microsoft's open products and projects through conference talks, writing, and contributing translations and code.
Keynote at Codebits in Portugal, April 2014, explaining the how and why of Firefox OS and how to use it. Video: https://videos.sapo.pt/ZYQyY57ZlB6lhgIdBzrs
ES6 and other extensions to JavaScript are exciting, but they have the problem that they are not backwards compatible. How can we deal with that issue? Or is it really one?
Keynote of the second You Gotta Love Frontend conference in Tel Aviv/Israel talking about what to expect of the web in the near future.
The document discusses whether WordPress should be considered a content management system (CMS) or just a blogging platform. It outlines some of the key features of a CMS and compares them to WordPress' capabilities. While WordPress can be used as a CMS, it may not be well-suited for complex workflows, custom applications, or digital asset management at large scales. The attitudes of WordPress and Drupal founders and their different focuses on usability versus engineering are discussed as factors that influence the platforms. The document considers whether WordPress would benefit from additional complexity and capabilities for CMS use cases or if simplicity should be preserved.
This document discusses progressing web development and applications. It talks about some common criticisms of the web, including that browsers differ too much and the web is too flexible. However, it argues that browser differences allow for innovation and flexibility is one of the web's strengths. It promotes an approach of focusing on capabilities rather than browsers. The document also discusses progressing technologies like service workers and progressive web apps that can make applications work offline and feel more like native apps while still being web-based. It concludes by arguing the web is not going away and is a great platform to build upon.
This document discusses challenges facing web developers and proposes ways to address them in a responsible manner. It notes that web principles of maintainability, accessibility, and flexibility are often challenged by a focus on visuals over content and a belief that things should look the same everywhere. It argues that developers internalize these challenges too much by releasing things too quickly without proper crafting. The document calls on developers to be more responsible for their work by always questioning authority and avoiding blind faith in new technologies or browser innovations. It stresses the importance of focusing on users over other priorities and addressing issues through love rather than punishment.
This document discusses using WordPress for non-profits. It provides examples of several non-profits that use WordPress including Earthen Vessels, Call and Response, Esplanade Association, Food Empowerment Project, and Generation Citizen. For each non-profit, it describes plugins or themes they use. It also lists some potential challenges of using WordPress like security, maintenance, cost of donation platforms, and email services. In conclusion, it thanks the audience and provides contact information for John Eckman of ISITE Design and CMS Myth.
“If Tetris has taught me anything, it’s that errors pile up and accomplishments disappear” is a common quote and it seems we’re living this to its full extend as web developers. We fail to celebrate the successes we have and the tools that are at our disposal but we’re never short of finding reasons why things don’t work. We also tend to pile on technology on technology to solve problems that may actually not exist and thus clog up the web. In this talk Chris Heilmann wants to remind us what we achieved and how we should celebrate it and how we should stop trying to solve problems that are simply beyond our control.
The document discusses using JavaScript like a buffet, where developers should be flexible and not try to do everything with JavaScript or force their preferences on others. It encourages sharing code openly but also being considerate of different environments and users. Developers are advised to focus on quality over quantity and consider progressive enhancement over delivering all functionality at once.
The all functional programming world, Docker, Clever Cloud, micro service architecture, logs append only DB… All of this rely on the immutability at some point: infrastructure immutability, data immutability, append only. This is the way we now build some of the best scalable applications and infrastructure. The talk is made to understand why Immutability rules the scalability and why it’s important.
I built this presentation for Prime ICT Meetup that happened in Kathmandu on June, 2016. Here, I talk about What JavaScript really is and about some new features introduced in ES6. The first part of the slides are taken/influenced from David Crockford's talk called "Really. JavaScript" : https://www.youtube.com/watch?v=lTWGoL1N-Kc
The document discusses the history and future of JavaScript and Node.js. It covers the promises and problems of JavaScript, how Node.js helped address some issues but created new ones like monoculture. It then discusses how ES6 and the ChakraCore engine can help modernize JavaScript and break the Node monoculture by providing an additional engine option. The author hopes for less drama, embracing change, simplicity, inclusiveness, and prioritizing users over developers.
The document summarizes key points from a presentation given by Chris Heilmann at SmashingConf NYC in June 2015. Some of the main ideas discussed include: - The web has become overly complex with too many frameworks, tools, libraries, and content being produced. - As developers, we tend to build for ourselves and our peers rather than for general users, focusing more on recognition than usability. - The assumptions we have about users' knowledge and engagement levels with technology often do not match reality. - Despite advances, the modern web experience can be cluttered, slow, and difficult for many users. - There are opportunities to simplify and improve the web by removing unnecessary code and technologies.
DevOps is an approach to streamline collaboration between development and operations teams. It focuses on automating processes, measuring outcomes, and facilitating communication across teams from the start of a project. Key aspects of DevOps include: breaking down silos between dev and ops; developing infrastructure as code; continuous integration, testing, and deployment; monitoring systems holistically; and encouraging collaboration, learning from failures, and rapid iteration. The overall goal is to continually improve delivery of value to end users.
- Progressive Web Apps use new technologies like Service Workers to allow web apps to work offline, have native-app like functionality, and be accessible through a URL rather than an app store. - While native apps once had advantages over mobile web apps, the capabilities of the web platform have advanced so that Progressive Web Apps can provide many of the same benefits as native apps without issues like slow distribution. - For web developers, it is important to build with a focus on error handling, performance, and usability in varied network conditions, taking advantage of the full capabilities of browsers while still providing functionality without JavaScript.
It is easy to think what we have as developers is what people use and that lead us to make the web bloated.
This document discusses programming and the web development process. It begins by defining programming as a set of instructions to solve a problem, using the example of instructions for making a peanut butter and jelly sandwich. It then discusses why learning programming is important. The rest of the document outlines the typical steps in the web development process, including user experience design, information architecture, visual design, and development. It provides examples of each step and timelines for hypothetical web projects.
If you're running a tech start-up, it's essential that you familiarize yourself with the fundamentals of web development. Ultimately knowing how to "talk to the talk" will help you communicate better with developers, and overall just look really cool. In this hour and a half long workshop, Chris Castiglione, experienced developer and founder of One Month Rails, will tackle some development principles and answer questions to get you on the right path, such as, "Front-end vs. Back-end?", "Is UX necessary for my project?", "What is this Javascript function thingy, and why am I passing it strange math equations to it?" He will also have you coding a bit yourself! Leading a development team (without being a developer yourself) can sometimes feels like talking about dancing, and so this is an interactive and friendly environment in which to learn the basics. Come with questions, and a desire to have fun! OneMonth.com OneMonthHtml.com OneMonthRails.com
The document discusses strategies for websites to survive and thrive in the current environment of online identity wars. It introduces concepts like the social web ecosystem and virtuous cycle from previous presentations. It notes the rapid shift towards an open social web driven by major players like Facebook, Google, and Microsoft competing to be preferred identity providers. The document outlines "do's" and "don'ts" for websites, advising them to implement open standards like Facebook Connect rather than proprietary APIs, focus on activity streams, build APIs around unique content, and closely monitor the evolving landscape.
Steve Pember gave a presentation on reactive oriented architecture with Grails and Groovy. He discussed some key points: 1. Monolithic applications will not scale well as they grow in complexity, which can negatively impact development and maintenance. 2. Service oriented architecture (SOA) and microservices can help break applications into independent components, but SOA implementations have issues like increased complexity from interconnected services. 3. Architecture choices are more important than any specific framework. Microservices aim to distill SOA principles by focusing each component on a single context to reduce complexity.
This document discusses 6 rules for responsive web design: 1. Responsive design doesn't end with squishy layouts - optimize based on user capabilities rather than just screen size. 2. There is no responsive pixie dust - streamline workflows and use rapid prototypes and style tiles to communicate fluid layouts. 3. Your workflow will change - iterate designs quickly through prototypes rather than big reveals. 4. Your tools will change - leverage preprocessors like SASS and frameworks like Foundation for responsive coding. 5. The web is responsive by default - prioritize content and build APIs to support multiple platforms. 6. Embrace unpredictability - acknowledge the constraints of different devices
The document summarizes key points from a talk given by Chris Heilmann at SmashingConf NYC in June 2015. Some of the main ideas discussed include: how developers have created an echo chamber focused on tools and recognition rather than users; how the web has become cluttered and broken despite new technologies; and how detecting users through user-agent sniffing and reliance on non-standard features has perpetuated problems. The talk calls for a renewed focus on users, standards compliance, and cleaning up old and unnecessary code to improve the web.
DevDay (http://devday.pl), 20th of September 2013, Kraków Video at http://www.youtube.com/watch?v=L4eTOvq2WmM&feature=c4-overview-vl&list=PLBMFXMTB7U74NdDghygvBaDcp67owVUUF
Content is king but not all content is created equal. Social media has added another medium for this content but creating and analyzing this content requires the right context and the right tools. This session will focus on the evolution of website redesigns, managing content via a CMS, the advent of Google Analytics for visitor tracking and now what are keys to helping you maximize your web content and social media strategies.
This document provides an introduction to hacking. It defines hacking as "altering a system to do what you want it to do using what is at your disposal" and as having fun innovating and making things do what they weren't designed for. It encourages attendees to build workarounds for things that annoy them using available data feeds, web services, and interfaces. Examples of hacking projects are provided, like enhancing slideshow transcripts to be more accessible and building a service to track Twitter followers. The document promotes hacking as a way to innovate and play that is open to anyone, not just those in technical jobs.
This document outlines tips for becoming a more efficient developer. It recommends optimizing code and processes to promote developer happiness, which leads to better work. Developers should modularize and split their code into independent services that communicate through event queues. They should also focus on shipping working apps quickly by releasing early and often through continuous integration and deployment.
Discussion of how tools technologists create impact culture, and how culture impacts those tools. Not really a standalone presentation but hopefully useful.
We can be brilliant developers, but we won’t succeed—and won’t lead our organizations to succeed—without a new perspective (if you will) and new assumptions about the components of the “technology ecosystem” that are fundamentally critical to our success. This includes the operators, QA team, DBAs, security folks, and even the pure business contingent—in most cases, each of these individuals and groups plays a critical role in the success of what we create and give birth to as developers. What we do in isolation might be genius, but if we insulate ourselves—especially with arrogance—from these colleagues, neither our code nor our organizations will realize their full potential, and most will fail. The bottom line is that our old ways are no longer viable, and as the elite within our industry, we will be the leaders and heroes who discard old assumptions and adopt a new perspective in this exciting journey to digital transformation—where the impossible can become reality.
How to go from a beginner to pro in WordPress in 5 easy steps...just kidding it's more than that but this is a good start!
Chris Heilmann gave a talk about breaking out of endless callback loops in JavaScript development. He discussed the history and evolution of JavaScript, including its growing capabilities and uses. However, he emphasized that progressive enhancement and capability testing are still important principles on the client side to avoid broken experiences. While tools like transpilation and polyfills can help bring future features to current browsers, overreliance on them has downsides. The best approach is to embrace JavaScript's use in different environments and balance innovation with backward compatibility.
As JavaScript developers we are hot property. This can be overwhelming and in this keynote Chris Heilmann gives some history lessons to show that we don't need to get frustrated, but pick our battles.
Brad Frost Web designer Style Guide Best Practices We’re tasked with creating experiences that look and function beautifully across a dizzying array of devices and environments. That’s a tall order in and of itself, but once you factor in other team members, clients, stakeholders, and organizational quirks, things start looking downright intimidating. With so many variables to consider, we need solid ground to stand on. Style guides are quickly proving to be foundational tools for tackling this increasingly-diverse web landscape while still maintaining your sanity. Style guides promote consistency, establish a shared vocabulary, make testing easier, and lay a future-friendly foundation. This session will detail best practices and considerations for creating and maintaining style guides, so you can set up your organization for success.
We are obsessed with coding and creating automated workflows and optimisations. And yet our final products aren't making it easy for people to use them. Somewhere, we lost empathy for our end users and other developers. Maybe it is time to change that. Here are some ideas.
This document discusses ways to improve how web developers learn best practices through browser and tooling improvements. It suggests that linting and inline insights directly in code editors could help prevent mistakes by flagging issues early. A tool called webhint is highlighted that provides one-stop checking and explanations of hints related to performance, accessibility, security and more. The document advocates for customizing hints based on a project's specific needs and environment. Overall, it argues for accelerated learning through context-sensitive, customizable best practices integrated into development workflows.
This document discusses privilege in the context of social media and the internet. It acknowledges privileges like internet access, the ability to communicate, and supportive online communities. It warns that machine learning and algorithms risk creating echo chambers and guided messaging if they are not kept in check by human curation. The document advocates taking back the web for decent, thinking and loving humans and using privileges to help others gain access to learning, communication, and communities.
JavaScript is a bigger world than a language these days. Time to take stock and find happiness in that world.
This document discusses artificial intelligence and how it can help humans. It covers that AI is not new, having originated in the 1950s, and is now more advanced due to increased computing power. It also discusses how AI utilizes pattern recognition and machine learning. The document then covers several applications of AI including computer vision, natural language processing, sentiment analysis, speech recognition/conversion and moderation. It notes both the benefits of AI in automating tasks and preventing errors, as well as the responsibilities of ensuring transparency and allowing people to opt-in to algorithms.