Skip to main content

Open Source Bridge - The Story of Spaz: How to Give Away Everything, Make No Money, and Still Win

Edward Finkler http://getspaz.com @funkatron http://funkatron.com

  • non-technical talk--"why I do what I do"

    • learned how I define what success and happiness are



  • Spaz is a personal project -- about 3 years old

    • twitter client -- "your special twitter friend"

      • based on original logo people thought he was making fun of mentally retarded people

      • actually is a picture of clay aiken from early american idol





  • Early 2007

    • work started on Spaz

    • had done a couple of open source PHP libraries in the past

    • had only done open source for other developers, not for end users

    • started work in RealBasic on Mac

      • also the author of LameBrain, wrapper for LAME



    • started getting interested in twitter API

    • not many other Mac clients for twitter at the time

    • article written up in ars technica about it

    • pownce came along about the same time

      • came out with desktop client, written in apollo (now AIR)



    • RealBasic wasn't set up to make it easy to make it look non-standard or skin things

    • silverlight was also being released about this time, also Java FX

    • particularly interesting aspect of AIR was that you could make apps in HTML/CSS/JS in addition to Flash

      • looked at using Flex, but not a fan of monotheistic technology

      • Flex community is a lot like the MS development community--one official source of information, not a lot of community sharing going on

        • quite a contrast with something like PHP where everyone shares in a bunch of different ways



      • didn't like having to go through the official channels to try and figure things out

        • really hard to simply search for things on the internet and find examples with Flex





    • twitter was really flaky at this point--had to write the code very defensively

    • learned a ton by digging into this--crash course in javascript

    • driven because he was interested in it and enjoyed working on it

      • "I liked what it did, and I used it"





  • November 2007

    • Adobe had AIR Developer Derby in mid-2007

      • submitted Spaz on a whim

      • got a call in October 2007 from Adobe saying he won

        • got to go to Adobe MAX conference, lots of PR around it





    • Adobe didn't give a rat's ass that it was open source

      • they liked it because it was pretty

      • only got about 5 submissions on the HTML side of things



    • was at the AIR booth--people asking tons of questions that frankly Adobe should have been answering

      • turned into evangelist of sorts



    • cool that Spaz got known in the wider world



  • 2008-2009

    • started to get emails criticizing the name--"why do you hate the disabled?"

      • happened quite a bit



    • tons of twitter clients released in 2008

      • lots of them written in AIR

      • a few clients were a lot better with marketing themselves -- biggest example is TweetDeck

        • people spending full-time on it, went after venture capital, etc.

        • cool if you want a twitter client that fills your whole screen, but wasn't what he wanted to do





    • seeing success of tweetdeck was hard


    • the thing I like about open source is creating something and getting ideas from people, hearing about how they're using the product, etc.

    • lots of end users were saying stupid things like "Spaz sucks"

      • big disconnect--creating products for end users is pretty different from creating developer libraries

      • people were dismissive and mean -- made it not fun

      • eventually learned to respond with humor to baseless criticisms

        • helped to not get as upset about things





    • started seeing companies that were hanging off twitter and providing services that twitter doesn't provide

      • twitter has started to stomp out all the ancillary business around twitter



    • started getting offers from companies around spaz

      • people offering money to add specific services to spaz, e.g. twitpic



    • wanted to continue to provide an open source, transparent twitter client

      • in one case took money as a donation to offset overall development time into spaz

      • wasn't interesting in doing this in general



    • this underlined a specific way that he wasn't willing or able to compete with other clients that were out there

      • would sacrifice transparency around the project

      • realized how screwed up and evil tech journalism is--fundamentally wrong

        • actively manipulate how people perceive things, don't give coverage to things that don't play their game





    • started to realize he couldn't compete with other clients because of all the extraneous junk that goes on



  • palm webos -- jan 2009 - june 2009

    • got call to see if he was interested in working on apps for the new webos

    • palm wasn't really known as an open source company

    • said up front he wanted to keep the app open source--palm didn't object

    • web development as a rule is pretty open, but palm didn't really have this understanding in their DNA

    • had to sign really strict NDA

    • palm was rushing things out, documentation was terrible

    • went to a developer event at palm--could talk about things, but couldn't share the code he had written--against the NDA

    • this six months sucked because couldn't make something and share it with other people

    • palm didn't tell him another company was also working on a twitter app for webos

      • found out from someone else--no information sharing going on

      • bunch of secret stuff--wasn't fun



    • didn't get a development device--emulator ran 3X faster than the actual phone

      • didn't write specifically to their proprietary platform so it ran slow

      • another twitter app that did write to the proprietary bits ran faster



    • got email from palm asking not to release source code

      • had told them first thing he was going to open source it

      • lot of wtf moments

      • decided he would never work for another company like this under an NDA

      • palm didn't get the sharing culture--they get it much better now



    • two guys from ajaxian got hired to better interface with the development community

      • immediate changes for the better--hope HP doesn't screw it up



    • reminded me of lessons i should have learned the first time around

    • friend recommended book -- "ignore everybody and 39 other keys to creativity"

      • the thing that you really like doing, if you rely on it for income, it'll become less enjoyable and it will change how you interact

      • when spaz became something that was being defined by standard definitions of success, the process became less enjoyable

      • had to redefine what success was





  • july 2009

    • spaz statement of purpose

      • can keep going back to this and referencing it to remind himself of why he's doing what he's doing



    • spaz was built for the sake of building it. it is not a means to an end. however, creating it has had several good consequences.

      • point of it was to build something and build something good



    • spaz demonstrates that making things is good, and sharing how you make them is better.

      • creative endeavor in and of itself is good

      • sharing is what makes me happy



    • spaz is a necessary counter to closed, hidden technologies. spaz must always be open.

      • source code must always be open and have to be transparent about the intentions of the project

      • important that we have options, even if they aren't the most popular or defeat other projects



    • the value of spaz does not lie in the judgments of others, but in the process of building it, and the enjoyment derived by those who use it.

    • we welcome anyone who wishes to participate in the spaz project with open arms, as long as they understand and respect the purposes of the project.

    • the spaz project values clear and open communication between participants.

    • having the statement of purpose helped keep things going when it was frustrating



  • 2nd half of 2009

    • not a lot happened

    • worked on getting webos version better

    • started on spazcore to share common things between all the different platforms

    • discovered didn't have time to try to keep multiple versions going

    • started working on community building



  • diversity statement

    • women are under-represented -- 10-15% in IT as a whole, open source it's more like 2-3%

    • worked with a group called phpwomen

    • largely lifted from python's diversity statement



  • rest of 2010 -- cultivating a community

    • initially was using google code for everything

    • have found that github works better

      • a lot of people use git (particularly js people), more social aspects oriented around git (easier to fork, etc.)

      • potentially attracts more people




    • tenderapp.com and lighthouseapp.com

      • tender oriented towards end-user support -- offer free accounts for open source projects

      • lighthouse more oriented towards developer issue tracking, setting milestones, etc. -- also have free accounts for open source projects



    • if you only have roadmap, etc. in your head it's very hard to get people to help you

      • need to break things down into issues of various size

      • schedule people's time for them in the sense that you give them bite-sized tasks



    • hackathon

      • great way to get more people involved

      • helps to have a schedule

      • done online with irc



    • have someone who's more or less dedicated to doing community related tasks



Comments

commadelimited said…
Matt...it's Ed Finkler, not Spinkler. Just FYI.
Matthew Woodward said…
Thanks Andy--I'll correct that. Was reading the name off the OSB site and must have mistyped it.

Popular posts from this blog

Installing and Configuring NextPVR as a Replacement for Windows Media Center

If you follow me on Google+ you'll know I had a recent rant about Windows Media Center, which after running fine for about a year suddenly decided as of January 29 it was done downloading the program guide and by extension was therefore done recording any TV shows.

I'll spare you more ranting and simply say that none of the suggestions I got (which I appreciate!) worked, and rather than spending more time figuring out why, I decided to try something different.

NextPVR is an awesome free (as in beer, not as in freedom unfortunately ...) PVR application for Windows that with a little bit of tweaking handily replaced Windows Media Center. It can even download guide data, which is apparently something WMC no longer feels like doing.

Background I wound up going down this road in a rather circuitous way. My initial goal for the weekend project was to get Raspbmc running on one of my Raspberry Pis. The latest version of XBMC has PVR functionality so I was anxious to try that out as a …

Running a Django Application on Windows Server 2012 with IIS

This is a first for me since under normal circumstances we run all our Django applications on Linux with Nginx, but we're in the process of developing an application for another department and due to the requirements around this project, we'll be handing the code off to them to deploy. They don't have any experience with Linux or web servers other than IIS, so I recently took up the challenge of figuring out how to run Django applications on Windows Server 2012 with IIS.

Based on the dated or complete lack of information around this I'm assuming it's not something that's very common in the wild, so I thought I'd share what I came up with in case others need to do this.


This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

Assumptions and CaveatsThe operating system is Windows Server 2012 R2, 64-bit. If another variant of the operating system is being used, these instructions may not work properly.All of the soft…

Setting Up Django On a Raspberry Pi

This past weekend I finally got a chance to set up one of my two Raspberry Pis to use as a Django server so I thought I'd share the steps I went through both to save someone else attempting to do this some time as well as get any feedback in case there are different/better ways to do any of this.

I'm running this from my house (URL forthcoming once I get the real Django app finalized and put on the Raspberry Pi) using dyndns.org. I don't cover that aspect of things in this post but I'm happy to write that up as well if people are interested.

General Comments and Assumptions

Using latest Raspbian “wheezy” distro as of 1/19/2013 (http://www.raspberrypi.org/downloads)We’lll be using Nginx (http://nginx.org) as the web server/proxy and Gunicorn (http://gunicorn.org) as the WSGI serverI used http://www.apreche.net/complete-single-server-django-stack-tutorial/ heavily as I was creating this, so many thanks to the author of that tutorial. If you’re looking for more details on …