Share this project

Done

Share this project

Done
LIFX is a WiFi enabled, multi-color, energy efficient LED light bulb that you control with your iPhone or Android.
9,236 backers pledged $1,314,542 to help bring this project to life.

Developers, Developers, Developers

Posted by Phil Bosua (Creator)

[Guest post by Guy] If you're a non-programmer then you may want to skip this update- keep your eyes out for some cool, third party apps in the future though!

One of the things we're looking forward to most about launching LIFX is seeing what interesting apps other developers cook up. Just about everyone in our office codes in some capacity, so we're pretty keen to get hacking ourselves.

I wanted to take some time to explain how we intend to empower developers interested in LIFX and what to expect in terms of technical capabilities.

We've had a very conscious (and instinctive) design goal to avoid undocumented/proprietary protocols, vendor licensing keys and other such shenanigans. Our focus is open standards, speed and extensibility.

In basic terms you'll have access to our two programmatic interfaces:

1. WAN
We refer to this little fella as "LIFX Cloud" and it acts as an always on, authenticated JSON API for your LIFX lights. Send a command to the cloud server and we'll relay it to your device(s) wherever they may be. This is perfect for easy integration with third party services such as IFTTT, etc. We'll be using it ourselves in official apps outside of the wifi network. Commands will be rate-limited to some sane value (tbd).

2. LAN
REST is great in the context of web documents but it isn't really designed for lean, efficient device comms. As such, we're using the Protocol Buffers standard (word up, Google) to send messages between devices on the network. This is many times faster/smaller then processing/sending the likes of xml, which is important when you're planning on light bulbs talking to each other over a mesh network. Naturally, you'll also be able to talk to LIFX at this lower level- it's a little trickier to code but the upside is blazing speed and low bandwidth. If you've never worked with Protocol Buffers before, you'll find it very well supported with a [tonne of libraries] [Link https://code.google.com/p/protobuf/wiki/ThirdPartyAddOns ] out there already. In a real world scenario expect the ability to issue a light approx 10 to 30 commands per second.

In the coming weeks we'll be publishing specific API documentation and some starter libraries (looking at Java, Objective-C and Ruby initially). You'll be free to develop (and publish) your work without restriction, licensing, etc and we'll do our best to assist where possible. We'll notify you when this is ready here via an update, and our twitter account. 

Can't wait to see what you get up to.

All the best,
Team LIFX

Comments

Only backers can post comments. Log In
    1. Dean Katsiris on

      Somewhat off topic (I apologize in advance) but from your experience, do you think there is any feasibility to a 9-V, battery-powered wifi LED light? I imagine that wifi alone would probably deplete the battery pretty quickly but it would be great to hear your thoughts on this...

    2. Steve Nicholson on

      Objective-C! Yay!

    3. Peter Hardy on

      @Phil, thanks for the reply. I just wasn't sure how usable the native protocol would be outside the LAN. If it's reasonably secure and the official apps can still work without talking to Cloud, then awesome. :-)

    4. Andy Piper
      Superbacker
      on

      What's the news on MQTT support?

    5. Phil Bosua 3-time creator on

      Thanks for the feedback all.

      @peter / @marcel / @henri: No immediate plans to release the cloud component, in part due to the custom tuning we're having to do on it. Really it's mostly just meant to be a substitute for those who'd struggle to setup a static ip, port forwarding, etc (plus maybe a few other bells and whistles).

      @spindisk / @henri: .NET is definitely on the radar but we wouldn't be too surprised if someone out there beats us to it by porting one of the other libs. hint, hint ;)

      @henri: github ftw

    6. Missing avatar

      Henri Cook on

      How will you deploy all these libraries, something public where we can collaborate like github?

    7. Missing avatar

      Henri Cook on

      No .NET?

      I'd also back Peter's call for the ability to home-run a server

    8. Sandro Manke on

      protobuf is a fantastic choice. loved it in my projects every time. there are alternatives depending on the emphasis but it still has the biggest platform support.

    9. SpinDisc on

      Hos about .NET? Any plans for that?
      I am going to include light changes into my soundscape tools that I use for ambience and effects when I host tabletop role playing games.

    10. Marcel Waelti Rettenmund on

      @Peter Great idea! Would love that possibility, too!

    11. Peter Hardy on

      Fantastic update, thanks. Looking forward to writing a tasker plugin to talk to my lights.

      Out of curiosity, are there any plans to release the LIFX Cloud server as open source? I for one would prefer to run my own server rather than rely on yet another external service.