Wearing Pants poll results

73% of respondents agree wearing pants does not make you a better Software Developer.

The only puzzling thing to me about this poll is the 27% that voted Yes. Must be management types?

MacBook Reviews

Joe Cieplinski: “Here’s the thing about this MacBook: I’m drawn to it. I don’t know if it’s the small size of the thing that just makes it more lovable, but I’m already finding more excuses to use this machine than I ever did with my 13-inch MacBook Pro.”

Casey Liss: “I haven’t regularly handled a full-size iPad since the iPad 3, but the MacBook feels to be roughly the same size in-hand. In actuality, the MacBook is 150% the weight of the iPad 3, but the fact that I’m even making that comparison should indicate how light it feels.”

For these two it pretty much boils down to size. It’s the laptop version of the iPad. Compact, light, easy to carry anywhere. That convenience comes at a small price — it’s not a powerhouse.

If you code for a living and can only afford to purchase one computer make sure you consider a MacBook Pro before pulling the trigger on the MacBook. Read Casey’s piece. He uses this device as a kind of iPad replacement. It’s not meant for serious development work, at least for him.

I’ve heard the MacBook called the ManagerBook. That seems, based on these reviews, to be fairly accurate. It’s a super usable, fun, portable computer that could be a great choice if you have the luxury of owning more than one device.

I could see purchasing one of these for my wife. She’s a full-time iPad Pro 9.7 user and on rare occasion she pulls out her ancient MacBook to do something like rip music to her collection. She doesn’t need a full computer often but the need does arise.

On the flip side of all this praise for the MacBook I have a good friend recently return his MacBook and pick up an older MacBook Air because he couldn’t get past the key travel on the new MacBook keyboard.

You win some, you lose some.

Blog for Love

Dave Winer: “Now I’d like to take you back to a discsussion that was had many years ago that resulted in this conclusion. You don’t make money from this work, but it leads to opportunities where you can make money. Ideas and information make their way to you and if you are so-inclined you can make money by investing in those ideas. No sure things, but some bloggers have made billions, and others have made millions. And others have made a decent living. Not from their blog but because they blog.”

I’ve talked about blogging to people a lot over the past 16 plus years. Some folks don’t understand what it is after you’re done explaining it, others feel they don’t have anything to say, and still others say they don’t know how to make money at it.

Rocking Chair

I always have to stop people that make that last statement. Blogging doesn’t have to be about money. I’ve been doing this since February 2001 and haven’t made any money directly from writing. I’ve described my blog as my front porch on the internet.

I think the most important point to make is this: Own your content. What you write is yours and yours alone. Giving your words to Facebook only helps them. Make sure you own your work.

See also, Why We Blog. I’d also recommend following Dave Rogers if you don’t. I think he’s a great writer.

Movie Line of the Week

Cut, cut, cut!Good morning!

Here’s a classic. I’d be surprised if you can’t guess it.

You keep using that word. I do not think it means what you think it means.

Ok, quick, what movie! Send your guesses here.

Rob’s 2017 Summer Blockbuster Must See List

Well, here we are on the verge of Summer Blockbuster season. It always seems to sneak up on me.

Here’s my list for 2017. Enjoy.

Guardians of the Galaxy Vol 2 May 05
Snatched May 12
The Wall May 12
Alien: Covenant May 19
Pirates of the Caribbean: Dead Men Tell No Tales May 26
Wonder Woman June 02
The Mummy June 09
It Comes at Night June 09
The Hero June 09
Wakefield June 15
Cars 3 June 16
The Book of Henry June 16
Amityville: The Awakening June 30
Spider-Man: Homecoming July 07
War for the Planet of the Apes July 14
Valerian and the City of a Thousand Planets July 21
Dunkirk July 21
The Dark Tower July 28
Atomic Blonde July 28
Detroit August 04
Baby Driver August 11
Annabelle 2 August 11
It September 08

This Blockbuster season looks pretty darned good to my eye. Stephen King has two film adaptations of his books this summer, that’s awesome, but I’m really looking forward to It in September.

As always I’ll have to pick and choose which films to see because I can’t catch them all in theaters. Here’s my short list.

Guardians of the Galaxy Vol 2, Alien: CovenantPirates of the Caribbean: Dead Men Tell No TalesWonder WomanCars 3Atomic Blonde, and It.

See you at the movies! Remember to get popcorn with extra butter and an extra large soda!

Past Must See Lists, plus 2009 from my original weblog.

Scripting iOS

Last week Apple acquired automation workflow application Workflow. Of course there was a nice buzz around it and it was a big topic of conversation on various podcasts and websites.

This, of course, got me thinking about automation. I’ve always been a fan of open API’s and the ability to automate applications. We’ve also seen recently that Omni Group is opening up OmniGraffle to automation via JavaScript.

Back in 2010 x-callback-url was created as a way to allow applications to call into each other and return results so you could chain together calls to build custom workflows. Apps like Launch Center Pro and Workflow took advantage of x-callback-url to let you build those workflows and execute them. Now we have a bonafide standard, without a standard. The app ecosystem found a way to support automation without Apple’s help.

I’ve used Launch Center Pro but until recently I’d never used Workflow, and it’s pretty amazing. The Workflow guys did an amazing job creating a drag and drop UI for building what amounts to a program. Well worth a look.

So, this brings me to what I’ve been thinking about over the past few days. Given x-callback-url and App URL schemes in general it would be extremely cool to use those to create object hierarchies using JavaScript. Why JavaScript? Well, it’s native to iOS and applications can use the runtime. Given the advances made by the Workflow team why not take it one step further?

Allow applications to specify a  Scripting Dictionary or Type Library as part of the application bundle, this should allow runtime creation of objects. I know this isn’t rocket science and it’s been done many times over.

Short of adding support to the OS it would be pretty sweet if an App like Workflow, Launch Center Pro, or Pythonista would standardize on a way to parse a URL Scheme into an Object Hierarchy.

I’m going to use Evernote, Bear, Overcast, and Arrgly as examples.

What do you mean by Object Hierarchy?

That’s a good question. Here’s what I’m thinking. Since the Apps mentioned above all support URL Schemes we can derive an Object Hierarchy from them. Basically the beginning of a URI begins with a scheme. The scheme is the name. In the case of Evernote it’s evernote. Pretty simple, right?

Given the scheme name we follow that with a path. In the case of x-callback-url based URL schemes we will skip over that part and move to the second item in the path. This will be the action, or function, or the object we’re going to execute.

evernote://x-callback-url/new-note?type=text&title=EC%203

The above URL will tell Evernote to create a new note of type text with a title of “EC 3”. If we had a way to parse that in a runtime application we could present the user with an Object that has methods that take arguments, like this.

evernote.new-note(type, title)

Let’s do a couple for Bear. First the URL Scheme.

bear://x-callback-url/create?title=My%20Note%20Title&text=First%20line&tags=home,groceries

Now translated into code

bear.create(title, text, tags)

Overcast URL Scheme.

overcast://x-callback-url/add?url=

Code

overcast.add(url)

And finally, my favorite, Arrgly URL Scheme.

arrgly://shorten?url=

Arrgly Code

arrgly.shorten(url)

Pretty simple to turn all of those into objects. When I say you can create a hierarchy it means you could, by convention, lump groups of actions into objects, or like the above examples have a set of actions that all live on a single object.

Here’s what a object might look like as a URL Scheme.

thing://x-callback-url/document/add?title=
thing://x-callback-url/document/delete?id=

That would result in using it like this

thing.document.add(title)
thing.document.delete(id)

Of course this need more fleshing out and it would require app developers to decide on a well known convention to make it work as expected, but it could be done with a bit time and effort. It could be these become an extension of the x-callback-url specification?

Movie Line of the Week

Roll Film
Roll Film

I haven’t thought about posting one of these for quite a while. There was a time when I posted a new movie line every Thursday for years on end. It was fun, but at some point I stopped doing.

Yesterday I heard from a friend on Twitter, he said he missed them. Guess it’s time to bring it back?

Here’s the line, good luck!

“You’re gonna need a bigger boat.”

Send your guess.

MacBook Monster

I listen to a podcast called Accidental Tech Podcast. If you’re a Mac or iOS Developer you’ve probably heard of it or you’ve heard of one or more of its hosts. One of their ongoing topics of conversation is Apple’s apparent lack of focus on the Pro market. It’s true Apple has become very focused on more consumer oriented products, like the iPhone. I mean, who wouldn’t? When you look at the numbers it makes total sense.

When Apple announces results sites like Six Colors do a great job breaking down all the numbers and, in Six Colors case, they make really awesome charts! Just look at this one from January of 2015.

Awesome Six Colors Revenue Chart
Awesome Six Colors Revenue Chart

Who can blame Apple for spending most of their time on the iPhone? Look at those numbers. They’re stunning. It’s not to say the Mac or iPad are losers, they’re not. Most companies would give anything to have one product doing so well, Apple has at least four; iPhone, iPad, Mac, and Watch. Most likely someone will write in to let me know I’ve missed one, or I’m wrong about something, but you get the point. Apple is killing it, on multiple fronts.

What about Pros?

Much of the consternation from the ATP guys revolves around the Mac Pro. Who can blame them? Apple hasn’t shipped a new model since 2013. The hardware is now embarrassingly outdated and is due for a much needed refresh.

As a developer I can understand their need for Phenominal Cosmic Power! But they’re stuck with an Ity Bity Living Space. Not fun.

I’d love to see Apple pull together a great new piece of hardware that includes all the latest, greatest, internals and really appease the Professional Apple Workstation crowd. This would include filmmakers, photographers, designers of all kinds, the CAD folks, and, of course, Software Engineers of all kinds. On my list of nice to haves would be a box large enough to hold multiple multiple core processors (say 256 cores, why not? Windows can do it), tons of RAM, and a killer external bus system to allow folks to chain together external GPU’s. That would be a really great computer, don’t you think? Maybe the base configuration is the most popular, but it sure would be nice to be able to take a Mac and macOS to an extreme level.

Having said all of that, as a Professional Developer I’d prefer a really great Portable Workstation.  What is that? Well, it’s a desktop replacement in a laptop form. Apple is obsessed with making everything thinner and lighter. I do appreciate that, I really do. My first MacBook Pro was a lovely 17-inch beauty, but it was big. Not only heavy, but it was long enough that it was difficult to find a decent backpack to carry it in. Let’s just look at the weight alone, it was 6.6 pounds.

I remember carrying that thing around my first WWDC in 2011. Early morning to late afternoon. Yes, I got tired of carrying it, but it wasn’t a hardship. I would happily trade a bit of weight for a super powerful MacBook Pro.

I read an article recently on the new Dell Precision 5520 on Windows Central. This thing is a beast.

“Besides the big Core processors, all of which are the last generation “Skylake” variants, there is the big kahuna with the Xeon E3-1505M v6. Introduced this year, this Intel Xeon is a quad-core processor with support for ECC memory, 8MB of cache (up from the usual 6MB in a consumer Core i7), and a slightly higher base clock rate of 3.00 GHz with Turbo up to 4.00 GHz. These specs make it one of the fastest mobile processors around, besting the Core i7-7700HQ found in the XPS 15 (9560) by 200MHz.”

Yes, you read that right. This laptop can be configured with a Xeon processor, not to mention 32GB of RAM. That is professional sized horsepower in a small package. This is what I’d like to see from Apple. A true high-end Portable Workstation. Oh, and do you remember the weight of that old 17-inch MacBook Pro I mentioned above? Yes, 6.6 pounds. This Dell weighs 4.56 pounds. Compare that to the new 15-inch MacBook Pro which weighs 4.02 pounds. It’s not that big a difference.

I’d love to have this kind of power wrapped in Apple’s design ascetic. Oh, it should only come in one color. Black.