UX, mobile, freelancing, entrepreneurship

Trade Different

Apple is gonna offer a trade-in promotion. It started it a few years ago but now it’s gonna open it to non-Apple smartphones. I am all for recycling when possible, so this is a great news. Still I think this is a pretty unexpected move. I read it as an acknowledgment of competitors. Apple once pushed the “Think Different” campaign. For twenty years they not so implicitly claimed:

  • We are on a different level
  • We know there are competitors out there but we pretend they don’t exist (unless they are Microsoft and they come with a bag of cash).
  • We don’t compete, because we are on a different level.

The mantra was repetitive and circular. Clearly it was a successful strategy, because nowadays Apple is a money printing machine. They are not desperate. The fact that Apple has tons of money doesn’t mean that they don’t wanna make more. The trade-in is a good way to grow a loyal audience.

It’s just funny that when Blackberry and Microsoft ran a similar promotion in the past they both looked desperate.

Let’s Schedule a Call

I shiver every single time I hear that. Maybe I have just been unlucky but I have been involved in very weird situations.

One time a guy had an old crappy PC, slow like hell. He had the great idea to buy a bluetooth headset. We spent usually half an hour to have a meeting that could have lasted five minutes. We talked in chunks of 20 seconds. That was the longest chunk because the headset kept dropping the connection to the device. Unfortunately that guy was also one of those that “wants to understand why”. So after each call dropped he spent a minute or so to collect the logs. As far as I know he is still trying to solve the issue.

Another time, the same guy mentioned above bought a new shiny bluetooth headset. It really worked when connected to the crappy PC. He once connected it to an Android phone and we had a crazy intermittent conversation. After careful logging (and waste of time) it turned out that he installed a “save energy” plugin on the phone, which throttled the Wi-Fi bandwidth. No comment.

A few months ago I used to have a weekly call with a gal that collaborated part time on a project. She worked in a very noisy open space. Honestly I don’t even know how she managed to work in that noise. After the first calls, when I repeatedly asked “say it again” many times due to the noise, I convinced her to move to the terrace during our calls. I really enjoyed the sound of honks and sirens.

Once, only once, a guy took my call while he was driving a scooter. It was so nice for me to talk to the wind.

The last one I am gonna mention is pretty funny. We used to talk during his daytime and it was all fine. Once we had to schedule a call during his evening. The connection was horrible. That’s how he discovered that his son was enjoying some porn before going to bed.

These are just a few of the weird experiences I had. Sometimes the one with problematic connection/tools was me. A few years ago I had a DSL connection that relied on a badly installed cable in my area. Bottom line, I had an intermittent connection during rainy days. I started scheduling my calls after checking the weather forecast but it didn’t work out pretty well.

These were all one to one calls. It obviously can get more messy when the number of participants grows.

I am pretty sure you had similar experiences, maybe when the call was really important. Shit happens and it’s hard to plan for every single situation. It’s pretty easy though to spot if “it’s just technology’s fault” or if you could have done something more to prevent a faulty call. Assuming the call is important, like talking to a client that pays you, here’s a list of suggestions.

  • Good line/signal. Nobody asks you to have a 25Gb symmetrical connection, but make sure that most of the bandwidth is devoted to the call. Quit Dropbox and any other application that sucks bandwidth in an unpredictable way. If someone else is using your connection, e.g. family members, make clear that you need most of the bandwidth during that time slot. Some routers even allow you to configure bandwidth so that some applications have precedence over others.
  • No Starbucks. This is related to the point above. Starbucks and any other place were the connection is shared simply raises the chances for the call to drop. Sure, you might be lucky and make a successful call from there, but why risking?
  • Background noise. Kids screaming, people doing dishes, tyres screeching, I have heard them all. Try to find a silent spot. I thought my office was silent. It is, but a few friends have reported an excess of echo. They are right, the room is pretty big. I now usually go to my bedroom, which is smaller. The presence of blankets and clothes cushions even more the echo. A closet would be perfect.
  • Make time. You schedule a 30 minute meeting. You should mark your calendar for 45 if not an hour. Your interlocutor can be late, have problems connecting or the meeting can run longer because an important issue deserves discussion. I know, it’s not nice but it can happen. Just plan for a longer meeting.
  • Make clear you are busy. If you are a parent and work from home it is likely that your kids will chime in your office and interrupt you. It happened to me just once and luckily my interlocutor understood the situation. Try to teach your kids that “daddy/mommy is busy when the door is closed”. You definitely need your partner’s help on this.
  • Batteries. If you use devices that have a battery, e.g. laptop or headsets, make sure they are charged enough to make it to the end of the call.

As you can see they are all pretty common sense suggestions, and yet some calls end up pretty messy. There’s no guarantee that you are gonna have a flawless call if you follow them all, but it’s pretty much guaranteed that you are gonna have issues if you don’t follow most of them.

Have you some other suggestions? I am happy to share them.

Concerns With Apple

Finally the Watch has been fully announced and we had a few days to think about it. I am glad there’s no more posts rambling about the possible prices. But I am concerned. I have written elsewhere that I don’t feel a target user for the watch. Still, congrats to the team in Cupertino for launching a new product. My concern is not the watch but Apple itself.

Imagine. You are the only child and you enjoy your parents’ undivided attention. One day they approach you with a big smile, announcing you are gonna have a brother. “Great! A companion to play with!” But after a while you start thinking that your parents’ full undivided attention will soon be a dream.

My concerns with Apple are along the same lines. I use Apple devices and I built my business on top of them. If I picked another platform, chances are that I’d have spent much more time babysitting my devices.Now I am concerned that it’s not gonna be like that anymore. A new kid is in town and somebody has to babysit him.

We had a glimpse of this in the past. Leopard was delayed to give priority to a new iOS release. The same happened in 2009 with iOS7. If you were a Mac dev at the time I bet you were concerned, much like I am now.

  • Will they take engineers away from Mac/iOS to work on the watch?
  • Will it take longer to fix a bug on the Mac because bugs on the watch have higher priority?
  • Will the same care be put into updated devices and operative systems?

Clearly the answer is “We don’t know, yet”.

Somebody once said

“You have to trust that the dots will somehow connect in your future”.

Maybe what I lack right now is exactly trust. It’s hard to me, because Apple seems to get more and more unfocused.

I just hope that I am gonna write the “dots are now connected” post on a device that displays an Apple logo. Carry on until then.

Speaking Engagements Q1 2015

I am on the road again. If you are around the conference place get in touch. I am always up for a beer/coffee/chat. Yell at me on Twitter. My handle is @_funkyboy.


Where: Washington DC, USA

When: February 6-7

Website: http://www.rwdevcon.com


Where: Amsterdam, The Netherlands

When: March 5-6

Website: http://mdevcon.com


Where: Chicago, USA

When: March 27-28

Website: http://cocoaconf.com/chicago-2015/home

Copy and Paste Mentality

Raise your hand if you remember which was the most difficult obstacle when you started programming. I do. It was the difference between ‘=’ and ‘==’. To me they were the same. I remember that to complete a homework I needed a function and it was like one that my mentor already shared with me. So I took his code and, on purpose, exchanged all the occurrences of ‘=’ with ‘==’ and then submitted. My mentor was a super calm and cozy guy. As he saw my code he yelled at me for 10 seconds and then he started explaining me the difference between ‘=’ and ‘==’. I’ll never forget it.

When I started programming I did a lot of cut and paste. The first reason is that typing is boring to me. Ever tried to copy some code from a printed book? Good bless ebooks! So I thought.

The third party code that I copied didn’t do exactly what I wanted. Changing it meant that I had to actually understand it. Having the solution to a similar problem didn’t help, indeed it was an obstacle to me. All the time (and stress) that I saved via copy and paste suddenly was knocking on my door.

Since I started my career my style evolved quite a lot. Now when I see a piece of code I look for inspiration and I end up saying:

“Oh look he used this API to calculate that. Good, I don’t have to dig into the documentation!”.


“Great, so this is the template for this function: step 1, 2 and 3”.

Sometimes I still end up copying a few lines. They are usually “timeless” and highly reusable lines, like sorting an array of objects by key. In a word, snippets.

A few days ago Justin Jackson has published an interesting post that resonated a lot with what I wrote above. You can in fact apply a copy and paste mentality to business too.

There are many “successful” entrepreneurs out there publishing posts/books about building a business. Some of them have such an authoritative voice that it’s easy to fall into the copy and paste attitude.

“He/she followed that path and was successful. If I follow the same path I will be successful too.”

Much like with code, chances are that:

  • the “recipe” proposed by your hero doesn’t do exactly what you want.
  • You will need to change it
  • To change it you will need to understand it.
  • Parts of the recipe you have copied are now an obstacle instead of an help.

As with code, I have learned to copy just the bits that are “timeless” and reusable. The rest I’ll forge it myself. Sometimes it’s hard, because I feel I could take some shortcuts, but I remind myself that in the long run it will pay off.

What about you? Are you following a similar approach? Or a totally different one? Hit me on Twitter if you wanna chat or write a blog post about it and send me the link. I am very interested in this topic.

Putting Marco’s Numbers in Perspective

Marco Arment has published the sales numbers of Overcast, the podcast application that he released six months ago.

We need more posts like this. They help a lot other entrepreneurs to explore opportunities and put things in perspective.

Before you jump to the “he made it so I can make it too” conclusion let’s put those numbers besides other facts/numbers:

  • Marco runs a very famous blog. I don’t know if Alexa is still the goto tool for measuring websites but his blog has a 45,162 global rank. Just to give you an idea this blog ranks 5,616,248.

  • Marco has 78K followers on Twitter. Some of them are fans and will probably buy whatever he builds, whether it’s high or low quality.

  • Marco runs a very famous podcast with Casey Liss and John Siracusa. Just to give you an idea, the sponsorship for an episode is $3750, which is pretty high for a podcast.

  • Marco has a reputation of building good products: from Tumblr, Instapaper and The Magazine. People trust him.

This didn’t happen overnight. It took him a long time to get to this point. As far as I remember Instapaper dates back to 2008 if not earlier.

So if you are thinking “all I need is 15 months of hard work to build a good product then I will make ~165k a year in revenue” you are wrong. The right way to read his post is:

If you have this kind of online presence AND built this kind of trust AND built a good product then you can aim for that range of revenue.

Clearly there can be exceptions. A developer/team that you have never heard of builds a great product and boom, instant success (and huge sales). That has the same probabilities of winning at Blackjack, without counting :)

The lesson I take from Marco’s post is: besides building a good product, build an audience that trusts you.

Where’s That App?

Tons of words have been written about the problems that developers have with the App Store:

I enjoy a lot the fact that whenever I buy a new machine or install a new version of Mac OS X all the apps are “there”, in the list of my purchases. It’s just a matter of clicking on a bunch on “Install” buttons and wait. With third party software is a bit more complicated:

  • Go to the website of the app
  • Download it
  • Find license token and enter it

The App Store app collapses all these actions in one click, it’s a huge win for the final customer. There are drawbacks though. This is my recent experience.

I recently installed Yosemite on one of my Macs and I started digging through the list of purchased apps as I usually do. While some where downloading I wanted to write a blog post so I looked for Clean Writer Pro, a very nice and simple app that I bought a while ago. It wasn’t in the list of my purchases. It’s not unusual to experience glitches like this in the App Store app. So I ran a quick Google search and ended up on the app website. I clicked the black button and:

The item you’ve requested is not currently available in the Italian Store, but it is available in the U.S. Store. Click Change Store to view this item.

Weird, but again not the first time. So I asked a few of my American friends to open the website and click on the black button. Same story, the app is not on the store. What? I bought something and I think I have the right to use it. A developer can pull an app from the store whenever he/she wants, but since I bought it I should be able to use it as much as I want. To be clear, we are not in the case in which the app is not compatible with Yosemite. It is not in the store anymore.

The app was not expensive and there’s plenty of similar apps, even free. Clearly I can write posts using another editor. Yet, this is not a great user experience. In the good old days we used to buy boxes with floppy disks or CDs, in other words we “owned” a copy of the software. I am comfortable with the idea that now we don’t “own” it anymore, as long as I can download it as many times as I want! In this case what I expect is that an app I have bought appears in the list of my purchases even if the developer pulled it from the store.

I got in touch with the developer via the contact form, but I didn’t hear back and I am not blaming him/her at all. Should I start including my Applications folder in Time Machine? It doesn’t sound like a great idea. To me only data should be included in the back up.

Anyway I quickly put on my The Wolf hat and solved the problem the good old way. I just didn’t expect it to work. I copied the app from the Applications folder of another Mac! And it works! I could have copied it also from a backup I guess. It works because I bought it using the same Apple ID. I solved my problem but still I don’t feel it’s the right solution. It looks more like a patch. Plus not anybody has two machines and can afford to use one as a “cache” for apps :)

This issue got me thinking about a few other edge cases that I could stumble upon in the App Store:

  • I buy an app, then I ask for a refund and I get it. Later I change my mind: can I buy it again? I think so but I am not sure.
  • I buy an app, the dev takes it off of the store a few days later. Can I ask for a refund? I think so, but who knows.
  • An app implementing Auto-Renewable subscriptions gets pulled form the store. The app is still installed on my device. Am I still billed monthly? I have no idea

If you had similar experiences let me know on Twitter. I am curious.

Where Are Not There (Yet)

I was skimming Apple’s related announcements at CES and I stumbled upon Toshiba Transfer Jet.

The fact that tools like this are still invented (and probably sold) makes me think we are not there yet. The dream of moving one file from a device to another is in fact still paved with complicated requirements. This led me to inspect the requirements to use AirDrop, which are pretty high, considering the following facts:

  • There’s still lots of iPhone 4S and iPad 2nd generation out there
  • Not everybody has upgraded to Yosemite yet
  • Not everybody has an iDevice

The problem of transferring a file in a p2p fashion could be easily solved by running an app that starts an HTTP server and shares a folder. That’s it, really. On another device you visit the URL via the browser and download/upload what you want. This is how VLC worked for example. You still need a WiFi connection, but that’s pretty easy to find nowadays. Bluetooth would be ideal because it does not even require a WiFi but the odds of finding two phones (beloging to different platforms) with a Bluetooth chipset that is “compatible enough” to allow a file transfer seem pretty low to me.

My point is that I would love to see the “trasfer problem” solved via software tools, instead of a hardware dongle that you might forget or not have handy when you need it. But it seems we are not there (yet).

Amazon Devices

Dustin Curtis on Amazon Echo

The media strategy that seems to be driving Jeff Bezos to make mobile consumption devices (with Amazon’s media stores and Prime video/music) is flawed. No one makes money selling media for consumption anymore. That market is quickly and brutally dying.

The only explanation I have is that Jeff Bezos wakes up in the morning and says “We have this money to spend, we can’t throw it away so let’s build something”.

I dealt with long distance voice recognition in the past and I know for a fact that its possibilities are pretty limited.

Fear of the App Store

As I’ve mentioned in previous emails, I fear App Review. And that’s no small thing. So many decisions I make end up being filtered through whether or not I think something might get rejected. Which has a profound impact on my team’s entire development process …

Is this sane to you? Not even a bit to me. And yet you have to be paranoid about whether Apple will approve your app, especially if you are going to include an offbeat feature. This is even worse.

Contractors may steer their clients away from taking risks.

For sure I’ll never accept a “final payment once the app is published in the store” clause if there’s an innovative feature involved. Too muck risky to me.