Thoughts by Brennan Novak on Aug. 10, 2012
*Disclaimer: I've followed Dalton Caldwell since seeing him speak at Startup School 2010, he seems like a solid guy and I tend to agree with his thinking! As soon as Dalton posted his audacious proposal I was excited. I vocalized this excitement as well as backing the project at the $100 level. It's surprised me- the lack of interest / arguments against Dalton's App.net project. The fervor and debates waged on various blogs is interesting and, if anything, is an indicator.
A Brewing Distaste
Obviously, there is a dissatisfaction with monolithic-for-profit-data-silo social networks like Facebook and Twitter, just think about Diaspora, Status.net, the Federated Social Web, Indie Web Camp, and of course this project Social-Igniter (which i've been working on for 2+ years). What is considerably surprising to me is just how diverse everyones opinions about how they believe an alternative social web should be constructed- perhaps this is why there are no clear projects that have gained a critical mass (like what Wordpress is to blogging).
Distributed Social Web Is In Stasis
After years the distributed social web lingers in a weird state of many different people toiling on many different projects- each project rooted in someones idealized tool that meets their most idiosyncratic perfect case scenario:
"I want my personal website (micro blogging solution) to federate my posts to all of my friends sites via an rsynced folder using a flat file datastore and jekyll templates which allow me to write my updates in notational velocity" ~Programmer / Blogger
"Why not just build it on top of email? Everyone uses email... email is great for sending any data between people" ~Lazy Old School Programmer
"We should use CouchDB's replication feature to federate the data, and when MobileCouch is created it will even use mobile devices as independent nodes on the network" ~Hipster Hacker
The problem with any of these solutions is that they are all very difficult to implement for average people; things which are difficult to implement usually fail to garner widespread adoption. Now, consider, what is the first thing needed for a social network to be a successful? A large amount of users.Those two forces are diametrically opposed.
Why I'm Excited About App.net
My excitement for App.net is still largely a mystery to many of my open source friends. However, the other night while debating with Aaron PK, I finally figured out the clearest reason why I donated $100 immediately (I would have contributed $1,000 if I had been able). I'm not thinking of App.net as a Paid Twitter, yet with what Dalton is currently promising that is what we will get. I see App.net an easy to use distribution platform similar to PubSubHubBub that is masquerading as a social network. This will do two things for the Distributed Social Web:
- Provides an easy to signup & use social network service that functions very similar to what people are already familiar with (Twitter)
- Provides a solid API platform that is less likely to be yanked out under our feet when the VCs get antsy and want to see a profit or acquisition
- Developers are less likely to be stonewalled by new arbitrary TOS that jeopardize their products existence
With those factors in place, all of us perfectionist distributed social web enthusiasts, can write one simple wrapper to integrate with the App.net API and then my friends with different indie web solutions can make their apps subscribe / archive data from App.net- that solves a whole boatload of syndication / federation issues!
Will App.net last into the next decade and provide the backbone of the federated web? I don't know. No one knows what will do that. Services come and go. New technologies emerge. Will App.net right off the bat do more than Diaspora did? Yes. They already have a working product, as well as years of experience building solid web companies that perform at scale.
Why my points are invisible to my open source friends is beyond me- perhaps I'm blind with naiveté or idealism or both- but compared to an utterly bleak belief that all things (even if they are good at the start) eventually turn bad, as proclaimed by MG Siegler, that is a world view I will never accept. Because, by that logic there is nothing good in the world. Why am I not jaded about the outcome of Diaspora (as Siegler points out)? Because I never donated it to, because they were 4 inexperienced kids who had not created any open source projects at the time. I used common sense and didn't get caught up in the media hype. In the scope of web services that people will pay $50 or $100 to freely consider social web Vimeo or Flickr for a second, consider for second the quality of experience on those networks.
Additionally, to say a company like App.net cannot and will not work, it is pessimistic and short sighted. Platform as a Service companies like this do already exist, only they meet these demands of different protocols and platforms- consider email services like Mailgun , Postmark , and Sendgrid. Note, none of those services even provide an easy to use webmail client like Google Business Apps- which App.net is closer to doing. However, the one thing all these companies do is provide a simple service which allows people to reliably send secure emails across the internet while making many many programmers lives easier. Twilio and Tropo do the same with SMS and VOIP Calls.
The more I come to understand how the worlds of PR, politics, and sales work- what catches on the majority of the time are things that are packaged, sold, and/or described in ways that speak to a large enough audience to gain the needed critical mass. Perhaps that's biggest flaw with how App.net was presented thus far. Perhaps if Dalton had promised one or more of the following...
- The primary codebase will be open source
- A light weight client will be open source
- The infrastructure will follow at least one federated standard (oStatus, Webfinger, Salmon, Activity Streams)
- App.net will federate / push / syndicate data to Diaspora, Status.net, etc...
- Each paid user of App.net can sponsor friends (5, 10, 25, 50, etc...) to use the service for free
- If you donate Dalton will personally hand deliver to your doorstep 1 flying unicorn ninja who has been raised on grass fed organic bacon
...many of the people passionate about the Distributed Social Web or IndieWeb would have donated by now or at least be excited about App.net instead of only talking about "why it will fail."
I hope App.net reaches its goal and that the world gives it a chance. I really do.
Within an hour of me posting this, Dalton Caldwell responded on his blog "A response to Brennan Novak." I couldn't be happier with the things he is now publicly declaring will be in the future of App.net. Please consider donating to App.net is getting much closer to reaching it's goal - https://join.app.net
Features by Brennan Novak on Jul. 17, 2012
Redesigned "Apps" Navigation
The "Apps" section of the site has always been a bit kludgy- it used to live inside the Settings controller, it tried to do everything in one view, and the Information Architecture was a bit lacking- especially with the new Create Apps tool- thus, a refactoring was in order. There are now separate views for Active Apps and Inactive Apps.
Updated App Creator Tool
Last week I created a nifty tool to help with the creation of Social-Igniter Apps, however midway through the week when I started hacking on my Fitbit & Withings apps I realized, there was still a lot of code I was copying from other apps- thus I realized I needed to expanded upon the functionality of the Easy App Creator Tool, thus is the practice of software development- idea ->create -> use -> refactor -> repeat!
Do checkout the new App Creator tool and do give me feedback! :)
Features by Brennan Novak on Jul. 8, 2012
I've hacked a bit over the weekend and have created something that I should have created a ridiculously long time ago- an easy app generating tool for Social-Igniter. The more experienced I am getting as an engineer, the more I am learning the value in having an overall strategy to my engineering- meaning, if I can spend 4 hours making something that eliminates an easy to do 15 minute process than I've done 28 times (7 hours) I would have ultimately saved myself 3 hours of dev time- and, most importantly, I've made something valuable for others to use- which is one of the whole points I like open source software.
How And Why is This Valuable?
Previously all the SI Apps I've made thus far I've had to manually clone the App-Template, once the template was cloned I'd manually change all the array values, filenames, and class names. I was pretty familiar with this process but it still took about 10 - 15 minutes to lay the foundation for a new app before I could start actually writing app specific code- now that process takes about 10 - 15 seconds using the App Creator Tool that is available with the most recent pull or SI core.
How To Use The "Create App" Tool
- Git Clone the App Template located here into your /application/modules/ folder
- Login to your install of Social-Igniter
- Navigate to http://your-website.com/settings/get_apps
- Scroll down to the bottom of the page
- Fill in the proper values
Be sure you make the App URL have dashes between words and the App Class value have underscores instead of dashes. I'd like to make this fool proof in the future but for now- done is better than perfect
What Is A Social-Igniter App? What Should I Build?
Here are some examples of apps which no one (we are aware) of has started building just yet
- WordPress & BuddyPress
- RSS Feed Reader
- Disqus (comment integration)
- Client Time Tracking
- Client Invoicing
- Project Management Tool (BaseCamp clone)
- Status.net (OStatus integration)
- Diaspora (Federated Social Web integration)
Or, you can always help us develop further upon one of our existing apps, some are in various stages of disarray (Cart, Foursquare, Media), others are functioning decently (Facebook, Twitter, Mailchimp).
Have a good day =)
News by Brennan Novak on Jul. 2, 2012
June 30th/July 1st saw the second IndieWebCamp (http://indiewebcamp.com/Main_Page) take place, and SocialIgniter worked on.
Brennan Novak (http://brennannovak.com) created an easy installer -- SI is now a much easier to set up! Check out the source: https://github.com/socialigniter/socialigniter
Barnaby Walters (http://waterpigs.co.uk) cleaned, refined and added to the documentation on GitHub: https://github.com/socialigniter/socialigniter/wiki
News by Brennan Novak on Jul. 2, 2011
Last weekend on June 25th - 26th was the first annual Indie Web Camp, it was held in Portland Oregon. It was great to experience to be a part of a gathering of people passionate about building the "Indie Web." What is the Indie Web you may be asking? In short their mission is:
p>Rather than posting content on many third-party silos of data, we should all begin owning the data we're creating. Publish short status updates on your own domain, and syndicate to Twitter. Publish photos on your own domain, syndicate to Flickr, etc, etc.
It has been relatively quiet on the Social-Igniter front the last couple months. Work has been getting done. Progress has been getting made. Social-Igniter was used to power a recent consulting project for Nike called Rafa Chant. The project was challenging and fun to build and allowed for a bit of improvement upon a couple SI apps, namely:
Also, in order to have a working demo for Indie Web Camp I finally got the social status posting working for the Twitter and Facebook apps. So, now from your home screen where you see the two checkboxes for the respective networks and you post a status message it will syndicate to which of the two networks you have checked.
The first day of Indie Web Camp was predominantly talks about what things people were working on, their methods of implementation, and other ideas re: the Indie Web. The second day was more focused on hacking and building- this proved to be a wonderful opportunity to work on some SI stuff. Aaron PK and I created the basis of the Flickr App for which there seemed to be much demand. Currently, the Flickr App will archive your photos (on your private server), make them show up in your home feed, and allow other users to comment on them.
Get the code for the Flickr App
This was particularly rad hack session, as Aaron PK was involved with the very first iteration of Social-Igniter over a year ago, so teaming up again with him was pretty neat!
News by Brennan Novak on Apr. 18, 2011
Apologies for being a few days late with this blog post. Fear not dear fans and followers, as i've been putting in a ton of work in the last 1.5 weeks and this blog post offers a glimpse of what some of those exciting things are.
What is a widget? In the land of Social Igniter, widgets are regions of a layout which constitutes a how viewing a single page looks. This current page your are reading this post on is a the "sidebar" layout which has a main content region, a sidebar region, and a wide region that spans the width of both. The signup page uses the "wide" layout" and the user profile page uses the "profile" layout. The final touch with the widget editor is that widgets are exclusive to layouts, so therefore a widget (of my personal tweets) in the sidebar region of the profile layout will not show up on the main sites sidebar region. This is a very good thing!
Themes control a much larger aspect of how a site looks. Most people who've installed Wordpress or Drupal or other quality cms' are familiar with how themes work- normally they display your content in a myriad of stylish ways and allow for ease of visual customization. My one gripe with those platforms is the dashboard (or user signed in area) is usually not a theme and requires some hackage to customize it. Social-Igniter has been designed supporting dashboard themes as well as the public external site theme, we've also baked in basic mobile detection and the ability to do custom mobile themes as well.
We've also made a pact with a swell designer gal named Alicia Nagel who has offered to do 5 custom site themes for Social-Igniter and help with the branding and user experience of this website. We are super excited to have Alicia on board as she is quite talented and excited to be a part of the SI team!
We've hopped on the band wagon- what used to be "Modules" are now "Apps" but why the sudden name change? Have we jumped the shark and slapped ourselves silly? Nah, the word Apps just makes more sense for what these modules actually do- they are little micro applications within the core application of Social-Igniter. For instance- if you have a cool web app out there like GeoLoqi and want to interact with it from your Social-igniter install get the GeoLoqi app. That makes sense right? Also everyone understands the word "app" these days while module is still confusing, even to me, and it can mean too many things. Considering, we aim to be understood by the common folk, apps it is :)
News by Tyler Gillies on Apr. 8, 2011
Hello Ladies and Gentlemen, my name is @TylerGillies.
Over these past few days i've been helping Mr. @BrennanNovak implement some goodies into the Social Igniter platform.
These updates are only a tasty morsel of whats to come in the exciting future. Firstly, I've added Webfinger support. Essentially, Webfinger is a protocol that acts as a virtual business card, it's tied to an identifier very similar to (and could even be) an email address.
You probably have a Webfinger identifier without even knowing it! (Google attaches one to your gmail account automatically). A website that implements webfinger will allow you to enter in your ID, then it will look up any relevant information it needs about you.
Over here at Social Igniter, we plan on tying in your Twitter profile and Facebook profile into your identifer, so all you need to do is give them your Social Igniter ID, and they will automatically know your Twitter and Facebook address (this is totally opt-in). Other services are being planned right now.
In addition to Webfinger, I've also implemented PubSubHubBub a.k.a PuSH a.k.a the world's hardest to pronounce protocol spec. This allows someone to subscribe to your updates on any service that supports PuSH (currently: Google Buzz, Identi.ca, Status.net, rstat.us, Cliqset).
Once you publish an update, your message is automatically pushed to the person who subscribed to you and they receive it in realtime. The location of your PuSH feed is conveniently located in your Webfinger profile, so in addition to getting a lot of other useful information, your subscribers also get the location to your realtime updates.
These protocols lay the foundation for some amazing possibilies. I hope that after studying some of these technologies you'll be as excited as me in exploring the future of the internet.
oh and MONOCL.ES
News by Brennan Novak on Apr. 1, 2011
When to properly launch Social Igniter has been something plaguing me for the last 5 months. I could have launched something 5 months ago, but I didn't. Why? Because I was afraid it wasn't exciting enough or substantial enough or flashy enough (yet) and it would be after I finished just this one more feature or two new features or implemented a whole new authentication setup, etc... the list goes on and on... months have gone by and there are still a few more features I feel are "essential" before I really launch, but thankfully due to the upcoming Open Source Bridge that is happening in my backyard (Portland OR), I kicked my own arse in gear enough push something out. But let me say, it feels dang good to finally start talking about what I'm working on.
What ended up happening? I dug myself into a hole trying to build this huge platform and codebase and ended up in an isolated fortress of perfectionism, which in my mind is not really "open source," as it may as well have been a private codebase- open source means collaboration and collaborating means working with other people! Aside from 1 month of help from the talented front end coder Oscar Godson it has just been me slamming away on this beast of a platform for almost a year and man the late nights with the screen get lonely! It's much for fun working with other people.
So, from now on, any software projects I do will have a super early pre alpha launch as my friend Aaron PK said "Talking about it is just about as important as building it" and I think there is much wisdom in what he says.