Mozilla is going to deliver a $25 smartphone to various locales called “Emerging Markets”. For many, many people this will be their first smartphone ever. Many of these people live in poverty stricken environments.

I’ve been reading The Locust Effect. The thesis of the book is that violence is a topic that must be added to the conversation around solving poverty issues.

Many Mozillians who are building the software to power this $25 phone, have the blessing to rarely think about violence, abuse, rape and slavery in the context of the daily lives.

Unfortunately, many people in emerging markets see and think about violence often.

Many, many of the countries we are selling phones in do not have a modern, service oriented law enforcement agency. They do not have 911 or critical emergency services.

Frankly, in too many cities, people cannot trust the police. As a victim of a crime, the last thing you are going to do is contact the police.

With the $25 phone, we have a huge opportunity to include an Emergency App, which would save lives and lessen violence.

IJM and other organizations are doing the most critical work, which is having lawyers and people on the ground, working to change the cultural norms.

Technology is not going to magically solve these deep and ugly issues.

But, I do wonder if we can’t provide a safety tool that empowers villages to make their daily lives more safe.

I’ll sketch out some specific thoughts about how this could work, just to give us a discussion point:

App should emphasize civilians helping civilians and not rely on a centralized law enforcement agency

It is proximity based – your call for help goes to those around you

“advanced” users can filter down alert to only trusted contacts

Server side components store encrypted data with no govt / law enforcement access. Courts would have access

Must be very reliable and assume as little infrastructure as possible

Audio and video would be recorded and useful as evidence

This solution should be customizable, informed by the communities it is deployed into. These will range from people organizing as mobs all the way to healthy law enforcement which lacks a modern emergency alert network

Solution requires education, pamphlets, etc so people know to use the app and to mobilize and help people

Globalization – Education content must reflect the cultural norms for that deployment

Visual Interface for illiterate and semi-literate is key

Social design to help communities while they are creating new norms around responding or fleeing from alerts (capturing existing patterns like Guardian Angels, Tribunal by elders, etc)

What do you think? Is this something Mozilla should and can do, or is it outside of our focus?

How do you think we can best help people given the mix of amazing new potential – a cheap video phone with geolocation contrasted with hard limitations – limited connectivity, limited bandwidth, and limited law enforcement?

I’ve found the vitriolic attacks and misinformation I see flowing through my
Twitter feed disgusting. Emotionally, I feel like the tweets come from people with no real skin in the game, nor do they understand how damaging Mozilla can be bad for everyone in the long run.

These attacks are the viral spread and distortion, of some valid concerns from MoFo staff. Unfortunately, these concerns carried the ultimatum asking for BE to resign; which is sadly the fuel for this ad-selling media hype.

For reasons Myk does a great job of capturing, I’m somewhat conflicted on some of the nuances of this topic. Prop hate was horrible and still echos through our lives.

But, to try to add something new to the conversation…

Ultimately this comes down to picking your battles.

There is a lot wrong with the world and not much time to fix it.

In my mind Mitchell and Brendan have been fighting to keep the web open and accessible for over a decade. They ARE Mozilla. Mitchell is the spirit and BE is the tech.

It is a privilege to have been paid staff for the last 5+ years, because together, we’ve created an amazing platform to try keep the web open and to improve our world.

I’m at Mozilla, because it’s the best place I can find to participate as a progressive technologist.

Attacking Brendan for something he did 6 years ago, which was disclosed through a leak for a private action without much context is simply not worth damaging the project over.

The Mozilla project is getting quite large. When I joined as a webdev, I was on the outskirts. I didn’t work shoulder to shoulder with BE, but I already had a mental model of him from my community participation.

Now, our project is even larger, working on important topics like rural broadband access, education and news. Perhaps many people fighting the good fight on those fronts have not gotten a chance to build up a mental model of BE.

Progress and inclusion requires forgiveness and benefit of the doubt. Making a change in the world requires picking your battles.

Time machine thought police is not the battle ground I would pick. Resignation is a high-stakes tactic.

I will fight for people’s rights. I know Christie Koehler will be there fighting. I know of dozens and dozens of folks I work with everyday that would stick their necks out to fight for your rights.

Yes, we should monitor BE, as we should monitor and help debug each other.

There are many ways we can start carving up our community to attack each other, but let’s make sure we’re fighting over something that needs changing and not fighting the wrong battle for the right reasons.

I’ve been dogfooding FirefoxOS (1.2.0.0-prerelease) for a couple weeks.

I went down to AT&T and had them convert my iPhone SIM card into one that
was compatible with the Alcatel One Touch Fire (hamachi).

Here are some tips, gotchas and notes about dogfooding.

Equipment

Put a big fat SDCard in there. The phone is un-usable w/o this extra memory.

Get a dedicated micro USB cable and wall wart. If you charge your phone every night next to your bed, you’ll be in good shape.

Saftey Net

I haven’t needed to use it much, but keep your current smartphone handy.

I keep my iPhone in my backpack or my murse.

Your FxOS device can serve as (an incredibly slow) hotspot. If you find
a situation where you need an old app, you can tether your phone and
get that task done. Say, depositing a bank check through an iOS app.

Camera

For many smart phone users like myself, the camera is the killer app.

Using the camera and viewing the results on the 320×480 3.5 inch screen
is misleading. The quality looks horrible and out of focus.

I uploaded some of these photos to Flickr to get them off my device… and they are in focus and look much better than I expected!

So don’t judge your photos based on the phone’s screen, get them off the device before deleting "bad" photos.

Flickr tip — figure out your “upload via email” address. Make a contact and favorite it. The Gallery share via email workflow requires 7 or 8 clicks per photo, which is kind of a bummer. Hopefully someone will write a photo sync app.

The Camera app is not as good as top of the line smart phone’s (duh), but it is quite passable for casual documentation of dogs, cats and baby chicks.

SMS and Apple

I ran into a nasty issue with AT&T and Apple. I switch my SIM and then could not receive SMS from Apple people, but was able to receive SMS from other peeps.

I’m using Line with my wife, since we have cousins in Vietnam and we had
used WhatsApp with them in the past. Line has push notifications which
work most of the time and avoid me missing SMS messages.

Email

I use the email app with two accounts. The email app is fairly painful, but gets the job done. I don’t do much on a mobile with email anyways, as I find most mobile email painful.

With the later versions of FxOS, our keyboard has gotten much better.

Maps

Turn by Turn directions – EverNav. Not as perfect as Google’s iPhone app, but it will get you there.

Google maps has been so early to embrace the web and it shows. Their maps
are the best for showing your location and getting bus or walking routes. I don’t think their turn by turn directions work for me while driving, so I used EverNav. (I don’t drive often, so I barely have dogfooded this aspect.)

I’m just loading Google maps in the browser, not via an app.

Games and Apps

The Marketplace has some good content! Poke around.

I use the Twitter app, but it does crash frequently depending on the
task you are trying to do.

The Run Recorder app is basic, but gets the job done for a novice runner like me who is not worried about syncing the data and just wants some throw-away stats.
Many apps get GPS wrong, but like Google maps, Run Recorder does a great job.

Worst painpoint?

A big painpoint is that I have a long random password, unique to each of my
accounts. There is no copy/paste support and I can’t build my own workaround.

I’m reduced to getting a second screen and typing them in carefully. This can take between one and five minutes for each account, because:
* I fat finger the keyboard
* No “show password” option
* Poor feedback with backspace key (after I’ve hit the wrong key)

A hard part of something like Diaspora which aimed at being a decentralized social network, is the problem of getting enough nodes up and running. A very small % of the population will step and run a server.

When email was born, a very large % of the internet using population could also run a server. Because if you used the internet back then, there were like a hundred of you. You knew that there were servers and clients, etc.

People setup SMTP servers, email flowed and all was good.

Over time as the internet and the web became popular, this % of the population because insignificant. Our current web architecture rewards centralized players.

If email was invented today, schools, businesses… everyone would be on one of a handful of email services!

So I started thinking about “who are the people running their own services” today?

Bitcoin miners operate the bitcoin transaction network. Think about the VISA network for credit card transactions. These are un-coordinated citizens running the bitcoin network, because they earn bitcoins over time. The network has a secure protocol that balances risks and rewards from many angles.

What if we de-centralized and rewarded service administrators with this same mechanic?

Think about:

mapcoin

wikipediacoin

searchcoin

babelfishcoin

instantmessagecoin

photosharingcoin

dictionarycoin

recipiecoin

Running a mapcoin node provides several facilities:

access to map tiles

access to compute for analyzing traffic data

access to compute for processing map updates and settlement

By running a mapcoin node, you pay for electricty, a network connection and a fast computer with big disks. Every now and then, you “win the lotto” and earn a mapcoin. Sysadmins rewarded.

Also, we web developers can build great UIs that consume mapcoin data.
We can compete on great user experiences. Users aren’t locked into
a single vendor. The map data is a collective commons.

Once someone did the hard work of balancing risk, reward and baking it into a mapcoin protocol, OpenStreet Maps could endorse it and find a new sustainability model which would radically reduce their hosting costs.

Currency markets would take care of translating mapcoin into bitcoin or
“real money”.

Existance Proofs:

Bitcoin is a currency, but also the payment network coin

Dogecoin is Whoofie or social coin, there is a currency market for it

SolarCoin is based on Bitcoin technology, but in addition to the usual way of generating coins through mining, crunching numbers to try and solve a cryptographic puzzle, people can earn them as a reward for generating solar energy.

Feedback Control is a topic well known to mechanical engineers, but not so much in our industry. Feedback Control is about making smarter systems that can cope with dynamic environments. Many knobs that we build into configuration can actually be automated with feedback loops.

Examples given early in the book:

A Cache by tracking hit rate and changing the cache size

A Server Farm by tracking request latency and changing number of deployed server nodes

A Queueing System by tracking wait time and changing the number of workers

A Graphics Library by tracking memory consumption and changing the output resolution

The book is well written. It starts out with practical examples and working code. It later introduces the deep theory and drops some math bombs. Don’t worry, there is Python code for everything and you don’t have to understand the math.
It gives solid advice, like don’t blindly use Feedback Control for optimization; optimization needs a higher level strategy guiding the process.

Lastly, there are references for further reading, if you do want to work through more of the theory.

It also sets realistic expectations. You’ll control one metric by changing one variable. This is no silver bullet.

The term Enterprise is thrown about, don’t let this scare you away This is a valuable book for many types of software problems. A couple I’ve brainstormed of:

Controlling difficulty of a video game, to react to how skilled a player is

I’ve been given the chance to mentor a high school student. I’ll capture details around how this goes, I’d love your input and ideas. I’ll keep student anonymous, but give many other actual details.

My friend Casey teaches Math at New Start, which is an Alternative High School for at risk youth. They have programs where a student can sign a contract with a teacher for a certain course of study and amount of credits.

He has a student, we’ll call him Billy, that is very passionate about video games and wants to learn how to make them.

The Plan (so far)

The general plan is to have him work through some of the Web Fundamentals via Code Academy.

Once he has a basic understanding of HTML, CSS and JavaScript, we’ll move on to Web Maker.

We’ll spend quite a few weeks or months jamming on Web Maker projects. We will use these to explore different aspects of making video games (Animating Sprites, Playing sounds, physics, etc).

Lastly we’ll try to find an open source HTML5 version of one of his favorite games (like Fallout). Using that, we’d work on creating a mod or new video game in that genre. It all depends on what aspect of video game creation Billy is most interested in.

Billy has a Windows laptop, an XBox, an Android phone and paper notebooks.

I’m keeping a notebook of amazingprojectsas I come across them and will share them with Billy. One of them could be the foundation of a larger project for him.

The Contract

Billy has to spend at least 3 hours a week on this class. Hopefully he will get obsessed with how to build games and 3 hours won’t be an issue.

It’s TBD how many weeks is a contract. I’ll let the teachers and administrators sort that out and be available as a resource.

Logistics

I met in person for the first time.

Subsequent meetings will be 1 hour Skype meetings. I will also keep “office hours” two days later where Billy can instant message me with questions or ideas. Lastly he can email me at anytime, but may have to wait hours or days for a response.

I’m very lucky that Casey is a passionate teacher and is also doing the code academy exercises.

I’m also very lucky there are so many resources on the web for young people who want to make video games.

I have a slightly different idea of what I think we need, which I’ll sketch out here.

The NobleWeb is a consumer oriented product (physical box and software) which allows “one click” ownership of your web identity.

Domain registration leads to a (pre-installed) Service Marketplace. You choose “Apps” to install; this locally installs the server-side components. These apps are each available on a subdomain of your personal domain.

The Operating System is automatically updated and configured as are most apps.

NobleWeb will email you if it gets into trouble.

Every year you’ll have to upgrade it’s hard drive, but otherwise it’s just that data vault next to your Wi-Fi router thing.

A typical person using NobleWeb would have MailPile, WordPress, MediaGoblin and a Dropbox-like app which they use daily from their various devices.

They send and receive emails on their personal domain. Wizards create and syndicate content directly from NobleWeb. Most people do a lot of social networking on closed platforms, but juicy bits like photos end up magically in their NobleWeb photo library.

Design Principals

We value People first (over corporations or profits)

Systems should just work with minimal care and feeding

The box has no physical user interface for daily use, you use your existing devices for UI

The UI of apps should work on any device (Open Web Apps, Mobile First Design)

Noble Systems must be useful with other products and services, so that NobleWeb people can connect with ShareCroppers (mainstream people)

NobleWeb users will also use closed platforms and if possible we should sync data back to their NobleWeb box

Existing Projects

The closest thing I have come across is ArkOS, which I recently found out about.

I think there is a lot of overlap with other existing projects, but not many projects that are focused on starting with the UX. As this is a side-project, I don’t promise anything, but I’ll tag experiments with NobleWeb as I go. The long term audacious goal would be gluing together the awesome work that you are all doing in Linux, Mozilla, and across the open web.

Let’s build a foundation, for taking back the web, that everyone can use.

5 and a half years ago, I was working at Amazon.com on cutting edge frontend “creative”.

I got a recruitment email from Mozilla and connected with morgamic.
I freaked out. I didn’t even know that it was possible to do stuff with Mozilla.

I knew if Mozilla offered me a position, I’d take it.

I had an in-person interview. One of my heroes was in the loop. Myk Melez. I was familiar with him through the many cool tools used to support the development of Firefox.

Myk asked me, are you a Mozilla community member. I said “No” apologetically.

Over the years, I’ve come to realize that this is a real problem with we Americans.

I thought to myself: Am I a Mozillian? I’ve never landed C++ code into Firefox, so no.

I am just a dumb web developer. Mozilla is the elite technologists.

I ignored the following facts:
* I was a passionate user of Linux, Thunderbird, and that Netscape Navigator/Phoenix/Mozilla Firebird/Firefox thing
* I had deployed MXR, Bugzilla at previous work places
* I spread the word about these projects
* I helped support other users
* I was proud of having my name in the 2004 New York Times Ad
* I was writing Ubiquity scripts and using many of the Mozilla Labs projects
* I’d spent the last decade hacking on web technologies and sharing experiments

That I didn’t consider myself a Mozilla community member… That’s just sad!

It took joining as a staff member and learning Mozillians culture first hand, to finally consider myself a Mozillian.

I think we’re doing a better story of explaining how easy it is to participate as a Mozillian, but here in the US… I think we have our work cut out for us.

We have a couple things in our culture that block people from self-identifying as Mozillians
* Imposter syndrome
* Lack of Community ethos

“I am just a dumb web developer.” Imposter syndrome said that. We all have so much to offer. You don’t even have to be a developer to be an awesome Mozillian.

It’s anecdotal, but I’ve seen some cultures have an easier time building Mozilla communities that here in the states.

Churches, boy scouts… we have a few community archetypes, but we are mostly a “go it alone” “pull yourself up by your boostraps” type of people.