In the department of Too Subtle UX, your Apple ID is the unique passport for iCloud on every device

I was triggered by the following tweet:

I quickly read the article and saw what was going on. Indeed I did notice it, but I knew to expect the kind of behaviour. The good news is, the feature seems to be working correctly: with a single Apple ID, you can login to any device and get access to your desktop and documents thanks to iCloud. The bad news is, most people will easily overlook the single Apple ID part, they’d only think about each device they’re using and would not make the mental link to a single iCloud account. Apple, with their clout, are bound to know this and should be expected to anticipate on it. However, as far as I can tell, people weren’t explicitly forewarned, and they’re probably supposed to be obviously aware of owning a single iCloud account (as in Duh, what else are you thinking?). And that is precisely the problem, this kind of logical behaviour, although intuitive at first sight, doesn’t take into account the long established mindset that we all have. Therefore, while upgrading the OS you wouldn’t think twice before enabling iCloud sync.

In my personal experience, iCloud did the right thing. The first computer I upgraded was my MacBook. My Desktop and Document were all properly sync’ed to iCloud. Then a few days later, I upgraded my Mac Mini, this time iCloud added a new folder on my ubiquitous iCloud backed-up desktop, prefixing the folder name with my Mac Mini’s hostname. In an instant I could recognise what had happened and weren’t surprised. It seems that the gentleman who posted the article didn’t get the same nice experience that I did. I won’t speculate on that particular case, but had Apple said something about this topic loudly and clearly as they geared up for the official launch, people wouldn’t get startled and maybe some would have thought things through before upgrading.

To my mind, this is a perfect illustration of the kind of problem I was referring to when I wrote the following post: When the UX interaction can be too subtle.

Maybe this article won’t go anywhere, many having got a good experience. Or maybe, since the twitterati is always ready for some outrage-tweetstorm, there will be plenty of chatter and not just compliments to go about. We’ll see. Funny enough, I was actually pondering this weekend, the apparently lack of something-gate to do with MacOs and iOS10 in social media. I didn’t have to wait for too long. 😉

The original article is here, exactly as it’s title reads:

maybe be careful with osx sierra”

Four days with my Upgraded MBP to MacOs Sierra, a few minor tweaks, but so far no complaints.

Yes, I could’ve waited a couple more days. But had I wanted to wait a couple of days, then I wouldn’t actually want to upgrade anytime this year. The reason is simple, anything that still breaks in a significant way right now will probably not see a good fix until a few months down the line. This has been my previous experience. That’s why I decided this time round, if something should fail to install or run then I’d look for a Docker container and not bother about it much.

Docker

Yay! It runs without me doing anything at all. I simply let the upgrade run its course and the restart all happen, when that was all done then Docker continued to work as before. Now I can’t recall, I might have downloaded Docker for Mac once again. In any case, I never tend to remember technical things that went to plan. This flawless upgrade gave me the assurance that my fallback plan, running things in containers, is going to work.

Here is what I did to keep it humming.

Scala and Java

There was an issue with TLS, I fixed it by pointing the JVM to the new location of the CA Certs with this setting:

-Djavax.net.ssl.trustStore=/Library/Java/Home/lib/security/cacerts

I did this for both JAVA_OPTS and SBT_OPTS, then I could run Java apps again.

IntelliJ IDEA

If this wouldn’t work then I might seriously consider downgrading. But nope, I didn’t have to downgrade, it worked first time. The one issue I run into was with running a Java app that tried to establish a TLS connection to the outside world. This issue was resolved as per the previous fix. I run all the JetBrains tools that I use, AppCode, IDEA, DataGrip, and so on, no problems with any of them. So This meant that whatever breaks from this point on will be re-homed in Docker and I won’t deal with it.

Ruby

I’m using RVM, as expected it complained and wouldn’t install or re-install a Ruby binary. I checked the version that ships with MacOS Sierra, it was good enough for me, ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin16]. so I settled with that. Here is what I had to get RVM and the ruby stack going:

  • run, to get the command line tools installed (shouldn’t have to, given that I have Xcode installed, but I was at this spot before and didn’t want to spend any time on it:
  • $ xcode-select --install
  • Switched to System Ruby distro
  • $ rvm use system
  • Restored the install gems to pristine, then everything worked from there.
  • $ gem pristine

Haskell Stack

GHC installs fine, but Haskell Stack doesn’t. I run brew install ghc, but I gave up on Haskell Stack as it just wouldn’t succeed. I run out of my budgeted time, so I stopped trying that.

Rust

I got a few misleading error messages from this, but it turns out the real culprit was a prior failed installation via brew. I run brew doctor, looked for and removed all libraries that obviously look related to rust. You can’t miss them. Once I was done with this, I just built Rust from source and installed it. I haven’t used it in any anger as yet, but it seems to work fine now.

GO

Not a single problem. I didn’t even have to touch it, it worked as it always did.

Homebrew

I run brew doctor, to find out what was broken. I found out I had a partially installed Rust version. Rust would no longer install nor uninstall. I solved that the hard way, got rid of all related libraries as reported by brew. After that everything was working fine.

My daily tools

I found out I actually use lots of tools, none of them showed any issues. Omnigraffle, Sketch, Android Studio, Atom, TextMate, Parallels Desktop, Postgresql and a half dozen other command line tools, not a single glitch with any of those.

Forward with Sierra

This is the chance to do a clean slate on one topic that I’ve had in mind for a while. If you follow this blog, you’d remember my statement about containers providing a new chance to compartmentalising software components. With MacOs Sierra, this is my chance to pursue this idea. I will stop installing development components via Homebrew. Instead, I’ll look for Docker containers. This is what I plan to do for everything like DBMS, ElasticSearch, and other cluster native stuff like Riak, Spark, and so on. Basically, it no longer makes sense to install these locally, it’s best to use a container-based cluster manager as that is the only likely use for them.

Closing notes

Please use your own judgment, decide if you want to risk installing a bleeding edge software on your production machine. Remember that Leslie Lamport statement that I often paraphrase, no two computers will likely have the same state. This is important because the slightest difference, and there will be a lot of them always, could result in different behaviours between two seemingly equivalent environments. If nothing else, ensure you have backups that you can verifiably restore your machine from, before attempting this kind of upgrade. If you still go ahead and break your machine, don’t say that I didn’t warn you.

That being out of away now, if you decide to give it a go and it goes well, you might enjoy the experience. Since the upgrade I noticed that I actually gained about 40GB of additional free space. And this is probably thanks to a feature that promise to move rarely used items off of my computer and on to iCloud. Yes, you guessed right, I have an iCloud account.

Never mind Oracle’s business as usual, Java EE has run its course anyway

Oracle might not even have to lift a hand, nature will kill Java EE for them. By nature, I mean the numerous thriving communities that keep at improving the developer experience. Developer experience is all that matters now, and Java EE has nothing to offer there.

Java EE was born out of a playbook for big vendors, in a day and age when vendor push was the norm. Java EE was never about developers, it was always about vendors. Once alternative playbooks focusing on developer experience started to thrive, that’s when Java EE started its slow and steady descent into irrelevance. And there is no stopping that trend. Everybody knows this. Oracle is simply acknowledging this fact then trying to figure out how it can remain relevant in the longer run.

Companies large and small have all come to realise that what used to be called enterprise software needs to be rethought and retooled. The most promising programming models favour an approach that gets rid of large initiatives and management units, in favour of ever smaller and more nimble concepts. These are totally antagonistic to what Java EE stands for. Furthermore, the enterprise push model has had its time and the world has moved on from that. Every large vendor is having to rewrite its business model and rethink its technology.

Java EE has perhaps joined the ranks of mainframe technology, it will survive for a long time in one form or another, but will no longer be exciting. Effectively, Java EE is out of date, its future lies in the past (if that makes sense). It has run its course and has fared well. It’s time to leave it alone and move on.

A selected quote from the article:

Oracle’s silence about Java EE has brought developer community distrust to a fever pitch.

Source: How Oracle’s business as usual is threatening to kill Java | Ars Technica

When the UX interaction can be too subtle

In the tech industry we love metaphors, citing cultural references that make you sound smart in hipster loving social circles. One particular domain where this is prevalent is in user experience (UX). For example, if I quote user experience is like a joke … lots of people would promptly complete the phrase. Apple is frequently eulogised for this. It’s nice that we get inspired by the A players. However, I regularly see occurences where this notion is taken too far. Here is one, with iBooks. I’ll first add a screenshot then I’ll comment on what I don’t like about it.

ibooks doesn't show me the latest books

 

 

I’m focusing on the Swift books from iBooks Store. I had older versions on my computer and didn’t update them for quite some time. I’d been mainly using the iPad as my eBook reader. This week I thought to get Swift 3 versions on my Mac but they were nowhere to be found. I thought to remove them and rebuild my library, only then, as I delete a title I now see the option to GET it back and this time with the latest version. In effect, my copy  was overshadowing the latest version in the Store. I find this too subtle.

Not to mention. As I download several titles in quick successions, I am prompted to login multiple times. That just feels wrong, and it is wrong. I can imagine what is going on, but I cannot imagine anyone being happy with this. These authentication challenges are just the opposite of too subtle, they are outright annoying and pointless.

Featured image: stock.adobe.com

Cruijff. RIP

It was a few years ago, perhaps this time of the year in 2009. One evening in Amsterdam, I went to a restaurant with a group of people. Just as I entered, I immediately caught the gaze of a world famous person, sitting and facing the door. I would have always instantly recognise even a silhouette of his face, any time of the day. I was surprised. I held his gaze, he maintained eye contact, we both smiled. Our reserved seats were just a couple of tables away from where he sat with his friends. So I would be walking past him. I had chanced this close to several famous people before, but none went like this one.

So I walked on and found myself just in front of him, both still looking maintaining eye contact. I then made one more step, and I extended my hand to him. He took my hand and shook it warmly. Then I said, Hi Johan, hoe gaat het? And he said to me, Uitstekend! En hoe gaat het met jouw? And I also said Uitstekend! He said Prima! Then I wasn’t sure what to say now, I definitely didn’t want to say anything silly. So I quickly said Geniet van je avond!, and he said Dank je. Jij ook! He kept looking as I swiftly continued on to my own table. He then resumed talking to his friends as if nothing had happened, every now and then he’d look in my direction. My companions were smiling and a little intrigued, they said to me, Wow, we never knew that you were friends with Johan. And I said: Actually I am not friends with Johan. This is the first time I ever shake hands with him, we didn’t even meet before. I don’t know why, maybe he mistook me for an acquaintance.

When I was a kid, people would simply say Cruijff! And nothing more, you’d see nods and various murmurs of appreciation, and that was typical. On this particular evening, I was gratified with a celebrity handshake out of nowhere. This wasn’t much, but it meant something for me. I felt humbled that someone could have been so illustrious as Johan, and yet remain so warm and down to earth in a social context, even with a complete stranger. What surprised me is that, I was quite sure that he realised his mistake, but still remained cordial when he absolutely didn’t have to. That was the sign of a great man to me.

This was my only experience meeting with Johan Cruijff. It will stay with me.

RIP.

Some believe “Google is evil”. Apple is vocal on privacy. Apple going to use Google Cloud?

Funny. If you’ve followed tech news recently, you couldn’t have missed Apple’s high profile court battle on user privacy. A lot of people, namely tech savvy people, are rather vocal in their belief that Google might be too casual with user privacy. The news that Apple is signing up to use Google Cloud should sound kind of ironic. To the fanbois at least.

This is business, though. As it should always be. Whether this turns out to be true or not, despite all the fuss made about Steve Jobs’ alleged vindictiveness, Apple has demonstrated pragmatism time and again. I remember the early days of Apple’s iCloud, some tinkerer had found out that it was using Microsoft Azure. Apple never said a thing about that back then.

This kind of news item should also send a message to the business decision maker. There are just too many decision makers out there that would rather not think for themselves. Whatever provider you might feel more trustworthy, at the end of the day, building the capability to leverage any Cloud service would wind up the winning strategy.

A chosen quote from the news article:

Apple signed a contract reportedly worth as much as $600 million to use Google’s cloud platform.

Source: How Google Just Landed Apple as a Customer–and Beat Amazon to It | Inc.com

Eclipse Che looks promising, the cheese’s moved around

A very quick look at Eclipse Che shows a promising concept. I thought let’s have a look. When I’m serious about a technology I take the time to read the documentation before diving in. In this case I wanted to follow the typical journey that most folks take, just dive in, never bother with documentation, upon the first hurdle start complaining like a bewitched mad dog with an exaggerated sense of entitlement – ok, minus the last bit of attitude.

I installed Eclipse Che, easy peasy. Then I fired it up. Oops! I can’t connect to it. The first time ever I couldn’t just use an Eclipse release after installing it. It was time to look under the bonnet. So I did. I saw it’s deployed on Docker… What!? Why!? Ahem, ok, move on. I stopped it, also stopped Docker Machine. Then I manually started Docker Machine, readied the environment, then started Che again. This time I tried http://localhost:8080 and I got in. Cool. Everything looks familiar, except it’s all now in one web browser window.

Time to look back and reflect on what I’ve learned here. The fact I couldn’t connect the first time might have to do with RTFM that I didn’t. Anyway, not a big deal, it took me a couple of minutes.

Nothing much to it, just an IDE inside a web browser. It’s the same old thing, in a new cloak. The most obvious/visible differences I spotted can be depicted in a simple diagram, BEFORE and AFTER.

before_reinvention_classic_eclipse_ide

With Eclipse Che,

after_reinvention_eclipse_che

I’m oversimplifying, but highlighting the most visible changes. It seems that when we get to modernising our software stack, adding Docker and JavaScript are passage-obligé. So, somehow people think that deploying a Java app on Docker is a better architectural choice than only targeting the JVM? In my case, since I’m using a Mac, which runs OSX, hence requires an extra VM (VirtualBox in my case) in order to run Docker containers, I actually end up with a more complicated stack for just an IDE. I don’t know where this is going. Now trying the IDE.

eclise_che_ide_in_action

 

I haven’t gone further than this. The concept of Developer WorkStation Server can be interesting for pair programming. The Server option is perhaps more appealing. I just wonder why this couldn’t be just a Java App and why Docker was actually necessary.

A brave, new post open source world, or Fly-by Software License pollution

I just read an interesting article with the title We’re in a brave, new post open source world. The article goes into the evolution of Open Source movement and the numerous licensing policies. On particularly notable phrase I saw read as follows:

…if you use someone else’s code revision from Stack Overflow, you would have to add a comment in your code that attributes the code to them.

What this means is that, if a developer uses a snippet of code taken from StackOverflow, and fail to add such an attribution, then technically the project might be in breach of StackOverflow license. I am curious how many organisations actually check this.

The whole article is a good read.

Original Article: We’re in a brave, new post open source world — Medium

Open source is a development methodology; free software is a social movement. by Richard Stallman

I just read a nice essay by Richard Stallman with the title Why Open Source Misses the Point of Free Software – GNU Project – Free Software Foundation. A chosen quote from this essay poses perfectly the problem

Open source is a development methodology; free software is a social movement.

Most people probably aren’t even aware of this difference. I never understood why and how the term open source came to be applied to hardware, government and many other areas when in fact even the English language doesn’t see any notion of source in such contexts.

The article I refer to is concerned about correct definitions, I want to look at some  of the misunderstandings.

There is an angle to this discussion, a lot of people and organisations look to Open Source Software (OSS) in search for cheap (but not cheerful) opportunities to solve their problems.  You can’t blame them for it, but this can raise several issues. I will ignore any moral aspects for now, and focus on a few practical implications.

  • Some individuals or organisations release their work as Open Source with the explicit intention to invite others to contribute to it. This is often an acknowledgement that one’s work can be bettered and perfected if others would gain access and be allowed to contribute.
  • By releasing a work as open source, there is no implicit or explicit guarantee of quality or defect. It just means use it at your own risks, your contribution would be appreciated if only in terms of signalling any defects found, or improvements that you might have been able to add to it.
  • FOSS doesn’t  opposed nor condone gainful use. Statistically however, there exist far fewer people and organisations able to contribute than those who actually use OSS. This is well understood and accepted by most. However, it is astonishing to see some people throwing a tantrum and launching on diatribes when they get frustrated by some open source software. This is just plain crazy behaviour, they not only miss the point and are showing preposterous entitlement that deserves to be frowned at.
  • Increasingly, many organisations are using OSS as a mean for attracting and retaining talent. This is an instance that stretches the notions of free and open in an interesting way, a subtle form of free promotion and marketing.

Article: Why Open Source Misses the Point of Free Software – GNU Project – Free Software Foundation

Super long Article: How Zano Raised Millions on Kickstarter and Left Most Backers with Nothing

I saw this tweet on my timeline.

I really wanted to read it but I only had 15 minutes for it. So I bookmarked it and tried to skip past, but curiosity got the better of me. I followed the link, scrolled all the way to the bottom and spotted this bit:

Way too long; didn’t read

That was a heading of the super short summary. So I read that part, and it was insightful. If and when I managed to find time again, I might read the whole thing. But for today, that section of the article makes up my recommended reading.

Source: How Zano Raised Millions on Kickstarter and Left Most Backers with Nothing — Medium