Web Development: 2012 & Forward
The Web Dev Zone is brought to you in partnership with Mendix. Discover how IT departments looking for ways to keep up with demand for business apps has caused a new breed of developers to surface - the Rapid Application Developer.
As the year ended, every blog were churning out their best of posts, most of which were pretty fantastic. At Functionn however, we decided to do something different. We decided to invite some of the prominent writers from some very established blogs to talk to us and share their views of 2012 and beyond for web development.
So today, we will be joined by the following distinguished writers:
- Alex R. Young (@alex_young & @dailyjs) - Editor-in-Chief Of DailyJS and usevim.com, founder of Helicoid, Software Engineer based in London.
- Umut Muhaddisoglu – Editor Of WebResourcesDepot, Creator Of UptimeRobot and ioDeck
- Ray Cheung – Editor Of WebAppers and runs several other websites such as Photoshop Lady, Cutest Paw, Mobile Tuxedo and more.
We’ve asked them to answer a set of questions and provide us with their views on those matters. They have duly obliged and below, we’ve put together the answers below.
Q: Tell us a little bit about yourself. How has 2012 been to you? What have you been working on lately?
2012 has been a very productive year for me:
I also have some eBooks in the works that you'll see on DailyJS in 2013.
I work as a freelance Node, iOS, and Ruby consultant to pay the bills. In 2012 I worked for some interesting companies, large and small, mostly based in London England but a few from the US as well.
I'm a designer/developer from Istanbul who used to create web projects for customers but completely focused on my own projects since 6 years.
WebResourcesDepot is my main project, a website that shares the best resources for web designers/developers daily. I'm a fan of high-quality, ready-to-use resources, they save so much time and WebResourcesDepot is all about that.
Creating at least a new project each year was my target and that worked on 2012 as well. With a friend (Devrim Vardar), we have created ioDeck which currently a self-hosted PHP form generator application but will become more soon (like the ability to sending newsletters). We are working on it a lot.
I have probably spent most of my time on Uptime Robot this year. It is a totally free uptime monitoring service that runs since 3 years. It grew so much and to help it scale/perform better, I rewritten its engine with Node.js and about to activate it. Excited :).
To sum up, 2012 was quite busy and ended up teaching me quite nice stuff like co-partnering a project and Node.js.
Hello, I am Ray Cheung from Hong Kong.
I love working on my own projects; starting from an idea, designing from scratch with some inspiration along the way, coding, and then spreading it around the world gives me a great sense of accomplishment.
Currently I am managing self-started websites with over 3 million visitors per month.
I have been busy working on WebAppers. com since 2007. In 2012, I have been trying something completely new, which is CutestPaw. com and TwitrCovers. com. They target a whole new market and audience. And I am impressed the growth of the sites.
Q: Now that 2012 is over, what do you think were some of the most exciting developments in the world of web development this year?
On the content side I have been impressed by:
Responsive Web Design leads to web pages that adapt automatically to the width of the viewport.
They thus scale seamlessly from cell phones to desktop computers. Example: UX Munich Conference.
- Package management tools for the web: Twitter Bower, volo, Jam, Ender.
- Yeoman: a meta-build tool (that is built on several tools) has also been popular.
Lastly, much to my delight (even though I rarely use their products), Microsoft has become a good web citizen.
Summer 2012: Node 0.8. I developed some solid commercial projects with 0.4 and 0.6, but 0.8 felt like a major milestone as Node's hype started to fade and people began to take it more seriously.
For me, Node's streams API has been a constant source of fascination. I've been working hard to encourage people to learn it, but the best development in this area was substack's free book on the subject.
The API is changing to make it more reliable, and although that came to fruition in an unstable Node release in December, it will be a big deal for Node in 2013.
Although I find Node suitable for many network-oriented programs that have nothing to do with web development, streams and asynchronous I/O seems to fit a lot of web applications that I've been developing.
For example, media streaming and projects that make heavy use of WebSockets.
I'm so surprised to see HTML5-CSS3 becoming the standard this fast, that is really great.
This year was the victory of apps, frameworks and plugins. Many designer/developers completely shifted from custom code to ready-to-use ones.
Nobody plans to create their own CMS, write their own JS gallery or develop a support-ticket system but instead prefer to use the proven ones.
Everyone now focuses on the time and result but not the dragons caught while doing them (which is good).
Stripe is the most exciting project I have seen in 2012.
Stripe is a simple, developer-friendly way to accept payments online. I think it’s a great alternative to PayPal.
However, it’s only available to US and Canada now. I hope it will be available to other countries very soon too.
Q: Which single tool/library/framework/mindset shift would you recommend other developers to use/put to work?
See previous answer to previous question.
Prominent client-side developers have been pushing "micro frameworks" for a while, and 2012 saw many smaller client-side libraries submitted to DailyJS that had zero dependencies.
It seems like we're moving away from monolithic frameworks.
The thing about smaller libraries is managing them becomes difficult. One interesting development that addressed this was the Component project by TJ Holowaychuk, who is known in the Node community for creating Express.
I don't think Component has hit its stride yet -- in terms of community interest - so I hope to see it really take off in 2013.
It is Bootstrap for me.
Not only because I find it awesome but because it showed the necessity and demand for such front-end frameworks.
There is also Node.js (it existed before but I used it this year the first time). Friends still make fun of "me excitedly describing the performance it provided for Uptime Robot".
I really like jQuery Masonry (Pinterest Style) layout jQuery plugin.
It really changed the way people viewing the content of websites. It works really well when using it along with infinity scroll jQuery plugin.
Q: Which single tool/library/framework/mindset shift would you recommend other developers to use/put to work?
The following technologies have not (yet) gotten enough attention:
CSS Grid Layout allows HTML5 apps to catch up to native GUI frameworks (Android, Java SWT, etc.). It is currently only supported on Internet Explorer 10, but will soon come to Firefox.
The Shadow DOM allows one to encapsulate HTML5 widgets (video players, social buttons, etc.), which is important for the future of the platform.
qooxdoo is a framework for developing native-style HTML5 apps (for mobile, desktop, etc.) It’s solid work and well documented. A serious (and free) competitor to Ext JS.
I'd recommend two things for client-side developers:
Distribute smaller components, and write unit tests. Learn Jasmine or Mocha, both work well for browser-based testing.
Also, if you're a predominantly client-side developer, why not learn Node? It's an extremely convenient way to break into server-side development. Don't be afraid to try new things!
Bootstrap again. It is a such a huge time-saver.
We used it in ioDeck, customized when needed and loved the integrity of elements, components and the code it provided.
No Doubt, jQuery is the framework I would recommend for other developers to use.
It’s fast and concise. And best of all, there are tons of plugins available. It helps you speeding up your web development.
Thank you so much for all the jQuery plugin developers out there, those useful plugins really helps us a lot.
Q: What most excites, scares and disappoints you about the web today?
I love that you can do more and more things with HTML5.
On the flip side, browsers also become more and more bloated, because they have to support the ever-growing platform.
Some HTML5 APIs feel rough to me and would profit from having more solid foundations, e.g. promises.
Games excite me, because they're so dependent on mastery of technology. Combining WebSockets, WebGL/Canvas, good art and sound, with a solid understanding of gameplay and game design is ridiculously multi-disciplinary. Although HTML5 is a nebulous and misused term, it's given people something to shout about, and is attracting new talent to the web -- I saw Notch talking about WebGL and immediately wrote about it in my DailyJS notes.
Games also scare me. I love sitting down with a controller to play the latest high budget action adventure games, but motion control has chipped away at my button-pushing pastime. Meanwhile, free-to-play HTML5 social games have attracted media attention to the industry, with claims of the death of the high budget game and a social game future.
It seems like my lifelong hobby (gaming) is being threatened by my lifelong career (web development).
Games disappoint me. One of my favorite all time games is Frontier: Elite 2. It's a space trading game that could easily be implemented as a massively multiplayer game in WebGL with a nice little Node server.
Why do we live in a world of Zynga instead of that? I know Zynga had financial trouble this year, but I feel disappointed by the lack of 'serious' HTML5 games -- there are a few, but not enough.
As there are now too much of everything, users/readers are in search of better and better quality of everything (because it exists).
This is what excites and scares me the most. Exciting that I'll need to create better, scary that "what if I can't?" :).
The growing speed of the web excites me the most. The security of the web scares me the most though.
I think the security of the web does not catch up with the growth of the technology.
One thing that annoys me the most is the number of social media sites rise and fall every year. It really bothers me a lot, because every time a new popular social media site came up, we have to integrate into our websites and blogs.
I hope there is only one social media site to rule them all.
Q: One word to describe the web as it is today?
Promising. Or, if I have three words: full of potential.
ExcitiFreshyFlexiFun (is that a word?)
If I have to use one word to describe the web today, I would use “Unbelievable”.
You cannot believe how fast the web grew in the last two decades. You cannot believe how many websites, web applications developed every day.
You also cannot believe the web helped thousands and thousands of people everyday in every possible ways.
Q: How do you see the web change in 2013 and beyond?
Print. While print is in decline, HTML will still get better at it. It has the potential to eventually replace PDF as a target format.
I only wish HTML had technology similar to SyncTeX, where you can jump back and forth between the LaTeX source and the rendered PDF.
That’s almost WYSIWYG, but without its disadvantages. PDF is also ahead when it comes to delivery (a single file, we still don’t have a web archive format that all browsers support) and annotation (dead simple, e.g. via the standard OS X Preview app).
Cross-platform apps. On mobile, HTML5 is already doing quite well, thanks to PhoneGap. I’m still looking for a similarly elegant solution for desktop operating systems.
I would want such apps to be deployable on either a server or a desktop computer. Then figuring out how to split the app between the client side and the server side is challenging, especially as client-side APIs are still limited (but getting better), compared to, say, Node.js APIs.
Several projects in this area are promising:
- node-webkit: “Call all Node.js modules directly from DOM and enable a new way of writing applications with all Web technologies”
- AppJS: “SDK on top of Node.js to build desktop apps using HTML5/CSS/JS”.
- Packaged web apps: I also expect that we’ll eventually have the ability to make packaged web apps (based on Chrome, Firefox, etc.) look like native apps (a downloadable single file with an icon, running stand-alone, etc.).
It'll be supplanted by Gopher 2.0.
This will be the year where HTML5-CSS3 strengthening their places.
Thinking that we'll see some exciting standards-based (canvas or SVG) and developer-friendly (jQuery-like) animation libraries as there is a big gap there since the non-usage of Flash.
I think the speed of internet will only get faster and faster. There are more and more people will be using their mobiles browsing websites.
There will be more and more applications developed for people using them on the street, helping their daily lives. The web will only be faster, simpler and more powerful.
Q: What do you look forward to in 2013?
Two technologies, that I’m very excited about, are:
Firefox OS: an HTML5-based mobile operating system that is truly open source. It will be interesting to see how it competes with Android and iOS when it comes to ease of use and performance. Naturally, a dream come true for web developers and for those of us who are still sad about HP abandoning webOS devices.
My son's first words.
This will be the year where I won't be creating any new projects but improving the current ones.
Already been working on some and looking forward to the results.
"Internet of Things" is getting real each day. There are lots of projects on Kickstarter that aims to connect devices to our networks.
This may be the year where we start integrating APIs of devices like light bulbs, refrigerators or TVs to our web apps. Hopefully.
And also, I am currently redesigning PhotoshopLady. com, hope it gives users a fresh new look, and help users navigate the Photoshop tutorials easier.
I would also love to spend some time to build a web application that is useful to web developers and designers.
Q: If you had the superpower to change something in the world, what would you change?
We still don’t have a science for complex systems (human mind, human body, societies, economies, ecologies, the weather, software, etc.).
We probably need to invent a new kind of mathematics to enable it. If we had such a science, we could begin to solve many of the systemic problems that humanity currently has.
Something else has been bothering me for a while: most of the things that we produce are difficult or impossible to recycle. We need to find a way to produce things that are recyclable in the same manner that plants are.
Then we could have our technology cake and eat it too: frequently buying new gadgets wouldn’t harm the environment, any more.
I'd make the upcoming Star Wars movies good, so I can watch them with my son and not have to apologize for things like 'yipee!' and Jar Jar Binks.
Destroying all prejudices.
If I can have a superpower, I hope I can remember everything I read on the internet with a glance of eyes.
It’s because there way too much information on the internet nowadays, but we have so little time to absorb those knowledge.
Finally, we asked the interviewees to add a final optional question on their own and answer it themselves. The questions and answers are listed below.
Q: Native apps or HTML5?
Q: Any words to the community?
If you already don't have one, make sure you create a pet-project this year, improve it regularly, work hard to promote it and will be surprised to see how much it teaches and improves you.
Q: How can I know more about you or contact you?
If you would like to know more about me, you can visit my personal blog on http:/ / www. raycheung. me.
Please feel free to contact me if you have any questions. You can also follow me @webappers on Twitter.
That’s it for the interview. We full heartedly thank all the interviewees for their time and effort in participating in this little talk.
It would be great to hear your thought on 2012 from the web design and development perspective. Feel free to drop in comments to share your thoughts!