New Bamboo Web Development

Bamboo blog. Our thoughts on web technology.


Degradable JavaScript Applications Using HTML5 pushState

over 2 years ago by Oliver

What is the problem?

Using the location hash to keep track of current page state and enable back button navigation is more and more common with large, full featured, client side JavaScript apps. Whilst the behaviour this gives is definitely an improvement to the user experience, implementing this with the location hash has some shortcomings.

Thankfully, as with everything else on the web, HTML5 is here to solve all your problems, with two methods and an event, pushState, replaceState & onpopstate.

Read more...

Learning Japanese the Rubyist way

over 2 years ago by Makoto Inoue

  • Introduction
  • Step 1: How to read Japanese characters
  • Step 2: Japanese and OO
  • Step 3: Japanese and functional
  • Step 4: Writing Japanese programming language in Ruby
  • Summary
  • Ruby Advent Calendar

Introduction

Have you ever thought about learning Japanese, but it looks too difficult to learn?
Surprisingly, Japanese and Ruby share some common features and concepts. This is a shortcut version of my presentation called "Japanese and Ruby" which I presented at LRUG.

Read more...

Ruby divide at RubyKaigi 2010 and what can you do as a Rubyist? (Part 2)

over 2 years ago by Makoto Inoue

From Matz On Pusher

Contents

  • At previous post
  • "RubyKaigi must end (for now)"
  • So, what can we do?
  • Summary

At previous post.

At previous post, I went through the following Ruby divides I noticed during RubyKaigi 2010.

  • Japanese / English = Ruby core ML and many variable documentations are written in Japanese and non Japanese developers are hard to access such information.
  • Committers / Users = There seems divides between C dvelopers (C Ruby committers ), Java developers (JRuby community), and the rest (Ruby users).
  • Before / After Rails = Japanese Ruby scene is very unique from the rest of the world(aka Galapagos). Some part are very advanced, but others are missing important aspect of Rails culture (eg: github, rubygems).
  • Hobby / Enterprise = The ratio of Japanese Rubyists who uses Ruby at day job seems low.

Read more...

Ruby divide at RubyKaigi 2010 and what can you do as a Rubyist? (Part 1)

over 2 years ago by Makoto Inoue

Ruby divide at RubyKaigi 2010 and what can you do as a Rubyist? (Part 1)

RubyKaigi 2010 Staff

Introduction

It is almost 2 weeks since RubyKaigi finished. For full details of the conference, check out Jake Scruggs' near real time report.

Ruby Kaigi was one of the most memorable conferences I have ever attended. There were countless efforts by volunteer staff to make the conference as enjoyable as possible. I met lots of interesting people and enjoyed every conversation in the conference hall, hallways, and Izakaya . All the topics discussed there were very thought provoking.

Read more...

Adding awesome mini views to your web apps

almost 3 years ago by Max Williams

In a couple of our internal apps, we use a UI design paradigm that we affectionately call an "awesome bar". I really like these, and I think they make many types of applications much more useful and intuitive. While they have generally been hard to create in web apps, the introduction of canvas and inline SVG has made them a synch to put together. I see a lot of great examples of canvas and SVG that are absolutely mind-bending to look at, but very few examples which enhance the traditional applications and websites we use on a day-to-day basis. I won't claim to have invented these, but I was reminded of how cool they are recently when I read this post: [http://blog.asmartbear.com/creativity-over-optimization.html](http://blog.asmartbear.com/creativity-over-optimization.html). I will give a brief explanation of what these are with some examples, why I think they rock, and some sample code. ## What are awesome bars? To give a quick introduction of what these are I have made a screencast of the awesome bar from our nifty scheduling application called Mandays. You will see that the horizontal bar at the bottom is a miniature representation of the grid at the top, and when you draw in it, the awesome bar at the bottom updates itself. You can then use the awesome bar to navigate your timeline.

Read more...

HTML5-powered Ajax file uploads

almost 3 years ago by pablo

10/January/2012
This information is out of date. See the followup article on FormData.
21/October/2010
Added the Firefox! section

Introduction

File uploads have traditionally had very bad usability on the web. The standard solution was uploading files as part of a form, leaving the user to just wait until the process was done. We could offer barely any feedback of what was going on.

Several options appeared to make the process more bearable for the user. Some alternatives were client-based, such as using some Flash-powered element like SWFUpload. Other alternatives laid more on the side of the server, like leveraging Nginx's mod_uploadprogress with a pinch of Ajax. However, there was still the question of why there was no solution that avoided proprietary technology, required minimal hassle OR was free of far-fetched hacks.

Read more...

Custom event emitters in Javascript

almost 3 years ago by Ismael

Websockets-based activity dashboard app. Read on to know more about the ideas behind it

In this post I'll attempt to summarise some patterns for designing event-based Javascript applications extracted from our projects and previous blog posts on the subject. I'll end with an overview of the techniques described and how they play together in a real-world application. This post is a follow-up from a presentation at the London Javascript User Group.

Read more...

Living on the edge of the WebSocket protocol

almost 3 years ago by Makoto Inoue

  • Introduction
  • Getting Info
  • So What’s Changed?
  • What about version incompatibility?
  • Summary

Introduction

Hello. It's been a while since I last blogged about WebSocket. It's been exciting that many new frameworks and services are out including our own Pusher.

Having said that, we have to be aware that the protocol is still actively being changed.

Just a few weeks ago, there was an important announcement at Chromium blog.

Read more...

Client Patterns: Going Beyond the Stealthholder

almost 3 years ago by Gwyn

Patterns aren't just for software design. We can find generally reusable solutions to common problems in handling clients.

Taking simple actions early can avoid serious problems with the client relationship later on. After seeing this work a couple of times, I ran a workshop at XP2010 where we developed detection heuristics and early interventions for several classes of difficult* clients.

Read more...

Integrating Pusher Into a Complex App in One Day

about 3 years ago by Oliver

Not to blow our own trumpet, but there is currently a lot of buzz around our realtime web service called Pusher. However, since we originally made this app for our own use, I thought I'd show how it fits into a real app. I recently set out to integrate Pusher with TrueStory, our backlog management app. Not being part of the Pusher team, I was pleasantly surprised at not only how simple it was, but also how quickly I could add advanced real time behaviour to an existing app.

Read more...

See all posts