Google Kotlin!

Google announced that the Kotlin programming language will now be a first class citizen alongside of Java for Android development. Since Apple had announced Swift as the replacement for Objective-C as the iOS app development programming language, there’s been a lot of speculation on what Google might do in response; some commentators even speculated that Google might also go with Swift. Google has now made there move and it’s a really smart one. Coder Radio listeners will know that I’ve been a long-time fan of Java, but I have to say if there’s going to be a successor to it, then Kotlin seems like a great choice.

For starters, it targets the JVM. That means that Kotlin code can be run on a wide variety of architectures and devices. For the purposes of Android development this was essential, since Android uses a “version” of the JVM; there’s been some legal cloud about what exactly Google’s Davlik VM was a bit too much like the JVM for Oracle. If you’ve never had a “standard” disappear on you, then you might not understand how much of risk there is in technologies simply evaporating into the air, leaving you and your users high and dry.

Speaking of the longevity of technologies (especially in the enterprise), Kotlin targets Java 6. What that means is the there’s a huge pool of enterprise Java applications that it can work on today using its interoperability with Java. In practical terms, this means that there’s no need to rewrite your legacy Java application to start writing modules in Kotlin.

Java can be a little strict in terms of checked exceptions. Basically, in Java, if there’s a possibility to throw an exception it must be checked with a try / catch block. In larger projects this makes you’re code pretty verbose and I’ve long found this to be one most annoying aspects of Java day to day. Kotlin does not have checked exceptions, giving you more flexibility in how you write your code and reducing all around cruft.

If you’re an Android developer or just a Java developer in general, I urge you to take a look at Kotlin and form your own opinion. Also, if you’re interested in learning more about Docker or DevOps in general, take a look at my Docker Compose Quickstart Guide and follow me on Twitter!

Hybrid Today, Progressive Web App Tomorrow

App (and I am using that term very loosely here) development has undergone a change. Most companies are eschewing high cost native development and for iOS and Android and going with hybrid solutions using tools like Xamarin or Ionic. This is a great way for organizations to lower their initial development and ongoing maintenance costs as well as get a useful app for their business needs. One area that many organizations are finding is that they still need desktop web applications and you don’t get the code sharing advantages between mobile and desktop platforms that you do between the two dominant mobile platforms – iOS and Android. Luckily, the march of development tools and frameworks has carried on and there’s a new solution – progressive web apps. These are web applications that live on the server but thanks to powerful JavaScript (or in some cases Typescript) can access native-like device capabilities. This, coupled with responsive development techniques and some adaptive CSS allows the app to scale in not only screen-size but also capabilities depending on the device. There are a number of frameworks that provide this, but my two favorites are Angular 4 and Polymer 2.

The Angular team now uses the tagline “one framework, mobile and desktop” and they mean it. Angular has come a long way from the original release of AngularJS and is now a full application development framework.  Currently, Angular is on version four and if you’ve used an older version of the framework you’re going to find major differences (especially in the area of routing) but the time invested into catching up is well worth it. Using Angular 4 you can now create a high-functioning application that runs on everything from your twenty-seven inch desktop screen all the way down to a mobile phone. I do find that there’s a bit more ceremony in the latest versions of Angular than in the first, but you could argue that’s an advantage, since it also makes the framework more flexible than its predecessor.

Polymer 2 is more focused on JavaScript components than Angular but is no less powerful. While the details of it works under the hood are different the end result is exactly the same — you end up with a powerful application that can scale for different screen sizes and devices.  If I had to make a comparison between Angular and Polymer 2, it would be that the Polymer team has made more of an effort to be “pure JavaScript.” I don’t love that criticism of Polymer for two reasons: 1) Angular is now written in Typescript and I (in my opinion) best consumed using Typescript and 2) some of the custom directives in Angular actually lead to less boilerplate than the more “pure JavaScript” alternatives in Polymer (especially around defining custom components), so I’d actually consider that a feature for Angular rather than a bug. Still, that doesn’t mean that Polymer is not a great choice for your progressive web app development needs.

There are of course other choices for developing progressive web apps but these two projects have the backing of Google and large communities around them, so they’re likely going to stand the test of time unlike the many <insert_noun.js>  JavaScript frameworks of the previous ten years.  The future looks bright for the progressive web app and by extension Angular and Polymer, given that the trend of businesses demanding more for less out of their developers and development partners is likely to continue.

If you liked this post, follow me on Twitter for more!

Why I’m Selling My MacBook Pro – Focus

In a word – “focus.” There are a lot of cool technologies available to developers to today and the truth is that, I’ve been spending a lot of time chasing a lot of different albeit very interesting technologies and trying to figure out what makes sense for myself and for Buccaneer. Here’s just a brief list of the things that I’ve found incredibly interesting technology-wise over the last eighteen months:  Docker, Swift, Linux, iOS development, Android development, Arduino, 3D Printing, DevOps, Angular, React, and about a thousand other things. All of them are very cool, but there’s not a lot of depth one developer can get in any given technology if he or she is focusing on more than one or two of them at a time.

So what does this have to do with selling a Mac. Well, I spent years writing iOS apps in Objective-C and a significantly smaller amount of time writing them in Swift and that was fun for a long time, but now Buccaneer and I have moved on to the exciting world of Containerization via Docker and the wider DevOps space.

For a time, I was trying to juggle these two priorities but what I found was that if you have two messages, then all you’re really messaging is a cacophony of white noise. Another aspect of this is looking into the future based on the current tech trends. While there still are some advantages to native apps over hybrid apps, most enterprise customers are correctly focusing on hybrid or web-powered apps or those who have a little more tolerance for a performance hit are skating to where the puck is likely going in the form of progress web apps. Enterprises are really deciding between hybrid apps with tools like React or Ionic or full on progressive web apps using something like Angular or Google’s Polymer. The reasons for this tend to be the usual development and maintenance costs arguments but also that most of the complexity in enterprise systems tends to be on the back-end rather than the client-side.

My solution is extremely simple — to just skate to where the puck is going and that’s toward thinner clients with complicated back-end systems. These back-ends will be hard to maintain and that’s where containerization provides value and I find that sort of work is best done on a Linux workstation, so I’m going Linux 100%.

Mac Exodus Over?

Many commentators myself included have been making some hay out of the trend of developers and other pros moving away from Apple’s macOS in favor of various (usually Ubuntu) distributions of Linux. Vendors like Dell and System76 have seen gains in the professional workstation market against the less then well received MacBook Pro, but Apple is waking up and smelling the professional angst. Apple’s pronouncements in favor of professional computing on macOS and the promise of a revised MacBook Pro as well as a re-designed Mac Pro with a more “modular” design. We’re already seeing the so called Mac Exodus being blunted by Apple’s announcement. The questions becomes less a contest of Linux vs macOS quality and more a race against the inevitable tide of macOS’s professional resurgence. The overall goal for Dell and System76 should be to gain as much market share in the professional workstation space before Apple actually launches new hardware for that market. To that end, I’m going to play “CEO for a day” of Dell and System76 and game out a strategy for both of them respectively. I’m picking on these two firms, because I like them and also feel like they have the best shot of actually being successful.

Dell has money. Lots and lots of money. That’s great but also can lead to conservatism. Their success with the Sputnik project was one of the early and most successful ventures of a major desktop manufacturer into the Linux space. The product it produced – the XPS 13 Developer Edition – is still one of the most compelling Ubuntu laptops available. Dell needs to widen their Ubuntu product-line to include larger higher power models as well as something more akin to the MacBook Air. There will be an R&D / product development cost to this, but it’s going to be worth spending. The other key here is that Dell has a huge asset that System76 won’t – it controls its own production pipeline and has the manufacture of PCs down to a science. That should lead to better yield over competitors which at any reasonable volume means there are some margins to play with there. Dell should cut these margins on select base models of Ubuntu Linux workstations to the bone, nearly selling them at cost. This will make a dramatic cost comparison against Apple, given their already high prices and should also make Dell a very attractive supplier to creative agencies and the like as they look to cut costs in an increasingly competitive environment. Remember, the goal here is to gain market share fast and hopefully create career spanning Linux customers who otherwise would have gone to Apple.

System76 doesn’t have Dell money but it has something else focus. In many ways, they’re already taking the right steps to up their hardware game by moving away from Clevo and Sager hardware and toward producing their own, but more can be done. My expectation is that within the next eighteen months we are going to see more Apple quality hardware from them once their production lines and processes are fully up and running. Sadly, some of it is going to come at a greater cost than money. System76 has good relations with the Linux community and in particular the Ubuntu community. Canonical (the company behind Ubuntu), in what can be described charitably as a pivot toward reality, is dropping its Unity desktop user interface in favor of GNOME and seems to be more focused on IOT and “cloud computing” than the desktop. This makes sense, given that Canonical has limited resources and needs to make real money somehow, someday, someway. The folks at System76 who I’ve met and like very much need to find a way to show leadership in the community by guiding it into a direction that strengthens the Ubuntu desktop as the leading choice for professional workstations. The key here is to lead the community in the right direction but resist the temptation to commit too much of their own limited development resources to the effort. I know what I am suggesting is less being a good community citizen and more leveraging the community, but the reality is that the Linux community has been wasting development resources on alternatives to alternatives for things like package management and window managers — strong leadership could finally close some of these questions and focus the communities efforts.

This is a race against the clock and make no mistake, the window is closing quickly. If Linux workstation vendors such as Dell and System76 can’t make significant gains in market share quickly, then this whole “Mac Exodus” will be little more than a blip in the history of Apple’s domination of the modern professional workstation market. If you have any questions or comments, Tweet me and please checkout my Youtube channel where I offer Docker and DevOps tips.

MacBook Pro 2016 Review

I’ve been having a lot of fun working on Linux over the last few months and continue to use it as one of my two daily drivers, but the realities of corporate VPN policies and the fact that even Ubuntu is not supported by most common corporate VPN clients forced me to pick up a Mac. Being the type of guy that likes to go big or not at all, I went for the 15” MacBook Pro. Take a look:

Sure it’s not the absolute highest end Mac you can buy but it’s by no means a slouch. Here’s some thoughts after working with it for about two weeks.

The Good: The MacBook Pro has the best screen I’ve ever seen in any laptop in over a decade of being primarily a laptop user. The build quality is very good and the “Space Gray” gives it that “pro” feel I’ve found missing in Apple products for some time. While I’ve been pretty critical of the full-fledged (one might even say “courages” adoption of USB-C over USB3), I see the long-term value in having all your devices use a standard port for charging and data transfer, however, I question if Apple would be willing to have the iPhone adopt the standard as well in it’s next iteration.

The Bad: While the MacBook Pro feels premium in practice its performance doesn’t feel like the nearly $3,000 I paid for it. Knowing that it doesn’t run Kaby Lake may be part of my problem and certainly for that amount of money, I’d like to at least have the option of more than 16GB of RAM. Also, the price jump between storage configurations feels a lot like gouging. All in all, the worst part of this machine is the price tag and feeling that you have “SUCKER” painted on your forehead when you compare the price to the specs.

The Ugly: I’ve developed Mac apps and iOS apps for a long time and in the past I’ve be skeptical of Apple’s additions to both platforms. In most cases, I’ve been forced to at least concede that some users may like some features. This simply is not the case for the TouchBar. Try as I might to find a productive and interesting use for it over it’s classic function row predecessor, I’m left feeling like I am holding what in ten years will be a curiosity of Apple hardware design history that is unlikely to be widely adopted by developers let alone repeated in other product lines. I also can’t help but feel that the TouchBar is at least partially responsible for the hefty price tag.

Overall, the MacBook Pro is a fine tool and it does a job that I need done. If you’re looking to fall in love with a device, you’re in the wrong place. However, if you are like me and consider your machines tools to do work on (much a like a carpenter might look at a particular table saw or hammer), then you’re likely going to get some return on your investment and be happy in the end.

How I Missed Web Assembly

As pointed out by an intrepid Coder Radio listener, I totally missed the importance of Web Assembly when it was in its initial nascent phases a year or so go. Now that Web Assembly is going to become a standard endorsed by the W3C and has backing from at least two major browser vendors to date (Google and Mozilla), I’ve done a full 180 and am convinced it is the future of not only web development but probably a good deal of mobile and desktop development as well; my assumption is that tools like Ionic and Electron will be able to leverage the performance gains brought by web assembly as well.

Looking back my mistake was that I failed to parse out the signal from the noise in the wider JavaScript conversation circa 2014 and on. There was (and in many communities still is) a lot of angst about the short-comings in the JavaScript language and a lot of people making noise about using alternatives to it that would simply compile to it –  CoffeeScript and TypeScript for example. There was of course a thread in the background about Web Assembly becoming potentially a language agnostic solution to this problem, but because I was looking at it through the lens of alternative languages to JavaScript and at the time didn’t think and I still don’t think  that changing from JavaScript just because you want a different language but then compiling into JavaScript makes any sense at all. In other words, I took a breathe and shouted a hearty “get off my lawn!”

My curmudgeon-like tendencies aside, I still firmly standby the idea that just writing in something like CoffeeScript to compile into JavaScript just because you don’t some features or shortcomings of JavaScript is silly. What I missed was that this whole language brouhaha was just a minor prologue to the real story — Web Assembly. Moving to Web Assembly not only increases web application performance significantly but also (as more languages create compilers for it) gives those developers who prefer some language over JavaScript a much more reasonable choice; they can simply use the language of their choice and compile it directly to Web Assembly! I’m totally on-board with that. In fact, I’ve been working in Microsoft’s TypeScript and find it great, so if we actually make it (we probably will) to this Web Assembly world, then I’ll probably go Typ eScript for most greenfield projects going forward.

As in Eden, there’s a potential snake in our garden — Apple. Web Assembly being fully supported on mobile Safari for iOS is absolutely necessary to unleash the full potential and development efficiencies that I believe Web Assembly can over the next five year period bring.

Questions? Comments? Blood curdling nerd rage? Tweet me! Also, take advantage of my free strategy session for your next project!

A Farewell to ‘App Developers’

I have had the great privilege of really coming to age at just the right time to be able to get into the ground floor of the mobile app development wave starting in 2008. In fact, to my knowledge, I opened one of the first three purely mobile app development firms in my home state of NJ.  While there were certainly ups and downs, I had a blast. Now it’s 2017 and frankly the party has been over for some time; in fact, I’d argue that for many in my position the end of 2014 and a good portion of 2015 served as a well deserved hang over. Before I get into what I really mean here, it’s important that you understand what things were like from 2008 to roughly 2013. Simply put, the market wanted “app developers” and there just weren’t that many, so an outsourcing / contracting boom began — entrepreneurs and enterprises both were handing out five and six figure checks to dumb kids like me with little to no vetting purely out of the ever present fear of missing out. It was an amazing time. Then the inevitable hangover hit. It happened differently for both groups but it happened and at the end of the day a lot of good small app development shops paid the ultimate price.

Every story needs a good fool and most of the app entrepreneurs (“apprenuers if you’re a hipster from Australia) fit the bill perfectly. Like the little girl who’s enchanted with the tale of the frog prince, they went out an got-a-kissin, cracking open their kids’ college funds or their 401Ks to be the next Uber or whatever the hot app of the week was at the time. Basically, they bought the Disney-like fairy tale sold to them by films like the Social Network. Unfortunately, like most fairy tales that Disney spins into feature films, the true source material ends in tears. Their assets drained, the vast majority of these would be Zucks left the app world with red eyes and broken hearts.

The enterprise space is a little more complicated but shares the fundamental error of understanding that the entrepreneurial one does – that mobile apps are one time capital expenditures rather than ongoing commitments. A lot of enterprises made exactly the same mistakes that entrepreneurs did, but their superior capital and (in many cases) diffusion of blame among managerial groups allowed them to simply swallow the pain and move on. Still, most IT managers now consider apps to be like any other piece of software they buy and not just some quick one off that they’ll let the local shop “take a shot at”. Sadly, this shift has greatly disadvantaged small vendors, as IT managers increasingly look to their traditional long-term software vendors for app development services as simple add-ons to their existing contracts. It’s easy to take a Darwinian perspective here but the truth is a little more dirty than simple survival of the fittest in terms of big vendors and small vendors. Large vendors made it a habit (and still do) of externalizing their app development services to smaller more focused shops. I can tell you that this was fine for a time, but then something changed.

The large vendors realized that it was cheaper to just internalize or in some cases contract out to individual 1099s for their app development services and simply cut the little guys out. We’re in 2012 here now and I surmise that beginning of the app market cooling and an increased pool of young app developers out their had a hand in this. Some went as far as using legally restrictive language in their contracts with the smaller firms to prevent them from using the subcontracted work they had done in their own sales efforts. Imagine being one of these small shops for a moment. You wake up one day and in your email is a termination from one of your biggest “partners”, then the same thing the following week, then again the next week. In a month, you’re waking up to having nothing in your portfolio and payroll outstripping revenue on a monthly basis. What do you do? Do you take the risk and breach your contract, risking a C&D or possibly a full scale lawsuit, do you try to dance around it by mentioning the projects verbally but keeping them out of writing? What happens if you finally have a sale about to close but the prospect wants you to “prove it”? Your former client who overnight became the Empire to your rag tag Rebellion sure as shit isn’t going to give you a reference and might even poach the deal if you try to use them. Welcome to 2015.

I’d like to say that this story has a happy ending but in reality it doesn’t. Many shops closed their doors in 2015 or were forced to restructure in some significant way. Put simply a lot of good people lost their jobs, a lot of would be entrepreneurs felt cheated, and the owners / shareholders of the large IT firms made just a little more money. Even among the survivors “app development” as it was in 2008-2012 is over and they are struggling trying to become small enterprise IT vendors but growth is nothing like it was during the nascent period of app development. Let’s all remember those halcyon days as we look at our CRMs and wonder what the Hell happened.

Like what you read? Don’t forget to subscribe and follow me on Twitter.

4 Must Listen Podcasts For Developers

Software development is a fast moving profession and it’s near impossible to stay up to date with all of the changes, new libraries, and great open-source projects that are coming out on what feels like an hourly basis. That’s where great podcasts come in to keep you not only up to date on your development specialty but also give you an understanding of what is going on in other areas of the industry, so you remain a well rounded technologist. In the interest of fairness, I am going to exclude my own show Coder Radio from this list but I would of course encourage you to give it a shot as well as all of the other great Jupiter Broadcasting productions. So here are my five must listens in no particular order!

Linux Action Show: Though this is more of a general Linux development show, it’s the best source for Linux coverage on the web today. Even developers who aren’t focused on the FOSS / Linux space, should at least listen to LAS to maintain a level of knowledge on the platform to hold up a casual conversation with a Linux-focused developer.

The Bike Shed: Focusing on web development with a specific focus on Ruby, Rails, and all things JavaScript, this show gives a good overall look at the web development landscape from the perspective of developers working at a high-end development consultancy — the show is produced and hosted by members of the Thoughtbot team.

.Net Rocks: This is one of the classic developer shows and it’s still great. Even though I imagine that many of you reading this aren’t work on .Net / Microsoft technologies, this show will still manages to be accessible. This is an absolute must listen for those of you who may have some prejudices or just simply be out of touch with what is going on with Microsoft developers.

Accidental Tech Podcast: ATP is a show hosted by some very deep and thoughtful Apple fans who also happen to be developers. I’m positioning it that way, because like LAS, ATP isn’t designed as a developer show, but they do often showcase development topics. I find this show especially valuable, because I rarely agree with the hosts when it comes to development topics or their general outlook on technology as well as what makes software valuable. It’s this challenge to some of my held beliefs that I find valuable and while my outlook has continued to diverge from theirs, there is still tremendous value in being challenged and I recommend that all of you subscribe to at least one show where your options will be challenged.

One More Thing: OK, so I told you there’d be four but I have a fifth. I just launched a YouTube Channel that focuses on open-source and mobile development tips for the enterprise sector. I hope you’ll check it out!

There you have it – my four must listens and a bonus! Let me know what you think on Twitter and take a look at my company Buccaneer Tech INC!

 

 

 

Three Tech Wishes for 2017

Happy 2017! As we put 2016 in the rearview mirror, we’re all taking a look at the outlook for 2017 as I did here but I wanted to take a more personal angle here and explore what I desperately want to see from the tech community. This list is by no means exhaustive and for the sake of time (and online attention spans) I’m limiting it to my top three.

Google Account Management: Dealing with multiple Google accounts is an unfortunate and annoying fact of life for me both as a regular user and as a developer. In this year alone I’ve probably written thousands of lines of code for myself and for clients to deal with this problem by basically scraping calendar events between two or Google accounts. The business case for this problem is pretty simple. Company A gets a contract to do some work but they don’t have the resources in house, so they subcontract part (or all) of the job to Company B, but Company A doesn’t want the client to figure out that Company B exists and is actually doing the work, so they give all the Company B people Company A Google accounts. My event scraping solution is sloppy and fraught with all sorts of little issues. Google should find a way to implement some sort “vanity account” system that let’s the actual email addresses be masked between multiple domains, so that the customer sees what Company A wants them to, but Company B doesn’t have the overhead of dealing with yet another GMAIL account.

Reactive Programming Hype: A lot has been made of Reactive Programming in 2016. While there is definitely some fire to the smoke, things are getting way too hyped and frankly I’m seeing Jr developers pitching reactive programming on freelance gigs as some sort of silver bullet that will solve all the problems you have have and even ones you don’t know you have yet. This is scary! Sure there has always been hype around “new” (sneer quotes because Reactive Programming is only new from a ‘certain point of view’) technologies and methodologies but this hype train around all things with the word or root ‘react’ in them has the kinetic energy of ten hydrogen bombs. I’ve gotten too many projects in this year from prospective clients that were over-engineered in one of these reactive libraries by some Jr dev who just got a little too excited on the Kool-Aide sales pitch and the story is sadly all the same – the client was happy with what he was told but what he got was a steaming pile of hard to reason about spaghetti code and ultimately a rewrite. For 2017 let’s just pull the cord a little on the hype train, OK?

Docker Direction: Despite some fairly significant pain in upgrading between Docker versions and other more minor issues, I am still a serious believer in Docker as the premier containerization solution. Coder Radio listeners will remember that even as a callow youth I was on the Docker train right from the beginning but my faith has been somewhat shaken and I’d like some clearer communications regarding where the technology is going, who they feel their ideal target users are, and where Docker the company sees its role beginning and ending — in other words where will they and where won’t they compete with vendors who are selling / implementing Docker.

Those are my three (I hope fairly doable) wishes for 2017, but before I go…. I also want to note what I didn’t mention here that I have in my end of year / new year posts for the last years – App Store monetization and more specifically a sign from Apple on where they see that going. We got our answer in 2016 – subscriptions. While that will work for a number of apps and is working fine for my Backpoints (iOS & Android), it does not satisfy all the needs of independent developers and likely will not create the high-value ecosystem of professional paid (paid defined as taking money in any non-donation way) software that the iOS App Store originally enjoyed. When I think about Apple and their answer to the monetization issues on the App Store, I am remained of that great quote from Dan Brown’s Angels and Demons: “God answers all prayers, but sometimes his answer is ‘no’.”

Google Home Review

I’ve been spending some time with a Google Home at my office. It’s. been a pretty interesting experience overall and makes me more confident in my previous assertion that of the big three in tech (Apple, Google, and Microsoft), Google is going to dominate the digital assistant / bot space. While my experience with Home was not perfect, it was a pretty impressive showing for a first generation device.

The Good: Google Home is smart as a whip! There’s just no way around that. My office mate and I spent hours trying to trip it up on trivia, calculations, and finding obscure movie and song facts and the device held up just fine. By far the most useful functionality for our office has been dictating songs to it and passing back and forth; prior to the Home, we would take turns playing (put your hate in the comments) vinyl records. Sure, we could do this with a PC or even an iPad but just being able to pick songs verbally has been an surprisingly enjoyable experience. I know this sounds a bit silly, but it reminds me of when I got my first iPad – I had mocked the iPad as just a large iPod Touch, but I changed my tune after my first few minutes using Apple’s tablet. This is just how I feel about Home, though I went in with a little more of an open mind than I did with the iPad.

The microphone seems fine but I do occasionally have to re-state requests to the device and it’s not clear if I just mumbled or my NJ accent was too hard for Home to parse on certain phrases. The speakers are pretty good and don’t have that tinny quality to the sounds that I was worried about before I got the device. For most users Home will likely be the highest quality speaker they have in their house, but I can see audiophiles wanting something a bit more.

The Bad: I’ve experienced occasional service outages with Home that required it to the restarted. The error message given suggests that my wifi may have been to blame, but every other device on the network was fine. It’s impossible to dig deeper into this, but it stands to reason that the issue is a service hiccup on Google’s end. Silly as it sounds, it kills the magic of a voice interface if you have to get up (in my experience) every other day to unplug and restart the device.

The Ugly: Google account management is a mess on just about every Google product and Home is not exception. Home only allows you to have one account on the device — this is a terrible design decision as it makes the assumption that one account equals one person. The reality for my use case and many others is that on e person will have multiple accounts. My guess is the most common case would be users (like me) have one Google account personally that has their Play Music, YouTube Red, and other Google entertainment services on it and also have a Google Work account used primarily for email and (most importantly for the purposes of Home) calendar. In my case, I put my personal Gmail on Home to get the entertainment functionality but am totally cut off from my work calendar. Ideally, I’d like a system where Google understands that users have different Google accounts for different contexts and allows the user to take calendar services from a Google Work account while using their personal account for entertainment and everything else.

All in all, I like the Home. It is definitely a first generation product, but most of the issues with it are fixable via software. Currently, I don’t see any real competition for Home other than Amazon’s Alexa but Amazon is in a very different business than the big three, so I would question their commitment to building a truly expandable AI assistant – Google’s opening of Actions to third party developers is a strong step in the right direction. Apple seems unwilling or unable to make Siri more than a lame parlor trick and even if they did, they’d likely be very paternalistic in terms of user privacy, severely limiting third party developer access. Microsoft is doing some really cool stuff, but they don’t have the platform beachhead that Google has in Android and all of the Google related services and that Apple has with iOS. The most surprising aspect of using Home is how it has me strongly considering picking up the next flag ship Android device to get that Google AI functionality on the road. Do you have a Home or comments / questions on this post, sounds off in the comments or Twitter.