Look at the apps on your homescreen. Why are they native? Why aren’t they just on the web? Its usually some combination of push messaging, background sync, offline & performance.
When native has something the web doesn’t, we should consider it a bug. Let’s have a look at the fixes, focusing on the ServiceWorker.
When I became a developer evangelist in early 2012, I was told that an important part of my job was to support my developer community. This open ended mandate was both scary and exciting and I threw myself into the role, eventually getting involved in organizing meetups, hackathons, conferences and even a coworking space in my adopted home of Seattle, WA. However, earlier this year I started to experience severe burnout related to these activities and as I spoke to other organizers I started to hear similar stories. The number of developers worldwide is growing at a breakneck pace and we need many more people to jump in and help support the new members of our community. This talk is about the joys of getting involved but also how the things that you love can sometimes hurt you. I’d like to share a few things I learned recently about prioritizing people over projects that make contributing both more scalable and also much more rewarding.
My talk will show that normal JS apps will soon rely on game programming techniques every day. You’ll be amazed at how many libraries you’re using are already based on basic game-loop architecture. Finally, you’ll leave ready to push your own apps forward with a little bit of gaming magic.
This is a talk about alternative ways to interact with smartphones and tablets.
Being equipped with an array of sensors (touch screen, GPS, camera, proximity sensor, gyroscopes, compass, microphone, accelerometer, and even a humitiy sensor), smartphones and tablets offer a whole new range of input options.
I’ll talk about how these new inputs can help improve and augment the current keyboard and swipe/pinch interaction paradigm. I’ll give examples of how the new interaction types can be implemented (some at a conceptual level, others more concrete). Demo-wise, I’ll also show you how a real-life search engine can be augmented for smartphone use.
Overall, my talk is about how to move away from a text input based paradigm and how to establish new ways of interaction better suited to the new devices on their own terms.
You’re finishing up the final bugs for your guaranteed AppStore hit, Asteroids: Totally Different This Time. Just before release, your crazy game designer partner has an epiphany: “What if… What if you were the asteroids, instead of the ship!? It will subvert the player’s every expectation since the dawn of gaming!”
Another programmer might despair: the glorious, deep and wide inheritance tree, ruined! The entire code architecture was founded on the player controlling just the ship!
But instead of despair, you remember that you focused more on the data and the systems that operate on that data, and are able to turn around the new version overnight.
Is this a dream? It might be. Let’s find out during this talk.
In two parts, I’ll share the story of how I transformed into a hirable web developer in just under one year while highlighting the ways people helped me to get to that point. I hope you’ll come away with ideas how you can make a difference in your own community. As Tal Ben-Shahar says, there is no more selfish act than a generous one, so this talk is really for your own good.
Scaling Node applications from prototyping stacks to production can be very difficult as there is a big lack of conventions and best practices that work across companies and even communities. In this talk Tim will be showcasing his favourite 4 modules of KrakenJS – a thin convention layer on top of Express – which helped PayPal pushing out Node apps. Learn some key findings that PayPal made when working on Node and how we structured the introduction of it into our existing infrastructure. Being more efficient, needing less people working on projects and being way more responsive than classical apps Node and Kraken have become PayPal’s favourite stack.
by Frederik B
The web as it appears today consists of apps, rather than hypertext.
Recent additions to HTML5 APIs and the web application landscape raises the stakes for browser security: The attacker may now easily shift their target to active browsing sessions rather than the underlying operating system.
This talk covers the browser security model as it currently stands in modern user agents. After discussing legacy as well as recently added features, it will also present some expected enhancements in the browser security landscape. Following this overview, common bypasses and shortcomings of these security mechanisms will be discussed.
What would the world look like when you can style UI with actual shader programs? The web could be 60fps on mobile, and we can start to imagine what lies beyond HTML and CSS
In this talk i will present OneJS, an open source JS superset with shader GLSL and reactive programming syntax. OneJS exposes the power of programmable GPUs to UI designers and programmers in a very accessible way.
Now the fixed functions encoded in CSS, Canvas or SVG are a thing of the past, and we can finally go beyond and explore.
by Ray McDermott
by William Lewis and Pavel Dovbush
Common web frameworks make the assumption you are going to build against a Restful API, but what if your use case doesn’t fit with the Restful principles. How might you go about systematically designing a protocol between client and server? In this talk we are going to discuss how you can design and build an RPC style protocol and service layer that is flexible and extenisble enough to serve multiple cross platform clients and servers, growing with application needs whilst letting developers focus on building features instead of maintaining API boilerplate.
by James Coglan
Unfortunately, many of those tools are regarded as impractical, academic concepts of no use to real-world software engineers. But as you’ll find out, they’re based on quite simple ideas and you’re already using a few of them – you just don’t know it yet. And the ones you’re not using might inspire you to look at programming differently.
By consciously paying attention to these techniques, we can make our programs easier to understand, test and change, and we can even use them to make our computers solve more of our problems for us.
by Raul Fraile
Data compression is an amazing topic. Even in today’s world, with fast networks and almost unlimited storage, data compression is still relevant, especially for mobile devices and countries with poor Internet connections.
For better or worse, GZIP compression is the de-facto lossless compression method for compressing text data in websites. It is not the fastest nor the better, but provides an excellent tradeoff between speed and compression ratio. The way Internet works makes it also difficult to use newer compression methods.
This talk examines how GZIP works internally, explaining the internals of the DEFLATE algorithm, which is a combination of LZ77 and Huffman coding. Different implementations will be compared, such as GNU GZIP, 7-ZIP and zopfli, focusing on why and how some of these implementations perform better than others.
Finally, we will try to go beyond GZIP, preprocessing our data to achieve better results. For example, transposing JSON.
by Tim Taubert
With the web slowly maturing as a platform the demand for cryptography in the browser has risen, especially in a post-Snowden era. Many of us have heard about the upcoming Web Cryptography API but at the time of writing there seem to be no good introductions available. We will take a look at the proposed W3C spec and its current state of implementation, talk about the good parts and the pitfalls to avoid. I will share my vision of a simpler and safer NaCl-inspired API, and hopefully leave you excited about experimenting further with cryptography in the browser.
The URL is universal in describing location within the web. Sadly linking within documents has been a start-stop process. The trusty Anchor tag is robust but very much a manual and time-intensive task. In publishing there is a huge level of complexity and over-head when you try to maintain unique anchor links when text is subject to change (developing stories, corrections, edits). As we see more single-page articles, especially long-form, this is a growing concern. Luckily there are number of flexible, fault-tolerant, dynamic solutions we can use and extend and have applications with annotation, commenting, sharing and highlighting.
Inside most of us there’s a befunge programmer who wants to come out. When doing day-to-day “serious” programming it is usually a good idea to keep them as firmly locked up as possible. Let’s ignore that instinct for a little while.
In this talk I’ll try to convince you why you should try writing a completely impractical interpreter of your own. I’ll also use terms like “lexer”, “tokenizer” and “parser” at their widest possible definitions.
Whole new worlds come into life when the creative coding and technical madness of the Demoscene meet the breadth of optimization techniques of the web platform.
Why go to such length? Because it’s damn rewarding to create these small pieces of art! Try.
It’s quite likely that at the end of this talk, everyone’s going to be too terrified to fly home. This talk contains phrases like “In two minutes and thirty-one seconds, everyone on this plane is going to die.”. In the course of this talk, the horrific deaths of hundreds of people will be discussed, and we’ll look at what killed them in detail.
On the plus side, air crashes are the most well-investigated complex systems failures, and the lessons learned from these can be reapplied to coping with failure when it happens in the complex systems we build.
Also, they’re a lot more interesting than website outages.
by brad bouse
Don’t tell your boss, but I want you to make a useless art project–because it’s actually pretty useful. Why? Committing to uselessness is a freeing experiment. As professionals, we tend to focus on the end result instead of the process, and that’s not healthy. Embrace the creative process (iteration and experimentation) on a project and see where the path takes you.
“Inspiration is for amateurs. The rest of us just show up and get to work” - Chuck Close
I am writing in English and you understand me perfectly well. We share a grammar and, thanks to the internet, an ever-growing vocabulary.
What happens when words like lodash and fibonacci had meaning without a single require, git clone or npm install? In turn, what if every program you write instantly has a word for it that everyone can use?
A local network of single-board computer running Node.js & providing an API to control different kind of devices: LED tower, LED displays & more. This network is dominated by one main computer & a web app running on Angular.js in the browser. Live Demo: Web App + Web Audio API + SoundCloud + Network of Devices = NERD DISCO!
Ever wanted to rebel against the sad immutability of the physics? Lets try to make functions fall upwards and inline all the apples.
The true freedom is just one heuristic away.
by Mathias Buus
There will be demos and MAD SCIENCE.
by Mark Knichel
13th–14th September 2014