Volla Phone and Ubuntu Mobile

I have long been interested in alternative operating systems that get me out of the walled gardens of Apple and Android. Yes, I can root my phone, but that has always been a hacky short-term solution that ends up being more annoying, not less annoying than what I actually want. What I actually have always wanted was my laptop in my hand. Microsoft was trying to do with with Continuum before they ended life on Windows Mobile OS. They got the closest, and even had videos made about how great it would be to dock your phone and suddenly get all the power of the laptop, without having to carry it around just to access a file.

So when I saw Ubuntu Mobile I was cautiously optimistic. They claim similar – you can have a terminal and your files, and do anything you want! That’s a pretty good promise, even if the Ubuntu Mobile app ecosystem is lacking as of today. Down the road it could be amazing, and I could even help bring it over that line if I felt it was deserving of that by developing my own apps and publishing them for everyone else.  A truly open operating system without all that Google/advertising garbage in it. Imagine!

My first impression of the phone is that it looked and felt a little odd. A more drastic bevel than the iPhones that I’m used to and a much more rough feel where the sim card sits. It’s so rough that it made me think it was a button at first and after mashing it a few times and realizing it wasn’t I mentally stopped myself from trying. Not too bad though, and after a minute or so, I was already used to it.

The Volla phone came with a German plug, which was a little off-putting to spend hundreds on a phone and have to supply my own US plug. Not a huge deal – I have a thousand of them, but it was still strange that they didn’t have one in the box given they knew they were shipping to the United States.

I ordered one that came pre-installed with Ubuntu Mobile… or so I thought. Upon booting it actually came with a strange version of Android, likely their VollaOS. My impression of VollaOS is that it was so minimal it looked broken. All I could see was the word “Springboard” a thing that said “type anything” with no clear indication of what that is in reference to and a red dot that looked like it was recording something. After messing with it a bit I was able to figure out it was running some hybrid of Android. I wasn’t at all interested in trying out Android, so I immediately went to find the way to install Ubuntu myself. I wasn’t happy at all that I didn’t get what I ordered, but… I guess their company isn’t ready for mass market, by any stretch.

To install Ubuntu Mobile by hand you need to unlock the bootloader. This entails a lot of Android button pressing, running the UBports installer and clicking physical buttons on the phone. But not terrible, considering what things like this use to entail. And after a few minutes I was staring at a fresh install of Volla phone running Ubuntu Mobile. Huzzah! Home free, right? The land of awesomesauce! Uh, no… not so fast.

Before I get into the ugly, let me talk about the bad – the user experience isn’t great, I’ll be honest. I really wanted to like it but the gestures were awkward I felt and it wasn’t the same as Ubuntu in other more important ways.  Ubuntu Mobile doesn’t mimic the desktop version and that’s confusing – things like renaming/configuring user accounts for instance, don’t appear in the settings menu. So it was a lot of learning it for the first time. The gestures were strange, like swiping from the right to switch/kill apps took a lot of getting used to. The double swipe to the left to see apps also felt unnecessary and confusing. I definitely swiped the wrong way more than the correct way. I realize this is likely just the same as learning any new mobile OS, but I felt much less awkward going to any other OS than I did on Ubuntu Mobile – not because I didn’t know what it did, but because it felt somehow backwards or unnecessarily complex.

After messing around with the terminal app a bit, I realized it already had SSH installed. Some might consider that a good thing. I do not at all, especially since there was nowhere ever that said that that was occurring. This seems very scary, given that not everyone will chose a good password for their phone thinking that the only interface of attack is via a physical attack and no one is attacking something in their pocket. But SSH brute force is a very real thing that the Ubuntu Mobile environment seems to allow by default. I’d turn off SSH completely, or disable password based auth, but I have no idea what that would do to the rest of the system since it’s tied with the presentation layer. It also chose a name for me of “phablet“. I almost can’t imagine a worse username to force onto users, and it’s also not random so therefore even easier to brute force. Incidentally the machine name it chose by default was ‘ubuntu-phablet‘. This whole thing feels like it needs a re-think. At a very minimum this needs to be made more clear and give the user a warning.

Updating wasn’t possible due to two lock files in /var/lib/dpkg/ that were stubbornly still there and the real issue was / was mounted read only. I have no idea why the root directory would be read only out of the box – do they really want to prohibit you from using the terminal to install apps? That can’t be, so it seemed like an oversight. An oversight that was fixed with:

sudo mount -o rw,remount /

Things started to work better. I was able to install a couple apps via apt for instance. Okay, so the package manager works – that’s exciting. Like any good sys-admin my next thought was to get it up to date!

There were an enormous amount of out of date packages, even though I just installed this thing moments earlier:

address-book-app anbox anbox-common anbox-ubuntu-touch apparmor-easyprof-ubuntu apt-transport-https cameraplugin-aal
ciborium click-apparmor debootstrap dialer-app distro-info-data dnsmasq-base gir1.2-ubuntu-app-launch-2 hfd-service
hfd-service-tools indicator-datetime indicator-location indicator-network indicator-session indicator-sound
jumpercable libandroid-properties1 libapt-inst2.0 libcaca0 libconnectivity-qt1 libcurl3 libcurl3-gnutls
libdeviceinfo0 libdns-export162 libertine-qt-common libertine-tools libertine-xmir-tools libertined libglib2.0-0
libglib2.0-bin libglib2.0-data libglibutil libhardware2 libhogweed4 libhybris libhybris-common1 libhybris-test
libhybris-utils libirs-export141 libisc-export160 libisccfg-export140 libldb1 liblibertine1 libmedia1
libmediascanner-2.0-4 libmirclient9 libmircommon7 libmircookie2 libmircore1 libmirplatform16 libmirprotobuf3
libmirserver48 libmirwayland0 libnettle6 libprocess-cpp3 libqmenumodel0 libqt5bluetooth5 libqt5bluetooth5-bin
libqt5contacts5 libqt5feedback5 libqt5feedback5-hfd libqt5organizer5 libqt5systeminfo5 libqt5versit5
libqt5versitorganizer5 libqt5webengine-data libqt5webengine5 libqt5webenginecore5 libseccomp2 libsmbclient
libsystemsettings1 libthumbnailer-qt1.0 libubuntu-app-launch3 libubuntu-download-manager-client1
libubuntu-download-manager-common1 libubuntu-upload-manager-common1 libubuntugestures5 libubuntumetrics5
libubuntutoolkit5 libudm-common1 libudm-priv-common1 libunity-api1 libusermetricsinput1 libusermetricsoutput1
libwbclient0 lxc-android-config mediascanner2.0 messaging-app mir-client-platform-android-caf5
mir-client-platform-android5 mir-graphics-drivers-android mir-graphics-drivers-android-caf mir-utils morph-browser
morph-webapp-container nuntium ofono ofono-scripts powerd python3-apparmor-click python3-distro-info
python3-libertine python3-libertine-chroot qmenumodel-qml qml-module-morph-web qml-module-qtbluetooth
qml-module-qtcontacts qml-module-qtfeedback qml-module-qtorganizer qml-module-qtsysteminfo qml-module-qtwebengine
qml-module-ubuntu-components qml-module-ubuntu-components-labs qml-module-ubuntu-connectivity
qml-module-ubuntu-layouts qml-module-ubuntu-mediascanner0.1 qml-module-ubuntu-performancemetrics
qml-module-ubuntu-settings-components qml-module-ubuntu-test qml-module-ubuntu-thumbnailer0.1
qml-module-ubuntu-web-compat qtdeclarative5-ubuntu-addressbook0.1 qtdeclarative5-ubuntu-contacts0.1
qtdeclarative5-ubuntu-download-manager0.1 qtdeclarative5-ubuntu-keyboard-extensions0.1
qtdeclarative5-ubuntu-syncmonitor0.1 qtdeclarative5-ubuntu-telephony-phonenumber0.1
qtdeclarative5-ubuntu-telephony0.1 qtdeclarative5-ubuntu-ui-extras0.2 qtdeclarative5-ubuntu-ui-toolkit-plugin
qtdeclarative5-unity-notifications-plugin qtdeclarative5-usermetrics0.1 repowerd repowerd-data samba-libs
suru-icon-theme sync-monitor sync-monitor-helper sync-monitor-uoa telephony-service thumbnailer-service
ubports-qa-scripts ubports-wallpapers ubports-wallpapers-2018-10 ubuntu-app-launch ubuntu-app-launch-tools
ubuntu-download-manager ubuntu-keyboard ubuntu-keyboard-arabic ubuntu-keyboard-azerbaijani ubuntu-keyboard-bosnian
ubuntu-keyboard-bulgarian ubuntu-keyboard-catalan ubuntu-keyboard-chinese-chewing ubuntu-keyboard-chinese-pinyin
ubuntu-keyboard-croatian ubuntu-keyboard-czech ubuntu-keyboard-danish ubuntu-keyboard-data ubuntu-keyboard-dutch
ubuntu-keyboard-emoji ubuntu-keyboard-english ubuntu-keyboard-english-dvorak ubuntu-keyboard-finnish
ubuntu-keyboard-french ubuntu-keyboard-german ubuntu-keyboard-greek ubuntu-keyboard-hebrew ubuntu-keyboard-hungarian
ubuntu-keyboard-icelandic ubuntu-keyboard-italian ubuntu-keyboard-japanese ubuntu-keyboard-korean
ubuntu-keyboard-latvian ubuntu-keyboard-lithuanian ubuntu-keyboard-norwegian-bokmal ubuntu-keyboard-polish
ubuntu-keyboard-portuguese ubuntu-keyboard-romanian ubuntu-keyboard-russian ubuntu-keyboard-scottish-gaelic
ubuntu-keyboard-serbian ubuntu-keyboard-slovenian ubuntu-keyboard-spanish ubuntu-keyboard-swedish
ubuntu-keyboard-swiss-french ubuntu-keyboard-thai ubuntu-keyboard-turkish ubuntu-keyboard-ukrainian
ubuntu-mobile-icons ubuntu-mono ubuntu-push-client ubuntu-system-settings ubuntu-system-settings-libertine
ubuntu-touch-core ubuntu-touch-session ubuntu-touch-session-mir ubuntu-ui-toolkit-theme ubuntu-upload-manager
usermetricsservice wpasupplicant

I made the fatal mistake of thinking this was a fairly robust OS given that it’s basically a different UI on top of Ubuntu, and could handle updating in the same way that you’d update a laptop. So I attempted to update it with `sudo apt-get update;sudo apt-get -y upgrade` and everything seemed to be working for a while… until it stopped on:

Preparing to unpack .../wpasupplicant_2.4-0ubports10_arm64.deb ...

And there it sat for about 20 minutes with no indication of anything happening. I had SSHed into the phone to use my keyboard since the software keyboard leaves a bit to be desired – especially when doing more complex tasks. However, my shell lost it’s connectivity and wasn’t responding to commands at all – even hitting the space bar provided no visible input. Uh oh.

I rebooted it… no go. It would get past the Volla boot screen. And rebooted it again… nope. Whelp! It bricked the phone. It will no longer get past the Volla boot screen. If Ubuntu Mobile isn’t meant to be treated in this way, and updated in this way, these update paths should be intentionally broken to avoid accidental bricked devices. Just about anyone familiar with Ubuntu is going to treat it pretty much the same. Day one, hour one, update it to the most current packages, right? Even that is too much to ask for, for Ubuntu Mobile on Volla phone.

That was a very expensive mistake that doesn’t feel at all like something that should have permanently bricked the phone. It won’t even let me re-install the device now. The Volla phone comes with a SIM card tool, which I was hoping would allow me to press something somewhere on the device to hard reset it, but I couldn’t find anything in the manual or online to suggest this would actually work – if it does, it’s undocumented. UBports installer doesn’t even recognize it as a phone anymore, it’s that broken. It is now semi-permanently showing me the boot screen, with no physical switch to turn it off, and no access to the battery to at least give it a fast death. Instead it will slowly fade away and then find a home in the bottom of a box of expensive dead IT.

What I wanted was my laptop on a phone – what I got was a brick in the shape of a phone. There is a lot of work left to do on this for Ubuntu and Volla. I’m sure someone will say I shouldn’t have done X and not Y but with no guardrails and no way to re-install the device, it’s going to be hard to blame the user. Until it’s at least stable, I’d stay away from it unless you like to collect phone shaped paperweights.

To be fair, after letting the battery die down and it did let me go through UBports, and but it appears that no amount of re-installation attempts did complete.  It just kept landing me on UBports Recovery, which apparently doesn’t work in this state, regardless of which options I chose.  It kept saying

Update failed, please reboot and try again...

I still think Ubuntu Mobile has a ton of promise, and I very much look forward to a day when I can use it as a mini desktop environment and can build custom apps for it on a device that is rock solid, but today is sadly not that day.  Meanwhile in other news Microsoft somewhat silently allowed Ubuntu GUI apps to be installed, so there is a lot going on in the Ubuntu world and I’m excited to see what’s next.

OutsideIntel Acquired by Bit Discovery

I’m happy to announce that OutsideIntel, my business intelligence platform, has been acquired by Bit Discovery (bitdiscovery.com). I will continue my work on the platform as the CTO of Bit Discovery; staying involved was always part of my plan for OutsideIntel even if it was acquired, so, for me this is perfect. OutsideIntel will be the back-end tech behind Bit Discovery, which is a much more sophisticated front-end on top of the high-performance data lake that I’ve been amassing for years. This acquisition was made possible through a venture financing round which allowed Bit Discovery to acquire my tech as well as the staff necessary to build out and improve upon the technology.

In case there are any entrepreneurs out there who want to learn a bit about what it took to get here, I would like to share some of the lessons learned along the way:

  • It took about 20 years of wanting to build this idea. It wasn’t an idea I could easily explain though, nor could I afford it. So it sat in the back of my head eating at me for two decades. People thought I was nuts when I first explained what I wanted to do. Even my wife-at-the-time, who was normally extremely supportive said confidently and with amusement, “You can’t do that.” Sure, collecting years of meta data on the entire Internet in your basement sounds nuts…. Building a data lake by yourself is crazy. Doing corporate intelligence in your basement is crazy. I probably am crazy, but it worked. It wasn’t that the nay-sayers were wrong necessarily. Had they been talking to anyone else they would have been right, but in my case, they underestimated my willpower, my stubbornness and my vision. Lesson learned: Your dreams may not be as crazy as they sound.
  • When I first started showing early prototypes of the tech I got a lot of comments like, “this UI needs a lot of work” and “no one should ever see this” and even “it is ugly.” Ouch. My expertise is not in UI, sadly. I had a number of long conversations with friends here in the US and overseas and one idea began to take hold after talking to my friends Simon and Pascal: I needed to completely stop talking about the UI. So, I shifted away from the front-end entirely and treated the front-end as merely a demonstration of what the back-end was capable of doing. By shifting that conversation away from the UI and to the APIs, it wildly changed how people perceived my work. Suddenly they could see dozens of use cases and it spawned partnerships and eventually helped OutsideIntel to get acquired. Lesson learned: Focus on what you’re good at and use that as your selling point rather than just the vision. Confidently flaunt the merits of your accomplishment.
  • When I first started building the back-end for OutsideIntel (it was called Siftint back then, as in “sift through intelligence” – a short-lived name that still resides deep within the code and in my memory) I thought it would become a business intelligence platform for stock prediction. Gradually I realized there simply wasn’t a market for that, despite what everyone will tell you. It turns out people are afraid of this tech, and want more ordinary data sets that they can more readily comprehend. So, I had to make a very fundamental shift in how I talked about the data. Sure, it was good at finding correlation between market movements and IT infrastructure, but it was also good for security, and M&A, and sales enablement, and compliance, etc. Decisions, decisions. I had to find each and every use case and explore them individually. I eventually decided sales enablement was probably the best fit, and then, of course after making that decision Bit Discovery comes along and loves it for asset management. Cue me, flipping a table. So, you never know how other people are going to see your product/service. Lesson learned: You have to be flexible. Adapt to the market need.
  • It took money – lots of money. You can’t properly estimate how much a startup will cost you until you do it.  It’s always expensive. In my case, excluding opportunity costs, it cost me hundreds of thousands of dollars. Some of that was in legal expenses, some of it was in hardware, some of it was in hosting, some of it was in software, some of it was in data, some of it was random equipment to perform tests. It adds up. My wife-at-the-time said that if we didn’t have my company we could afford a ski condo somewhere, and she was right. There’s no way I could have done this without a big nest-egg or a family income to support me. Even still, I literally ran the company out of my basement for a year to save money.  I had to have the power company come out and install 2×20 amp circuits to power my basement because it was becoming a fire hazard. As the infrastructure grew the noise got to be too much for me. I measured the decibels near the end and it was as loud as a gasoline engine running. All to save money. Lesson learned: Success often speaks to privilege. If you’re privileged enough you can try something that on the surface seems virtually impossible. But be frugal and careful with how you spend.
My janky “sound-proofing” system in my basement before the equipment went to the datacenter. This “feature” of my basement did cut down about 5db-10db of noise so it was worth doing. Not seen here is the baffling and ducting that was added later. It bugged me more than my ex-wife, surprisingly. It was especially bad when the bulk processes would start and the small fans would kick on. Try relaxing when it sounds like someone’s got an engine running in your basement.
85 decibels in my basement at about 6 meters while no bulk processes were running . This is after my “sound-proofing” was built. It was closer to 90-95db at the rack while processing. Notice the needle is in the red: the “safe” amount of time to be in my basement was 8 hours, after which hearing damage may have occurred. I wore earplugs every time I went down there.
  • One of the reasons this deal went through is because I know all of the players involved. I know the people who produce the data, I know the people collecting the data sets for sale, I know the customers, I know the devs working on the projects I needed, I knew the people who needed the data, and ultimately I knew the acquirers who happened to be long-time friends. I became friends with all of these people by being a trusted expert in the space, sure, but I kept them as friends because I never looked at them as a client or someone who could do me a favor. I treated everyone the same – as people with hopes and dreams and a desire to be happy in their home-lives and businesses alike. I try to help people when I can in whatever way I can. Sometimes that means I help them get jobs, sometimes I mentor them, sometimes I just let them talk about issues. Lesson learned: Never stop meeting people, and find ways to help them if you can. It ultimately works itself out.
  • I built and re-built the software back-end of OutsideIntel four times. I spent hours talking to my wife-at-the-time who had to listen to my rants about the right and wrong way to build my infrastructure, or how pagination was broken even on sites like Google and Bing, and how was I supposed to get it right if they cannot? Or how modern hardware runs into IO blocking issues. Or how relational databases were too slow so I’d have to build my own data lake from scratch. Or how Perl wasn’t going to work at all and how I’d have to switch to Python after already having written tens of thousands of lines in Perl. Or the perils of Python’s strict typing and poor support on FreeBSD. It wasn’t just the software either. I had to re-build the hardware infrastructure three separate times to support the four different software builds. It took me years and countless bugs/revisions and hours of pacing around trying to design something that was fast, cheap, and would fit on the hardware I could afford before I settled on a design that appeared to finally work. I have no doubt it will take another re-build at some point. But that never stopped me. I wasn’t afraid of the hard work, and in fact, each new puzzle felt like a challenge, not a burden. Lesson learned: Don’t be afraid to fail fast. Just make sure you keep going.
Here I am hauling the first server as part of version 2 back to the house. It turns out a 2U chassis does not fit in the trunk of a Z4 so it had to ride shotgun. Thankfully it was a convertible, or I wouldn’t have been able to get it in the car at all. I sold the Z4 shortly afterwards to cut insurance costs and also… what trunk?
Setting things up for version 2. This ultimately became a costly failed version that lasted only a few months. My dining room was the de-facto staging area. My wife-at-the-time was very understanding.
First computer being constructed as part of version 3. This was a complete re-think of the hardware. Once again, my wife-at-the-time let me “borrow” the dining room for a few days. Each drive bay costs around a grand once populated with an SSD and there are two drive bays hidden on the back as well – you can do the math. After fully constructed, this single computer and the subsequent drives cost more than what I sold my Z4 for. Seems like a fair trade.
  • A few years ago I really started eating my own dog food. Whenever I’d have a meeting with someone I’d use OutsideIntel to understand their company ahead of time, not just from a demo perspective, but to talk eloquently about what they were up to. I used it against corporations and even individual people with whom I was about to meet. That meant it had to be fast, and it had to be accessible from my phone, which lead me to do a backend redesign to support even faster lookups, pagination so that the browser wouldn’t crash and a frontend redesign to support mobile devices. That was messy, time consuming to do, and didn’t improve the look and feel very much, but it came in very handy, when, at a meeting I could look down at my phone and say, “Oh, I see you have an exposed QA server over here named XYZ.” People would say things in shock like, “Oh, I thought you were just texting someone. I didn’t realize you were hacking us.” I’d explain that it wasn’t hacking anyone and it led to a great conversation every time. That made a huge difference, to be able to show them the platform in real-time and use it as it was intended. It had to work on my cell phone too, because during travel I never carried a laptop (after all, I am the Smartphone exec). Lesson learned: Eat your own dog food and make sure it works anywhere and anytime you need to do a demo.
Mobile design for one of the search types, with pagination, responsive design with sub-second lookup times. It may be a little ugly, but it works great.
  • It took doing something no one had done before… sort of. At a very minimum the people who have tried this before were different people with different experiences and different ways of thinking about things. Not to diminish their work or their expertise, but my way of building OutsideIntel was different, interesting and it made the company valuable. That means that someone’s experiences and perspectives are worth something even in the case where others have “claimed” the domain of expertise. I didn’t let the presence of others dictate that I couldn’t touch their areas of interest – I just pushed through and built what I thought should be built in the way I thought it should work. Lesson learned: Any expert or leader in any category can be dethroned. You don’t have to be first mover necessarily, you just have to be the best and/or sufficiently different.
  • A thousand things could have gone wrong. I had everything fighting against me on this project. It just seemed to be something that no one believed could be built until it was built and even when it was built they questioned how it could have possibly been built. Even when I was showing people demos they assumed it must be pre-canned because it couldn’t possibly be that fast if it weren’t. Virtually no one had faith in me. Subsequently, I was inundated with hair-brained sales ideas, or poorly thought out plans for monetization. Even my partners for the most part seemed to get excited for a few weeks or months ultimately only to lose interest and discontinue help. I couldn’t blame them, actually – nothing about OutsideIntel is easy. In the end I think this was largely luck. I was lucky to build something that was hard enough and useful enough that very few others would attempt it – especially on their own with zero outside funding. I was lucky that I found my acquirer when I did. I was lucky that despite the fact my wife-at-the-time didn’t believe it could be done, she supported me anyway, even as our bank account dwindled. I was lucky to have enough income to make it work. I was lucky to have the know-how and support of my friend James who helped me keep the hardware purring. I was lucky to catch issues and be able to afford them when multiple times bills unexpectedly spiked to 200% above the datacenter’s estimated costs. I was lucky to have an awesome partner/customer who became the acquirer. I was lucky that I stuck it out long enough when I had every reason to fold the company as the stress mounted –  thankfully my cat does advocate for a low stress work environment, which helps. I was lucky – any one of those things could have been missing and it could have cost me a lot more… or even sunk the company entirely. Lesson learned: It’s not just expertise and willpower. It also takes luck. Without luck you have nothing.
Rasmus and I doing pair programming. Seen here reviewing my code. By his expression, he’s unimpressed by my UI.
  • Even though I mostly built the company from nothing, I did have help along the way, from friends and family who helped me write content, think through how to position myself and even try to help with sales. Even though much of that effort was ultimately unsuccessful, it meant a lot to my mental well-being as a founder of a company with an uncertain future. Don’t underestimate how lonely life can be when you’re the only cheerleader for your company. Lesson learned: Make sure you have a close network of friendly people to talk to. You’ll need a support system.
Sitting on the ground at the datacenter in the middle of the night debugging a process that is crashing access to the data lake. This night triggered a huge software re-build. It’s a lonely business when you’re the only one. You need non-cat friends. For the eagle eyed: this was one of the last days I used a laptop outside of the house – switching entirely to smartphones for work while away from the house shortly thereafter.

Bit Discovery is the new home of OutsideIntel’s tech, and I’m proud to be working with one of my oldest friends, Jeremiah Grossman, who saw the vision and decided to make the leap. I can’t be more thankful for how things turned out and I’m ecstatic to be able to work on my favorite project for the foreseeable future. I’m happy to have found a team who understands how to turn my vision into something actionable and relateable – translating my brain and tech into enterprise discovery and asset management. Check out the website and if you want a demo of the Bit Discovery platform, please let me know!

Internet Outages in the Age of a Smartphone Executive

I’ve had two recent power and Internet outages. Call it the punishment for living in Austin which is in the heart of Texas. Austin is an adult version of Disneyland by all other measures, but it does have infrastructure issues and the rains and electrical storms we have are sometimes very impressive. So at some point we need to deal with that, and that’s where the modern mobile phone is a life saver.

In the first outage, I had to inform the power company that the power was out. Good luck trying to use computers, unless you have everything hooked up to UPS blocks, and even then you have a very limited amount of available power in most cases. Meanwhile a smartphone can be available for a day or more depending on usage. So informing them was not an issue and it was solved quickly.

The second outage was related to the Internet. We often forget how much of our lives are connected to the Internet until it’s gone. The house phone was off, the TV was off, so much for watching Netflix or listening to Spotify through Sonos, etc… etc… It was pretty bad. However, I was able to use my smart phone and a little Bluetooth speaker to keep me busy with a Kindle book and listening to Spotify. It was a tad annoying, but the hilarity came when I needed to debug the network connection on my side for AT&T.

They attempted to call me on my home phone, which worked, but then as they had me reboot the U-Verse router, they disconnected. Well, color me shocked, but of course, I still had a cell phone, so we were back on the phone very shortly thereafter. Having a back-up link to the world was a life-saver during that prolonged outage. In fact, tethering the entire house through my phone was an option I was seriously contemplating after 12 hours or so.

All of this points to what life might be like in an age where our primary devices are the very ones in our pockets that we take for granted today.

Secure Messaging

One of the most common questions I get is what secure messaging system to use on Mobile devices. That’s a rather complicated question so it’s worth digging into.

First, you have to ask, who is your adversary? If it’s the government, you’ll have to take wildly different preventative measures than, say, a random eavesdropper. But that said, some of the tactics are simple enough.

For instance, the first thing I always tell people to look for is end to end encryption. If you are only encrypted to a server and that server then can read everything you write, it’s not a good solution. For instance, email is does not have end to end encryption built in, which is why Gmail is a poor choice for secure messaging.

Next, you want to look for something that automatically deletes your messages after a certain amount of time. Lots of systems allow you to have end to end encryption but then keep the data around forever. You can’t guarantee that the messages will be safe from an adversary forever. So make sure the data is deleted after a certain amount of time.

Next, make sure that the systems are resilient against forgot password/account changes, or account takeover. Just because you are talking to a person one day doesn’t mean you are talking to the same person the second day. So lots of platforms are automatically out since they don’t warn you when that occurs.

Generally speaking my favorites are Signal (with ephemeral messaging enabled), Wickr, and Facebook messaging (when you’re in secure mode with ephemeral messaging enabled). Wickr is the only one of the three that turns it on automatically, but it’s also the least used. Facebook is great, but it is Facebook and doesn’t default to secure mode opportunistically because it doesn’t work with mobile to desktop chat. Signal is great because it is a stand alone app but it also doesn’t enable ephemeral messaging by default. Wickr doesn’t tie to a phone number in the same way that Signal does so that is a nice added feature if you want to keep that detail private. Neither Signal, nor Wickr require you to have an identity, like Facebook does, but Facebook is by far the biggest platform.

Some people will bring up Whatsapp, but they are very similar to Facebook since they are owned by Facebook. And it’s worth mentioning iMessage in passing because they do have end to end encryption, but as soon as you sync with iCloud, your information is imperiled once more.

So there are some tradeoffs and you need to research what is right for you. I think ephemeral messages are a very important feature that most people don’t think about. It’s certainly something you should be aware of before you pick one. Or use all three. But whatever you do, don’t use default built-in chat clients.

Rise of the Mobile Influencer

Since you’re reading this site, you are aware of (or are at least curious about) running an entire business off of a smartphone. You have probably set some rules for yourself on how to make your own experiment work. Considering it is currently possible to code on a phone if you’re a self-identified creator, chances are this is all old hat to you as you take photographs of your lunch with a barfing rainbow filter. Today’s guest post comes from Joe Sinkwitz, CEO of Intellifluence, on how the worlds of influence and smartphone usage as primary devices have already collided, with the result being the mobile influencer reigning supreme.

The Intersect

Perhaps the easiest way to describe how the mobile influencer came to be the most powerful advertising force is to look at the intersection of growth among the demographics of smartphone users and specific social network uses.

Leading social networks
Leading social networks

Keep in mind that Snapchat, WhatsApp, Vine, and Instagram are effectively “mobile only”, not mobile first, which is what Facebook, Facebook Messenger, and Twitter have become. Not only is mobile set as a default to being more important, in some networks it is the only way to play, a chiefly important distinction considering that largest and fastest growing networks have moved in that direction.

Evolution of Influence

Discussed in significantly more detail here, the concept of influence is a very old one; effectively all advertising is influence. It is designed to play on different psychological triggers with the purpose of getting you take a certain action (purchasing a product being the primary use). Starting out as word of mouth, and moving through all forms of mediums, from print to radio to television to online forms of adverting to where we are now, which is an interesting crossroads since word of mouth has essentially begat digital word of typing fingers and snapped videos/photos.

Why Influence

The question becomes: why is influencer marketing now such a hot topic? There are a multitude reasons, but the simplified explanation is as follows:

      Ad blocking wars continue to heat up, of which influencers are currently immune to, providing a destination for ad dollars.
      The quality of customers acquired from influencer marketing is skewing better than traditional acquisition channels.

Quality of influencer graph
Quality of influencer graph

Smart brands recognize not only that authentic advertising can exist, but it can convert better, which helps to explain this trend:

Social media spending graph
Social media spending graph

Social media spend is poised to double over the next few years, which helps to explain why brands are flocking to it, and thus giving more power to influencers.

How much power? Check out this 60 minutes segment on influencer marketing – a lot of power.

So…Mobile Influencers, huh?

Yes. Mobile influencers. From the 60 Minutes piece and the trends referenced above, we can see that the majority of ad spend over social is skewing towards those that are created primarily using their phones. Ad hoc videos for Vine and YouTube at $200,000 a piece; Kim Kardashian’s Instagram of her life worth millions… The money is beginning to flow more towards these platforms than sponsored review blog posts, as the latter were more dominate 5 short years ago (though sponsored reviews are certainly not dying, and can also be created entirely using a smartphone). Should the trends continue we will likely see a future by 2019 where 80%+ of all influencer ad activity is created via smartphones, which will become and easier decision as phone choices continue to improve.

Learn Python On A Smartphone

You can learn to code Python on an iPhone or Android relatively easily. There are lots of classes and tutorials on where to start, but all you really need is a Smartphone and a good search engine to get started. I like to tell people that there is no singular more important/useful thing that you can learn other than to speak and read/write. You’ll never look back on your life and say, “Boy, I wish I hadn’t learned this incredibly useful skill.” It may seem crazy that you can learn Python on an iPhone, but it’s actually really simple, and anyone can do it.

  • Start with the right peripherals. Specifically invest in an Apple TV or Chromecast and a Bluetooth keyboard. You’re going to thank me later when your thumbs aren’t falling off.
  • Next, download something like Python 2.7 for iOS ($1.99). It’s not quite as full featured as the full blown thing, but it’s a great place to get your feet wet as you’re learning, and doesn’t require Internet access, which is great when you’re on an airplane our out in nature and still want to be learning/practicing.
  • If you want an eBook that you can read on the road without lugging a heavy book along with you you can try Introduction to Python Programming ($9.99 on Kindle). There is a free Kindle app for the iPhone too, which is even better.
  • Once you feel a little more comfortable programming you can shift to getting yourself a FREE Amazon EC2 instance. Yes, Amazon has a free tier to get you started. They want you to like and use their products and what better way to entice you than to give it to you for free, right? You’ll want an Ubuntu install for this, because it works really well with Python.
  • Next you’ll download and install the Coda App ($24.99) or an equivalent SSH client. This will allow you to connect to your EC2 computer in the cloud. Just copy the private key and use that with the username provided, which will be “ubuntu” and you should be off to the races. I recommend you also run the command “screen” upon login so that if you get disconnected you can just type “screen -r” and recover the session without losing anything. This is a key bullet because it will allow you to build a website too if you want.
  • Then you can use your favorite terminal editor. I prefer vi, which has a steep learning curve but is very lightweight and powerful. Here’s a great tutorial on vi. If that’s too complicated pico is a nice option.

If you’ve ever wanted to pick up a new skill, this is a very inexpensive way to do it. I always recommend starting with something simple that you need to be done repetitively. A simple program that alerts you when something happens, or something that allows you to write something down in a format that’s easy to retrieve are both good examples of things you might need to be done on a regular basis. Start simple and start with something you need and it’ll be a lot more practical.

This is one of the many ways in which smartphones are helping to democratize business. Even someone with just a smartphone can start a business, learn to program, or generally produce great content. I hope this has been helpful! Good luck!

Writing Code on a Phone

Learning to program on a phone is actually easier than you might think. You just need the correct peripherals and the right software to help you accomplish the goal. One such software apps is the Coda by Panic, Inc.. It has all of the benefits of a normal SSH client but also helps create SSH keys, and gives you easy access to multiple sites. Combined with screen on the remote host and you can easily pump out code on a phone.

You can learn Python, or Java or Ruby or whatever you fancy. Coda also has a nice feature where you can preview your code before you bother uploading it. Combined with the Transmit application you can easily sync between your phone and the remote server. You can use the remote machine as a file store, or a backup, or as a test server, etc. All you need is a couple of apps and the determination to learn how to develop on a command line and you’ve got everything you need!

I’m always amazed when people don’t take advantage of things like free EC2 accounts (as an example). But if you are just learning how to program, and want to get started, you don’t need anything more than a free EC2 account and an app like Coda to get started. A quick note on EC2 though – EC2 is free to use as long as you don’t use it a lot (lots of CPU usage, or disc usage, or bandwidth, etc), so if you’re going to start doing something significant, you’ll want to think about your options a bit more.

Like always, I think that trying to program or do any meaningful tasks without a full keyboard is slow and tedious, so make sure you have a Bluetooth keyboard. But just today, I wrote several small programs, compiled Java, set up some aliases, copied code around and many other administrative tasks all from my phone. It’s always going to be easier to do it on your desktop, but we’re getting closer and closer to a world where you won’t miss your laptop one bit!

Fastest Path Through Airport Security

Last week I traveled to Munich on an annual pilgrimage to Oktoberfest. It’s for work, I promise, though I do manage to have a good time, don’t worry. But being that it’s international travel, I’m always wary of going through security with stuff of any kind. I try to limit what I bring to only what I can carry in my backpack for ease of navigating airports and increase physical security since there is less to be lost or stolen. But this time in particular was the fastest I’ve ever gone through security by leaps and bounds.

On the outbound flight from Austin, I had both Clear and Precheck. When I went up to the Clear agent, he walked me to the front of the line and I was able to bypass both the regular line which looked to be about 45 minutes long, and also the Precheck line too which was probably 5 minutes of time savings. I had a boarding pass in the United app on my phone so I cruised through with a single swipe of my phone. The other nice things about the United app are that it carries your Mileage Plus and United Club cards, your boarding card(s), flight status, you can book a flight and it gives you access to inflight entertainment – that’s a lot less you’ll have to carry. When I reached for things to remove from my bag, I realized I didn’t have to. Precheck allows you to keep your shoes on, your electronics in your bag etc. All you need to do is remove metal from your pockets. So I put my phone and my wallet in a tiny cup, walked through the metal detector and was through security from start to finish in under a minute, including my interaction with Clear. I hadn’t gone through security that fast since prior to 9/11. Being mobile only with this setup saved me around 45 minutes at least.

On the way back I went through the process of signing up for the Mobile Passport which is an app that the TSA uses to speed up passport control. It asks you the normal questions you have to ask when entering the country but in many ways it’s actually easier to read and enter since you only have to enter your passport information once – the very first time you use it. I was a bit wary of using it, given that it didn’t seem like it would actually speed anything up. Wow, was I wrong. Going through Newark I was able to bypass a line that was easily an hour long and walk up to a far shorter line. Once there, I simply had to swipe the phone, and zero questions were asked. I was through in less than 5 minutes in the passport control section. Then there was a secondary line where you drop the forms off. There was no going through that line quickly, but once there, I swiped the same app again on my phone and cruised right through. Then the last part is going through security once more. Once again I was able to quickly go through security because of the mobile boarding pass and carrying next to nothing. All in all, using my phone saved me at least an hour.

As far as I can tell this is probably the fastest you can get through airport security, with the possible exception of global entry, which I haven’t yet broken down to do, yet. If you’re a weary business traveler, this may be something you want to look into. Of course they’re not exactly privacy friendly options, but security never really is.

Privacy Screens

Traveling really is awful for all kinds of reasons. But from a work perspective it’s even worse. Not only is it hard to do work on airplane because it’s cramped, you also have to worry about people looking over your shoulder.

Privacy screens are polarized film that go over your screen and act as both a protector against scratches but also make it hard to see what you’re looking at from an angle.


In these pictures you can see the image completely, but from the side it’s very difficult to tell what I’m looking at. If I were to dim the screen it would be almost impossible to tell I’m even looking at a lit phone except for the ambient light around the edges.

Privacy Anti-Spy Screen Protectors are a very cheap piece of mind when you have to write something sensitive before you forget it.

Now be warned, it doesn’t work in the vertical dimension, only the horizontal, so if you turn the phone into landscape mode it will still be visible. But as long as you know that and keep your phone in portrait mode, it becomes a lot harder for people to see what you’re doing unless they’re right behind you.