upbeat.it

by Cesare Rocchi

I am Thankful

by Cesare Rocchi

I am thankful for: my wife. Friend, supporter, companion, accomplice, lover. my kids. Thanks for disrupting most of my plans, for waking me up in the middle of the night and for draining most of my energy. I didn’t know I had so much patience and so much energy under my skin. You are helping me to discover parts of me that I wasn’t aware of. And you are teaching me discipline.

Continue reading →

Traits of a good remote worker

by Cesare Rocchi

Kyle Richter has been running a remote company for quite a while and has an interesting post on the traits of a good remote worker. Here are the key points. - Build a good routine that separates work from home. - Maintain a good social and activities circle that is independent of work. - Be an excellent self starter who is motivated to accomplish the tasks in front of you. It’s hard to stay on track when working from home.

Continue reading →

Linking and Copyright Infringement

by Cesare Rocchi

The EU Court has made a pretty complicated decision a few days ago. Quick recap. A publisher linked to copyrighted material, which was published without consent somewhere in Australia. When the Australian website took down the content, the publisher updated the links to point to another website, still hosting the same content illegally. Recidivist behavior, essentially. Every search engine links to external content. I don’t know how this resolution will impact the business of search engines, but Google and friends probably have the (computational, monetary and legal) power to come up with a solution that complies with EU rules.

Continue reading →

Shenzhen's Vibrant Scene

by Cesare Rocchi

I am trying to keep up with the IoT/makers scene. It’s pretty complicated. Many manufacturers, many protocols, many ideas, many possibilities. I stumbled upon a very interesting documentary by Wired. It’s worth a look. They seem two years ahead of Europe and the US.

Continue reading →

I'd trade the audio jack for

by Cesare Rocchi

Obviously it’s all done. So this is just for fun. I’d trade the audio jack on the iPhone for: a purple unicorn a device with a battery that lasts two days instead of one peace on earth a signed contract that says Swift is frozen for 1 year a device with a battery that lasts three days instead of one wireless earbuds that charge as fast as the Apple Pencil and are impossible to loose or very easy to find No, I don’t need a thinner, lighter device.

Continue reading →

Apps need a subtitle in the App Store

by Cesare Rocchi

With the great news announced by Apple there will be some challenges in renaming applications. David Smith has an interesting post about it. 50 characters for a name is not a lot. Tweetbot - A beautiful Twitter client is 38. I’d have to struggle a bit with Podrover. These all fit: Podrover - Track and collect podcast reviews Podrover - Keep track of podcast reviews Podrover - Stay on top of your podcast reviews As I was listening to Release Notes today, Joe came up with an interesting proposal: an app should have a subtitle.

Continue reading →

Good news on App Store policies

by Cesare Rocchi

Apple announced a bunch of changes to the App Store The best news is that … there are also apps on the App Store that no longer function as intended or follow current review guidelines, and others which have not been supported with compatibility updates for a long time. We are implementing an ongoing process of evaluating apps for these issues, notifying their developers, and removing problematic and abandoned apps from the App Store.

Continue reading →

Thanks Daniel

by Cesare Rocchi

Scott Stevenson is putting together a great initiative to thank Daniel Steinberg. If you spare a few minutes please put together a short video following these instructions To contribute a video, send a download link to video@thanksdaniel.com • Use your phone or any camera • Please record in landscape • 1080p is best, but 720p is OK • Max 15-30 seconds long I am sure Daniel will appreciate.

Continue reading →

Ambiguous Design

by Cesare Rocchi

Besides hostile design, there’s also another form of toxic design. I call it ambiguous design. I never met a designer that said “this remote control is perfect”. Even the latest Apple TV remote has some design flaws, mostly due to its shape. But this is a post about something simpler, the remote control of a gate. I recently installed an automatic gate at my house. The remote control is this. It looks like they took inspiration from the shape of iOS app icons, using nice rounded corners.

Continue reading →

The Power of Small

by Cesare Rocchi

Most of the times, when we read “size matters” we almost immediately think “the bigger the better”. I had the pleasure to give an inspirational talk at RWDevCon 2016 titled “The Power of Small”, in which I question if the advantages of being bigger are worth the cost and highlight the advantages of working in a small market, the advantages of a small team and the advantages of a small launch.

Continue reading →

Vesper shutting down

by Cesare Rocchi

A few weeks after Vesper launched I clearly remember I was in Union Square in San Francisco, talking to a friend. At some point of the conversation we agreed on the following thought: If they can’t pull it off, who can? “They” is a sort of dream team: Brent Simmons, Dave Wiskus and John Gruber. I didn’t even think it was possible for Vesper to fail. Not to belittle the skills of Brent and Dave but I thought the “marketing power” of Gruber was essentially endless.

Continue reading →

For Kim

by Cesare Rocchi

These days I am on vacation with my family and friends. As we checked in and got in the rooms we started complaining that they were small, that the elevator was slow and that the wireless was clunky. Yeah, first world problems. I got out a bit to breath some fresh air and skimmed through my Twitter feed. My first world problems were immediately washed away as I read this post by Daniel Steinberg.

Continue reading →

You have to write code to delete code

by Cesare Rocchi

I recently had again masons at my place. I took off the wainscot in our living room and the wall behind it was in a horrible condition. So I had a chance to see a mason making a new, smooth, coat on top of the old wall. The secret for a straight coat? Place a bunch of straight aluminum bars in key spots of the wall as reference points. Make sure they are tall as the wall itself and perpendicular to both the floor and the ceiling.

Continue reading →

Hostile Design

by Cesare Rocchi

Lighting, benches and paths can be designed to force or prevent a given behavior. This episode of 99pi is a great overview of hostile design. It’s incredible how you can design a bench on which it’s impossible to sleep or rest for more than five minutes. Check out also the videos with people enacting weird poses to show the hostility in the design of these objects. What about software? What about that newsletter that asks you to login when you want to unsubscribe?

Continue reading →

No specific goals

by Cesare Rocchi

There are things I’ve wanted to do, but if I didn’t do them I’d be fine with that too. There are targets that would have been nice to hit, but if I didn’t hit them I wouldn’t look back and say I missed them. Jason Fried source Every time I set a specific goal I usually missed it and ended up thinking there was a conspiracy against me, or that I was unable to achieve my goals.

Continue reading →

Working part-time for a week

by Cesare Rocchi

Last week I worked part-time. I went good. I ended up sleeping a bit more, thanks especially to the naps in the afternoon. Overall I felt more tired though. Here’s how I spent my time when I wasn’t working: family, helping my wife and playing with kids listening to jazz watching some interesting documentaries on the origins of jazz taking notes about new ideas visiting friends I didn’t meet in a while reflecting on myself and my life Here and there I had some very light headache.

Continue reading →

Research Papers are already payed for

by Cesare Rocchi

I spent almost ten years in the academia and I am very familiar with the problem. I am interested in a research paper but it’s behind a paywall. The institute I was working for subscribed to many publishers and associations, including ACM and IEEE. So, as long as I was in the office I could download papers. Access to publications was never a problem to me, until a struggling student asked me a copy of a paper which I co-authored.

Continue reading →

Healthier Web Pages

by Cesare Rocchi

I have nothing against AMP or similar projects. Anything that makes a website load faster is progress to me. The point is: why do we need something like AMP? Because pages are slow to load. Perfect. Why web pages are slow to load? My theory is the following. Web pages are slow to load because they are fat. They are fat because they include crappy and unneeded plugins and third party libraries.

Continue reading →

Dialog between a News Publisher and a Social Media Platform

by Cesare Rocchi

Hey, I’d like you to create some content for me. I am gonna pay you of course :) What do you mean by “content for me”? You create it, I publish it on my platform. Will I be credited as author? Sure! Will the reader be clearly see that I am the author? Well, yeah, unless they are dumb fucks But how many people will read what I write? Many, really many.

Continue reading →

Supporting IPv6 Networks

by Cesare Rocchi

In my list of transitions I forgot to mention IPv6 support. Mostly because I didn’t stumble upon it. Until today. I knew it was announced. I just didn’t recall when it was the deadline. It was June 1st 2016. From that day on every iOS (and maybe Mac app?) has to support IPv6. So yesterday I submitted an app for a client and my jaw dropped when it was rejected because it didn’t support IPv6.

Continue reading →

Part-time Week

by Cesare Rocchi

Lately I have been noticing that my productivity has decreased a bit. Programming tasks that are pretty well known to me are taking too much time and I get distracted more often than usual. Kids are at home these weeks, so there’s one source of distraction. Another is the weather. It’s pretty hot and humid these days and I can’t think clearly enough. Finally … I also need a pause probably!

Continue reading →

The Eternal Transition

by Cesare Rocchi

Trying to recap how many transitions we (developers) went through in Apple land: from 32 to 64 bits from one resolution (and one form factor) to many from one pixel density to three. Back to 2 if you target iOS10+ on. Unless in September the announce something @4x. from Spring and Struts to Auto Layout. Fun fact: a small version of Spring and Struts is back into Xcode 8. a new design language in iOS7.

Continue reading →

Dismantling the Salon App idea

by Cesare Rocchi

As I am looking for feedback on a protoype I went back to my ideas.txt file to tidy it up a bit. One entry I found is “system to allow customers of a salon to book services like haircut, pedicure, etc.”. My idea was to manage the scheduling using an application. I didn’t even think about the nature of the app, web, native, both. I just took that note. Sometimes I remember that I need something in the evening, and if that something (like a haircut) requires an appointment, I think it would be cool to do it right away using an app, instead of a creating a reminder to make a phone call the next day.

Continue reading →

Relevant Microdecisions

by Cesare Rocchi

As I step outside of the world of code these days I am faced with many microdecisions about my services. Some are: Come up with a relevant subject for emails Require credit card upfront or not Format of tweets (and when to tweet) Format of blog posts (and when to post) When to announce a new feature, e.g. right away or wait for the next newsletter I call them micro because I tend to make those decisions pretty quickly, maybe by taking inspiration from some other popular service or product that I am using.

Continue reading →

Should I build this app?

by Cesare Rocchi

I had a need. I chopped away a few hours here and there and built the prototype of an app. Blogging with Hugo or similar static site generators means using three tools: the Terminal, to create new posts and start the local server an editor, to write the post a web browser, to preview the draft I couldn’t find an app that embedded all these functionalities. So I built one, to feed the inner beast.

Continue reading →

Pinboard turns Seven

by Cesare Rocchi

Whoever runs a SaaS should take some inspiration from Pinboard, which recently turned seven. I am not aware of many services that are run just by one person and lasted seven years. Here’s some aspects that I like: no fuss simple design focus on ONE thing (bookmarking) focus on a simple thing (thus easy to explain) good timing (launched when del.icio.us announced the shutdown) keep the cost of the infrastructure low I am following all of this rules for my services.

Continue reading →

Feeding the Inner Beast

by Cesare Rocchi

I had the pleasure to be interviewed by Izabela Russell on her New Media Europe show. It was fun. I talked about my inner beast.

Continue reading →

On Podcasts length

by Cesare Rocchi

As I am editing the next episode of the Cocoaconf podcast I stumbled upon this comic. source I like short and edited podcasts. I also listen to long and unedited ones, but for exceptional reasons like: I am very interested in the guest(s) I am very interested in the topic(s) I have time to kill But when I see a 2h+ episode in my podcatcher, I rarely play it right away.

Continue reading →

Every Scene is a Lesson

by Cesare Rocchi

Dreaming is a way of trivializing the process, the obsession that carries you through the failure as well as the successes, which could be harder to get through. If you're dreaming, you're sleeping. It's important and imperative to always be awake to your feelings, your possibilities, your ambitions. ... Every step is a first step. Every brush stroke is a test. Every scene is a lesson. Every shot is a school.

Continue reading →

App Quality and Target Audience

by Cesare Rocchi

I am pretty critic against Facebook but I can’t deny that Paper was a gorgeous app. There are not many teams that can pull off a really well done app like Paper, and it’s a pity that it will be shut down. If it was that gorgeous why didn’t it have success? There are probably a million reasons, like: they didn’t push it enough “political” issues within Facebook teams change of priorities and many more.

Continue reading →

A new Cement

by Cesare Rocchi

As I have written before, I am fascinated by the similarity between software developers and masons. Let’s suppose you are the head of a chemical lab and you are creating a new cement. You think you have a good prototype and you are looking for some feedback. Who do you talk to? Architects or masons? I’d talk to masons, people that will have to deal with my product on a day to day basis.

Continue reading →

The Web is already Decentralized

by Cesare Rocchi

It’s funny. It sounds like “a loving love” or “a new innovation”. A tautology. There’s no need to specify that the web is decentralized. It’s already decentralized, by nature. And yet, the title of the conference had to be Decentralized Web Summit. We don’t lack technical tools. We have plenty of them. What we lack is the culture of owning the URL. Sir Berners-Lee says it better The problem is the dominance of one search engine, one big social network, one Twitter for microblogging.

Continue reading →

Blank canvases for kids

by Cesare Rocchi

HyperCard didn’t try to teach you coding. It really didn’t try to do anything. It just gave you a blank canvas that you could do anything you wanted on. This had two advantages: You had to work hard to learn, and you also had to use your imagination and creativity to find solutions and build the things you wanted. Swift Playgrounds: Should we teach coding, or creativity? source When I learned programming I did it the same way, starting from a blank canvas.

Continue reading →

Static Types vs Unit Tests

by Cesare Rocchi

Only 36% “see the value” of static types. In contrast, 62% – nearly twice as many – see the value of unit testing. Developers are nearly twice as likely to “enjoy using” unit tests (33%) as compared with static types (18%). Empirical Analysis of Programming Language Adoption source I am usually skeptical about papers like this. There’s a lot to pay attention to in surveys. For example: how they gathered subjects?

Continue reading →

Optimized Storage in macOS Sierra

by Cesare Rocchi

Storage space maxed out? No problem. macOS Sierra can help make more room by automatically storing rarely used files in the cloud and keeping them available on demand. It can also help you find and remove old files you no longer use. So there’s always room on your Mac for new files and the ones you’ve used most recently. macOS Sierra preview page source I am a fan of automation. I have nothing against it, as long as its behavior is crystal clear.

Continue reading →

Serverless

by Cesare Rocchi

In the beginning there was the Monolithic application. Then we had (and still have) Microservices. Now the hot word is Serverless. I confess I am intrigued. Maybe a serverless approach could force me to think even in simpler terms. But then the pragmatic side of me takes over and thinks that, much like in fashion, in technology there are trends and I am totally fine with the old trend of the The Majestic Monolith.

Continue reading →

Podrover Graduation Day

by Cesare Rocchi

It has been a rollercoaster. Sometimes I thought I was done. Sometimes I thought this day would never come. I made it. Podrover is out of beta. I am proud of what I achieved so far. There’s still a lot to do, but I am very happy with this milestone. Podrover and AppVersion are two products that I fully produced. Design, development, marketing, everything. I am very happy with my life these days.

Continue reading →

Lisp could have been huge

by Cesare Rocchi

Lisp is the first programming language I learned. That’s why I liked programming since the beginning. Unlike some of my friends, my learning path looked downhill, at least at the beginning. In Lisp you are “free”. Its syntax is easy to grasp. You can write your own interpreter if you like. Functions as first class citizens are now a given in many programming language. In Lisp they were there since the beginning.

Continue reading →

iOS vs Android in Old Projects

by Cesare Rocchi

Around ten days ago I wake up and the iPhone tells me I missed ten phone calls. Usually not a lot of people call me and very rarely ten times in half an hour. I call back, suspecting something weird. It was a friend. He runs a company that has many branches. One branch deals with constructions and publishes a monthly magazine. Besides being printed the magazine is also available as a Newsstand app for iOS and Android.

Continue reading →

Osteopathy and C++

by Cesare Rocchi

I bet you’ll never find such an “alternative” title for a blog post :) My backbone has issues. I periodically schedule visits with an osteopath. He’s a doctor, that manipulates bones to unlock mobility of parts of the body and “reset” posture issues. During sessions we chat. He knows I make software. He once asked “do people still use C++?”. Honestly, really honestly, I didn’t want to chat about it but I rolled with it.

Continue reading →

Restoring non-consumable IAPs in iOS

by Cesare Rocchi

You’d think that a Google search and subsequent visit to Stack Overflow are the solution to all your programming problems. Right? Until, I don’t find an answer or I find multiple contrasting answers. This adventure follows in the second category. I needed to restore a non-consumable IAP (in-app purchase) for an iOS app. When you search for something like that you end up with a lot of noisy and contrasting information.I just needed to “discover” the freaking method to check if the user has already purchased a IAP that unlocks some features in the app I am working on.

Continue reading →

WWDC 2016 wishes

by Cesare Rocchi

It’s all decided already. This list, and any other list of wishes, won’t change what will be announced next week. So this is just for fun, and for WWDC 2017. A 60% faster compiler a purple unicorn a do-it-all method that takes care of restoring IAPs. I call it and gets back to me with either success or error. peace on Earth, everywhere a promise that Swift will be frozen for 2-3 years so I can focus on building something that lasts instead of spending my time making a compiler happy a bitcode implementation that is not in the way refactoring for Swift Craig Federighi on stage, bald a blend of Storyboards and simulator.

Continue reading →

Cocoaconf Podcast Episode 5

by Cesare Rocchi

I had a lot of fun talking to Natasha the Robot. We talk about: traveling while staying sane gear tips and tricks when you visit a new country conferences doing laundry and the usual uncomfortable questions Give it a listen. She’s fun :)

Continue reading →

Not Easy as PIE

by Cesare Rocchi

I was submitting a new app to the App Store. I didn’t use TestFlight for beta testing. So new app, new id, new everything. Archive and validate. Once validation passes I usually think I am done. So I start uploading and bragging about it. Until … the upload fails. Must be a glitch, I retry. Failed again. I try many times and I end up with this on iTunes connect. I went to sleep, disappointed.

Continue reading →

40 and still cranking code

by Cesare Rocchi

Do not worry about hype. Keep doing your thing, keep learning what you were learning, and move on. Pay attention to it only if you have a genuine interest, or if you feel that it could bring you some benefit in the medium or long run. Adrian Kosmaczewski source I really enjoyed this talk by Adrian Kosmaczewski. I can relate with many of the messages he sent out.

Continue reading →

Don't blame the tools

by Cesare Rocchi

In the past I have been involved in big projects, managed via tools like JIRA or Redmine. It wasn’t heaven. Convoluted processes, tons of emails, walls of text that nobody read. I used to blame the tools. I am changing my mind. Clearly a tool in itself can’t be responsible for a situation. It’s the usage that people make of it that generates happiness or frustration. Now there’s an argument to be made.

Continue reading →

Read more Blogs

by Cesare Rocchi

... they patiently inform and challenge, using your time with respect. Seth Godin source Seth Godin has been writing forever. His observation is spot on. I try to read magazines or other publications, and I can’t avoid to notice that often they write to get more eyeballs. Blogs, the ones I read at least, are more discrete, unobtrusive, even those with sponsors. I read the RSS feeds I subscribe to 3-4 times a week and I really enjoy it.

Continue reading →

Acceptable Business Terms

by Cesare Rocchi

"You can always get the player on the device. The question is, can you get it on there with acceptable business terms?" Jeff Bezos source The developer side of me leans towards the “it is technically doable, thus good” side of things. The business side of me tends to ask “Is it worth it? Does it make sense in business terms?”. I feel very lucky that these two personas have arguments pretty often in my mind.

Continue reading →

WWDC 2016 guesses

by Cesare Rocchi

Brent Simmons has collected an interesting and funny list of WWDC guesses. I particularly enjoyed the ones in uppercase :) My guess is the following: something like TVML but for iOS/Mac OS. Rationale Apple likes to introduce something new on one platform. If it gets traction it will extend it to other platforms. Storyboards were introduced first on iOS, then made it to the Mac. Auto Layout was introduced first on the Mac and then on iOS.

Continue reading →

Cocoaconf Podcast Episode 4

by Cesare Rocchi

New episode is out. A bit late. I had tonsillitis :( I talked to Ally Kazmucha, editor in chief of the App Factor about the struggles that app makers go through when they have to “talk to the press”. Give it a listen, there are some precious suggestions.

Continue reading →

Aren't Storyboards supposed to tell a story?

by Cesare Rocchi

In the last few months I have read some interesting articles about “Coordinator” objects. Some they call it Flow Controllers, some coordinators. I admit I like the idea of having an object collecting the navigation logic. As a side effect you end up with slimmer and easier-to-test view controllers. Win-win. Now. Maybe it’s the word itself, maybe I conceptualized it in a wrong way. Isn’t a storyboard supposed to do exactly that?

Continue reading →

I Can't Write Content

by Cesare Rocchi

I can’t cook food. I can cook a grilled salmon, a steak. But I can’t cook generic food. Much like I can’t write generic content, and specifically content designed to get more visits. It feels so unauthentic to me. I can write to explain a tool, an API. I can write about an experience I had. I can write about a struggle I went through. Sitting down to design a post, and handpicking the keywords to maximize the number of visits?

Continue reading →

Highly preached Common Sense Messages

by Cesare Rocchi

Off the top of my head: Sleep more Plan backwards, start from goal define steps to get there Start marketing before having a product Define success for you Charge more Do content marketing Do growth hacking Build something that solves a problem or that people want Keep it simple Making money is not the most important thing Money is not a motivator Build habits to avoid making micro decisions throughout the day Focus Ignore the competition Work hard Work smart Don’t procrastinate Start somewhere Build a following Build a mailing list Create an online course There’s many more.

Continue reading →

The App that was Never Born

by Cesare Rocchi

Becky Hansmeyer posted an interesting challenge. Share some screenshots of your first, and probably not that great, app. I enjoyed Curtis’ take. Here’s is mine. It’s not about my first app. It was supposed to be my fourth. Unfortunately, even if you get your first app right, you can still stumble along the way. Beginning of May 2014. I get out of the hospital after a sleepless night. A few hours before my daughter was born.

Continue reading →

Prince was Indie

by Cesare Rocchi

At the time of his death, he reportedly owned the master recordings of all his output. With no major label to serve for most of the second half of his career and no constraints on distribution, he was free to try new modes of connection. Jon Caramanica on NYT source He broke up with Warner Bros because they imposed him the pace of one album a year. Many artists would struggle and interpret is as at least one a year.

Continue reading →

Now Page

by Cesare Rocchi

It took me a while but now I have a now page. It’s here. I’ll keep it updated. I am also on nownownow. Thanks Derek!

Continue reading →

Apps like Music Singles

by Cesare Rocchi

I’d rather Apple do tons of crazy experiments, some of which may hurt my business, than keep neglecting their major role in the entire consumer-software market by continuing to treat apps like music singles forever. Marco Arment source Apps have been treated like music singles, released once and NEVER meant to be updated. Since the beginning. Let’s give Phil Schiller some time to rearrange the App Store. After so many years I am not that faithful but I am eager to see what’s announced during the next WWDC.

Continue reading →

Adventures with SSL

by Cesare Rocchi

Google is pushing it. It began two years ago at Google I/O. Not only all their services support SSL by default, but they will “penalize” websites not running SSL soon. There’s a pretty controversial post by Dave Winer about why Google is enforcing SSL. I’ll be way less controversial and more pragmatic. SSL is good, the intentions of people installing it are (probably) good. Security is important, but doesn’t come without overhead.

Continue reading →

From Octopress to Hugo

by Cesare Rocchi

I moved this blog form Octopress to Hugo. Octopress was good but hasn’t been updated in a while. Version 3.0 was promised a year ago but still no news. I don’t blame the author, I know plans can go sideways. Plus I wanted an excuse to use Hugo, because it’s a good candidate for the core of a new product I am designing. I kept an eye on Hugo for quite a while.

Continue reading →

Embracing JOMO

by Cesare Rocchi

A few months ago I listened to an ear-opening (?) episode of Note to Self podcast about JOMO. JOMO stands for Joy Of Missing Out. You have probably heard to FOMO (Fear Of Missing Out). Something is happening right now, you are not part of it and you don’t like it, even worse you regret it. JOMO is the opposite, and no it’s not misanthropy. Last time I felt FOMO I was 15 and my parents forbade me to go to a trip with my friends.

Continue reading →

Build the whole thing

by Cesare Rocchi

Sometimes I play with new tools and frameworks. I think it’s a sane practice to glance at the neighbour’s grass sometimes. I started playing with Laravel. PHP7 has improved a lot and the community is vibrant. While playing with it I noticed one thing about my attitude. First I time boxed my task to two hours. Second I didn’t play just with the framework itself, but I build a complete app, ready to deploy.

Continue reading →

From Georgia to Merriweather

by Cesare Rocchi

I started this blog using the font Lucida Grande, then I switched to Georgia. At this point you might think I have a fetish for “vintage” fonts. As I am moving this blog to another “platform” I have been using Merriweather to tweak the new template and I confess I really like it. It’s “bolder” than Georgia, both visually and figuratively, and it’s very readable. So I think I’ll keep it for the next version of the blog.

Continue reading →

I Spoke at My First Online Conference

by Cesare Rocchi

For the first time I spoke at an online conference. It was fun. The pros: no traveling no dressing up you speak in the comfort of your office no worries to forget the slides at home :) The cons: I missed the after conference, the water cooler chat that happens in between sessions I had to share my slides full screen, so I had no visual feedback from the audience As for the last point, my connection dropped five minutes before the end of my presentation, but I kept speaking because I had no way to find out.

Continue reading →

Coding as writing paragraphs

by Cesare Rocchi

There’s an interesting discussion going on in the Cocoa community. It’s about being reactive vs traditional. While reactive programming has been present in the Cocoa community since 2012 with ReactiveCocoa, RxSwift is getting quite some attention lately. The recent discussion happened between these posts: The Reactive Revolution of Swift The Non-Reactive Solution To React, Or Not To React Comparing Reactive and Traditional There’s more, but that is the backbone of the debate I think.

Continue reading →

Architects should code

by Cesare Rocchi

I advocate for Tech Leads to spend at least 30% of their time coding. Pat Kua source That’s just one of the gems in the article. Even if it’s written by a guy that worked in a big company for twelve years, many suggestions are relevant also to solopreneurs. I worked in the enterprise in the past. The first time was at a Java shop, building software for invoicing. I was in charge of creating UIs in ActionScript.

Continue reading →

Speaking at iOS Remote Conference

by Cesare Rocchi

I was supposed to speak at Cocoaconf Austin. And after I committed I discovered a dear friend of mine was getting married on April 16th. I don’t take commitments lightly, once I commit I am committed. So I mulled on it a few days and then sent an email to the Kleins, asking if I could withdraw. Very simply they replied: You shouldn't miss a friend's wedding for a tech conference.

Continue reading →

Upsert in Core Data

by Cesare Rocchi

I am a huge fan of upsert. An upsert operation creates a new record in a database, but if the record already exists it just updates it. All of that in the same query. Without upsert you’d need something like this (in pseudocode): if (record.exists?) { // update code here } else { // insert code here } The disadvantage of this is that you have to perform two queries, one to check the existence of the record and one either to update or to insert it.

Continue reading →

I am looking for PR friendly repos

by Cesare Rocchi

One of the ideas that I had for my monthly challenges is to contribute a pull request a day to an open source project. I thought the simplest contribution is fixing typos. Now, as much as you think it should be appreciated, it isn’t. Not every author of open source projects is keen to receive these kind of contributions. A while back even Chris Lattner felt the need to confirm that “pedantic PRs” are welcomed in the Swift repo.

Continue reading →

Fascinated by Microcasts

by Cesare Rocchi

Microcasting is producing short podcasts. The borders blur a bit if we consider platforms like Anchor.fm, which is a sort of audio version of Twitter. But I am fascinated by classically produced, short podcasts. I really enjoyed Developing Perspective and now I enjoy Manton’s Timetable. Even Dan Benjamin mentioned short podcasts recently on the Podcast Method. I am tempted to start one and if I had one single tool that allowed to do it I’d have started already probably.

Continue reading →

Old boring and battle tested tools

by Cesare Rocchi

I have been listening to the Under the Radar podcast. More than once both Marco and David mentioned the phrase “old and boring” referring to the ideal tools to get a job done. I totally agree. I started prototyping AppVersion using MongoDB. Boy, upserting was fast! And so was I in writing code and adding features. Until it came time to deploy. I started having problems with random data losses and I was put off by the recommended setting to deploy at least 3 replica sets.

Continue reading →

A February of Blogging

by Cesare Rocchi

In February I blogged every week day. It was fun, sometimes demanding, but overall rewarding. I started these challenges to push myself a bit. I have discovered that I am much better at committing to a daily task than to a weekly one. In the past I struggled quite a bit with blogging because I blogged when I felt the need, and that meant one post a month on average. It’s not just about the quantity though.

Continue reading →

Cocoaconf Podcast Episode 2

by Cesare Rocchi

In the second episode of Season three I talked to Daniel Jalkut about working from home. I learned a lot of tricks. Give is a listen, there are some interesting gems.

Continue reading →

Is it drying up?

by Cesare Rocchi

Sarah Parmenter wrote an interesting blog post about work drying up for freelance web designers. It reminds me a lot of what happened in the Flash community almost ten years ago. The once great tool that saved us all from fighting against incompatibilities between browsers was not useful anymore. Developers began to progressively ditch it. Some went back to web technologies, others (like me) started working on mobile native applications. I remember the days in which writing CSS was a work of art.

Continue reading →

Atlas

by Cesare Rocchi

Stripe has launched Atlas. With all the mess generated by the VAT MOSS in Europe, this is great news. They help to incorporate a company in Delaware, open a bank account and have support to deal with IRS. It won’t be paradise but I feel it’s better than the bureaucratic hell we are living in on the other side of the pond.

Continue reading →

Staying in Character

by Cesare Rocchi

An expression that you might have heard during an interview with an actor talking about his/her acting method is “being in character”. It’s the ability of an actor to stay in the character’s state of mind, in spite of the circumstances. Let’s suppose you are playing a sad scene. You remembered some personal sad moment to help you “get there”. You are playing the character and you are half way through the scene.

Continue reading →

How I Podcast

by Cesare Rocchi

I don’t dislike podcasts-as-conversations. I listen to some and they are pretty good. But I prefer much more edited podcasts. For example TLDR is no more, but is very well produced. Reply All is another great one. And I am eagerly waiting for the new season of Codebreaker. When I listen to them I clearly perceive that they have worked to create a 2 hour long episode and then they sat down and picked the best parts to build a story.

Continue reading →

I prefer people to degrees

by Cesare Rocchi

I have noticed this post by John Saddington a few weeks ago and I kept it around, mulling over it from time to time. It resonates a lot with me. When I look at the past I really enjoyed working with people that really didn’t qualify for the job if I just looked at their degrees. I enjoyed working with them because we got along, we shared the belief in the first-make-it-work-and-then-make-it-better principle and we never judged the person but just the code (or the design).

Continue reading →

Lines spent

by Cesare Rocchi

My point today is that, if we wish to count lines of code, we should not regard them as "lines produced" but as "lines spent": the current conventional wisdom is so foolish as to book that count on the wrong side of the ledger. E. W. Dijkstra source Amen to that. I am trying to write less code. I am still honing that process. Nevertheless I recognize that sometimes I need to write some specific code before deleting it.

Continue reading →

Saying No

by Cesare Rocchi

Would you speak at our conference? Can I pick your brain about this? Dinner out? We booked a chalet for the next weekend. Feel like skying? Saying no is hard. It really is to me. I don’t particularly love packing my luggage and take a plane. But I am willing to do it if I know I am gonna meet somebody interesting when I land. Taking some time off to listen to somebody’s idea is not my best hobby.

Continue reading →

Walking

by Cesare Rocchi

Maybe you can relate to the feeling. Everything, or most of the things happening around you, point you to the same direction. And yet, you have doubts. I remember the first time I visited New York City. It was 2002, a few months after the Twin towers attack. My hotel was midtown, on the 31st. I arrived very late, on a Saturday night, jaded. Sunday morning I woke up, willing to visit Ground Zero.

Continue reading →

I am gonna miss mdevcon

by Cesare Rocchi

It was 2012. I was … younger. I got involved in the iOS community since the very beginning. I joined the Ray Wenderlich team in 2011. After a few months we wrote iOS 5 by tutorials. My chapters were about iCloud. The book was a huge success. Somehow I got across the mdevcon call for papers. All I thought was: “why not?” I submitted a proposal and then I totally forgot about it.

Continue reading →

The slacker beast

by Cesare Rocchi

A new framework is out. A new cool library has been released. You see it mentioned everywhere. You check it out quickly, it really seems cool. You are tempted to jump in. “Jump in” here might mean: I am going to include it in my next project I am going to convince my team to use it I am gonna build a demo project and talk about it at my local meet up I am gonna take sometime off to play with it I call this the slacker beast.

Continue reading →

How many design titles?

by Cesare Rocchi

We go so far as to define the very word "design" as arranging pixels for display on a screen. Drew Wilson source I am with Drew on this. Every choice in a product contributes to its design. If a DevOps engineer spots that a service is slow and makes it faster, he/she improves the overall experience of the product. Would you call that engineer a designer? Probably not, but still the design has been improved.

Continue reading →

From motivation to discipline

by Cesare Rocchi

Motivation. It has been my fuel many times in the past. I’d wake up in the morning and let her feed my engines. No complaints. Really. Now I am living a phase of my life in which motivation is not enough, it’s too much ups-and-downs. I’d have highly productive days mixed with horrible days, in which I can’t get anything done. So a while ago I switched fuel. Now it’s discipline.

Continue reading →

Pillars

by Cesare Rocchi

A few weeks ago a friend of mine died. He was 89 but I’d still call him “friend”. He was even more than that. A mentor, a person that knew me well and saw me grow. I have been lucky to have known all of my four grandparents and I spent a great amount of time with them. I like to think of my “friend” as the fifth grand parent. His death triggered a bunch of reflections.

Continue reading →

Seamlessness

by Cesare Rocchi

A seamless texture. It makes my eyes freely flow over it. It gives me that sense of endless. Whenever I go to a mall I stop by the cutlery section and I love looking for tureens with no welded joints. The Westfield Mall in San Francisco, on the ground floor, has a huge cutlery section. It’s design heaven to me :) I also like to pick up knives to figure out if they feel balanced in my hand.

Continue reading →

Celebration Test #1

by Cesare Rocchi

One of the three words I picked for 2016 is celebrate. Let’s start practicing :) Today was a kind of down day, in which I couldn’t get a lot done. I tried to work in first gear mode. I worked on the core of a new feature, then I had a walk and thought about my long todo list. Suddenly two neurons collided in my brain and I wondered: how is my done list?

Continue reading →

Coworking

by Cesare Rocchi

My wife had a great idea for Christmas. Her gift for me was a monthly subscription to a local coworking. We talked pretty often about my difficulties of working from home, especially when the schedule of our kids was pretty hectic. Her gift was perfect. I admit I was a bit skeptical. For a number of reasons my main machine is now a Mac Mini, which I wouldn’t move back and forth.

Continue reading →

Software updates are complicated

by Cesare Rocchi

If you think waiting for Apple to approve a new version of your App is nerve-racking you should listen to Episode 4 of the Code Breaker. It’s an interesting podcast that I recently discovered and season 1 is all about the question “Is it evil?”. There’s a little segment in which they interview the folks behind Instapaper to talk about software updates in the Apple land. But the best part is when they talk about the NASA that screwed something up in a software update to the International Space Station.

Continue reading →

Clean Networking Code

by Cesare Rocchi

I can’t help but think that my networking code was cleaner before the introduction of blocks, before 2010. That doesn’t mean my networking code after that date sucks though :) One of the things I liked the most when I discovered Objective-c and the Cocoa frameworks was the delegate pattern. I saw it and it clicked, just like that. To give you a bit of context I was coming from the world of Java, writing code to generate factories that in turn generated factories.

Continue reading →

The fallacy of almost free

by Cesare Rocchi

The entry level tier of Parse was so generous that it felt like the service was free. I think this has led some developer to reason along the lines of: I don’t pay for that service, so I don’t need to charge for my app. Or I can charge less, because I don’t have recurring costs for the servers. That is unhealthy. Not just for developers but also for users. There’s probably gonna be some bending over backwards to port an app running on Parse somewhere else, with potential interruptions for the customers.

Continue reading →

Cocoaconf Podcast Season 3 is here

by Cesare Rocchi

I am honored to be the new host of the Cocoaconf Podcast. The first episode of Season 3 is out. I had the immense pleasure to interview Brent Simmons. I had a lot of fun going back in time and walking with Brent along the streets he used to walk before the advent of the App Store. At some point we stopped for a beer and the conversation got even more interesting.

Continue reading →

Data leak as pipe leak

by Cesare Rocchi

I don’t know about you but when we have some kind of problem at our house we call somebody to take care of it. I can venture in plastering and painting walls but if there’s a pipe leaking I call the plumber. If some socket doesn’t work I call the electrician. If things go on like this I feel like everybody will soon need an IT service that you can call for security related problems much like you call the plumber when a pipe is leaky.

Continue reading →

Interview with Drew Wilson

by Cesare Rocchi

It was fun interviewing Drew Wilson. My favorite part is: Learning to code totally changed my life; being able to fully realize my designs all by myself was amazing. I immediately started building my own ideas. Here is the full interview.

Continue reading →

Three Words for 2016

by Cesare Rocchi

I am picking my three words for 2016. The task sounded so easy, it’s just three words after all. For me it wasn’t. While I didn’t devote long sessions to think about it, I took a lot of micro moments to mull over it. Here they are. Thank As in say “thank you” more often and don’t think people owe me. How many times I found something done and I thought it was just owed?

Continue reading →

When I forget to celebrate

by Cesare Rocchi

Only when I stop and really think about it I recognize I made steps in the direction I wanted to. But I don’t stop to celebrate often. One year ago I started drinking a glass of water as the first thing in the morning. It helps me a lot, much more than coffee, which I drink after. I do it every single morning. And every single morning I forget to celebrate.

Continue reading →

Lack of Motivation

by Cesare Rocchi

It happens to everybody. You start with a spark, motivated, you are gonna rule the world. You put a lot of effort, you see the progress, you get feedback, that fosters more motivation, you go on. Smooth sailing. Suddenly that day arrives. The night before you have planned your tasks. You don’t have to think what to do, it’s all there in the list. But you can’t get started. Maybe something sidetracked you?

Continue reading →

A selfless Swift

by Cesare Rocchi

It’s not a bird without ego :) There’s quite a heated debate about the use of self. If you read the proposal on GitHub there are pros and cons. We had a similar discussion on the Ray Wenderlich team when we wrote our Swift style guide. I am in favor of using self, but I lost the argument :( And my argument is simple: I like code easy to read. I don’t mind writing self, even when it’s redundant, and I am sure my future self will appreciate it (no pun intended).

Continue reading →

No SCM

by Cesare Rocchi

I am not using a Source Code Management (SCM) system for my products, neither for AppVersion nor for Podrover. People look at me in a weird way when I say it. Here’s why. It’s just me. I am the only developer. There’s no need of sharing the code base with somebody. I save some time. Maybe not a lot. Maybe ten minutes a week. That’s a work day a year. My Toolbox is leaner.

Continue reading →

Trying to avoid lock-in

by Cesare Rocchi

While building my services I am trying to avoid lock-in as much as possible. I especially try avoiding to tie myself to a non portable technology. For example I could have used Heroku. I used it in the past, it’s very cool. But it doesn’t allow to upload files. I mean it does, but storage is not permanent. The suggested way is to upload files to S3. Another dependency. You see where this is going?

Continue reading →

On Signup Screens

by Cesare Rocchi

There’s a very nice article by Sebastian Kreutzberger about improving UX by avoiding signup screens. There’s also a follow up post to address cross-platform issues. It’s all feasible, sure. But is it worth it? All of this just to avoid a signup form? I am all for a better UX and a signup screen can be seen as an “obstacle”. On the other hand a form is also a milestone. A customer entering her email is a form of commitment.

Continue reading →

Behind an Icon

by Cesare Rocchi

We usually see the final product. We judge it pretty quickly. We almost never think how the designer got to that result. Here’s the story behind the icon of Podrover. I wanted to design it myself, but the entrepreneur side of me won that argument with a “let’s outsource the design of the icon while you keep on building the app”. I had a few ideas in mind, mostly playing with the concept of rover as a vehicle.

Continue reading →

In First Gear (at least)

by Cesare Rocchi

Here’s a lesson I learned from my professor at the University. What’s cool is that this is not a motto he said, it’s something I internalized while working with him for three years. We had a lot of mishaps while working on a EU-funded project: hardware bought but withheld at the customs local administration delaying the project by putting a spoke in the wheels with bureaucratic nonsense people leaving the project after a few months other professors giving us a bad time, mostly due to envy snow that prevented us to access the lab for a week his son having a kidney transplant It was like bad luck decided to focus all his attention on my professor.

Continue reading →

Letting go of perfectionism

by Cesare Rocchi

You have it, there in your mind. Maybe it took a while before you “visualized” it. Or maybe you got it in the blink of an eye. Either way now it’s there, so crystal clear that you feel it’s “mandatory” to realize it. The idea. You have time, skills and motivation. Just one little obstacle. Your perfectionist tendencies. I just described my younger self. I have a ton of abandoned projects.

Continue reading →

Product Programmer

by Cesare Rocchi

A few days ago I stumbled upon this Taxonomy of Programmers. It’s not exhaustive list but I fit pretty good into the Product Programmer category, especially on this: They want to think about the product I feel pretty uncomfortable if my task is “build this cog, here are the specs”. I kinda need to know how my work fits in, how that cog contributes to the machine. This is totally related to my masonry approach to software development.

Continue reading →

Dismantling an App Idea

by Cesare Rocchi

How do you analyze your app ideas? Here’s how I do it. First a little preamble. I am publishing this blog on S3. I use Octopress to generate it. I write my posts in markdown. Once I am done writing/editing I (re)generate the blog and upload the results to S3. That’s it. Most of this process involves scripts that I run in the Terminal and I am totally fine with it.

Continue reading →

Adventures with Servers attacked by Botnets

by Cesare Rocchi

I have a toy VPS on Digital Ocean. It runs the backend of a very simple prototype for a demo that I had to run almost a year ago. The backend has a signup and login system but fortunately we didn’t use any sensitive data for the demo, just fake email addresses and a bunch of data about businesses like addresses and phone numbers, all publicly available stuff. At the time we were in a rush so I set up the machine without any particular protection.

Continue reading →

My Father and Mick Jagger

by Cesare Rocchi

Sometimes during podcasts or even at conferences I get asked: “who is your role model?” My answer is “My father and Mick Jagger”. No, they are not the same person :) They share a very fascinating trait though. They are both older than seventy and both still enjoy doing what they did for their entire life. I assume you already know who Mick Jagger is and what he does. My father does not have a wikipedia page, yet.

Continue reading →

Software Masonry

by Cesare Rocchi

We have been restoring our house for a few months. I saw many things that are pretty similar to the world of software development. Most of them are related to “executing a design”. When you restore a house there’s usually an architect or a quantity surveyor that leads the job. They check out the house, take a lot of measures, come up with a blueprint and the masons are supposed to execute it.

Continue reading →

Between me and Swift

by Cesare Rocchi

When you teach it you build examples close to real world scenarios, but still not fully real. When you work on a project on your own you might take shortcuts to avoid what you suspect are intricate situations. When you work with a team, with designers that want a pixel perfect implementation, with an existing code base, with some bridges to Objective-C, with changes of mind along the way then you have a good battlefield to test a tool.

Continue reading →

Product or Project?

by Cesare Rocchi

A friend asks you: “what are you doing these days?” You are working on something on the side, or even full time. How do you call it? Product or project? I’m not hair splitting. A project to me is in a sandbox. I do it for fun and to learn something new. The expected outcome is self contained. I know something more when I am done and I enjoyed doing it.

Continue reading →

Sleep is Good (if you can afford it)

by Cesare Rocchi

I’d sleep for a month if I could. The point is, I can’t afford it. I am living a phase of my life in which I don’t sleep much. We have two kids. One is 4, the other is almost 2. Nights are crazy. My problem is not sleeping fewer hours than usual, but interrupted sleep. Like sleeping for 2 hours (enough to get in the REM phase) and be awakened by one the kids screaming because he had a nightmare, or because he wants to play.

Continue reading →

One small thing everyday

by Cesare Rocchi

Since October 19th I have read and posted a small inspirational quote every day. I didn’t even realize it until I noticed that the file I uploaded was named “31.mp3”. That marked a month. Here’s the full list on Spoken. Why did I do it? I struggle with some kind of routines. I wanted to challenge myself. It was a lot of fun. And effort. Especially considering that I made it in spite of the following: I travelled for five days, that’s why Nov 4th is missing from the list.

Continue reading →

Fostering Open Source Contributions by First Timers

by Cesare Rocchi

Try to remember the first time you tried to contribute some code to an open source project. Even if you are a great developer there’s a lot behind a good contribution: requirements about tests how a pull request is managed code formatting guidelines If you manage an open source project and you welcome contributions, try to make it easy. Kent C. Dodds had a very cool idea. He just wrote the tests and a very detailed description of a feature.

Continue reading →

Monitoring a Server with the Telegram API

by Cesare Rocchi

Some servers behind Podrover are just workers and do not run a web application, so I can’t use Pingdom and the like to monitor them. I could use some library like Monit but honestly I didn’t want to install one more thing on the server and I like to exploit push notifications when possible. I am already monitoring some behavior of my DB servers via Slack. When some key activity is performed a message is sent to a private Slack group, and I get a notification on my iPhone.

Continue reading →

Drew Wilson is crazy

by Cesare Rocchi

I mean crazy good :) Yes, I could have used a pencil/pen and paper (my preferred method) but I didn't have any in the room. Drew Wilson source So what do you do when you don’t have pen and paper handy? You build a Mac application in 24h! Kidding aside, I think the NSF should create a fund to investigate how Drew can produce good stuff so quickly. The most important takeaway is: This turned out to be a great learning experience for me and an invaluable source of confidence in my journey in Mac development Drew Wilson source Exactly.

Continue reading →

The spite machine doesn't look back

by Cesare Rocchi

Pattern: regular dude/gal does something relevant and gets “famous”. Three options: ignore envy take inspiration The first option is the hardest nowadays. Big publications might write about the success of dude or gal, not to mention appearances on podcasts. Either you are on vacation and totally disconnected or chances are that you will hear about that story. It’s up to you to try to ignore it and keep walking on your path, but it requires some effort to not get distracted, at least to me.

Continue reading →

Playing Darts

by Cesare Rocchi

Just yesterday I wrote that your business is about them. This is extremely evident if you are building devices and software for customers with disabilities. Yesterday Kevin told me he was on TV. I met Kevin at Cocoaconf. We have been in touch since then. He’s blind since birth. He helped building and testing BrainPort V100. A camera mounted on glasses depicts a scene on a pad which the user keeps on the tongue and those stimuli are processed by the visual cortex.

Continue reading →

Your business is about them

by Cesare Rocchi

I am an avid listener of the Hack the Entrepreneur podcast hosted by Jon Nastor. A few weeks ago he interviewed Derek Sivers. There’s a quote still stuck in my head. The success of your business has nothing to do with you and what you want, your personal passions and preferences ... this isn't about you, your business is about them and their needs. Derek Sivers source Passion can be a driver, no doubt.

Continue reading →

Stu Green on SaaS startups

by Cesare Rocchi

My friend Stu is posting like crazy about the lessons he learned building SaaS startups. It’s very good stuff. Lesson #1 is: breathe.

Continue reading →

Control the Narrative

by Cesare Rocchi

The App and Play stores have turned out to be exceptionally poor places to run a software product business for most developers. DHH source We have been saying this for quite a while. Check the presentations at iOS/Mac conferences in the last year and you’ll find at least one occurrence of the word “Indiepocalipse”. There are people, even solo developers, that make a living or a good secondary income off the App Store.

Continue reading →

Pitching a Product is a bit like Dating

by Cesare Rocchi

These days I am getting in touch with some podcasters to see if they’d like to join the beta of Podrover. It feels a bit like dating. I have been out of the dating scene for quite a while but usually my approach was “can I buy you a drink?”. I always thought it was the simplest and less “compromising” question. I feel it’s also easy to answer, although once I got an “I don’t know”.

Continue reading →

International Podcast Day

by Cesare Rocchi

I love podcasts. They are with me when I walk, in the bathtub, when I cook and before sleeping. Podcasts are a revolutionary medium and also a means to build a relationship. Even if you have never met the host of a podcast, don’t you feel you already know him/her a bit? As a host, didn’t you notice that people approach you more easily when you meet them face to face, for example at conferences or meetups?

Continue reading →

Writing code in entrepreneur mode

by Cesare Rocchi

Here is it, innocent Ruby code: t1 = "2015-08-27T11:53:00-07:00" t2 = "2015-09-16T12:33:36-07:00" t1 < t2 #true Some of the DB queries in Podrover involve time. For example: “get all the reviews since yesterday”. During the prototyping phase I always worked with strings and when I came to build that query I still used strings. As long as the format (and the time zone) is the same it should work. If you have a case in which it doesn’t work let me know and I’ll update this post.

Continue reading →

Lock Yourself Out

by Cesare Rocchi

Ok a few days ago I said Lock Yourself In and now I say lock yourself out. Both are right, just not at the same time :) An external deadline keeps you accountable. But sometimes you have to step away from the keyboard to get the word out and talk to your future customers. The code that you push every day isn’t going to announce itself and your product has no value if you don’t explain it.

Continue reading →

Lock yourself in

by Cesare Rocchi

No setting a deadline does not work for me. I mean it works for client projects but when I am building my products it just doesn’t work. Honestly I don’t why, I should take some time off to think about it. But not now, because I have locked myself in. With Podrover I am sponsoring the Release Notes Conference. Since we announced the sponsorship the progress has been huge, especially regarding the UX and anything that is user facing.

Continue reading →

The Quickest

by Cesare Rocchi

“Which solution should I go for, this or that?” “The quickest”. I have seen a lot of time wasted, especially in the enterprise, to make a decision about a tool or a service. Time spent hoping that the answer would manifest itself, time considered as validation. The more I think about it, the better will be my decision. Just to discover a few months later that the choice made was not even close to what you needed.

Continue reading →

Fun Facts #1

by Cesare Rocchi

Discovered this week. Mac OS X has extensions. Really, I didn’t know. LLVM still supports the PowerPC architecture, and Windows XP! Release notes here. When I provision a machine 40% of the total time is spent compiling Ruby. I am tempted to switch to Docker just because of that. I discovered this new font designed for source code. It’s named Hack and I like it a lot. It looks cool on Sublime Text and Xcode.

Continue reading →

Leave out the part that readers tend to skip

by Cesare Rocchi

Elmore Leonard's tenth rule of writing is "Try to leave out the part that readers tend to skip." I find that readers skip prose when it is written in the wrong order. Daniel Steinberg source This, and most of Daniel’s article, is totally applicable also to building software products. Sometimes we write lines and lines of code forgetting about the body, the “meat”, the hook. I am trying to apply this focus-on-the-body philosophy while building Podrover.

Continue reading →

No framework means your framework

by Cesare Rocchi

Little update on my search for a UIKit for web apps. After experimenting for a few hours with some frameworks and kits I decided to go with no framework, that is my framework. I am following the Trello CSS guide and am really liking it. After all the UI of Podrover is pretty simple and what matters is the interaction. I am happy that ended up with: a single CSS file code that I actually understand code that I know how to tweak My personal suggestion is: don’t sweat it, especially at the beginning.

Continue reading →

Picking a chat widget

by Cesare Rocchi

It’s a fact that a channel like real-time chat helps conversions. So I wanted to put a little widget on the home page of Podrover. Much like the the blog generator and the CSS framework the hunt was … wandering in a jungle. I am more and more convinced that a search on Google is not enough anymore. Sure, you dig out a list of potential candidates but how do you choose?

Continue reading →

There is no UIKit for the Web

by Cesare Rocchi

… because there are many. I am building a web application and … I need a UI Kit. I am tempted to start with a clean slate, an empty CSS file, but first I’ll look around. I feel weird because I never needed this scouting when I built iOS apps for clients. The starting point was always UIKit, like it or not. It has pros and cons, but it saves you from the situation I am in: choosing a framework (or starting from scratch).

Continue reading →

Hunting for a Static Site Generator

by Cesare Rocchi

Last week, pretty much in a hurry, I had to setup a blog for Podrover. I wanted to host it on AWS S3, where also the landing page is hosted. Why? To keep it very simple. I am sure that if I had used Wordpress or Tumblr I’d have started toying with themes, layouts and plugins. So I forced myself in a corner again and decided for a static site generator.

Continue reading →

KIVS: Keep it Very Simple

by Cesare Rocchi

While I was building the landing page for Podrover I wanted a simple form to allow visitors to get in touch. I was already planning to host the page on Amazon S3, to keep the deployment as simple as possible. S3 is “just storage for files” and there’s no application server to execute php/ruby code. I could have used the newly introduced Lambda but it didn’t fit my definition of simple.

Continue reading →

Update to iTunes alternatives

by Cesare Rocchi

I said I am looking for alternatives to iTunes and I promised I’d test Loop for Vox. Well I tested it but it’s not for me. Don’t get me wrong, it’s a well done service but it missed two key features for me: iPhone app doesn’t upload music to the cloud, only Mac app does I don’t see the files. I realize the latter reflects my paranoia about disappearing files. This also points me into the right direction.

Continue reading →

Salute solo Programmers and welcome Solopreneurs

by Cesare Rocchi

Jean-Louis Gassée’s writings are always neat. When I read A Salute To Solo Programmers a whole tower bell rang in my head. He claims that solo programmers life is now complicated because of technological reasons. Those were the days… Computers and their operating systems were simple and the P in Personal Computers applied to the programmer. He or she (mostly he at the time) could make a dent in the universe while sitting alone in a cabin in the woods.

Continue reading →

Nothing is Something

by Cesare Rocchi

Since I discovered /dev/null on Unix I have been always fascinated by the concept of nothingness in computers. When I started developing in Objc it took me a while to get acquainted with the fact that “it’s ok to send messages to nil”. And now Swift has changed the cards again with optionals. I recently watched this presentation by Sandi Metz at RailsConf 2015. She has been a Smalltalk developer and in the video the influence of “programming as message passing” is very evident.

Continue reading →

Limits of Modularity

by Cesare Rocchi

I recently listened to episode #114 of iPhreaks about modularity with Samuel Giddins. There’s a key sentence in there, around 3:40: “Things can go wrong even if you are doing the right thing”. A while back he forgot to update a dependency and Cocoapods stopped working, even if all tests were passing. Debugging was a bit complicated. Modularity is drawing imaginary lines. If you are building an iOS app you are probably adopting an MVC model.

Continue reading →

Streaming apps like songs

by Cesare Rocchi

Among the many ideas that I heard to redesign the App Store I heard the one of “streaming apps”. It goes like this: pay a monthly fee and you can use this, this and that app (much like the Adobe Creative Cloud). In all the conversations I had the idea has been dismissed pretty quickly. In case you are taking it seriously check what’s going with streaming in the indie music industry.

Continue reading →

Upgrades in the Mac App Store

by Cesare Rocchi

Last week I joined the MAS crusade. Over the weekend I have tried to imagine what such a redesign would entail. Let’s suppose somebody tasks you with implementing payed upgrades in the Mac App Store. What would you do? So far I have come up with the following list of edge cases: Customer bought version 1.1 back in the day. Newest version is 1.7. Can the customer upgrade? If no, who picks the exact words to tell him/her?

Continue reading →

The iPad is not a MacBook Air

by Cesare Rocchi

Since the day the iPad was released I met you. I am talking to you, you that think of the iPad as a laptop. I have seen your hope grow and grow as new devices and iOS versions were released. I admit that the situation has improved a lot. But when you grab a seat at your favorite Wi-Fi equipped coffeehouse I still feel a bit of compassion as you take the iPad and the external keyboard out of your fancy bag.

Continue reading →

The MAS Crusade

by Cesare Rocchi

Everybody complains about it but the change didn’t happen yet. The Mac App Store (MAS) does not allow paid upgrades. Paid Upgrades are the Lifeblood for Indie Businesses Dan Counsell source Yes, they are. You can’t count only on big launch. I believe they are lifeblood also for customers. An up-to-date app tells me that behind it there’s somebody that cares. It’s easy to draw a parallel between our situation and Taylor Swift’s.

Continue reading →

iTunes parts

by Cesare Rocchi

I’d break iTunes down into the following apps: Podcasts App to buy/stream music/movies App to buy/consume books/audiobooks App to play/manage music libraries iTunes U App to synch data with mobile devices I am fully aware that I don’t know what’s behind iTunes. Parts of my proposal maybe not be feasible given the current infrastructure or team organization. These are just the desiderata of a regular user that prefers small apps well done instead of a multi headed monster.

Continue reading →

Alternatives to iTunes

by Cesare Rocchi

When it comes to music I am religious. I have my library, it’s in iTunes and I always know where are my files. I keep many backups, offline and online. I am so paranoid because I spent 15 years building my library. I started when I got my first Mac. It took me a loooot of time to rip my CDs and to correctly name the mp3 files that I had on my PC.

Continue reading →

My presentation at AltConf 2015

by Cesare Rocchi

I was honored to be a speaker at AltConf 2015. As I wrote a while ago it was a great experience. Now the video of my presentation is out. Enjoy!

Continue reading →

Gratuitous Animations

by Cesare Rocchi

Visual flair. Like smoke on the dance floor. Would people enjoy dancing without it? Probably yes. For some type of animations, or for animations in a given context, it’s the same. The animation that makes you furrow your brow in frustration as it stands between you an your intended goal. As a designer you need to realize that your UI is not entertainment. Sophie Paxton source When I perform a particular sequence of tasks I don’t think, I just act in a sort of “cruise control” mode.

Continue reading →

Percentage of Apple Watch apps

by Cesare Rocchi

How many watch apps are there? While searching for the answer I stumbled upon this report by AppAnnie. On June 8th there were 6,352. When I found it I felt it wasn’t a lot interesting. So I came up with a different question: In the countries in which the Apple Watch has been released, which is the percentage of apps that have a companion Watch app? I extrapolated some of the data that I have via AppVersion and http://canihazawatchapp.com and then I started crunching.

Continue reading →

Sandbox is bad sandbox is good

by Cesare Rocchi

I love the Mac App Store, I hate the Mac App Store. The review system makes me angry, the review system makes my machines safer. I am a developer, I am a user, I am thorn. You might have read a lot of posts about how it’s hard to make a living in the App Store. The most common reasons are the usual ones: no paid upgrades long review times inconsistent rules no access to customers emails As a developer I perceive all these as obstacles to my business.

Continue reading →

My WWDC week was about people

by Cesare Rocchi

WWDC was two weeks ago. I watched some of the videos while I was in SF. I don’t remember anything, and I will watch them again. What I remember vividly is the people that I met, so many and so passionate. I don’t remember what’s new in Swift 2.0 but I clearly remember who I met in SF, where and what we talked about. The essence of a conference is not the new APIs or tools presented but the people you meet and the relationship you create or nurture.

Continue reading →

Rob Napier on Taylor Swift and Apple

by Cesare Rocchi

The web is full of unneeded and useless words about the “Taylor Swift convinced Apple with a blog post” episode. Among all the crap I found a gem, a post by Rob Napier The difference is that musicians had a money problem and devs have a not-money problem. ... The App Store is an engineering problem, not a money problem. Engineering problems are hard and messy. ... And that’s why one artist can move all of Apple.

Continue reading →

My plan for Twitter

by Cesare Rocchi

Now that Dick Costolo stepped down, everybody has a plan for Twitter. So why should you read mine? Because it’s simple and effective. We (developers) made Twitter was it is because of its APIs. Remember when 80% of iOS demo apps were a Twitter client? Yes, that was PR, for free. Now Twitter does not need PR anymore but it needs tools so that people can use it in a meaningful way.

Continue reading →

Get rid of the Ceremony

by Cesare Rocchi

I am following the stream of consciousness started yesterday. I’ll talk about an attitude that has helped me to deal with the concerns before shipping AppVersion. I am not a fan of ceremonies. There’s usually a “protocol” to follow. There’s something you can do and something you can’t. I worked a lot on iOS apps. When you have to submit one, there’s a ceremony. I call it the “App Store dance”.

Continue reading →

Fear to ship

by Cesare Rocchi

You are ready. The servers are running, the credit card is a bit more empty, buttons are aligned as you wanted. You have waited for this moment. You are ready to press “Publish”. But you are not alone. Sometimes of the shelf, sometimes right on your desk. Fear. All kinds of questions cross your mind. Will the server keep up? Did I schedule backups? Did I run all the tests? Can’t I hold it a bit more?

Continue reading →

On Forcing

by Cesare Rocchi

“You have to wash your teeth”. “No”. If you are a parent this might be a common scene to you. This happens pretty often with my kids when I try to force them to do something. Usually my technique to persuade them is argumentative. “If you don’t floss daily you will probably have a bad tooth, that will hurt, and we’ll have to go to the dentist”. It takes a while but eventually they understand.

Continue reading →

Icons are a language

by Cesare Rocchi

Brilliant post by @designjokes. Some icons are verbs, some are nouns. I have recently written about icons and labels but I skipped the part about the grammar, which is covered in the linked post.

Continue reading →

Icons labels or both

by Cesare Rocchi

A few days ago I stumbled upon an interesting thread that started with this Tweet: “The Best Icon is a Text Label” http://t.co/eqVi82nAAN pic.twitter.com/cig7ZYVwAg — iA Inc. (@iA) April 10, 2015 I studied semiotics so this discussion resonated quite a bit with my studies. I looked up some of the notes I took at the time and got back to the roots of semiotics, to the founder Charles Sanders Peirce. He classified signs in three categories: Icon.

Continue reading →

Aluminum-ion battery

by Cesare Rocchi

I always thought that the solution to battery powered devices was building batteries that last longer. I never thought of batteries that charge faster. Honestly I would not mind stopping by a cafe’, rest my dogs over a beer while the battery of my phone fully charges. The discovery presented in this paper seems to enable exactly this scenario. The future is bright.

Continue reading →

App Store Slowness

by Cesare Rocchi

Sometimes I wish the biggest app developers would get together and delist their apps for a day, just to show how much pain this process causes. Kushal Dave source I couldn’t have said it better. One of the best signals that you can give to your customers is quick intervention. Someone proposes a feature that goes along with your vision and actually improves the app? Work on that and push it quickly.

Continue reading →

Quitting Apple

by Cesare Rocchi

These days there’s a very interesting blog post by an ex-Apple employee. Correct me if I am wrong but I feel it’s the first of this kind, so open and so harsh. UPDATE: here is another interesting post by a designer. I can’t help myself to believe every single line is true. No, I don’t believe every team/manager at Apple is like that. I am sure there are great teams and people proud of being part of Apple.

Continue reading →

The Unsustainability Pattern

by Cesare Rocchi

New shiny service announced. “How much does it cost? Nothing? I am in!” We have seen this many times. The fact that you don’t pay doesn’t mean that there’s no cost. Somebody is paying, maybe you’ll never know who, but believe me somebody is taking money out of his pocket to put it in someone else’s wallet. It may look free to you, but somebody is paying for servers, electricity and bandwidth.

Continue reading →

The Notifications Whore

by Cesare Rocchi

This post on Wired confirms even more the fact that I am not a target user for the Apple Watch. Along the way, the Apple team landed upon the Watch’s raison d’être. It came down to this: Your phone is ruining your life. Like the rest of us, Ive, Lynch, Dye, and everyone at Apple are subject to the tyranny of the buzz—the constant checking, the long list of nagging notifications.

Continue reading →

Private means Private for Everybody

by Cesare Rocchi

A 17-year-old student builds an app on top of the Instagram API. Everything would have been fine if the app didn’t include the possibility to upload pictures. According to this article on arstechnica the rationale behind the app was: "There are 15 Instagram apps on the App Store, and none of them have upload capability." On the App Store there’s a gazillion of iOS apps based on the Instagram API and none of them (except the official one) has upload capabilities.

Continue reading →

Trade Different

by Cesare Rocchi

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).

Continue reading →

Let's Schedule a Call

by Cesare Rocchi

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.

Continue reading →

Concerns with Apple

by Cesare Rocchi

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.

Continue reading →

Speaking Engagements Q1 2015

by Cesare Rocchi

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. RWDevCon ++++++– Where: Washington DC, USA When: February 6-7 Website: http://www.rwdevcon.com Mdevcon ++++++++++++– Where: Amsterdam, The Netherlands When: March 5-6 Website: http://mdevcon.com Cocoaconf ++++++++++++– Where: Chicago, USA When: March 27-28 Website: http://cocoaconf.com/chicago-2015/home

Continue reading →

Copy and paste mentality

by Cesare Rocchi

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.

Continue reading →

Putting Marco's numbers in perspective

by Cesare Rocchi

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.

Continue reading →

Where's that App?

by Cesare Rocchi

Tons of words have been written about the problems that developers have with the App Store: It’s not sustainable for businesses, reviews are a black hole search is broken 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.

Continue reading →

Where are not there (yet)

by Cesare Rocchi

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.

Continue reading →

Amazon devices

by Cesare Rocchi

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. @dcurtis source 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”.

Continue reading →

Fear of the App Store

by Cesare Rocchi

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 ... @drbarnard source 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.

Continue reading →

Don't experiment on the App Store

by Cesare Rocchi

The recent adventures of PCalc widget leads me to subscribe to the following statement. The bottom line is that if I were an iOS developer, I would be leery of investing significant resources into a Today View widget. @TidBITS source Unless you have time to explore (and see how it goes) DO NOT EXPERIMENT on the App Store. Do you have in mind a new feature? Toss it out as quickly as you can, submit it and see how it goes.

Continue reading →

Bikes must stay outside

by Cesare Rocchi

We are having a sunny October over here and I enjoy biking to pick up my kid at the kindergarden. There’s a gate with a bell. You ring it, say who you are about to pick up and they let you in. The kindergarden is surrounded by a beautiful garden, so from the gate to the actual building there’s a short path. I got there, rang, waited for the gate to open and biked to the building, oblivious of what I just did.

Continue reading →

Costolo on mobile SDKs

by Cesare Rocchi

The mobile SDK landscape has been inhabited by parties that optimize for self-interest first, and your interest second I have found this quote only in this post on ReadWrite. I can’t believe that Dick Costolo already forgot how Twitter treated developers a few years ago. I hope it’s a joke. Costolo may have a short memory, but developers hardly forget.

Continue reading →

Went to work for

by Cesare Rocchi

Saul Mora -> Coursera Brent Simmons -> Omni Group Jonathan Penn -> Apple Kevin Hoctor -> Apple Dave Addey -> Apple Jared Sinclair -> Bloglovin’ Patrick Burleson -> Apple Sophia Teutschler -> Apple All indie in a previous life. Now working at a company. It’s hard to not see a trend. Is the wind changing? ps: I feel there’s more, but probably I don’t know them. Feel free to suggest.

Continue reading →

Would you work for Apple?

by Cesare Rocchi

Sometimes, especially during conferences, somebody throws out the question. I always answered a sound no. As much as I base the most part of my business on Apple products, I think I’d not fit Apple’s culture as an employee. I have always found difficult to tell the why. Well, Ole Begemann transcribed part of Debug 47, in which two former Apple managers where interviewed. This is one excerpt that dazzled me When someone came into my office and said they wanna be a manager, I asked them, “How did you sleep last night?” And they said, “Oh, fairly well”.

Continue reading →

This is a new Apple

by Cesare Rocchi

Facts: The first part of the keynote live stream was a mess Developers had issues when uploading iOS8 apps to the store iOS 8.0.1 was a screwd up iOS 8.0.2 is not that better Xcode 6.0.1 requires me to clean DerivedData 20 times a day As far as I remember I have never seen a concentration of issues in such a short time. It’s easy to close with a “I miss Steve Jobs”, but I won’t fall into that trap.

Continue reading →

Accessibility and Dark Mode in iOS8

by Cesare Rocchi

As you know I am very sensitive to accessibility. But until that day comes, I ask developers of text-heavy apps: please consider including a dark mode for your app not just because it's a night-use feature but also because, for some of us, it's an accessibility feature. @cgpgrey source Even if it’s potentially a lot of work to include a dark mode, do it. It’s worth it.

Continue reading →

Mixed feelings on Swift

by Cesare Rocchi

While writing the chapters in iOS 8 by Tutorials I have banged my head against the wall often, pretty much every beta release. I was really excited when Swift was announced. Excitement naturally fades, by design I’d say. It fades even more quickly when the real thing is far from your expectations. Today, I’d use Swift in an app if: it’s a new app it’s a small app it’s a product of mine Right, I’d not venture in Swift land for client work.

Continue reading →

can't be copied because there isn't enough free space

by Cesare Rocchi

I was about to copy a ~35GB file onto my Mac. I got the “can’t be copied because there isn’t enough free space” message. I checked Finder and the available space was ~75GB. First reaction: WTF? Tried a few more times with no success, much like when you keep on switching on/off a broken switch. Then I checked “System information” and I saw the real available space was ~28GB. Same reaction: WTF?

Continue reading →

Speaking Engagements - Fall 2014

by Cesare Rocchi

After a short pause, conference season is back! Here is a list of conferences I am gonna speak at. Yow conference Where: Melbourne, Australia When: September 8-9 Website: http://connected.yowconference.com.au Pragma conference Where: Milan, Italy When: October 3-4 Website: http://pragmamark.org/events/pragma-conference-2014/ Mobilization Where: Warsaw, Poland When: October 18th Website: http://www.mobilization.pl Cocoaconf Boston Where: Boston, USA When: November 14-15 Website: http://cocoaconf.com/boston-2014/home If you are attending any of these events, or you live nearby, and you wanna chat yell at me on twitter.

Continue reading →

Choices and Consequences

by Cesare Rocchi

I recognize that by writing this I may be disqualifying myself from some future CEO role. Will that cost me tens of millions of dollars someday? Maybe. Life is about choices. Right now, I choose to spend more time with my family and am confident that I can continue to have an meaningful and rewarding work life while doing so. At first, it seemed like a hard choice, but the more I have sat with the choice the more certain I am that it is the right choice.

Continue reading →

Simple Idea and Simple Design

by Cesare Rocchi

I like simple, very much so. I usually tend not to publicize kickstarter projects on this blog, but this tool looks very interesting. How many times you had to slightly hear better the audio coming from your iDevice? Countless times I thought I could use something like SpeakerSlide. A video is worth a gazillion words. Key takeaways for designers and product makers: Solve a problem Solve a single problem If your product is simple, marketing is easier.

Continue reading →

It's not C, it's the API

by Cesare Rocchi

“I’d like to order 10 pizzas”. “We have dough just for 5 pizzas, so we are gonna send you 5 pizzas plus a bunch of private data about other users that ordered pizza tonight”. This is, in a very simplified way, the flaw behind Heartbleed. XKCD explained it even better, in slightly more technical way. In my opinion the bug (which was introduced in this commit if you are interested) is not simply due to the code.

Continue reading →

On why I am not gonna buy any smartwatch

by Cesare Rocchi

There are many rumors that Apple is designing a smartwatch, while Motorola has already announced moto 360. I work on a Mac, I have a few iPhones and also an Apple display. I am already hearing you screaming “fanboy”. According to your cliché I should line up as soon as Apple announces the alleged iWatch. Wrong! Even if Apple is really going to ship an Smartwatch I am not gonna buy it.

Continue reading →

On Naming Macros in Objective-C

by Cesare Rocchi

Right after my latest post on naming methods with blocks my friend Murray asked for some feedback on the names for his collection of macros. Without even blinking I suggested ALL_CAPS, having in mind mostly the following macro by Apple UI_USER_INTERFACE_IDIOM() I think it’s pretty ugly to read but I guess it’s meant call out the fact it’s a macro. If you check UIDevice.h though, you’ll find the following: #define UI_USER_INTERFACE_IDIOM() ...

Continue reading →

On naming methods with blocks

by Cesare Rocchi

Recently I have been very busy with the implementation of the BaasBox SDK for iOS and I had to come up with lots of method signatures. It’s 2014 and we all love blocks, so I used them quite extensively. When consolidating the upcoming version I noticed I wasn’t consistent with the naming. Some method was like this: -(void) loadCurrentUserWithCompletion:(BAAObjectResultBlock)completion; and some other was like this: - (void) updateUserWithCompletion:(BAAObjectResultBlock)completionBlock; Notice the different naming for the last part, the name of the parameter.

Continue reading →

Detecting Screen Brightness in iOS

by Cesare Rocchi

I am a huge fan of small libraries that do just one thing but well. Sure you can detect when screen brightness changes by listening to the UIScreenBrightnessDidChangeNotification, but ASCScreenBrightnessDetector by aschndr is the right sugar on top of that. All you need is to create an instance, set a delegate and implement the - (void)screenBrightnessDidChange:(CGFloat)brightness; method, like this. If you are already using Cocoapods, including it is a breeze. I am gonna use it in Neater.

Continue reading →

Objective-C Categories for Regular Expressions

by Cesare Rocchi

I am not a heavy user of regular expression but I have tried this new library by John Wright and I find it very handy. It basically allows you to write 75% less code. Here is an example taken from the Readme page While I suggest to know what happens under the hood before using these kind of “shortcut libraries”, I am totally in favor of them when it comes to save yourself some typing.

Continue reading →

Building a Business outside the App Store

by Cesare Rocchi

Written by a solopreneur, this article is not just for solopreneurs, but for everybody noticing that something has changed in the App Store. Introduction I must say it’s easy to stare at a shelf and complain about the price of a product. I did it many times and I still do it sometimes. Whenever I see a high price it’s kinda hard to not think the producer is cheating on me and charging too much.

Continue reading →

On Excitement in the Apple Land

by Cesare Rocchi

Last year I wrote about boredom in the Apple land. Essentially I said that we were getting used to the patterns adopted by Apple and that a stretched iPhone was built just to show off. I still think we didn’t need a taller iPhone but I definitely changed my mind about boredom. It looks like Phil Schiller read my post and replied on stage with “Can’t innovate anymore, my ass”. That was just referring to the new Mac Pro, of which we had a preview during the last WWDC.

Continue reading →

On Stealing the Right Thing

by Cesare Rocchi

TLDR; Be wise in choosing what to copy/steal Somehow we are all been fascinated by: Good artists copy, great artists steal. That’s a quote by Pablo Picasso often “stolen” by Steve Jobs to make his point. He put that in practice quite a few times, “copying” the guts of BSD, which became the foundation of Mac OS or “taking inspiration” from the groundbreaking work done at Xerox in the ‘80s. From the quote it is clear that the cool guy is the one who steals.

Continue reading →

Why Your App Needs A Walkthrough

by Cesare Rocchi

This article first appeared in issue #5 of App Ville. Thanks Tope for allowing me to repost it here. There has been some heat around walkthroughs in mobile apps. I think it all started with the bold post by Max Rudberg, If you see a UI walkthrough, they blew it. Here is another take on the subject. And by the end of this article, you will understand why you need a walkthrough if you are truly innovative.

Continue reading →

On Numbers and Happiness

by Cesare Rocchi

With fewer numbers there would probably be way fewer discussions. At the moment I feel to say that “people tend to exploit numbers to be sensationalist”. That especially happens when I read some post exploiting the who-has-a-longer-penis “template”. The keyword in this case is “longer”: when you compare integral dimensions you can say which is greater. That’s ok, but you can assign meaning to numbers, as we do when we code.

Continue reading →

Kids are Entrepreneurs

by Cesare Rocchi

.. but they don’t know yet. I have a kid and he is 16 month old. Now that I have more free time I really enjoy spending the days with him. You might think that way I am not working or learning something about my job. WRONG! He recently started walking, and that was a relief for my backbone! But there is more. In spite of the fact that we constantly say: “Slow down” or “Don’t run”, he walks fast and sometimes he falls.

Continue reading →

On Firing a Client

by Cesare Rocchi

TLDR; Learn how to spot when things are going wrong with a client and leave as soon as you can. Use wisely the time you gain with that move. UPDATE: This was an article describing details about the relationship between me and a former client of mine. When my wife read it (after being published) she made me aware that it could have sounded offensive. I removed all the details and distilled it as follows.

Continue reading →

On Your value

by Cesare Rocchi

Where I reflect on my value as an entrepreneur. You know that a freelancer is an entrepreneur, right? A few weeks ago Matt Gemmell touched my heart. He is not a cardiologist, so I mean it figuratively. He was the keynote speaker at mdevcon. Before his presentation I was already very happy because the conference has been great: my presentation was a success, the room was packed and many people approached me offline.

Continue reading →

On Trojan Horses

by Cesare Rocchi

I remember when Google Chrome Frame was released. Everybody screamed trojan horse and claimed Google to be smart. The Chrome Frame is a plugin for Internet Explorer that actually is smart. Maybe you don’t know but there are companies where employes don’t get to choose which browser to use, because that’s up to their IT department. That’s why, sometimes, you see some Internet Explorer 7 in your logs: because somebody in an office is forced to use it (or I can’t think of any other reason).

Continue reading →

On App.net Going Freemium

by Cesare Rocchi

Yes, it happened. Dalton and colleagues did it: they went fremium. While I am not a huge fan of this business model I think it’s a huge step ahead. Here is why. We are used to free (and it’s wrong) Facebook free, Twitter free. All free. This is hugely misleading. Do you know how many people will quit using WhatsApp if they have to pay $0.99 (yes ONLY 0.99) a year?

Continue reading →

On Learning to Code as a Shortsighted Goal

by Cesare Rocchi

These days there is buzz around the idea that everybody should learn how to code. Far from feeling that as a threat for my career, lately I have come to realize that learning to code is just a small step. Once you are able to code, you are still missing out a lot of stuff. Ask yourself: what are you coding for? Sure, you can get a job in a company, push code to a repository and get payed.

Continue reading →

On Archetypes of Smartphone Users

by Cesare Rocchi

Introduction A semi-serious overview of smartphone users, with some truth hidden behind jokes and some suggestions on who to target when building an app. Slightly biased towards iOS. Enjoy. The unconscious iPhone owner This guy has bought the iPhone just to emulate the people surrounding him. “He has it, I have to have it too!”. These are the kind of guys that refer to applications as “options”. “Have you installed the Twitter option?

Continue reading →

On boredom in the Apple land

by Cesare Rocchi

Boredom has come. It was inevitable. After a rush of four years we are now not stunned anymore. Those holding that “wow” for one year will have to keep it for future events. “Apple is not innovating anymore”. “Skeuomorphism? I don’t like it”. Twitter is full of this messages. My intention is far from defending Apple. They have a big marketing machine and many lawyers, so they don’t need my defense.

Continue reading →

On Nielsen and Mobile Design

by Cesare Rocchi

There has been hype about how to design a mobile web site/application. Instead of promptly writing my opinion, which would have been pretty guts-driven, I preferred to wait for things to settle down a bit (in the media and in my mind) and then write down, calmly, what I think. First a bit of history: Nielsen writes a year ago: “I am a screen-size bigot: bigger screens deliver hugely higher user productivity.

Continue reading →

On why I am not buying RubyMotion

by Cesare Rocchi

RubyMotion is a recently released tool which allows to create native iOS applications using Ruby. It was made by Laurent Sansonetti, an ex-Apple employee, also leader of MacRuby. RubyMotion enables to develop native applications by skipping Xcode and using commands from the terminal to compile, run and even submit the application to the store. Premises I like Ruby and the way it is easy to work with. I personally use ruby in many projects, mostly on the server side.

Continue reading →

Welcome to my new adventure

by Cesare Rocchi

I have decided to start over. I used to blog elsewhere and I enjoyed that. Now I feel the need to start fresh, with a shorter (and cooler) name, a new blogging platform, a new look and new topics. Here starts my new blogging adventure. I think it is not a coincidence that this blog is born in 2012, the year I have restarted attending/speaking to conferences, being more active in the great Mac/iOS community, writing a new book, launching new projects.

Continue reading →

[ ]