what? why? how?
Who am I?
Software Engineer @ Surevine
▼more down here if you want to read
More about me...
Originally wrote software in academia (FORTRAN 77/90/95 + MPI, IDL) - Atmospheric modelling and instrumentation
Started a business creating web-based applications in PHP
Worked for several startups
Now working for Surevine creating secure, social software
Interested in: Open source, real time applications, XMPP
pinitto.me is an open source, infinite, virtual corkboard style application
Free to use, but donations gratefully accepted
Here's a demo board...
Introduced to nodejs through the buddycloud project
XMPP and realtime is *really* exciting
Didn't really pay attention to nodejs but did some hacking in it
Attended realtime conference in Portland
Started to understand why nodejs is exciting stuff
Then one day...
Work in a distributed team
Using an alternative system for sizing & prioritising of tasks
We care about our data security
No open source alternatives
...I took a free couple of days and built a pinitto.me prototype
nodejs enables you to get s*#! done really quickly and easily
...better than that...
nodejs allows you to get realtime s*#! done really quickly and easily
Why is this cool/important?
The future of the web is realtime
The best way people aren't always going to be a short distance...
...what if they are on the other side of the world?
When people are able to talk and share ideas amazing things happen
Realtime will enable people to collaborate remotely like never before
Realtime is now in the hands of the people
New technologies bring new possibilities
...but here's the best bit...
There's a huge number of simple ways people can collaborate using this new tech
The ideas are there in everyday life,
you just have to build it!
Lets make amazing things happen....
Embrace the technology you are working with
Lean on as many other projects as possible
Don't do the things you aren't good at
You do agile, right?
"Perfect is the enemy of good"
Be aware of the future, but don't let it control you
Pinitto.me: where are we
- Just released 0.2.X
- Second person has joined the team
- Implemented grids - neat and tidy boards!
- Speed improvements (requirejs optimisation, gzip in proxy)
- Usage steadily growing without shouting about it
- We've got a recent marketing graduate joining us
- Used for planning meetings at Surevine and other companies
- Completed full ACL
- API for developers started
- Building up a list of features on github
- Build out documentation / tutorials / etc
- Real time chat + statistics
- Get involved!
▼more down here if you want to read
- Awesome PaaS setup
- Original version of pinitto.me used their setup
- Couldn't use it in the end...
- ....sticky websocket sessions
- Now running on small EC2 instance
- Using free mongolab database
- Using node jitsu open source projects to serve in production
There's not a huge amount out there about production nodejs, even less when it comes to production websockets + nodejs.
Realtime *is* the future
You as node developers have an amazing set of tools to use
Get out there and make the future!
Thanks to: nodejs, chrome v8, socket.io, jQuery, crypto, node-validator, twitter bootstrap, node jitsu, mongolab, npm, amazon EC2, express, connect, recaptcha, requirejs, ...others...
Excited by realtime &/or XMPP?
New meetup 13th March @ Mozilla London
@xmppuk for updates
Free beer and pizza!
Owen Barnes (SocketStream) - SocketStream
Paweł Ledwoń (Pusher) - when websockets aren't an option
Lloyd Watkin (Surevine) - XMPP using JSON over websockets
Jonny Heavey (Surevine) - Pinitto.me
Ash Ward (Surevine) - WebRTC
Looking for a new position?
Surevine are looking for talented developers:
- work flexibly from home
- work with a great team (I am biased)
- work on open source projects
- work on a range of exciting projects
- self-managed teams trusted to do what they do best
....or better still come and chat over a beer about how #awesome it is at Surevine!