Mozilla

Articles by John Karahalis

Sort by:

View:

  1. Announcing the winners of the March 2013 Dev Derby!

    This past March, some of the most creative web developers out there showed us what they could do for the mobile Web in the March Dev Derby contest. After looking through the entries, our our three expert judges–Craig Cook, Franck Lecollinet, and Guillaume Lecollinet–decided on three winners and two runners-up.

    Not a contestant? There are other reasons to be excited. Most importantly, all of these demos are completely open-source, making them wonderful lessons in the exciting mobile experiences you can create today using only the skills you already have.

    Dev Derby

    The Results

    Winners

    Runners-up

    The March Derby saw some great entries, from games to productivity applications to wonderfully useful location-based services and more. Please join me in congratulating these winners and all of our contributors for making the wireless world a better and more exciting place.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to getUserMedia (May) and WebGL (June). Head over to the Dev Derby to get started.

  2. Announcing the winners of the February 2013 Dev Derby!

    Last month, some of the most creative web developers out there pushed the limits of touch events and multi-touch interaction in the February Dev Derby contest. After looking through the entries, our three expert judges–Franck Lecollinet, Guillaume Lecollinet, and (filling in for Craig Cook this month) yours truly–decided on three winners and two runners-up.

    Not a contestant? There are other reasons to be excited. Most importantly, all of these demos are completely open-source, making them wonderful lessons in the exciting things you can do with multi-touch today.

    Dev Derby

    The Results

    Winners

    Runners-up

    Naming just a few winners is always difficult, but the task was especially hard this time around. Just about every demo I came across impressed me more than the last, and I know our other judges faced a similar dilemma. Our winners managed to take a relatively familiar form of interaction and create experiences that were more creative, more fun, and more visually stunning than we would have ever predicted. Congratulations to them and to everyone else who amazed us last month.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to mobile web development in general (March), Web Workers (April), and getUserMedia (May). Head over to the Dev Derby to get started.

  3. Announcing the winners of the January 2013 Dev Derby!

    This past January, creative web developers from around the world showed us what they could do with drag and drop interaction in the January Dev Derby contest. After looking through the entries, our three new expert judges–Craig Cook, Franck Lecollinet, and Guillaume Lecollinet–decided on four winners and two runners-up.

    Dev Derby

    Not a contestant? There are other reasons to be excited. Most importantly, all of these demos are completely open-source, making them wonderful lessons in the exciting things you can do with drag and drop today.

    The Results

    Winners

    Runners-up

    These contestants were not satisfied just bringing this age-old interaction to the Web. They also made it fun, helpful, musical, and even a little amusing. Congratulations to them and to all of the amazing contestants who pushed the limit of drag and drop interaction.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to mobile web development in general (March), Web Workers (April), and by popular demand, getUserMedia (May). Head over to the Dev Derby to get started.

  4. Announcing the winners of the December 2012 Dev Derby!

    Last month, some of the most creative web developers out there showed us what they could do with Offline web technologies in the December Dev Derby contest. After looking through the entries, our three judges–Dave Rupert, Eric Shepherd and (filling in for Christian Heilmann this month) yours truly–decided on three winners and two runners-up.

    Not a contestant? There are other reasons to be excited. Most importantly, all of these demos are completely open-source, making them wonderful lessons in the exciting things you can do with the offline Web today.

    Dev Derby

    The Results

    Winners

    Runners-up

    This was a very exciting contest with some really exceptional results to show for it. Through their incredible work, these contestants have shown the world that we do not need to struggle with poor internet connections at conferences, desperately search for an open network just to work with others, or consume costly data just to play a web-enabled game.

    Thanks to these contestants and to everyone else who competed for making the Web a better place.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to Drag and Drop (January) and multi-touch (February) and mobile in general (March). Head over to the Dev Derby to get started.

    Further Reading

  5. Announcing the November Dev Derby winners!

    Last month, some of the most creative web developers out there showed us what they could do with the Fullscreen API in the November Dev Derby contest. After looking through the entries, our three expert judges–Christian Heilmann, Dave Rupert and Eric Shepherd–decided on three winners and two runners-up.

    Not a contestant? There are other reasons to be excited. Most importantly, all of these demos are completely open-source, making them wonderful lessons in the exciting things you can do with the Fullscreen API today.

    Dev Derby

    The Results

    Winners

    Runners-up

    This was a challenging contest to be sure. After all, what’s so great about taking over the entire screen? Our contestants provided some surprising answers. Fullscreen web applications mean immersive storytelling, engaging education, beautiful projection and more.

    Congratulations to these winners and to everyone who competed. The Web is a more exciting place thanks to their work.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to offline web technologies (December), and Drag and Drop (January) and multi-touch (February). Head over to the Dev Derby to get started.

    Further reading

  6. Announcing the October Dev Derby winners!

    Last month, some of the most creative web developers in the world showed us what they could do with CSS Media Queries in the October Dev Derby contest. After looking through the entries, our three new judges–Dave Rupert, Eric Shepherd and I–decided on three winners and two runners-up.

    Not a contestant? There are other reasons to be excited. Most importantly, all of these demos are completely open-source, making them wonderful lessons in the exciting things you can do with CSS Media Queries today.

    Dev Derby

    Winners

    Runners-up

    The quality of entries this time around was incredible–and the Web took notice. Word of these demos spread like wildfire even before the contest ended, reminding users and developers everywhere just how powerful the open Web has become.

    When it came time to choose winners, the practicality dimension proved to be a critical factor. While everything submitted to the October Derby was extremely original, our judges determined that these demos particularly excelled at pushing the web forward and deserved special praise as a result.

    Congratulations to these winners and to everyone who competed in the October Derby. The Web is a more exciting, more beautiful, and more compelling platform thanks to their hard work. I look forward to seeing what they create next.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to the the Full Screen API (November), offline web technologies (December), and Drag and Drop (January). Head over to the Dev Derby to get started.

    Further reading

  7. Interview: Vanco Stojkov, winner of the No JavaScript Challenge

    Vanco Stojkov won the highly contested No JavaScript Challenge with Honey Pursuit: Yet Another Love Saga, his wonderful bee-inspired open Web game. Amazingly, Honey Pursuit does not use a single line of JavaScript, but instead exploits the growing power of HTML and CSS to manage everything from keeping score to hit detection.

    I recently had the chance to conduct a short email interview with Vanco. In our correspondence, I learned more about his background, his experience building Honey Pursuit, and his thoughts on the future of web development.

    The interview

    How did you become interested in web development?

    I’ve been interested in computers and programming since high school, but it was in my final year of studies that I got interested in web programming. I’d been assigned a web project in one of the courses we’d had and became so excited with it that I decided to focus on web development entirely.

    Tell us about developing Honey Pursuit. Was anything especially exciting, challenging, or rewarding?

    First I had serious doubts about finishing the game in the manner I wanted to without using JavaScript. But it turned out that the web technologies, and CSS in particular, have already gone far ahead in making it possible to achieve much more than I could have thought of. The already available demos from the No JavaScript and previous Derbies were very helpful—there were so many stunning presentations and techniques from which one can learn a lot and that were truly inspirational during the development process.

    Managing the markup and the CSS code has been the greatest challenge, especially management of the CSS animations—the code turned out pretty long and the animations were all depending on each other, so their synchronization presented one of the greatest problems. Fortunately, PHP coding came pretty handy, and by using PHP control variables and loops for dynamic CSS code and HTML markup generation the development process became much more manageable and faster.

    Can you tell us a little about how Honey Pursuit works?

    There are three main user interactions that are required in order for the game to function properly—control of the game flow (start/pause/continue the game), control the hero bee (moving it around the screen), and collecting jars (sort of a collision detection):

    • Starting/pausing the game is made possible by the use of the “:checked” pseudo-class. There is a hidden checkbox and two visible labels (start/pause buttons, visible one at a time) associated with that checkbox which enable two states (on/off). Whenever the checkbox is unchecked the animation in charge of the main game flow halts—”animation-play-state” is set to “paused”, otherwise the “animation-play-state” is set to “running”. With the “~” combinator the two states are used for the appropriate elements’ CSS by using the “:checked ~ .class” selector.
    • The movement is enabled by the use of the “~” combinator and a grid of invisible divs covering the entire screen. So when these divs are “:hover”-ed the bee moves to the position associated with the appropriate div via the “#div_id:hover ~ #bee” selector. The bee also has a CSS transition applied to itself in order to move smoothly from one position to another.
    • Jars collection is also enabled by the use of the “:hover” pseudo-class—on “:hover” the jar is removed, and the paused animation on the jar counter moves a step ahead by changing the “animation-play-state” to “running”.

    Everything else is just a simple sequence of synchronized CSS animations: the intro animation ends at the last slide which shows a button that starts the game when clicked on; the “start” button triggers the hidden checkbox and, by that, the start of the main game animation; once the main game animation ends the outro animation begins which displays the outro slides sequence.

    A nice touch are the two repeating CSS animations applied to each of the bees that mimic the bee flight (smoothly going up and down) and wings flap, respectively. I also think that the look and feel of the bees has a great (visual) impact to the overall experience, for which I’d like to thank @kosturanov for all the help and guidance with the design.

    What makes the web an exciting platform for you?

    Openness, accessibility and platform-independence—these three are why I like the web. Openness in terms of not only being able to develop freely and without any limitation, but also of the ability to contribute to the community and standards, and make it an even better platform. And accessibility and platform-independence in terms of being able to access a web application from anywhere and virtually any device without any special requirements.

    What up-and-coming web technologies are you most excited about?

    I really look forward to using mobile devices functionality within HTML5 apps via JavaScript, things that so far have been available to native apps only: camera, contact lists, sensors etc. It’s something that will give great power to the mobile web apps.

    If you could change one thing about the web, what would it be?

    I love the web as it is, and the way it constantly evolves. But I think it would be great if web browsers implemented the standards faster and in a much more unified manner. During the past few years there has been a lot of frustration during development with the implementation of the new CSS3 features. But even when implemented they are supported with a CSS prefix for each specific browser.

    What advice would you give to aspiring web developers?

    As in any other profession web developers also face a few occupational hazards, most of them being related to sitting in front of a computer for too long :), but apart from that it’s an extremely fun and creative occupation. The continually evolving nature of the web requires developers to constantly improve and try out new things. So my advice is to never stop experimenting, and never stop learning—from the standards and from other developers as well. Oh, and learn how to use and reuse techniques from other developers, it saves tons of time and nerves—there are very good odds that what you need is already done by someone else.

    Is there anything else you would like to share?

    I would like to thank Mozilla for making available products and services that I’ve been using for years, and of course for organizing the Dev Derby challenges because these and similar events are really pushing the web ahead.

    Further reading

  8. Announcing the September Dev Derby winners!

    Last month, web developers young and old showed us what they could do with Geolocation in the September Dev Derby contest. After looking through the entries, our three expert judges–David Walsh, Joe Stagner and John Hammink–have decided on our top picks.

    Not a contestant? There are many other reasons to be excited. Most importantly, all of these demos are completely open-source, making them wonderful lessons in the exciting things you can do with Geolocation today.

    Dev Derby

    Winners

    Runners-up

    You may have noticed that Meet me there also ended in the top three last month. This marks a first for the Dev Derby. Because Patrick used both the Camera API and Geolocation in his demo, it was eligible for both contests. As if that weren’t interesting enough, this was one of the closest Derbies we have ever held, with GoGeoTweet and Around the World ending in a virtual photo finish.

    Deciding on just a few winners is always difficult, so let’s not forget about our other amazing contestants. Every one of these participants has pushed this important mobile technology forward in ways we never imagined, and deserves a great deal of praise for doing so. I look forward to seeing what they create next.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to the CSS Media Queries (October), the Full Screen API (November) and offline technologies (December). Head over to the Dev Derby to get started.

  9. Announcing the August Dev Derby winners!

    Last month, you pushed the envelope with the Camera API in the August Dev Derby competition. After looking through the entries, our three expert judges–David Walsh, Joe Stagner and (filling in for John Hammink this month) yours truly–have decided on our top five picks.

    Not a contestant? There are other reasons to be excited. Most importantly, all of the entries are completely open-source, making them wonderful lessons in all of the exciting things you can do with the Camera API today.

    Dev Derby

    Winners

    Runners-up

    Congratulations to all of our winners. And lets not forget about our other amazing contestants. This contest was similar to the June Dev Derby. The number of entries was relatively low, but the quality of each one was exceptionally high. I personally had more than a few “wow” moments, and not all of them were about the winners. Keep up the great work — the open web is better because of it.

    Want to get a head start on an upcoming Derby? We are now accepting demos related to the Geolocation API (September), CSS Media Queries (October) and the Full Screen API (November). Head over to the Dev Derby to get started.

    Further reading

  10. Interview: Paul Brunt, WebGL Dev Derby winner

    Paul Brunt won the WebGL Dev Derby with SnappyTree, his incredibly powerful (and even a little addicting) 3D tree designer. SnappyTree provides a wonderful example of what we can do with the Web today — it even has an export function for using your trees in native applications (move over Blender), not that we will need native 3D applications if progress like this continues.

    Recently, I had the opportunity to learn more about Paul and his work. In our interview, Paul shared thoughts on the past, present, and future of web development and gave advice relevant to developers of all levels of experience.

    The Interview

    How did you become interested in web development?

    I first became interested in web development in the late 90′s when I went on the internet for the first time. After a little bit of browsing around the web I thought I’d have a go at making a site myself. With the free space provided by the ISP and with a little assistance from Frontpage I managed to put together something you might tentatively call a website. Unfortunately that first site was short lived, the result of an accidental deletion. But, the seed had been planted so I built another, then another, then somewhere along the way I ended up doing it for a living.

    Tell us about developing SnappyTree. Was anything especially exciting, challenging, or rewarding?

    It had taken a few days of coding before I was in the position to start drawing anything to the screen. So, the most exciting part was seeing something that resembled a tree appear in the browser for the first time; although it wasn’t much to look at, and there were very obviously issues.

    Getting skinning working correctly was extremely challenging; there where many horrible branch twisted iterations while trying to get it right, but I’m pretty happy with the end result.

    Can you tell us a little about how SnappyTree works?

    Snappy Tree works by taking an initial branch (the trunk) which then splits into two new branches. The direction of these new branches is determined by several user configurable factors symmetry, droopyness, etc. This process is repeated N times to produce the basic tree structure.

    After the basic tree has been constructed a skin in generated around the branches before finally adding planes at the ends of the branches which are used for leaves and twigs. The final mesh data is then piped into Webgl for rendering and used to generate the collada or wavefront files for export.

    What makes the web an exciting platform for you?

    Increasingly it seems to be getting quicker and easier to develop for the web than any native platform, so I think the current rate of progress is the most exciting part. With so many new technologies emerging seeing how developers use them is always fun and often downright awe inspiring.

    What up-and-coming web technologies are you most excited about?

    I think the most exciting thing emerging right now is WebRTC. I’m really looking forward to seeing what uses developers can come up with. I can see a lot of potential outside of the obvious and it’s going the be a lot of fun discovering interesting uses for it.

    If you could change one thing about the web, what would it be?

    There are lots of little things I’d love to tweak in CSS and HTML; but, if it’s limited to just one thing I think I would change the “www.” convention. It’s difficult to pronounce, takes far too long to say and just sounds horrible.

    What advice would you give to aspiring web developers?

    Jump in the deep end and be ambitious. The best way to learn a new technology is to start a project around that technology. Even if you haven’t got a clue what you’re doing when you start you certainly will by the end.

    Further Reading