Recently I've been experimenting with camlistore, which is yet another object storage system.
Camlistore is designed exactly how I'd like to see an object storage-system - each server allows you to:
It should be noted more is possible, there's a pretty web UI for example, but I'm simplifying. Do your own homework :)
With those primitives you can allow a client-library to upload a file once, then in the background a bunch of dumb servers can decide amongst themselves "Hey I have data with ID:33333 - Do you?". If nobody else does they can upload a second copy.
In short this kind of system allows the replication to be decoupled from the storage. The obvious risk is obvious though: if you upload a file the chunks might live on a host that dies 20 minutes later, just before the content was replicated. That risk is minimal, but valid.
There is also the risk that sudden rashes of uploads leave the system consuming all the internal-bandwith constantly comparing chunk-IDs, trying to see if data is replaced that has been copied numerous times in the past, or trying to play "catch-up" if the new-content is larger than the replica-bandwidth. I guess it should possible to detect those conditions, but they're things to be concerned about.
Anyway the biggest downside with camlistore is documentation about rebalancing, replication, or anything other than simple single-server setups. Some people have blogged about it, and I got it working between two nodes, but I didn't feel confident it was as robust as I wanted it to be.
I have a strong belief that Camlistore will become a project of joy and wonder, but it isn't quite there yet. I certainly don't want to stop watching it :)
On to the more personal .. I'm all about the object storage these days. Right now most of my objects are packed in a collection of boxes. On the 6th of next month a shipping container will come pick them up and take them to Finland.
For pretty much 20 days in a row we've been taking things to the skip, or the local charity-shops. I expect that by the time we've relocated the amount of possesions we'll maintain will be at least a fifth of our current levels.
We're working on the general rule of thumb: "If it is possible to replace an item we will not take it". That means chess-sets, mirrors, etc, will not be carried. DVDs, for example, have been slashed brutally such that we're only transferring 40 out of a starting collection of 500+.
Only personal, one-off, unique, or "significant" items will be transported. This includes things like personal photographs, family items, and similar. Clothes? Well I need to take one jacket, but more can be bought. The only place I put my foot down was books. Yes I'm a kindle-user these days, but I spent many years tracking down some rare volumes, and though it would be possible to repeat that effort I just don't want to.
I've also decided that I'm carrying my complete toolbox. Some of the tools I took with me when I left home at 18 have stayed with me for the past 20+ years. I don't need this specific crowbar, or axe, but I'm damned if I'm going to lose them now. So they stay. Object storage - some objects are more important than they should be!
I always seem to forget this one.
To pass F11 or F12 over a serial connection (either real serial or Serial-over-LAN IPMI), it’s Escape followed by ! (Shift+1) or @ (Shift+') respectively.
Note that on a US keyboard ! and @ would be next to each other above the 1 and 2 keys so that would make some vague kind of sense as alternatives to F11 and F12. But it’s literally the @ that matters and since I’m using a UK keyboard then it is Shift+'.
TL;DR: Most motherboards have a serial header in an IDC-10 (5×2 pins) arrangement with the pins as a row of even numbered pins (2,4,6,8,X) followed by a row of odd numbered pins (1,3,5,7,9). Supermicro ones appear to have the pins in sequential order (6,7,8,9,X and then 1,2,3,4,5). As a result a standard IDC-10 to DB-9 cable will not work and you’ll need to either hack one about or buy the Supermicro one.Are we sitting comfortably?
I bought a Supermicro motherboard. It doesn’t have a serial port exposed at the back. I like to use serial ports for a serial console even though I am aware that IPMI exists. IPMI on this board works okay but I like knowing I can always get to the “real” serial port as well.
The motherboard has a COM1 serial header, and I wasn’t using the PCI expansion slot on the back of the chassis, so I decided to put a serial port there. I bought a typical IDC-10 / DB-9 cable and plate:
Didn’t work. Serial-over-LAN (IPMI) worked alright. On COM1 I would get either nothing or a run of garbage characters from time to time. I wasted a good number of hours messing with BIOS settings, baud rates, checking if my USB serial adaptor actually worked with another device (of which I only have one in my home), before I decided to sit down and check the pin numbering for both the header and the cable.
Looking at the motherboard manual we see this:
And the cable?
Notice anything amiss?
The cable’s pins go in a row of odd numbers and then a row of even numbers:2 4 6 8 X 1 3 5 7 9 -
The X is the missing pin (serial uses 9 pins) and the - indicates where the notch for the connector would be: next to pin 5 in this case.
The header’s pins go in sequential order:6 7 8 9 X 1 2 3 4 5 -
As a result all but pin 1 are incorrect.
You actually need a Supermicro cable for this. CBL-0010L is the part number in my case. CBL-0010LP would be the low profile version. Good luck finding it mentioned on Supermicro’s site, but your favourite reseller will probably know of it. As it was I found one on Ebay for £1.58+VAT, and it works now.
After knowing what to search for I also found someone else having a similar issue with a Supermicro board.
You could of course instead hack any existing cable’s pins about or fit an adaptor in between (as the person in the above link did).
Thanks Supermicro. Thupermicro.
Arbitrary tweets made by TheGingerDog up to 16 June 2014
Attempt to pass homeopathy off as credible by combining it with empirically valid medicine.
We woke to continual thunder.
I think it is time to leave the country.
It seems Mozilla is targeting emerging markets and developing nations with $25 cell phones. This is tremendous news, and an admirable focus for Mozilla, but it is not without risk.
Bringing simple, accessible technology to these markets can have a profound impact. As an example, in 2001, 134 million Nigerians shared 500,000 land-lines (as covered by Jack Ewing in Businessweek back in 2007). That year the government started encouraging wireless market competition and by 2007 Nigeria had 30 million cellular subscribers.
This generated market competition and better products, but more importantly, we have seen time and time again that access to technology such as cell phones improves education, provides opportunities for people to start small businesses, and in many cases is a contributing factor for bringing people out of poverty.
So, cell phones are having a profound impact in these nations, but the question is, will it work with FirefoxOS?
I am not sure.
In Mozilla’s defence, they have done an admirable job with FirefoxOS. They have built a powerful platform, based on open web technology, and they lined up a raft of carriers to launch with. They have a strong brand, an active and passionate community, and like so many other success stories, they already have a popular existing product (their browser) to get them into meetings and headlines.
Success though is judged by many different factors, and having a raft of carriers and products on the market is not enough. If they ship in volume but get high return rates, it could kill them, as is common for many new product launches.
What I don’t know is whether this volume/return-rate balance plays such a critical role in developing markets. I would imagine that return rates could be higher (such as someone who has never used a cell phone before taking it back because it is just too alien to them). On the other hand, I wonder if those consumers there are willing to put up with more quirks just to get access to the cell network and potentially the Internet.
What seems clear to me is that success here has little to do with the elegance or design of FirefoxOS (or any other product for that matter). It is instead about delivering incredibly dependable hardware. In developing nations people have less access to energy (for charging devices) and have to work harder to obtain it, and have lower access to support resources for how to use new technology. As such, it really needs to just work. This factor, I imagine, is going to be more outside of Mozilla’s hands.
So, in a nutshell, if the $25 phones fail to meet expectations, it may not be Mozilla’s fault. Likewise, if they are successful, it may not be to their credit.
I am a firm believer in building strong and empowered communities. We are in an age of a community management renaissance in which we are defining repeatable best practice that can be applied many different types of communities, whether internal to companies, external to volunteers, or a mix of both.
I have been working to further this growth in community management via my books, The Art of Community and Dealing With Disrespect, the Community Leadership Summit, the Community Leadership Forum, and delivering training to our next generation of community managers and leaders.
Last year I ran my first community management training course, and it was very positively received. I am delighted to announce that I will be running an updated training course at three events over the coming months.OSCON
On Sunday 20th July 2014 I will be presenting the course at the OSCON conference in Portland, Oregon. This is a tutorial, so you will need to purchase a tutorial ticket to attend. Attendance is limited, so be sure to get to the class early on the day to reserve a seat!
Firstly, on Fri 22nd August 2014 I will be presenting the course at LinuxCon North America in Chicago, Illinois and then on Thurs Oct 16th 2014 I will deliver the training at LinuxCon Europe in Düsseldorf, Germany.
Tickets are $300 for the day’s training. This is a steal; I usually charge $2500+/day when delivering the training as part of a consultancy arrangement. Thanks to the Linux Foundation for making this available at an affordable rate.
Space is limited, so go and register ASAP:
So what is in the training course?
My goal with each training day is to discuss how to build and grow a community, including building collaborative workflows, defining a governance structure, planning, marketing, and evaluating effectiveness. The day is packed with Q&A, discussion, and I encourage my students to raise questions, challenge me, and explore ways of optimizing their communities. This is not a sit-down-and-listen-to-a-teacher-drone on kind of session; it is interactive and designed to spark discussion.
The day is mapped out like this:
I will warn you; it is an exhausting day, but ultimately rewarding. It covers a lot of ground in a short period of time, and then you can follow with further discussion of these and other topics on our Community Leadership discussion forum.
I hope to see you there!
Arbitrary tweets made by TheGingerDog up to 04 June 2014
Arbitrary tweets made by TheGingerDog up to 01 June 2014
I just want to say how touched I have been by the response. The comments, social media posts, emails, and calls from you have been so kind and supportive. You are all good people, and I am going to miss every single one of you.
The reason why I have devoted my life to understanding communities is that I believe communities bring out the best in people, and all of you are a perfect example of that. I cannot express just how much I appreciate it.
Over the course of the next few weeks my replacement will be sourced and announced. and in the interim my team (Daniel Holbach, Michael Hall, David Planella, Nicholas Skaggs, Alan Pope) will take over my duties. Everything has been transitioned over, and remember, the weekly Q&As will continue at 6pm UTC every Tuesday on Ubuntu On Air with my team filling in for me. As ever, any and all Ubuntu questions are welcome!
Of course, I will still be around. I am going to continue to be a member of the Ubuntu community and an avid Ubuntu user, tester, and supporter. I will continue to be on IRC, you can email me at email@example.com, I will continue to do Bad Voltage, and I have a busy schedule at the Community Leadership Summit, OSCON, and more. I am also going to continue to have my own Q&A session every week where you can ask questions about my perspectives on Ubuntu, Canonical, community management, XPRIZE, and more; I will announce this soon.
Ubuntu has a tremendous future ahead of it, built on the hard work and passion of a global community. We are only just getting started with a new era of Ubuntu convergence and cloud orchestration and while I will miss being there in an official capacity, I am just thankful that I can continue to be along for the ride in the very community I played a part in building.
I now have a few weeks off and then my new adventure begins. Stay tuned.
As many of you will know, I organize an event every year called the Community Leadership Summit. The event brings together community leaders, organizers and managers and the projects and organizations that are interested in growing and empowering a strong community.
The event pulls together these leading minds in community management, relations and online collaboration to discuss, debate and continue to refine the art of building an effective and capable community.
The event is taking place on 18 – 19 July 2014 in Portland, Oregon. I hope to see you all there, it is going to be a fantastic CLS this year!
I also have a few other things to share too…Community Leadership Forum
My goal as a community manager is to help contribute to the growth of the community management profession. I started this journey by publishing The Art of Community and ensuring it is available freely as well as in stores. I then set up the Community Leadership Summit as just discussed, and now I am keen to put together a central community for community management and leadership discussion.
As such, I am proud to launch the new Community Leadership Forum for discussing topics that relate to community management, as well as topics for discussion at the Community Leadership Summit event each year. The forum is designed to be a great place for sharing and learning tips and techniques, getting to know other community leaders, and having fun.
Be sure to go and sign up!Speaking Events and Training
I also wanted to share that I will be at OSCON this year and I will be giving a presentation called Dealing With Disrespect that is based upon my free book of the same name for managing complex communications.
This is the summary of the talk:
In this new presentation from Jono Bacon, author of The Art of Community, founder of the Community Leadership Summit, and Ubuntu Community Manager, he discusses how to process, interpret, and manage rude, disrespectful, and non-constructive feedback in communities so the constructive criticism gets through but the hate doesn’t.
The presentation covers the three different categories of communications, how we evaluate and assess different attributes in each communication, the factors that influence all of our communications, and how to put in place a set of golden rules for handling feedback and putting it in perspective.
If you personally or your community has suffered rudeness, trolling, and disrespect, this presentation is designed to help.
This presentation is on Wed 23rd July at 2.30pm in E144.
In addition to this I will also be providing a full day of community management training at OSCON on Sunday 20th July in D135.
Lots of fun things ahead and I hope to see you there!
This event will be held on Saturday 7th June 2014 between 9am and 5pm at The Studio Venue Company Ltd., 7 Cannon Street, Birmingham B2 5EP.
All the details can be found at http://www.flossuk.org/Events/BarcampBirmingham2014
I hope to see you there.
After nearly eight years of service at Canonical, I will be stepping down as the Ubuntu Community Manager and leaving my fellow warthogs at Canonical on 29th May 2014.
I have always been passionate about two things in my life. Firstly, I want to go to work every day and feel that my efforts are having a wider impact on the world. Secondly, I believe that community and collaboration is at the core what makes us human and what drives us to create beautiful things.
Canonical has provided room for me to explore both of these areas in droves. Free Software is an undeniable power for good in making technology accessible to all. Ubuntu has been at the forefront of this; focusing on simplicity, elegance, and ease of use to make technology as accessible and widely available as possible. Canonical and the Ubuntu Community has also provided an environment in which I could explore the many facets of community building, leadership, and growth…trying lots of ideas, learning from what worked and what didn’t, and evolving what we do.
This has resulted in me having the opportunity to learn from great people, in fun and challenging situations, and to further the art and science of building great communities.A new chapter
…and this is where a new chapter in my life opens.
Recently I was presented with the opportunity to go and work at the XPRIZE Foundation.
For those of you unfamiliar with XPRIZE, their focus is to solve the major problems facing humanity. This work is delivered by incentivized competitions to solve these grand challenges.
This started with the $10million Ansari XPRIZE that spawned the commercial space-flight industry. Other examples include the Qualcomm Tricorder XPRIZE (to create an affordable handheld device to diagnose health issues), the Google Lunar XPRIZE (to achieve the safe landing of a private craft on the surface of the moon), the Wendy Schmidt Ocean Health XPRIZE (improving our understanding of ocean acidification), and the A.I XPRIZE (create the first A.I. to walk or roll out on stage and present a TED Talk so compelling that it commands a standing ovation).
XPRIZE is an organization with significant ideas and ambitions to have a profound impact on the world. If you want to get a better feel for this, I recommend you watch this video by founder, Peter Diamandis; it is tremendously inspiring.
Peter believes that competition is in our DNA. I believe that collaboration and community is in our DNA. As you can imagine, these concepts are complimentary to each other and this is why I feel like this such a natural fit for me.
As such, I will be joining XPRIZE as Senior Director of Community. I will be there to look at the full breadth of what XPRIZE does and inject community and collaboration into the many different layers from how the prizes are picked, how teams are formed, how R&D is created, how technologies go into production, and more. I am tremendously excited about the opportunity.Difficult decisions
Although XPRIZE is an exciting (if unknown) road forward, leaving Canonical is bittersweet.
To put this in starker terms, Canonical quite literally changed my life. It helped to transform my career from a position of observation of communities to one of structured best practice. It helped me to think differently, challenge myself, and be open to being challenged by others. It afforded me the opportunity to travel the world, meet incredible people, see incredible things, and ultimately led me to meet my wife, Erica, who has become the corner-stone of our family. This was never a job, it was a way of life, and Canonical provided every ounce of support in helping me to achieve what I did here and to be the best that I could be.
Working with the Ubuntu community has not just been a privilege, it has been a pleasure. One of the many reasons why I love what I do is that I am exposed to so many incredible people, minds, and ideas, and the Ubuntu community is a text-book definition of what makes community so powerful and such an agent for making the world a better place. I will be forever thankful for not just the opportunity to meet so many different members of the global Ubuntu family, but to also continue these many friendships into my next endeavour.
Now, some of you reading this may be concerned by this move. Some of you may be worried that my departure is due to a negative experience at Canonical, or that the community is somehow less important than it used to be. I want to be very clear in responding to this.
I am not leaving Canonical due to annoyance, frustration, bureaucracy, lack of support or anything else negative. I have a wonderful relationship with Mark Shuttleworth, Jane Silber, Rick Spencer and the other executives. I have a great relationship with my peers and my team, and I love going to work every single day. These people are not just colleagues, they are friends. I have long said I have the very best job in community management and I feel as strong about that today as I did when I joined.
I am not leaving Canonical due to problems, I am moving on to a new opportunity at XPRIZE. I actually wasn’t looking for a move; I was quite content in my role at Canonical, but XPRIZE came out of nowhere, and it felt like a good next step to move forward to.
Likewise, I can assure you that the relationship with community at Canonical has not changed at all. Mark Shuttleworth and the rest of the leadership team are passionate about our community and they are intimately aware that our community is critical to the success of Ubuntu.
I believe in Ubuntu as much as I did when I joined. I have long talked about how Free Software and Open Source is only truly game-changing if the technology is simple, powerful, and accessible. Ubuntu is the very best place to get Open Source across the desktop, cloud, and now the mobile space too. Canonical has hired a phenomenal team over the years to drive this, and we are seeing the fruits of this success. I look forward to seeing this story unfold more and more and seeing Canonical achieve wider and wider ambitions.
Before I wrap up, I just want to offer some thanks to Mark Shuttleworth, Jane Silber, Rick Spencer, my team, my peers in the Ubuntu Engineering Management Team, my fellow warthogs at Canonical, and everyone in the Ubuntu community for being so supportive over the years. You all helped me turn my dream into a reality and help me become the person I am today.
I also want to say a special thank-you to Mark who gave me a shot in 2006 and has been a constant beacon of support and inspiration for so many years. I consider Mark a mentor, but more importantly a friend.
We have taken on some tough challenges over the years in Ubuntu, challenges that were necessary for us to grow. I have never questioned Mark’s commitment to our values and our success as a project once, and I am thankful for him to lead Ubuntu towards success; successful projects need leaders who can constantly ask new questions and explore new territory.You don’t get rid of me that easily
Now, I won’t actually be going anywhere. I will still be hanging out on IRC, posting on my social media networks, still responding to email, and will continue to do Bad Voltage and run the Community Leadership Summit. I will continue to be an Ubuntu Member, to use Ubuntu on my desktop and server, and continue to post about and share my thoughts about where Ubuntu is moving forward. I am looking forward in many ways to experiencing the true Ubuntu community experience now I will be on the other side of the garden.
As I step out of my position at Canonical, I am hugely proud of the accomplishments of my team (Daniel Holbach, David Planella, Michael Hall, Nicholas Skaggs, Alan Pope (and alumni, Jorge Castro, Kyle Nitzsche, Ahmed Kamal)). I can’t think of a better group of people to continue to help our community to do great work and be successful.
To wrap things up, I will be doing my very last Q&A session on Tuesday 27th May 2014 at 6pm UTC on Ubuntu On Air – I hope to see you all there!
So, here is to fun and fond memories, and here is to a new set of challenges helping to create a a better world with XPRIZE. Thanks!
“If all your friends jumped off a bridge, would you jump too?”
“Oh jeez. Probably.”
“Because all my friends did.”
— xkcd, Bridge
I don’t like the EME stuff. It’s contrary to the whole idea of the web. It’s potentially the beginning of a slippery slope of web pages being locked off because that’s what the ebook people want. I wrote about this last year. Jeremy says that it is precisely because other technologies are locked down that it’s important to keep the web open, and he’s right.
But… that didn’t happen. The web is not open. Google and Microsoft and Apple have already started implementing EME, over the complaints of precisely nobody. The argument that adding DRMed video divides the web into haves and have-nots apparently didn’t cut any ice with those browser vendors. So Mozilla reluctantly fall in line, and are castigated for it in a way that the others weren’t.
Now, there’s a reasonable argument that Mozilla should be held to a higher standard, because their goal actually embodies the Open Web and the others are primarily about profits and market share. Mozilla should stand on principle, precisely because they have principles. I admire this argument, but unfortunately it’s like perpetual motion machines, the 200mpg carburettor, and the rehydrateable pizza from Back to the Future — it doesn’t work. The world isn’t nice just because you wish real hard. Mozilla have stood on principle in the past, by refusing to implement H.264 format video. It made no difference. They were laughed at for not being “modern”, their users just found that some videos mysteriously wouldn’t play, they were told that standing on principle made them irrelevant, and it made no difference to the market. They have a voice at the table, but it’s not loud enough to move the industry when the industry want something else.
The last people to try this other than Mozilla were Opera. The Opera team devoted their time to being standards compliant, working to improve those standards where possible, taking the decision to be correct rather than compatible in most cases, and what happened? Nobody used their browser because it didn’t work, and now they use Blink as their renderer instead.
I like the warm fuzzy feeling I get from knowing that Mozilla are out there doing the right thing. But there’s always been an edge of, well, they’re doing the right thing which means that I don’t have to. Firefox should stand on principle here and refuse to play DRMed videos… but of course I’m not going to stop using DRMed video, I’ll just use Safari for that. The warm fuzzy feeling is jolly nice, but it’s not enough to actually keep the Mozilla organisation running. If you dislike Mozilla doing this (which I do, too), then where’s the outcry against Apple and Microsoft and Google for doing the same thing? Where’s the outcry against them for doing it first? Mozilla helps keep the web open for us, but in return we have to help keep the web open for Mozilla. And we aren’t.
Ubuntu has always been about breaking new ground. We broke the ground with the desktop back in 2004, we have broken the ground with cloud orchestration across multiple clouds and providers, and we are building a powerful, innovative mobile and desktop platform that is breaking ground with convergence.
The hardest part about breaking new ground and innovating is not having the vision and creating the technology, it is getting people on board to be part of it.
We knew this was going to be a challenge when we first took the wraps off the Ubuntu app developer platform: we have a brand new platform that was still being developed, and when we started many of the key pieces were not there such as a solid developer portal, documentation, API references, training and more. Today the story is very different with a compelling, end-to-end, developer story for building powerful convergent apps.
We believed and always have believed in the power of this platform, and every single one of those people who also believed in what we are doing and wrote apps have shared the same spirit of pioneering a new platform that we have.
As such, we want to acknowledge those people.
And with this, I present Ubuntu Pioneers.
The idea is simple, we want to celebrate the first 200 app developers who get their apps in Ubuntu. We are doing this in two ways.
Firstly, we have created http://developer.ubuntu.com/pioneers which displays all of these developers and lists the apps that they have created. This will provide a permanent record of those who were there right at the beginning.
Secondly, we have designed a custom, limited-edition Ubuntu Pioneers t-shirt that we want to send to all of our pioneers. For those of you who are listed on this page, please ensure that your email address is correct in MyApps as we will be getting in touch soon.
Thank-you so much to every single person listed on that page. You are an inspiration for me, my team, and the wider Ubuntu project.
If you have that pioneering spirit and wished you were up there, fear not! We still have some space before we hit 200 developers, so go here to get started building an app.
I built a thing called soonsnap, and various people said that I should write up how and why.
First, what it’s for.
Here’s the use case. You’re there in the pub, Friday night, and there’s a group of people squeezing themselves together behind a table while one of their number takes a photo of them. So you step up, helpful, and say “hey, let me take that, then you can be in it!” and whip your phone from your pocket and snap a picture of them all pulling faces and drinking cocktails.
Great. You’ve got a picture of them. How do you give that picture to the people in it?
Here are the constraints:
Sometimes, the people asking for a photo will hand you a phone to take it with. At that point, you don’t need any technology to assist; take the picture, give the phone back, done. But if they don’t… you need to get that picture to them.
The one huge overriding goal here is complete ease of use. Anything at all which can be construed as a barrier will mean that you’re unsuccessful. “To get the picture, install this app” takes too long and is too annoying. “Turn on Bluetooth” is too annoying. “Turn on Android Beam” is too annoying. This means the solution needs to be on the web, because everybody has that.
But it should feel like an app, because people are accustomed to that and so the sense of familiarity is important. It’s a very simple set of actions: either “take a photo” or “receive a photo”. So the thing I came up with, soonsnap, is this:
So there are two paths through it: the photo taker, and the photo getter. The taker needs to say “take a photo”, then take the photo, then get a nice clear set of instructions and a code to tell to the getter. The getter needs to get to the website itself, say “receive a photo”, type in the code. That’s it.
To this end, all the thinking went into making soonsnap so it’s really hard to screw the interaction up. Take the codes as an example. They’re four characters — long enough that a code isn’t reasonably guessable, short enough that you can say it to someone else in a crowded bar and they’ll hear you. The code does not repeat any characters. This is done so that when tapping a letter of the code, that letter disappears and can’t be used again — this prevents someone accidentally tapping a letter twice. The characters used for the code could have been all 36 letters and numbers, but it’s actually only 20: 0123456789ACFHNRUWXY. This is so that all letters which sound the same are removed; this stops someone saying “did you say B zero one two or P zero one two?”, especially if you’re shouting over the music in a crowded pub.
And it looks simple but colourful and clear to make it easy to see what’s going on even if your vision’s a bit blurry. I wanted it to be attractive partially because of the aesthetic usability effect, and partially just because, well, things should be pretty. I knew I couldn’t do that, so I talked to Sam Hewitt who put together a great visual design for soonsnap. Thank you, Sam!
Technologically, soonsnap is designed so that images aren’t stored on the server. Partially this is for security — there’s no big archive there, and your photos aren’t being kept around by a service you don’t trust — and partially for cost, because it’s not supposed to be a big photo archive. It’s used to send photos. Soonsnap uses socket.io, which is basically a self-hosted version of something like pubnub. So the images go through the soonsnap server, but they’re transmitted from sender to receiver and aren’t kept around on the server. I’d have liked to do that with WebRTC so that it’s genuinely peer-to-peer and doesn’t involve the server at all, but firstly you need to set up a STUN server to do that and that’s complicated, and secondly iPhones don’t do WebRTC yet.