Skip to main content
 

We'll never be Google (Royals)

I've never seen a Blade rack in the flesh
I cut my teeth on a VPS and Ruby
And I'm not proud of my address
IP v4, no traceroute envy

But every post's like:
Node scripts
Varnish
GitHub integration
Mongo
Redis
Graceful degradation

We don't care; we're running Facebook in our dreams

But every blog's like:
Seed round
B round
Term sheets and some leeway
YC
Creamery
Tesla down the freeway

We don't know; we don't need to IPO

And we'll never be Google (Google)
It don't run in our blood
That kind of game just ain't for us
Writing a different kind of Buzz
Let me quote Paul Graham (Graham)
Pretty much endlessly
And baby I'll ship, I'll ship, I'll ship, I'll ship
Integrate continuously

My friends and I we've cracked on code
We hit our user goals using growth hacks
And everyone who sees us knows
That we're fine with this; spam's just hustling

And every post's like ...

And we'll never be Google ...

Big-O (ohhh)
Got more traction than we ever dreamed
And our site is being creamed

Big-O (ohhh)
We're eating our ramen bowls
Hitting all our metric goals

· Posts · Share this post

 

Getting a Linksys AE3000 Wireless-N USB dongle to work on a Macbook Pro

A while back, my out-of-warranty Macbook Pro's wireless antenna died. I had the card replaced; no dice. And unfortunately the antenna is in the screen, so to get working wireless back I would have had to get that replaced at a very high cost.

I went another way.

If you walk down the Networking aisle at Best Buy or Staples, which is what happens when you need a new wireless adapter in a hurry, you'll see that all the USB wireless dongles say they're for Windows only. Not a single one ships with a Mac driver, because I guess the Mac hardware is considered to be infallible or something. Maybe the cost-benefit analyses didn't show it to be worthwhile. Who knows.

Luckily, most USB wireless dongles are repackaged chipsets from other manufacturers. In particular, the Linksys AE3000 and a few other wireless-N models by manufacturers like Belkin are based on the Ralink (now Mediatek) RT3573 chip. I bought the Linksys AE3000 because of the build quality and speed capabilities.

Years ago, Ralink released some official drivers for Hackintoshes, which they've kept up-to-date. So after buying my Windows-only Linksys dongle, all I had to do was go grab the appropriate driver from their download page.

Or so I thought. You see, it turns out that the AE3000 didn't exist when the driver was written, so the installer doesn't know anything about it. You plug in your dongle, and nothing happens. What you actually have to do is install the driver and, before the final reboot after installation, go find the Info.plist file in /System/Library/Extensions/RT2870USBWirelessDriver.kext/ and add some information about the manufacturer. (After some adventures with text editors, I found that it was best to do this using sudo nano in a terminal window.)

And this kind of ridiculousness is why open source operating systems are a good idea. Nonetheless, despite the convoluted technical steps, it works: I have a working wireless-N connection via my Windows-only wireless dongle (even after an upgrade to Mavericks). I hope this helps someone else - and that manufacturers start properly supporting Mac OS X.

· Posts · Share this post

 

Is your startup on the user's side?

Some questions to ask yourself about your startup:

  • Does your business aim to "lock" users into your product?
  • Do you take ownership of content and/or data that your users create?
  • Do you create artificial barriers for billing purposes?
  • Do you sell your user data behind their backs? (Burying it in your terms & conditions counts as "behind their backs".)
  • Do you refuse to allow your users to export, post or manipulate data via anything but your own end-user interfaces?
  • Do you charge extra, and/or require an NDA to be signed, to access your APIs?
  • Do you sell products whose primary features are to restrict user freedoms? (Example: Digital Rights Management.)
  • Do you enact policies that may lead to an increased risk for vulnerable users? (For example, a "real names" policy.)
  • Are your marketing materials or business practices demeaning or offensive? (eg, sexism, transphobia, homophobia, etc.)

If the answer to any of the above is "yes", you may be an oppressive service: one that makes its money by aligning itself against its users. A progressive service is one where the interests of the business, as well as the features of your service, is in line with the user's goals and best interests, and the service actively aims to empower the user in any of these areas.

Can you think of any other criteria?

· Posts · Share this post

 

Why I support unions and the #BARTstrike

The BART strike is over: at the time of writing, they're expecting Bay Area Rapid Transit trains to start rolling at 4am, with a full service up and running by sometime in the afternoon. That's great news: the roads have been gridlocked here, and it's felt like the Bay Area has been brought to a standstill.

Nonetheless, I fully supported it.

The base salary for a train operator is $56,000 - a lot in most areas, but when a one-bedroom apartment runs for almost $2,000 a month, it's a salary that doesn't stretch very far. Particularly not if you have a family. And given that BART was running on a budget surplus, and worker wages were frozen for five years, it seems very reasonable to ask for more.

A second issue was safety: workers were asking for better lighting, and better protection against attacks. This request is all the more poignant given that two workers were killed on Friday.

I'm pleased that the union and BART management have reached a deal, not least because it was inconvenient to me: BART is by far the best way to travel around the area. What I'm less pleased about is the amount of anti-union propaganda I've seen from all over Silicon Valley. From tasteless jokes to threatening to replace them all with robots, it's not been pretty.

The purpose of unions is to allow workers to collectively organize and deal in a way that they could not as individuals. A company must negotiate for its best interests, by attempting to get the best value out of workers. It makes sense that the workers should have their own ability to negotiate with similar weight. Without this ability, wages, benefits and working conditions will tend to favor the companies rather than individuals. Here in the US, the labor movement was responsible for establishing the 40-hour workweek and the concept of having the weekend off, which were only ratified in 1940.

Unions have also been responsible for establishing the minimum wage, the concept of sick days, holiday pay, maternal leave, child labor laws and laws eradicating sweatshops in the United States. None of these are at all bad things, and while unions are not always a positive thing - just as company management is not always a positive thing - I'd argue that they're an important part of the fabric of working life. I have been proud to be a member of unions in the past, and if there was an appropriate tech industry union, I'd be proud to be a member of one now.

As Politico points out, a Harvard / University of Washington study showed that between a fifth and a third of the dramatic increase in income inequality in the united states (40%!) is related to the decline in union membership. While it's not the single cause, it's certainly hard to ignore, and points to a larger issue related to the evolution of workers' rights (and the perception of workers) in American society.

In January, Time noted that:

First, the fact is that when unions are stronger the economy as a whole does better. Unions restore demand to an economy by raising wages for their members and putting more purchasing power to work, enabling more hiring. [...] Second, unions lift wages for non-union members too by creating a higher prevailing wage. Even if you aren’t a member your pay is influenced by the strength or weakness of organized labor. The presence of unions sets off a wage race to the top. Their absence sets off a race to the bottom.

A victory for unionized workers, then, is a victory for all of us. Why on earth should a progressive industry like technology be against better conditions and pay for workers? I agree with Michel Hiltzik in the LA Times:

Blaming the workers for the impasse is a peculiarly one-sided interpretation of what's happening. Sure, you could say that 2,400 non-automated, human employees stand in the way of Silicon Valley's determination to "build something." But it's equally true to say that BART's nine board members and its general manager are the real obstacles to a settlement. Maybe Silicon Valley should figure out a way to automate them.

We're supposed to be making things better. As an industry, we may need to rethink what that means.

· Posts · Share this post

 

Why "engineers first" matters

Apple co-founder Steve Wozniak has a great line on his Twitter bio: "engineers first!"

Note: not sales first; not biz dev first; engineers first.

In most traditional organizations, unfortunately, engineers are not anywhere near first. Often, once you've cut through the extensive political hierarchies, layers of management, "ideas" people, and various other stakeholders, engineers come out pretty much dead last.

Of course, in technology, if your engineers are at the bottom of the heap, you will always lose.

There are a few different prongs to this problem as it arises in more traditional organizations. Not least of these is a fundamental misunderstanding of what a software engineer actually is: they're not IT support technicians, nor paint-by-numbers factory workers. They're creative knowledge workers; people whose skills allow them to create something from nothing, and who need an environment that allows those skills to be nurtured.

Related is the problem of "ideas" people, who want to claim ownership of the genesis of the product, without actually being able to do anything to create it. There are, of course, lots of different skillsets that go into making a software product, not all of which are engineering-related. However, it's undeniable that there are people in many traditional organizations who wish to claim credit for the creation of these products, to the expense of the people who actually do make them.

Finally, there are often business structures that exist solely for tradition's sake - they're there because that's how they've always be done. Because the engineering mindset is to analyze a structure and try and make something better, engineers may be less willing to play along with the politics within an organization. While I think this is an admirable quality, depending on the organization, it may be to the engineer's detriment.

Because engineers are academically-minded, smart people, they're less willing to navigate these hierarchies. It's also true that many of them may be, unfortunately, less able to navigate attempts to subjugate them, should anyone wish to. The result is terrible working environments for them, and as a direct result, sub-optimal products. Think of it this way: would you make a better product if you're constantly insecure about what you should be doing, or if you have the ability to make it your own?

The nice thing about Silicon Valley style companies is that they're often run by engineers, or people deeply understand the needs of engineers. They put the people who create the products first, and understand that the people who are actively making are the people who truly matter in the product process. Okay, so I'm biased, but this is something I really believe: fundamentally, a company boils down to its products; the products boil down to the people who make them, and the people who use them.

That's one of the reasons why engineers flock to Silicon Valley. It's not just about the gold rush, although there is the small chance you'll strike it lucky. But for everyone else, there are adequate salaries, comfortable working environments, and new kinds of companies that are reinventing the internal structures of work, and respecting the people who are building products.

There are still questions about aspects of Silicon Valley culture; I'm certainly uncomfortable with the bigotry and some of the libertarianism. Nonetheless, it's a safe space for geeks to use their creativity, intelligence and skills to create amazing things - and create incredibly high-value companies in the process. That's something you won't find as often in traditional organizations today - something they will doubtless be scrabbling to catch up with over time.

· Posts · Share this post

 

Outsider leaders are the agents of change

One often-seen trope in tech industry commentary is: "the geeks will inherit the earth".

It's a nice idea, which appeals to a lot of people in this ecosystem; there's even a lovely symmetry to the idea that the people who were probably bullied and ostracized in school, at least to some extent, are the same people who go on to change the world in meaningful ways. And in a lot of ways, it's true.

It's not because geeks are in any way better, or more intelligent, people. Instead, my theory is that it relates to being an outsider. People who don't change themselves to fit in are, almost by definition, more likely to think independently. If an effective leader is one who creates stand-out strategies and is able to creatively and intelligently react to circumstances, it makes sense that independent thinkers would fit the role more readily. The popular kids at school are much more suited to be followers - they've essentially taught themselves how to follow fashions rather than create them.

MBAs are not traditionally good at startups for similar reasons. They've been taught cookie cutter business methods, which make much more sense as management tactics in larger businesses than in the do-what-you-have-to context of getting something off the ground. Here in San Francisco, arguably tech startup central, besuited MBAs are often thought of as not bringing much to the table.

But geeks have their own popular kids now. Startup culture has created its own norms; brogrammers swarm San Francisco and cities like it, following the fashions dictated by outlets like TechCrunch and PandoDaily. Not a single one is likely to change the marketplace, let alone the world - and with them comes a pervasive culture of entitlement and even bigotry that isn't a million miles away from the cool kids.

Outliers are always going to be the people who bring about real change: people who can't easily be described, and whose actions can't easily be pattern-matched to an archetype. Often, these are people who don't take direction well. They might come across as weird, or antisocial. But their ideas are like nothing you've ever heard, and given the tools, they will create things you've never thought of.

Someone once said to me, in reference to someone who they thought was weird, "one way of looking at it is that they don't think mainstream culture is good enough for them." Damn straight. Being mainstream shouldn't be good enough for any of us. There's nothing to be gained by trying to be like everybody else, or by fitting yourself into a pre-defined pigeonhole.

Me? I like weird people, and I like working with them. I wish I was weirder myself: it's a sign of creativity, independence, and intelligence. San Francisco has a name for people who follow; they're called "normals" - or, sometimes, "consumers". It's not a label to aspire to.

In fact, none of us need to be normals or consumers. Once upon a time, we were needfully forced into demographic categories, so that products and media could be created that would broadly appeal to us. The Internet has created a world where anyone can connect to anyone else, whether it's to talk, to inform, or to sell. Fashions of all kinds are meaningless in a world where products can be viably created for an audience of one. They're an artifact of the age of broadcasting; one that's long since gone. We're in a post-demographic age, and if you're still trying to follow the crowd, you're a decade behind.

· Posts · Share this post

 

Phones aren't relevant in 2013 - so why am I forced to pay for one?

I've had a Samsung Galaxy S2 for two years, and I'm trying to decide which device to move to next.

When I moved to California a few years ago, I decided to go with T-Mobile, which has proven to be an excellent decision. Between dropping phone contacts and removing international data roaming fees, I've been very happy with their evolution, and (despite some poor coverage in various parts of the US) their service. In particular, I don't really grok why anyone would use AT&T.

But now, I find myself wondering if I need a personal phone at all. 99% of my phone use is over the Internet; I heavily use Google Hangouts, my voicemail and text messages are through Google Voice, and I've got credit on my Skype account. Particularly considering the data roaming changes, I think I could probably get away without the phone component of my device at all. After all, a telephone is a legacy device for voice communications over proprietary networks - something that is much more easily and flexibly done over the Internet. In many ways, an Internet phone number is better: it's not tethered to a single device, so I can call from whatever I have to hand, and change providers, even across countries, whenever I want to.

A MiFi, in other words, would be a smarter buy.

T-Mobile seems to be aware of this, because the only viable mobile broadband plan runs at $70 a month - which, coincidentally, is exactly what I pay for phone service with unlimited data. There's no financial incentive for me to change. And this carries on across the board: Verizon's is also $70, while AT&T is actually ten dollars cheaper for 10GB. Sprint is $80 for 12GB.

So despite not needing a phone plan, I'm forced into a position where I might as well get phone service. Because the data that comes with my $70 plan is unlimited, it's actually a better deal. That's disappointing: I was hoping to save some money by cutting out services that I don't need. But it also suggests that there's room for a data-only provider to cut through the incumbent networks and provide a service for data-only customers.

Android devices work well as mobile wifi hotspots, and T-Mobile doesn't charge extra for this these days, so it's not like I'm losing anything by buying another phone instead of a MiFi: I can still connect my iPads, laptops and other devices to my 4G service when I need to. Nonetheless, it feels odd to be be forced to buy into an old-fashioned way of doing things. I await the first consumer-oriented data-only cellphone networks eagerly.

· Posts · Share this post

 

How #xoxofest and #indiewebcamp saved me, in a way.

For me, one of the most interesting aspects of was the humility on show from people like Evan Williams, Maciej Cheglowski and Cabel Sasser - people who, in my mind at least, have "made it", and should be happy, successful and singing on hillsides with butterflies. Instead, each of their presentations was introspective and personal in different ways.

Frank Chimero captures one facet of it well in this amazing post:

After several talks, an unstated theme began to emerge, providing fuel for many of the stories and ideas expressed throughout the two days. It was often hinted upon, but only directly stated in Christina Xu’s talk. It came out as bright and searing as magnified daylight: “Independence is lonely.”

Independence is lonely.

When I moved to the San Francisco Bay Area, I did so for personal reasons. My mother has (had?) idiopathic pulmonary fibrosis, an incurable disease of the lungs that causes progressive scarring until you can't breathe anymore. I wanted to be close to both my parents to support them, and to spend more time with them. It was a good decision: I was there when she had to be bumped up to two refrigerator-sized oxygen concentrators in parallel in order to be able to breathe, I was there when she had her double lung transplant, and she's lying on my sofabed right now, in readiness for yet another session at the hospital.

So I have no regrets, even with everything else aside. However, you've probably noted that the San Francisco Bay is not the worst place in the world to be if you're making software. Legends have been made here. The people here have have made the world change over and over again - even before the computer revolution - and will do so many more times. I want to be in that mix. Call it egotism, but I believe I can help the world change, too.

But I was lonely.

Now, it's true that I wasn't fully independent, or alone. I work for latakoo, an enterprise video management startup based out of Austin, Texas. I'd been working with them first as an unpaid advisor, and then transitioned to lead their technology team. However, they were all in Texas, and I was all the way over here. Flights and Google Hangouts are useful, but they're not quite the same as having a ready-made community to plug into.

I've always liked to have my own projects, but the last big self-owned project I'd helped to start - something called Elgg - had not ended well. It still continues to be widely used, and I'm still very proud of the work we did, but the startup we'd founded with it succumbed to a series of bizarre interpersonal issues that I still don't fully understand. It's a shame, because we had been successfully bootstrapping, and had succeeded in a way that I think most web startups wouldn't be capable of, from a standing start with zero knowledge.

Those interpersonal issues were killer. There were, through the course of Elgg's evolution, a number of what felt like attempts to subjugate me in importance in the company, and in the project. I was threatening, I think, which is bizarre; if you've ever met me, you'll know that I go out of my way to be un-threatening. (And I was responsible for building the project, which is still in use in two national governments, Fortune 500 companies, etc etc.) In the end, though, it was a disagreement over a fundamental business direction that made me leave; I realized that it could never be profitable under its current heading, and I realized I didn't have quite enough clout to change this on my own. The company faded away less than a year later, and Yammer, a company that took exactly the direction I wanted to head in, was sold to Microsoft for a billion dollars.

So it goes. I left in 2009, just as the web was becoming more mobile; it was something you accessed from everywhere, rather than on your desktop or laptop. So I started to build something called Outmap, which would let anyone create, curate and crowdsource sets of geographically-tied data, and then share and access them from wherever they were. My two big use cases were (for the free version) crowdsourcing lists of free wifi access points using Twitter, which was a big issue at the time, and (for the pro version) being able to take biological species counts using a smartphone.

But then there was a kerfuffle with some people, because they felt that perhaps I shouldn't have been creating any social software at all after Elgg. All software is social, of course, and it was really an attempt to bully me into doing some things I didn't want to do, having already been bullied into doing some things that I also didn't want to do. They had a lot more money and power than me, though, which meant that I wound up shelving the project.

All of which brings me to San Francisco in 2011, feeling utterly burned-out about my own projects, and feeling shy about connecting with people in the industry because I was no longer doing the thing I was vaguely known for. I was forced to be a talker rather than a doer; something I strongly dislike. I had left my girlfriend behind in Edinburgh, I was dealing with a dying parent, I was in the midst of my startup's scrabbling-around phase (trying to find the right product-market fit), I was personally losing money every month because of the phase we were in, and I didn't know anybody at all. Without realizing it, I lost faith in my ability to create things on my own terms. Reader, I was miserable. For a year.

This is where community becomes important. Finally, in an act of desperation, I put out a message saying that I was having trouble meeting people (although, yes, that was mostly because of my own barriers). Tantek Çelik responded, inviting me to a microformats dinner in the Westfield Dome, where I had some great conversation with him, Kevin Marks and Ariel Waldman, and we collaboratively ended up submitting a pull request to Elgg, to get its profiles to support appropriate microformat markup.

A month or two afterwards, I went to XOXO and found a community of independent makers and doers who were creating things on their own terms using the power of the Internet and were improving their lives in the process. In a quiet corner one evening, I cried. And then I made a resolution: I would give myself time, every day, to build my own things again. In November, as part of NaNoWriMo, I wrote a novel.

That Elgg pull request was eventually rejected, and it was as a direct result of this that I found myself writing the first code for Bonita and then idno, and then eventually presenting my platform at IndieWebCamp. It was a lot more than a simple social platform that embodied some technical principles; for me, this journey has been more symbolic. It's been about taking my life, claiming some ownership, and rearranging it to be what I wish it to be.

(An important note: I have no ill will towards the current Elgg team at all, which is, in my opinion, doing a great job.)

I wrote the database and object code for idno while I was spending my evenings in my mother's recovery apartment, while she was getting slowly better after her invasive surgery. A couple of commits were from the ward after she was readmitted. I wrote the interfaces when I had moved back to my own apartment, and was still waking up every night with flashbacks from the day of the operation. I presented the first version - chickens! - when I was finally beginning to breathe again on my own terms, and was wondering what the rest of my life would look like. And now, I'm getting ready to release.

For me, the movement has been about software, sure, but it's more importantly been about meeting amazing people and once again being a part of a human movement. I have found my community in San Francisco, and I am no longer lonely.

They say that to have real satisfaction in your career, you should feel like you're making progress on meaningful work. More and more, I feel that way about my life. And it's helping me with my work on latakoo, my interpersonal relationships, and the way I feel about the world.

The power of XOXO isn't in the things that people are making on their own terms, although the things they're making are incredible. It's in the sharing of those things, and in the motivation to create, and in the community.

For both the and communities, I can say this: I'm proud to be there.

· Posts · Share this post

 

The return of the crafty makers from the future is every bit what I hoped it would be #xoxofest

 

thumb.jpg

Last year, I said this about :

I’m excited by the people I already knew; I’m excited by the people I met for the first time and might never see again. The conversations stretched past midnight every night. Everyone was an equal participant, and the meaning of XOXO – literally, hugs and kisses – was evident from the opening party through to the closing moments, as the conversation spilled over into an entire street in the middle of the night.

More than anything else, this was an uncynical, hopeful event that celebrated humanity and individual creativity. This is the promise of technology. Let’s make things and connect.

Here I am again, hanging out in Portland with a collection of amazing creatives and makers. I don't mean "creatives" in that asinine corporate marketing kind of way, but rather, people who create; while last year the event was open to anyone who backed it on Kickstarter, this year the only rule was that you had to be someone who makes things. Personally. Executive teams and marketing fact-finding missions were not allowed - unless, of course, the people on those teams were, individually, people who made things for themselves, on their own terms.

The result is, once again, an inspiring group of people, and once again I'm finding that the conversations I'm having in hallways and courtyards are every bit as inspiring as the talks I'm seeing on stage. I'm seeing more of my heroes this year, too - people like Evan Williams, Maciej Ceglowski, as well as people I didn't know were heroes until yesterday, like Molly Crabapple and Vi Hart.

Let's talk about the word "inspiring". Usually we use it in these kinds of contexts as a kind of platitude; it's almost a cipher for "oh, that speaker was very interesting." At the participants are inspiring in a more direct way, as in: "I want to go home and make something incredible right now." Since last year's event, I've written a novel and kicked off the creation of a new open source social platform. If anything, I want to create more things - but also do it in such a way that they're sustainable in themselves. Last year's event helped me blow off the pseudo-clouds of my impostor syndrome. This year's event, again so full of emotion and motivation and creative, hyper-intelligent people engineering their own lives so that they can make the things they dream of, is the kick in the pants I need to begin taking my own creation seriously.

And that, really, is the magic of XOXO. This isn't pie in the sky or some kind of nebulous conference about values. These are people who have done it; people who have made art, music, software, literature, devices and movies themselves. Hundreds of them. And they all want to talk, and hang out, and maybe make together. I hope to be back, and I hope to be meeting those entrance requirements - just make something! - for the rest of my life.

· Posts · Share this post

 

Building a business is the best kind of engineering challenge

I distinctly remember saying, as a young developer a decade ago, that I didn't enjoy the business side of startups. I was very wrong. There is no other side to startups - and engineering a profitable business is at least as challenging and rewarding as creating anything else.

Paul Graham's essay How to Raise Money is excellent: a distillation of the fundraising advice that Y Combinator gives to its classes into an article packed with actionable advice.

If you're running a startup, or are interested in the startup ecosystem, it's a required read. Here's the link again.

Paul says a lot here about the kinds of investors that are valuable, the important things to take away from an investment round (hint: more than enough money to achieve your goals, not necessarily a high valuation), and how to approach investment in the context of building a high-growth company.

But here's something else to take on board:

If someone makes you an acceptable offer, take it. If you have multiple incompatible offers, take the best. Don't reject an acceptable offer in the hope of getting a better one in the future.

This is one of the most important lessons you can learn - about anything, let alone startup funding. If you receive an offer, whether it's a price on a house or a funding offer for a startup, that meets your goals, then take it.

The prerequisite for this, of course, is that you've set goals. You need to have a plan, understand where you are, and have a good idea about what it'll take to get from here to there. Of course, in startups and life, plans tend to change - but then, you adapt the plan. Think of it like a GPS navigation system. You're not legally bound to stick to the path the map lays out for you - but as soon as you deviate from it, the software figures out the best route from where you are now. As an executive or a product manager in a startup, you need to be that GPS navigator.

Paul points out that you should have more than one path mapped out:

And the right strategy, in fundraising, is to have multiple plans depending on how much you can raise. Ideally you should be able to tell investors something like: we can make it to profitability without raising any more money, but if we raise a few hundred thousand we can hire a one or two smart friends, and if we raise a couple million, we can hire a whole engineering team, etc.

To do that, you need data. As Tim O'Reilly pointed out in his post, How I Failed, that means making sure everyone understands you're a business:

Every manager - in fact, every employee - needs to understand the financial side of the business. One of my big mistakes was to let people build products, or do marketing, without forcing them to understand the financial impact of their decisions. This is flying blind — like turning them loose in an automobile without a speedometer or a fuel gauge. Anyone running a group with major financial impact should have their P&L tattooed on their brain, able to answer questions on demand, or within a few moments. It isn’t someone else’s job to pay attention. Financial literacy doesn’t come naturally to everyone. Make sure it’s part of your employee training package, and make sure that people running important business functions are held accountable for their numbers.

Everyone should understand their budgets (and have budgets!), and operate within them. And everyone should have an awareness of what a potential plan will cost, and whether it's actually feasible using the funds and resources available to the team.

The days of raising a huge amount of money and hoping that a business model will arise are over, if they were ever here to begin with. Twitter was famous for this strategy, but you have to remember that its founders had a very solid track record and were trusted in both the industry and the Silicon Valley community; it didn't just happen out of the sky. They were seasoned businesspeople, and had top-tier business development resources available to them.

Bootstrapping - where you grow your company without any investment - remains very interesting to me, but isn't applicable in every scenario. While it's nice to build an engine that makes enough money to support itself from day one, not every business can support this; sometimes investment is required. Equipment, infrastructure, advertising or simple market runway justifications are reasonable - and open up business possibilities that bootstrapping couldn't manage.

However, with controlled growth and a practical starting product, I think bootstrapped startups can manage more than you'd think, although perhaps not in the timeframe of a VC-funded one. Nonetheless, here more than ever, this GPS sense of the business roadmap is required. There isn't a business that isn't, ultimately, tethered to the numbers.

Many developers think of startups in terms of building something cool, and indeed, the product is very important - but it's also the engine of your business. It's what people hopefully buy into and pay for. You can't base a startup on creativity and good intentions alone. Pragmatism, practicality and the ability to face reality head on are requirements.

The good news for entrepreneurial developers is that this isn't a million miles away from the principles of architecting a complicated software application. Certainly, a different set of requirements and skills are involved, but in both cases you're talking about a lot of interconnected pieces and resources that have to work together just so. If you ignore a requirement, or mis-assess your platform resources, your application will be belly-up. That's true of your business, too. The good news is, in both cases, you can monitor resources, iterate and test. Okay, you also need to have empathy, people skills, and a dozen other qualities as a business leader, but guess what? You need those to build great software, too. What kind of application will you build if you can't empathize with the user?

I think of my early developer self, and wonder what I was talking about. Building this machine is an amazing journey - and the rewards, of course, are great.

· Posts · Share this post

 

The Internet Explorer 8 web developer's dilemma

Google Analytics has announced it will end IE8 support by the end of the year, following Google Apps, which ended support for the browser last November.

Legacy browser support remains one of the hardest problems in web development. For years, Internet Explorer 6 was a bugbear, because enterprise applications were written with it in mind. Sadly, the same is true of its descendent: nobody uses IE8 on the weekend, which means that it's probably forcibly installed on enterprise networks, where users aren't allowed to install their own software.

Internet Explorer lock-in is rife in the enterprise, because of the browser's non-standard web support and ubiquity on Windows computers. Faced with supporting IE8 or web standards as they were actually specified, many enterprise vendors went with IE8, because that's where the customers were.

Compounding the problem, IE8 is the last browser in its line that will run on Windows XP, which is still prevalent in enterprise environments (even if users are slowly making the migration to Windows 7). In other words, to run a better version of Internet Explorer, enterprise IT departments don't just have to give permission for it to be installed; they must upgrade their computers from another operating system first. This is a significant expense.

In the web development community, it's easy to be dismissive and say that these organizations should be running Linux, and shouldn't have got themselves into this situation to begin with. (I've heard this attitude a lot.) That ignores the much broader context that Windows enterprise computing sits in, including the software ecosystem and the support infrastructure that's grown up around it. Most importantly, though, if we want to sell to a customer, it's probably a good idea to support the platforms that they actually use. The larger and more security-conscious the customer, the more reticent they may be to upgrade their platform software more regularly.

So how do you balance the fact that so many customers are on Windows XP with the fact that Internet Explorer 8 is a hideous, insecure platform that must be developed for separately?

One option is to gently suggest Firefox or Chrome, which both work with Windows XP SP2. At latakoo, we'll be doing that increasingly less gently; we've already communicated to our customers that we'll be slowly phasing out support, and we'll soon be adding some visible messaging urging them to switch browsers. However, the pragmatic reality is that many users can't switch, because of their IT rules, and often because of the IE8-specific in-house apps they're running, so we can't simply turn off support, even though maintaining IE8-only code costs us extra.

Moving away from IE8 will be more secure for every organization. (Microsoft is ending support for Windows XP in 2014.) Until then, if you're an enterprise IT manager, I recommend encouraging a two-browser solution: IE8 for the apps that really need it, and a secure, modern browser for everything else (including latakoo).

For developers, there's a lot to be said for increasingly less-subtle messaging explaining why Internet Explorer 8 is a bad choice. You're providing useful advice, while also encouraging your customers to get better value for money out of your service (because more developer time can go into new and more resilient features rather then legacy browser support). But don't switch off support completely - not quite yet at least - lest you leave some of your most important customers out in the cold.

· Posts · Share this post

 

At last! Another male developer talks about sexism in tech.

1. I know that my mediumsplaining misogyny adds zero value, so consider this a personal vent rather than a serious attempt to contribute to the conversation.

2. There's a giant misogyny problem in tech, and in the San Francisco Bay Area. I've seen more catcalling here than anywhere else I've ever lived, and been on the periphery of more conversations predicated on traditional gender role assumptions and casual objectification.

2a. That doesn't mean there aren't awesome, progressive people in California; obviously, there are a lot of them, including all of my friends here. And to be clear, I love living here.

2b. I was a teenage boy, and although I've always tried to be respectful of others, I've definitely said some things about people that I'm not at all proud of now. I also know that I'm writing from a position of privilege which is not always visible to me, and while I try not to be a part of the problem, sometimes I probably am.

3. With all of this said, I think it takes a serious lack of self-awareness to get up on a podium at an internationally-famous event and present an app called Titstare.

4. Titstare is disgusting but fleeting. What I care more about is how the wider problem affects my industry, my profession, the environment I live in, and therefore pretty much my entire life. Not to mention the lives of people I care about.

5. Apparently some people need this spelled out: women are not somehow biologically less suited to working in technology, or the sciences, or mathematics. It's worth checking out how the genders break down at, say, a high school level for those things, globally. Or, you know, just using a little common sense and working it out for yourself.

5a. Here's something else that shouldn't need saying: the glass ceiling is a ridiculous relic that should make us all ashamed. I'm a strong believer in equalizing maternity and paternity leave as one way of bringing it to an end. Women are not worth less in the workforce than men. This disparity is not merit-related.

5b. And by the way, the whole concept of a meritocracy is bullshit. It's built on an empathy void, and completely ignores individual context and history.

6. I don't want to work or live in all-male environments, or any other kind of monoculture. I would rather that smart, awesome people who can contribute amazing things didn't feel like they aren't welcome.

7. I honestly believe that a huge part of the problem is that a lot of people in tech are incapable of feeling genuine empathy for people from other contexts. I don't think they can put themselves in someone else's shoes, and see things from their point of view. This is a learned skill, and it is valuable: not just for preventing yourself from being hateful to others, and being a decent human being, but also for your startups, too.

8. Another common geek trope is to be deliberately controversial to get a rise, and to publicly wonder why people are so sensitive. Here is why people are so sensitive: because the controversial things you are saying are tantamount to persecution. Can't understand why that might be hurtful? There's that empathy void again.

9. But without wanting to diminish the previous points, all of this pales compared to the out-of-the-blue requests for sex, the dehumanizing comments, the rape jokes, the abusive emails, the sexual assaults, and the day-to-day slights and injustices that I honestly wouldn't have believed any functioning adult human would stoop to. I can't mediumsplain this, or mansplain it, or explain it, or even come close to understanding why this kind of stuff exists. I can put myself into the shoes of the abusers here - and they are abusers - to try and determine their motivations, but the best I can think of is that it's some kind of sick power game. It's so completely broken as to defy belief, but I do believe it, of course. I don't know how you go about correcting someone who thinks that any of this is in any way okay.

10. These aren't fucking revelations, people. Our industry is supposed to be building the future. I don't want to live in a world where people are discriminated against because of their gender, sexuality, ethnic background, context or class. Solving that for the world is a hard, disruptive problem. Solving that in our industry seems doable. We're not doing a very good job of it so far though.

11. I'm sorry / not sorry for this vent. Selfishly, I wanted to write something down, but there are lots of people who talk about these issues in an informed, eloquent way, which I haven't here. @shanley's Twitter feed is a great jumping-off point; I've learned a lot from the resources and issues she links to.

· Posts · Share this post

 

Watches and glasses are small thinking

I'm less interested in smartwatches, glasses, and so on than the idea of intelligent screens that all connect to the same robot brain. So you can walk over to a window, or a phone, or a tablet or a computer or a fridge, and it knows it's you and you can use the same apps & data.

There's two ways that can work. One is that you're building apps that know about every form factor and device capability and are deployed separately, in the same way that Netflix has 120 different versions of each video to match the exact screen and Internet connection you happen to have. That's completely nuts. The other way is that you're sending an app interface down the wire that automatically adjusts to the device that you're accessing it through.

The best technology for that is the web, and that's one of the reasons that getting identity on the web right is so important. Being able to open your watch ("open your watch"?) and use the exact same app that you use on your tablet, or your car, is a big deal. Of course, the interface changes and adapts based on the amount of real estate you have and what the device is capable of, but building individual support for every single new thing that comes along is not sustainable.

So I don't care so much about watches or glasses. What's much more interesting to me is that idea that I can access my stuff on anything. Whatever works for me, wherever I am. That's cool.

· Posts · Share this post

 

One more note on surveillance

My dad always used to complain that he was being followed, and I never used to believe him. Honestly, I thought he was paranoid and a little crazy.

But then, one day, I saw it; a man following and recording us. It was unmistakeable. Blatant even. How had I missed this before?

All of this has been happening for a long time. My dad organized Vietnam War protests, and was stopped by the police every time he went out in his car thereafter. We know that people like Noam Chomsky have been under surveillance for decades. This kind of surveillance isn't new.

What's new is the technology we've all built to help them do it.

That man who followed us? I took a picture of him and he ran away. Just saying.

· Posts · Share this post

 

Government - the last great gatekeeper - is ripe for disruption.

You know, on one level, I just want to say "fuck everything", hold up my hands and walk away.

This closing piece on Groklaw is well-thought-out, considered, and gut-wrenching. "But for me, the Internet is over," Pamela Jones writes. Perhaps it should be over for many of us; as she points out, the founder of Lavabit, which shut down recently in response to an NSA search warrant, has stopped using email entirely. "If you knew what I know, you might not use it either," is the pull quote. Jesus.

This isn't about the Internet as such. It's about surveillance, for sure, and the chilling effects it has on freedom of speech, on freedom of thought, and the inevitable march we're all making to a new kind of distributed society. We're all connected to each other now, and the cat's not climbing back into the bag. Music was disrupted; movies; business. Government will obviously be disrupted by the new kind of interconnectedness we all share. Some have argued that it's happening already. In that context, it should be no wonder that all of this is going on. The change is inevitable, of course, just as the disruption of the entertainment industry was inevitable, but we're dealing with powerful structures.

We're all making it easy to be surveilled, by placing our data into silos, and putting so much of it on the Internet at all. Moore's Law was the only real limit to mass surveillance, and we're there. We're awash with data. Phone calls are routed over IP. How many of us send personal letters anymore? Not that it matters, because guess what, that's being logged too. (And sure, most of these news stories are coming out of the US, but don't let that fool you. We've see stories from elsewhere, too, and we know that the different agencies share information with each other.)

"Friends don't let friends use cleartext," my friend Marcus Povey writes. I'd argue that friends don't let friends put their trust in algorithms that can be backdoored, socially engineered and compromised without our knowledge.

I no longer buy the idea that we can code our way out of this. Not entirely.

Here are two things I would love for everyone to do; I'll start. The first is to publicly declare the jurisdiction in which you live, and in which your data is hosted. That way, people can make an informed decision about how to communicate with you. You can do it like this:

Hey, everyone! I live in California, my email is hosted by Google, I keep documents on Dropbox, and my server is hosted in Dallas, Texas.

Now you know whether to email me. And it also gives me some motivation: to move my email away from Google (hopefully with Mailpile's help, and to set myself up with something like ownCloud in place of Dropbox. (Of course, I'd declare where I hosted that, too.) I'm going to place this notice in my profile.

The second, and most important, thing is to take proactive, real-world action.

None of us can afford to be apolitical anymore, and we can't afford to be sidetracked by ridiculous political sideshowing. You might be a libertarian or a conservative; I'm a liberal who likes to call himself a social capitalist. It doesn't matter. What matters is everyone coming together, in conjunction with organizations like the EFF and the ACLU (and Open Rights Group and Liberty), and actively protesting. Get on the streets, tell your friends and neighbors what the problems are. Do it rationally and non-violently, but raise awareness however you can.

We have to learn how to play politics. There will be voices who call for revolution, or who publicly declare that playing this game is tantamount to aligning ourselves with government. I don't believe that these are productive discussions. (Although, I'll restate my belief that government will be subject to the same forces that other sectors were. The Napsterization of democracy will be good for all of us.)

Still, I think it's more practically possible to make freedom a mainstream political force again, and it seems to me that the best way we can do that is on the streets, in the real world. It's baffling to me that this should be necessary in America, whose self-labeling as "the land of the free" now seems wilfully Orwellian. Nonetheless, we need to deliver a clear message that only the politicians who actively support our civil liberties will, in turn, receive our support. The aforementioned organizations, as well as groups like Demand Progress and Restore the Fourth are already doing great work on this.

Even more than that, in our own actions, we have to conscientiously object. Buy services from countries with a good civil liberties record over countries that don't. Store offline. Opt out of services that track you for no good reason. Support anti-tracking measures, and projects that seek to put your own data under your own control. Support Manning. Support Snowden. Support journalists like Glenn Greenwald.

We get the world that we deserve. Some of our greatest minds have been focused on how to make extensive silos of data that infer things about our behavior, often without our knowledge or consent. They've disrupted music; they've disrupted movies; they've disrupted business. It would be very nice if we could all disrupt that last great gatekeeper - just enough so that the balance of power rests in equilibrium.

· Posts · Share this post

 

"Britain": a pitch for a sitcom. (cc @aiannucci)

One-liner: a gaggle of inept public servants attempt to maintain a fully-functioning Orwellian dystopia. Or, Yes, Minister meets 1984. Or, Little Britain meets Brazil.

It's the near future, or an alternate present, or our present, or even the recent past - we're never quite sure. The government is doing everything in its power to spy on its citizens, as well as any visitors hapless enough to wander in through the borders, in the hope of retaining the status quo.

Scene: Etonian public servants attempt to run sham coffee shops at the G20, in order to dupe attendees into sharing their state secrets over the wifi. None of the public servants have the first clue about how to run a coffee shop.

Scene: journalists are detained at Heathrow. There's no good reason to keep them there, so cue awkward, protracted explorations of the contents of their luggage, as if Harold Pinter had written the Generation Game.

Scene: the government erects an Internet filter, recording all data traffic going in and out of the country, despite nobody in Whitehall quite knowing how to use a computer or how the Internet works.

In other words, the premise is that the government is inept, hopelessly bureaucratic, and catastrophically bad at running the dystopia it so badly wants to call its own. And how could that not be hilarious?

· Posts · Share this post

 

What's the best way to give developers space?

Software developers are not technicians. Whereas technicians are employed to do practical work involving technical equipment, the development process is more akin to writing. Paul Graham was absolutely right when he pointed out that:

[...] Of all the different types of people I've known, hackers and painters are among the most alike.

What hackers and painters have in common is that they're both makers. Along with composers, architects, and writers, what hackers and painters are trying to do is make good things. They're not doing research per se, though if in the course of trying to make good things they discover some new technique, so much the better.

Making requires concentration, creativity and skills. In turn, those things require the right environment, talent and practice. All three can be cultivated.

As a CTO (and, in effect, product manager), part of my role is to protect the team I work with and ensure that they have the right environment to do their creative work. Depending on the startup, the resources and the context, how well this works is a mixed bag.

Most developers I know work with great big headphones on. This isn't an accident; think of all those scenes in The Social Network where someone can't be interrupted because they're "in the zone". It's a great big social signal that says, "I'm working". Completely understandable: regaining your concentration after an interruption can take a very long time.

More than a set of kick-ass headphones, though, a productive environment needs to be cultivated. Here, asynchronous communication becomes important - developers tend to prefer communicating by email because they can do it in a natural break, without replying right this second. Similarly, meetings need to be scheduled carefully. Non-developers sometimes have trouble with this, and perhaps see it as an anti-social trait. It's not: you've got to leave people alone to work. If you're looking for a frenetic pace and for something to always be going on, I'd hazard to say that a software company shouldn't be your first port of call.

(The flipside of this is that developers have to remember to send those emails and be communicative. Nobody likes a black hole in their team.)

I've been thinking a lot about this lately, and would love to hear your thoughts:

If you're a developer, what do you do to maintain your concentration?

If you're a CTO or a product manager, what do you do to help ensure that your team has the creative space to do their work?

If you're a non-technical manager, how do you prefer to interact with your technical teams?

· Posts · Share this post

 

Idno and the #indieweb at the W3C Workshop on Social Standards #osfw3c

It was an honor to present Idno to the W3C Workshop on Social Standards: The Future of Business in San Francisco last week.

My position paper, The Indieweb as a Minimally Viable Platform, was previously posted on this site. It speaks for itself: the decentralized social networking technologies evolving as part of the , I believe, are perfect for exploring and testing new social workflows and interactions without significant resource expenditure. In enterprise situations, this is key: too often, technology stacks are dictated by committee, and user experience becomes subservient to a growing list of untested needs. Silicon Valley startups know that you need to validate your ideas before you invest too heavily; it's time that enterprise caught up to this approach.

Conversely, larger organizations do have a different set of needs, and it's important to incorporate those into software designed to serve them. Security is often paramount (as it should be), and most large organizations won't consider running software on third-party clouds, or that "phones home" with aggregate statistics about their data. As it happens, those are some of the values that the shares. It's also Elgg's largest market, and it's clear that there's still a need for a simple to use, off-the-shelf, fully self-hosted platform that enterprises can use to facilitate social communication internally. Idno's intent as a replacement for Elgg that works with modern web standards continues to be vindicated.

Some comment was made about how the presenters at the event had to overcome their fear of the enterprise to get there. That's very far from the case. I've been working on easy-to-use enterprise software for almost ten years, and I continue to be passionate about bringing the ease of use and fluid social interactivity of the rest of the web to that market. I believe that the community's work is very applicable, intend to help get it there, and know that I'm not the only one.

Thanks to Harry Halpin, Mark Weitzel and the Programme Committee for inviting me. I learned a lot, and had fun meeting everyone.

Also posted on IndieNews

· Posts · Share this post

 

Working from home: how not to get distracted

Far away

In 2004, I quit my job and spent six months working on Elgg full time, burning through my savings. My living room became my office, and I quickly learned I had to find a way to stay motivated and un-distracted.

I'd worked from home once before, of course, when I was doing my degree. As a student, my brain was scattered; I never figured out how to block out the world around me and concentrate on what I had to do. Partially that was because I was still figuring myself out as a person; partially that was because the Edinburgh University environment itself was sub-optimal for me. It often seemed like nobody was concentrating on the work they had to do.

For the first month or two, I'd sit and stare at my computer, make myself some food, listen to music, go for a walk - anything but actually get started on work. It'd sometimes be 3pm before I put down a single line of code or even write an email.

For the nine years since then, I've mostly had to be self-motivating. I've learned a series of very simple techniques that keep me working, let me achieve my tasks, and allow me to stay relatively sane while spending lots of time by myself. Some of them probably work just for me; some of them might be more universally helpful. Everybody's different. Nonetheless, here they are.

Don't be macho. Burning the midnight oil on a project makes you sound like you're super hard working, and it can be pretty satisfying while you're doing it. But not taking care of sleep, exercise, nutrition and your social life will very quickly impact your performance. You'll probably find that your work from 3am isn't quite as awesome as you thought it was at the time - and you'll struggle to concentrate for at least the next couple of days. Keep relatively regular hours, and take care of the rest of your life. Take regular vacations, too; downtime is good for your creativity. (The one semi-macho thing that works really well for me: sprinkling my day with regular exercise. I always walk 10,000 steps a day, and if I start my day with 100 decline crunches and some push-ups, I feel much better than when I don't. It's not hard to work yourself up to that point, either; trust me, I'm hardly what you'd call athletic.)

Drink water. Sounds dumb, right? But drinking water improves concentration. For one thing, you're keeping your brain hydrated. But coffee - or worse, sweet drinks like cordials and sodas - will set your off on a spike-and-crash pattern that gets in the way of steady thought. Bonus: drinking plenty of water through the day will also help you sleep, which also helps with concentration. It's the little things. And for the same reason:

Don't eat junk. I mean, duh. I've found that eating lighter food during the day, with plenty of vegetables and protein, results in much better work. (If possible, cook for yourself.) Actually, my biggest problem is not eating enough: it's easy to under-consume calories when you're eating things like salad. You need to give yourself enough fuel. Meanwhile, while I think they're delicious, meals with a lot of meat or carbs tend to send me to sleep. Not useful.

Find music you love. Now that we've taken care of your body, let's talk about removing all those distractions. For me, that means plugging in some ear buds (or immersive headphones; the point is to block out exterior noise) and sticking on a playlist. Usually, I'm into artists like Ani DiFranco, Hamell on Trial and Eels, but when I'm working, those don't work for me at all. Instead, I've found - and again, this is purely subjective - that the best concentration food for me is stoner music. Groups like Nightmares on Wax, Mr Scruff, Lemon Jelly: perfect. There's something about the slow beats that block out the rest of the world and promote concentration in just the right way. I consider my Spotify subscription to be one of my most important productivity tools. I've built a coding playlist, which I often use to seed a radio station. I guess one reason why stoner music works for me is that a continuous sense of calm is helpful. (It's worth saying that I don't actually get stoned, and don't recommend it.)

Don't be interrupted. Turn IM, IRC, your phone, off off off, unless you absolutely have to be contactable. If you share your home with others, let them know that when you're working you shouldn't be interrupted unless it's really important. That can be really hard to understand, and I've seen (other peoples') entire relationships disintegrate because of it. It might seem like a small thing to people who aren't in the zone, but it can take 30+ minutes to regain your concentration after you've been interrupted. (I find that even seeing people around me doing non-worky things is disruptive.)

Sit up / stand up. Working from the sofa doesn't work. Don't try it. And get up and walk around for at least 5 minutes out of every hour.

Accept that you're human. If you're bashing your head against a problem or a piece of work that doesn't seem to be budging, there's nothing to be gained by continuously, fruitlessly hammering away at it. Go for a walk; have a glass of water; focus on something that isn't your screen. When you come back to it, you'll have a much better chance of getting something done. Furthermore, everyone has bad days, and they don't make any of us feel good; if you're really getting nothing done, it's okay to go get some fresh air instead (if you can).

Find your motivation. Finally, figure out what makes you excited to work. For me, that's getting feedback, so I'll often release my work early - sometimes a little too early. Knowing that there are people - a manager, a client, users - looking forward to seeing the work I'm doing is spectacularly motivating. Other people are motivated simply by creating something beautiful, or finding an elegant solution to a problem. Again, everyone is different. It's important to understand your own goals and desires. It may help to figure out how to mark your own progress, beforehand, so you can maintain a sense of momentum.

This is probably the most important thing for me. It's not enough to have a job; I've got to be working on something that has meaning for me, in a situation where it's possible to make an impact. If I believe that the project I'm working on isn't important, or there's no way to succeed, it's all over for me. Nobody likes working on a treadmill.

All the usual advice about working with great teams comes into play here: if you're working with other people, make sure they're great people. One bad apple can poison a team, and I've certainly seen situations where one guy's poor attitude ruined an entire startup. Working at home is still working - in addition to the above, all the usual workplace tips apply.

Finally, regarding keeping your brain running, this article from the New Scientist is pretty good. I don't think I like the idea of smart drugs, but there are some solid tips here.

Written with the help of Georgie St Clair, Jonny Miller, SamarKaushal, Jaqueline Png, Danae, Joachim, Julien Genestoux, Paul Birch, Domenico Perri, Jamie Bullock, Annalyn Aguilar, Ahmed El Gabri, Kristian Kruse, Linda Mork, Zoe M. Gillenwater, Gordo, Mike Sirrah, 不能淋雨的眉毛, Niall Thompson, olga_zagorzelska, Antonella Iselli, Jack Smith, ntlk, Aisha Rawji, Lowfill Tarmak, sanjaypoyzer, Thomas Kjemperud, Chloe Nicholls, Paul Sturrock, Stef Lewandowski, Johnathan Leppert, damnitnicole, Robin Lynch, Emarcroft, fee plumley, Jeri Dansky, and Erin Jo Richey

The photo was taken in 2007, when I was working on Elgg.

· Posts · Share this post

 

Outmap: a collaborative geodata platform I couldn't release.

When I left Elgg in 2009, I immediately started working on Outmap, a social geodata platform that you could use with any web browser. It never saw the light of day.

Outmap allowed you to collaboratively create map layers, either privately in a group, or in public. Here's two use cases that illustrate what you could do with it:

  • Crowdsoucing useful free wifi hotspots Back in 2009, finding free wifi that worked well was a mission. Suddenly, you weren't alone: you could set up an Outmap space, and tell it to watch a hashtag, for example . Users could then tweet with an address with that hashtag, or add geo-information to the tweet itself. Outmap would also watch Flickr for that tag, and check for location information either in the Flickr metadata, or in the EXIF data in the photo itself. The data then could be mapped, or simply displayed in a list based on your current location.
  • Gathering (or crowdsourcing) scientific data Users could add fields with types. For example, if you were doing wildlife counts, you could take your GPS-equipped smartphone into the field, and as long as it had a web browser that supported the Javascript Geolocation API, that would be all you'd need to record a result. Your Outmap space would tie your numeric recordings of wildlife data to the location where you recorded them. And because it was all social, and tied to individual user accounts, you could examine (or even remove) recordings made by particular individuals for full accountability.

It was based on data tied to individual location points, but further developments would have allowed you to group points into areas, in order to better support some scientific applications. And again, it was all web-based used existing web standards, all social, and (like Elgg) had per-item access permissions.

Outmap couldn't be released for reasons I won't go into here, and were unrelated to the mechanisms of the platform (but were related to the fallout from my decision to leave Elgg). Let it suffice to say, it was out of my hands. I abandoned work on it in 2010, and moved on to work on latakoo.

Geolocation has evolved since 2009, and I think we all now understand that the web is something that we can access from anywhere, and that pages can know about your geographic context. Some other use cases were covered by Google Maps and (particularly) Findery, which is building up a world of memories, found objects and resources on a shared map. Geoloqi, whose founders I really like and respect, supercharges the kinds of use cases Outmap supported (as well as many others). Meanwhile, there are (and were) professional GIS platforms that are extremely powerful and used for many scientific and industrial applications.

I still think there's a place for this kind of functionality in an enterprise social platform. Luckily, I'm now in a position to work on that. Watch this space.

· Posts · Share this post

 

Building latakoo into a flexible media database

I don't think it's saying too much to talk about how we're building latakoo into a cloud media database. Customers from all over the world - a large number of which are television journalists - are using us to send footage, archive it in a searchable way, and synchronize it with their own enterprise infrastructure. Broadcasting and Cable recently discussed one of the things we're doing with NBC News, which leverages our API to distribute archive footage to paying clients. But every day, we're adding more hooks and functionality to allow people to build sophisticated media workflows with latakoo as the back-end.

Here's one example of how it works.

A journalist out in the field shoots some footage, and pulls it straight off the camera into the latakoo desktop app. (For example, we'll take footage from a Panasonic P2 card.) They choose one or more destinations, and hit "start". The app then intelligently compresses the footage, taking note of metadata like timecode, and stitches segmented video files into a single long piece of footage if the user wants it to. It's then rapidly sent over a standard Internet connection (some folks use 4G cards, others go to Starbucks or use sat phones) to our servers. There's an iOS app too, of course, and Android is on the cards. We're also releasing new versions of the desktop app later in the summer, which includes much faster uploads for high-bandwidth environments.

Once the media hits our servers, it might be transcoded into a format of the recipient's choice, and sent to their infrastructure. That's important, because media operations don't want to have to worry about format incompatibilities: they just need to receive the footage quickly, in a predictable, fast way. There's full individual and role-based permissions, so only the people of the recipient's choice can see it on latakoo.com, and of course they have full control over their infrastructure.

They can embed the video on the web, of course, but they can also add extras like automatic transcriptions, or push to a custom-branded video portal. They can also use our API to search, retrieve and manipulate their content (which is designed to make integration simple, unlike the SOAP-based messes a lot of professional media platforms are saddled with).

Internally, our platform has the ability to hook any custom metadata at all off the footage, and we're in the process of releasing that to our customers too. There are also tags, notes, comments, and everything you'd expect from a social platform for business.

We're a very small team, but I'm proud of everything we've put together. We punch above our weight, consistently, and although enterprise software might not be as sexy as the next Snapchat or Instagram, we get to be the delivery backbone for some very high-quality news operations around the US. They depend on us, and we're proud to serve them.

· Posts · Share this post

 

On engineering the life I want to lead.

Here are some of my high-level life goals. Some are pretty universal and bland; others are specifically mine:

  • Have a positive, progressive impact on the world
  • Live comfortably
  • Work on projects I'm proud of in collaboration with great people, which allow me to fulfil the previous two goals
  • Be able to choose my location, and have the freedom to discover new ones
  • (Eventually) have a family, give them the attention they deserve, and ensure that my children, too, understand that they're citizens of the whole world instead of one specific place

That last bullet might read as being a little odd, but it's borne from necessity. I was born in the Netherlands, grew up in England (with gaps in Austria and North Carolina), went to university in Scotland, and now live in California. Part of my family can be traced back to the Mayflower; other parts come from Switzerland, Ukraine and Indonesia. My ancestors and contemporaries have fled pogroms, helped reform religions, lived through internment camps, built up lives over and over again. My relatives are scattered across nations and continents. In order to be connected with my wider family, I have to travel. I'd hope that my children would be connected with their wider family too!

This is both the blessing and the curse of the third-culture kid: I'm not tethered to any real sense of patriotism for any particular place (and don't feel much empathy for the sense of patriotism that others hold). Family is my nationality, and I feel relatively free to try new places. But because that extended family is scattered, I need to have a certain budget - one that is obviously multiplied with a family of my own. And I need to have freedom to travel.

I'm lucky to work in software, and I'm lucky to have been born where and when I was; all of these things are feasibly within reach for me. Nonetheless, it's a life outside the box: the world is still set up for people who live in more or less one place for their whole adult lives. My challenge, then, is to engineer the life I want to lead. (Of course, this is probably a good exercise for anyone.)

As time goes on, I think more and more people will be like me, with scattered families and backgrounds, who want to live in a way that's tailored for them, rather than dictated by tradition or a cookie-cutter mold. One possible future of work isn't with vast corporations, as it largely still is today, but with individuals loosely joining around projects. Just as Just In Time automation allows for working inventory to be minimized and components to be sourced as they are needed, Just In Time employment allows workers will specialized skills to join projects on demand.

That doesn't quite cover the whole story, though: domain knowledge is important, and consistency across a project over time is valuable. My value to latakoo isn't just my knowledge of web development and technology strategy; it's also my knowledge of latakoo itself. At it's simplest, I understand why past decisions were made, and can make better future decisions with this knowledge in mind. Not only that, but "Just In Time" employment leans heavily in the direction of the employer; employment benefit, not to mention a steady income, remain a very important consideration for the vast majority of people. Nobody wants to be without health insurance, for example (in the countries where that's necessary). Or mortgage payments / rent money.

So employment isn't going away, even for folks like me - but I work from an office that I pay for myself, in a city by myself. So there's nothing stopping me from working from the Bahamas for a week, or from London, or Singapore. Well, okay, there's the money, but the effect on the company is exactly the same. I'm still in the chat channel, still on Google Hangout, still answering calls and emails, and still pushing work. Other organizations work in similar ways: Automattic, the company behind WordPress.com, prides itself on this.

This is possible because of the Internet, and it opens up some other new possibilities for employment and living: a world where your choice of city and country don't affect your employment potential, and where salaries are untethered from geography. In the future, as more and more projects become geographically decentralized, it's easy to imagine a software engineer's salary normalizing across borders. It's also easy to imagine choosing a place to live like you'd choose a car: efficiency, the experience, cost effectiveness, your values. It's also easy to imagine citizenship becoming more fluid, at least for skilled knowledge workers.

I'm looking forward to a time when people aren't locked into geography, and I'm doing my best to start avoiding that lock-in now.

· Posts · Share this post

 

A new way to measure continued progress of existence and events.

Today we're introducing a new app to measure the indefinite continued progress of existence and events in the past, present and future, regarded as a whole. It's a new way to determine where you are in your day, your week, and even your life, and we're rolling it out across the iTunes App Store, Google Play and Windows Store starting today. We call it Ticky, and we're excited to share it with you.

First, here are a few highlights that make this release stand out:

Explore. The new Ticky for Mobile will allow you to see where you are in the context of your day, and everyone else's, using a concept called tocks. Everyone gets exactly 114,300 tocks from birth to EOL. Simply tap the face and you'll see an at-a-glance visual representation of where you are in your life's path. Tock, tock, tock. It's fun!

Memories. A beautiful sunset; young hands touching for the very first time; the way that special someone made your heart feel, long ago. Now you can record all your memories in Ticky, just by jabbing it with your finger.

A revolutionary design. Examine your contextual progress using a beautiful, existentially flat design.

And finally, Ticky is a way to discover valuable offers, constantly.

One thing you should know is that the universal concept of time will be retired. We understand that you may still want to discover how your progress in the context of past, present and future relates to your peers and all of reality around you. We anticipate that you will now do this using Ticky.

· Posts · Share this post

 

Latakoo in Broadcasting & Cable

We got a mention in Broadcasting & Cable magazine!

You've got to be a subscriber to read it, so here's a pertinent excerpt:

One notable example of those efforts can be found at NBC News, which in 2011 became the first U.S. broadcaster to set up an online site that allowed clients to buy and download archive material, Fon-Sing says. “It is part of an underlying goal of opening up the archives so our clients have easier access,” she says.

To further improve those systems, NBC News is currently working with video company Latakoo to develop a new content delivery system. On a network level, tech teams are also using a new media asset management system that will improve the capacity and flexibility of the archive system.

You can check out the whole article here.

· Posts · Share this post

 

The #indieweb as a minimum viable social web ecosystem

This piece was submitted as a position paper for the W3C's Workshop on Social Standards: The Future of Business, due to be held on August 7-8, 2013, in San Francisco.

Really interoperable interoperability

Much has been written about both the power of APIs to connect social applications in powerful ways, and vendor lock-in in the context of those APIs. Rather than usher in a new era of interoperability and open computing, APIs have allowed vendors to create new ways to lock users into their ecosystems.

In many verticals, simply gaining access to a product’s API documentation is enough to require complicated licensing arrangements, vendor evaluation of your business intent for the API, and often, an asymmetric Non-Disclosure Agreement. “Open” is the new closed: too often, the API is a proprietary product in itself. This is as true in social software as it is elsewhere.

This proprietary nature carries multiple business risks. Not only does it require that customers invest heavily in a particular vendor’s products, but should that vendor subsequently decide to discontinue those products – as happened recently in the case of Google Reader and a number of Yahoo! products – the customer must repeat that investment in another platform. Finally, recent surveillance revelations must be food for thought for any business using proprietary services to host sensitive data.

Sophisticated open API standards mitigate these risks, but developing support for these can require a significant expenditure, and the business case may not yet be clear to most vendors. There is no doubt that they occupy an important place in the emerging social landscape, but not all vendors, or their customers, can justify the level of technical expense currently required to “buy in”. Indeed, given a high enough barrier to entry, even ostensibly open APIs may inadvertently have the same ill effects as closed ones.

Proving it

Although there have been significant advances in the field over the last five years, there remains a need to prove the business value of decentralized web technologies. To many of us involved in both the industry and the movement, this seems silly: after all, the business value of other decentralized technologies, like email and the phone system, are hardly questioned. Nonetheless, in a world where centralized data siloes regularly receive multi-billion-dollar valuations, the onus is on those of us who are building more open technologies to demonstrate their worth. Note, it is not enough to argue their worth: we must build, ship, and actively demonstrate a profitable product or service with a business model where the decentralized social web is an inextricable component.

I believe that these compelling business models exist, and that they are most easily discoverable in the enterprise. However, belief is not demonstration: we must continue to test and iterate them. During this exploration phase, this means that, our software and underlying protocols must be easy to write, adapt and change. Ease of development is more important than sophistication; we must not create our own technical lock-in before we even ship.

The IndieWeb

The “IndieWeb” movement was founded by Tantek Çelik, Amber Case and Aaron Parecki, around their annual IndieWebCamp event. Although it was originally created to encourage participants to self-host their own web presences (a laudable goal in itself), over the last year it has also begun to incubate a number of simple social web protocols based around Microformats 2 and Webmention.

At its simplest level, assets on the web are marked up with appropriate Microformats 2 classes, so that any parser may obtain a consistent JSON representation of their content. Linked targets on the page are then pinged using Webmention (or pingbacks), which alerts them to the presence of that content. They may then go back and parse the source of the ping, discovering content like comments, replies, event RSVPs and favorites. Adding more content types would be trivial, and indeed, more are emerging every week. If a content type is not registered, the target page may simply register that the source “mentioned” it.

An obvious further implementation incorporates signed HTTP requests for both parsing and Webmention pings, allowing for lightweight authentication so that protected resources can be selectively revealed.

The protocols and standards under development within the IndieWeb community offer some unique advantages for testing decentralized social models:

  1. They piggyback on top of an open, decentralized system that everyone has already bought into: the web itself. Indeed, on the IndieWeb, where possible, the web is the API.
  2. They are extremely simple to develop for, allowing you to concentrate on building well-designed tools that meet human use cases instead of building support for social protocols.
  3. Social software need not be “monolithic”. Suites can be constructed out of small, compatible pieces, loosely joined.
  4. Major search engines support Microformats, so marking pages up to be IndieWeb-compatible may also yield SEO benefits.
  5. The IndieWeb community actively embraces participation in existing closed networks through a process called POSSE, minimizing the potential business impact for entities transitioning to a decentralized model.

POSSE - Publish (on your) Own Site, Syndicate Everywhere, as coined by Tantek Çelik – accepts that your friends, contacts or customers are easier to reach on the social platforms they’re already using. Therefore, content on your own, independently-hosted platforms syndicate out to your audience across the networks they already use; links point back to the originals. In the short term, it becomes immediately possible to experiment with decentralized social models without losing your existing audience. Over time, it may be possible to transition those audiences to consume and interact with your web presences in a more decentralized way, ensuring that you can post on your terms, and they can consume on theirs.

While most implementations of POSSE concentrate on consumer social tools like Twitter, Facebook, Flickr and Foursquare, there is no reason why the same principle could not be applied to commercial platforms like Yammer, Avid Interplay, GitHub, Salesforce or SocialText – or any proprietary service used internally inside any enterprise, APIs permitting.

Idno as an experimental testing ground

Idno is one embodiment of an IndieWeb-compatible open source platform that can be installed across many hosting environments. It was originally designed as a replacement for older open source networking platforms, but rapidly evolved into a testbed for many of the ideas the IndieWeb community was proposing.

At the time of writing, decentralized social web activities supported by Idno include:

  • POSSE posts to Twitter, Facebook, Flickr and Foursquare, and replies on Twitter
  • The ability to comment on, or reply to, a post (or multiple posts) on another IndieWeb-compatible site
  • The ability to “like” a post on another IndieWeb-compatible site
  • The ability to RSVP to events posted on other IndieWeb-compatible sites
  • The ability to post content, including status updates, blog posts, bookmarks, photos, geographic “check-ins” and events that other people with IndieWeb-compatible sites may comment on, reply to, “like” or RSVP as appropriate

Due to its framework origins, Idno allows developers to easily build new post types. Indeed, support for events and RSVPs – at the time unsupported by any other IndieWeb-compatible software – were built in a single evening, with one developer, directly after an IndieWebCamp event. Other software produced by IndieWeb developers began to support events and RSVPs the next day. By the end of the week, at least three separate software platforms supported the content type. There is no doubt that the barrier to entry is low for individuals and businesses alike.

Conclusion

The rapid development that IndieWeb standards make possible is perfect for testing business models relating to the decentralized social web. This does not undermine the technologies and successes of the wider federated social web movement, or of other open social software projects; however, it does allow models to be tested much more quickly.

The relatively low barrier to entry of the IndieWeb also may encourage more developers to take part (as has already been shown), and as such, it seems likely that the standards that community is developing may find themselves in wide use for some time to come. An obvious analogy is RSS, which is not a sophisticated syndication standard, but saw widespread use due to its ease of implementation.

Many of the prevalent models for social software are hostile to the needs of both businesses and individual users. The IndieWeb aligns software developers with their users, while providing simpler tools for development, and encouraging both wider participation and more experimentation. I believe the result will be accelerated innovation in social software, and a much faster path to validating business models for the decentralized social web.

Syndicated to IndieNews

· Posts · Share this post