The Zoom! book got me thinking about Kwwika

I've just finished reading chapter 2 of Zoom! The faster way to make your business idea happen and to use one of Ian Sanders favourite words it really "resonated" with me and my experiences with Kwwika. Chapter 2 is entitled "The trouble with too much planning. How to unplan your business". I've been following Ian for probably around three years now and for around the last two he's been talking, tweeting, blogging and vlogging about unplanning your business.

Read more...

Q&A: Are WebSockets ready for commercial use?

I'm not answering this question directly in the post. I'd like people to ask questions and raise concerns in the comments and I'll then do my best to answer the questions and alleviate any concerns. I believe that WebSockets are ready for commercial use and I'll justify this stance in answering any questions. Look forward to hearing your questions and thoughts. View Q&A/Comments

Read more...

What came before WebSockets?

With the arrival of WebSockets we finally have a standardised technology for true realtime bi-directional communication between a server and a web browser (or any other client). When we were creating our What are WebSockets? page we decided to write u...

Read more...

JavaScript namespace utility

Over the past 10 or so years I've written a lot of JavaScript. From very early on, at Caplin Systems, I had to write things in a way which ensured that code was clear, usable, discoverable, reusable, extensible and can easily built upon. One of the concepts that was used was to put code within a namespace. This ensured that you couldn't accidentally override a function in the global window namespace and also meant that the namespace would describe the sort of functionality contained within. I've continued to use this concept in various forms but just realised that I've never actually shared how I do this. So here goes. It's actually really simple. I've got two functions that I use, and I've recently ported over to the com.pusher namespace since I'm creating demos for my work (and play). The first creates some default namespace objects and then defines a namespace function that can be used from then on to create any other namespace objects. /** * @namespace * Top-level namespace to stop namespace clutter. */ if(!window["com"]) { window["com"] = {}; }

Read more...

It makes me mad!

I value honesty, fairness and thoughtfulness above many other things. And I believe that the way I conduct myself reflects these values. I don't do this through any real thought process. It's driven by a physical feeling. It's difficult to explain, but I feel it in my chest. When I feel I've been treated unfairly I just have a sensation of unfairness, lack of care and thought. When I see others treated unfairly I have the same feeling. It annoys me, it makes me mad, and it adds to my drive to make sure that I am fair, honest and thoughtful. I want to treat others how I want to be treated.

Read more...

Adding a real-time "Who's shopping?" widget to an ASP.NET Web App

In our last ASP.NET post, The easiest way to add real-time functionality to an ASP.NET e-commerce application, I demonstrated how to add realtime stock level updates and notifications to an ASP.NET e-commerce application. In this post I'm going to show how to add a "Who's shopping?" widget to the same application. The purpose of this widget is to show other users that interest in the product they are viewing is high and that, in combination with the realtime stock levels, will encourage them to make a purchase before the product sells out.

Read more...

Recent article in .net magazine: WebSockets - Code a real-time survey

I joined Pusher around over a month ago now and it's been a non-stop whirlwind of activity. On my first day I was in Poland at Falsy Values for a JavaScript conference and at the same time I was putting together an article for .net magazine. The article is now in the August edition (issue 217) and it got a massive 5 page spread (must be all the pictures).

Read more...

Collecta Gets Dispensed: Was It Solving a Hard Enough Problem?

At the beginning of 2011 we reported that Collect had decided to drop it's API in order to change their offering to something more profitable. But now ReadWriteWeb have reported the disappointing demise of Collecta. This has the potential of being the first big failure of a well funded real-time web focused company, so questions need to be asked about why this happened and why Collecta weren't successful. Back in January of this year we asked "Is It Finally the End for Real-time Search Engines?" and it now looks like that very question is being raised again.

Read more...

Notes on Falsy Values

I spent the majority of last week in Warsaw at Falsy Values where I attended a Games Workshop and a conference day. It was also my first week working as a Developer Evangelist working for Pusher. A big and exciting week all round.

Read more...