The nderground social network has been retired.

I spent two and a half years of nights and weekends building nderground. I wrote over 20K lines of Java, Groovy and JavaScript for nderground. The social network was live for over four years. Sadly, the time has come to move on to other web applications and projects. After putting so much work and creativity into nderground, I am sad to say goodbye.

Ian Kaplan
Topstone Software Consulting
iank@bearcave.com

What was nderground?

nderground was a social network that would allow you to share with the people in your life, while still maintaining your privacy.

nderground was for anyone who wanted to share their life with their friends and family, without worrying about public exposure. nderground was for families who wanted to post pictures of their children without exposing them to the larger Internet. nderground was for teachers, doctors, lawyers and journalists. nderground was for anyone who was concerned about privacy. On other social networks you have to carefully curate your public presence. On nderground you could be yourself.

Social networks like Facebook, Google+ and LinkedIn are designed for public exposure. Corporations and other groups join these social networks for publicity and to communicate with their customers. The public nature of social networks often results in unintended exposure. Some people are reminded that the material that they post is visible to over a billion people when it goes viral. Photographs posted on a social network of drinking or drug use have resulted in job offers being withdrawn.

nderground was not like other social networks. nderground was constructed from "the ground up" with privacy in mind. The name nderground is underground without the "u". Our motto was we left "u" out because nderground did not support search for users. If you didn't know someone on nderground, you could not find them.

nderground users could go by their "handle" - there was no "true name" requirement on nderground. An nderground member was known only to their connections. On nderground these connections were called a Karass (a reference inspired by Kurt Vonnegut's book Cat's Cradle). Content that was posted on nderground could only be seen by a member's Karass.

For example, if Bob was a member of my Karass, I could see material posted by Bob on his page. Bob can see and comment on my posts and photos. If Bob's Karass includes Alice and Alice is not in my Karass, I can't see Alices posts and photos unless she is also in my Karass. This avoids a problem seen on other social networks where a post can be seen by friends-of-friends.

The privacy provided by nderground opened up a number of uses that can be difficult with other social networks:

  • A private group for planning your wedding or an event that you don't want to be public.
  • A private group for your start-up, company or organization. On nderground you never have to worry about privacy settings. nderground is always private.

The technology used to build nderground

nderground was built designed and built by Ian Kaplan at Topstone Software Consulting. See The Architecture of nderground

nderground could not have been built without open source and commercial software and tools. This software includes:

Server Side Components

  • nderground was built using the Grails framework. The original version of nderground was developed using Grails 2.4.3. nderground was later ported to Grails 3. At Topstone Software Consulting we build applications using the Spring framework.
  • A number of Grials plugins, including Ben Lucchesi's cookie session plugin which is used to support web scaling
  • The Groovy Development Environment
  • The Java Development Environment
  • The PostgreSQL relational database
  • The imgscalr library, written by Riyad Kalla. Imagscalr is used to scale and correct the orientation of images that are uploaded nderground
  • jSoup, written by Jonathan Hedley
  • Open NLP from the Apache Software Foundation
  • The antisamy HTML sanitizer from OWASP. This code is used to avoid JavaScript injection in nderground posts.
  • The Linux operating system. nderground is developed on Fedora Linux and deployed on Amazon Web Services Linux.
  • The Apache Tomcat Java application container and web server. nderground runs on Tomcat, deployed on Amazon Web Service's Elastic Beanstack to provide scalable web performance.

We are very grateful to the open source community that has made this software available to the world.

Client Side Components

  • jQuery
  • Twitter Bootstrap
  • Kube CSS and JavaScript from Imperavi (open source)
  • The Redactor Editor from Imperavi (licensed software)

Amazon Web Services (AWS)

nderground was built to be a scalable, secure web application. The features provided by AWS were invaluable. nderground ran on Elastic Beanstalk, which supports scaling as web load increases. The RDS/Postgres database was used to support ACID transactions. Everything else was stored in DynamoDB and S3. Email was handled by the AWS Simple Email System. And so on... nderground would have been vastly more difficult to build without AWS.

Other Software

  • The New Relic client is used to monitor nderground uptime, CPU and memory usage.
  • MailGun is used for the nderground test environment

nderground, resurrected!

The nderground social network was hosted on Amazon Web Services. The site was live for over four years with 100% uptime (as measured by New Relic). If you think that the nderground software might be a foundation for a web application that you want to build (and you have the funding for such a project), please contact us at iank@bearcave.com. We would love to see the nderground software live again.