Tag Archive for google

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.

Apps, Bots & Cloud Oh My!

Apps are the newest thing! Apps are dead, long live the cloud! The cloud is old hat, it’s all about bots and machine learning now! If you follow the tech press like I do, you might be led to think that we have come through some sort of supersonic period of technological creative destruction. It’s certainly true that we’ve seen a good deal of innovation, since the release of the iOS App Store in 2008, but it isn’t entirely accurate to draw a linear progression from apps all the way to bots in terms of direct technological replacement. Apps, Bots, and the Cloud each bring something to the modern way we approach software presently.

Apps: It’s hard to overstate how much Apple releasing the App Store changed standards in the wider software development industry in terms of user experience and visual design. Simply put, the popularity of iOS devices and apps raised the minimum bar for what is acceptable UI for even line of business applications and elevated the role of designers from Photoshop jockeys to having a head seat at the table on most development projects. Of course, with the good also comes bad – I’ve sat in more than one meeting at large enterprises where two designers derailed a meeting by having passionate but ultimately futile debates over Helvetica / Helvetica Neue and different shades of blue.

Bots: We are way too early in the technical life-cycle for bots to make any sweeping statements about their influence on software development as a whole, but if taken through the lens of apps, they can be seen as almost a reaction to the design-heavy / design-first focus that apps have taken. This can of course be seen in their minimal UI but also in the purity of their focus on functionality above all else. Ultimately, the promise of bots is to remove that one to one relationship between user actions and software actions that apps focus on; ideally, the bots of the future will predict what you want to suggest it to you / do it for you unlike apps where you have to initialize all actions. Unfortunately, bots are little more than glorified text interfaces running some clever scripting on the cloud. We’ll need to see some pretty significant advancement in bot functionality before they are really useful and so far the top tech vendors are taking radically different approaches:

  • Microsoft: Microsoft wants you to build bots on their Bot Framework and hopes that you’ll tightly integrate with Azure or at least Skype. While there are definitely problems with their approach (for instance splitting the community by having both a C# and JavaScript SDK) it is likely the most interesting for third party developers that want to develop on one of the big vendors’ tooling. Still, I’ve been burned by betting on new Mircosoft platforms before (I was one of the fools who made an investment in Windows 8 / RT) and I’ll need to see some re-assuring signs that Microsoft is going to continue active development and support on this before I jump in with both feet.
  • Facebook: Zuck and Co have one question for you – ‘what is it going to take get Facebook Messenger to be your default messaging platform?’ Facebook’s bot implementation is the most disappointing, since it’s one of the more interesting technically (their implementation of Wit.AI shows a lot of natural language processing potential) but is ultimately rendered useless (and frankly silly) by the huge strategy tax of being tightly coupled to Facebook.
  • Apple: What hasn’t been said about Siri that hasn’t been said about a 1992 Honda Civic? It’s relatively reliable if you know what it’s good for but lacks much of what would be desired at this point. WWDC is in couple of weeks and if Apple doesn’t deliver, then they’re likely to be an also ran in the bot space. My money is on some improvements to Siri, but Apple is likely to philosophically opposed to data mining and opening this sort of data to third party developers to make any bot framework they may provide anything more than a minor curiosity for the most hardcore of Apple loyalists. Apple will likely be left with little choice but to use it’s control of the iOS platform to either not allow competing bots on their platform or (far more likely) allow them but now allow them to integrate on a system level greatly degrading their usefulness to iOS users.
  • ‘Google:’ In place of a queen you will have a colorful gender-neutral ‘G’, not dark but productive and intuitive as the dawn All shall love Google and despair! Apologies to Tolkien but Google’s shown what is easily the most impressive bot to date and it’s name is simply Google. While it’s heartening to see such impressive predictive reasoning on a bot, it’s also a little scary in terms of the privacy implications and what it means for the greater bot ecosystem. Simply put, Google is in the best position to make the best bot of anyone in the industry and probably of anyone in the world in terms of targeting the mass-market consumer user-base. Ironically, Google’s aptitude in bots and related technologies will likely stifle innovation, since Google will be able to do a better job for cheaper (since they won’t charge at all) which will likely push many smaller potential competitors out of the market. At IO, they did say there’d be some sort of developer access, but right now they’re just making the best bot themselves and that’s a little disheartening as a small software vendor.

In part, it’s hard to see what bots really mean for the industry since there are different approaches being taken for them; for instance, they will likely be far more useful for Android users than for iOS users initially. Still, the common thread here is using personal and cohort data to predict what actions you might want to take via a simple voice or text interface.

The Cloud: Bots may be getting all the tech press but they’d be nowhere without the cloud. Or would they? What is the cloud anyway? Well, do you remember Thomas Watson of IBM fame who said: “I think there is a world market for only five computers.” On the face of it that’s laughable wrong but in more practical terms of what computers used to be defined as, he’s basically right. Instead of computers we call them “clouds” (think Azure, AWS, etc) and we are basically renting usage from them which will sound awfully familiar to anyone who has ever rented time on an mainframe in the 80s. Don’t get me wrong I am well documented as being bullish on cloud technologies (i.e. Docker) but to be honest the most interesting and impact-full innovation of the cloud for most people’s day to day use is the pricing model. That’s right. The main reason the cloud has had such a positive impact on the software development industry and the greater world as a whole is that it’s cheap. Cheap computing power allows even small companies (like mine) to invest and try new product ideas out with very little financial investment in infrastructure.

So we’ve taken a look at apps, bots, and the cloud but what is the point in all of this? Well, all of these things go together. You see bots aren’t replacing apps or the cloud. There is no linear progression. Bots and whatever come after them are and will likely continue to be built on the cloud and possibly viewed via or at least supplemented by traditional mobile apps. In fact, my bet is that for a few years the key to successful software products will be to blend all of these technologies together in natural ways.

Questions? Comments? Uncontrollable rage? Reach out to be on Twitter.

2013 Nexus 7 Review

BQNK5AYCEAAM_vEThis weekend I got a tip that my local Best Buy was selling the new Nexus 7s early, so I jumped in my car and bought one of the 16GB ones. Strangely, they didn’t have a display out or even a sign for the tablet but after speaking to a salesman, he told me that he could sell me one but wasn’t allowed to put the display out yet. I agreed to purchase one and within a few minutes was driving home, excited to unpackage my new device. I’m not going to bother with a description of my unboxing as it was nothing special and frankly those feel a bit fetish-like to me.

The Good: The new Nexus comes with the latest version of Android installed and has Google Play Games, Google’s Game Center competitor, preinstalled. It is impossible to stress how thin and light the Nexus is — I am really impressed by this. The biggest advantage this tablet has over competitors however is speed. It is a performance monster; if you want specs, please take a look at the product page. In short, this is probably the best Android tablet for gaming that is currently on the market and will probably remain so for at least six months — a virtual eon in the Android world.

The Bad: Other than the weight and thinness of the device, there is little to love in the hardware design of the device; it feels like the sort of design that you’d get from an engineer driven company and frankly it doesn’t hold up to Apple’s devices in terms of visual aesthetics. Despite the new Nexus being a performance monster, there don’t seem to be too many apps on the Play Store that really take advantage of that; time will probably solve this problem but for a launch experience it is disappointing. Still, none of that is particularly terrible. However, the device required two (that’s right two!) system updated before I was able to use it. It’s 2013 and I understand, though I am not pleased, that most devices will need a day one patch but to require two patches on day one is ridiculous.

The Ugly: I’ve already dinged Google for the hardware design of the Nexus 7 but I’d be remiss if I didn’t mention the absurd top and bottom bevels of the device — they’re too big and it makes the device look awkward Additionally, as strange as this might sound, the device feels aggressively masculine; it is stark black and comes installed with a metallic blue default background. I’m not sure why marketers feel that Android devices need this weird manly feel (take a look at any Verizon “Droid” ad for an example of what I mean) but I assume this device is meant to appeal to more than just twenty something males, so a more neutral approach might be the way to go.

Conclusion: The Nexus 7 update is about what I’d expect from a hardware device from Google — a lot of power with design as little more than an afterthought. To be fair, it isn’t much worse in terms of user experience than the previous Nexus 7, but since HTC has released the One the bar for hardware design on Android devices has been raised  (at least in my eyes) and Google needs to get with the program.

 

Google and I: It’s Complicated

Larry Page’s Google IO keynote speech was more than a little touching. it gave the company m more more human face and reminded me of why Google and its story is so inspiring. Unlike most other major tech companies, Google is actually “doing stuff”; in fact, Google is not afraid to take on projects that have the odor of science fiction: self-driving cars and Glass come to mind. In a lot of ways, Google is actually the sort of company that I think many developers dreamed of being apart of as children, so why then do I have this weird issue with them. A lot of Coder Radio listeners seem to think that I “hate” Google — an accusation  that is more silly than true.  My real issue is what Google does with our data (what they craftily refer to as “signals”) behind the scenes — the truth is the we (the public) don’t really know to what extent and in what ways Google is monetizing our data and it is that secrecy that leaves me with cause for (albeit mild) alarm. The question becomes — do the benefits and amazing technologies that Google brings us justify the potential privacy implications?

Again, I want to reiterate that I really do like a lot of what Google does. In fact when forming my company (Fingertip Tech, INC), Google was one of the main role models I had in mind — at the time Google was one of the few non-Linux focused companies that was making a real effort to bring open-source software and values to a more mainstream market; that is a tact I’ve taken and tried to expand on by open-sourcing as much of the software that I right as is feasible. Google’s dedication to pushing the web and mobile forward is nothing short of expiring.

The problem is that I can’t really know what I am paying for the amazing software that Google offers, since I am not paying with currency that I can track but rather my personal information. In a perfect world, I’d be able to purchase Google services ala carte and opt out of all of the “signal generation” aspect of Google. This, however, is not likely, since the data is probably more valuable than any fee that they could effectively extract from any meaningful percentage of the population. I’ve been beating the “pay for software — don’t be the product” drum for some time now, but it seems that the market would just rather not pay for certain percentage of software. Is it time to stop fighting the tide?

Questions? Comments? Dogmatic rage? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, INC.

 

Wither Webkit?

As you are probably aware Google has forked Webkit and will be calling their fork Blink. Google does not intend to re-merge with the main project at any point in the future and is signaling that they will be adding new features to their rendering engine. As a developer who often has to work on the web or mobile web this is very interesting but also a little concerning.

 

Currently, Blink and Webkit are just about identical, so we can still feel secure in our Webkit “monoculture”, but the situation will likely change in a year or less. Even if Google makes an effort, as some have suggested that they might, to not break standards or chooses not to push Blink specific features, web developers are still going to have to deal with yet another rendering engine. Sure we’ve already been dealing with a number of them and have gotten used to having to append our CSS with “–webkit” or “–moz”, but Google is not adding a “–blink”. Instead, developers will have to dig into a settings screen to enable or disable functionality. Bottom line there is that there will be Blink specific functionality that some developers will likely want to user; for example currently NACL only works on Chrome and Dart VM works best on Chrome – in other browsers code written in Dart has to translated into traditional JavaScript. There are also a number of rumors floating around that Blink may focus on optimizing HTML5 graphics performance on ARM devices.

 

The question really becomes not what Google is going to do with Blink but rather what are the rest of the Webkit team going to do without them? Google and Apple have been the driving forces around the project and more and more Google has been taking point on a lot of the more cutting edge issues; for example, Google has been pushing performance more than any other contributor to the project but, for the most part, Apple and others have been able to benefit from Google’s efforts thanks to the free software nature of the project’s license. Given Apple’s less than enthusiastic embrace of developers using web technologies to develop for their platforms, it seems unlikely that they would be inclined to match Google’s pace. In a lot of ways, give that Apple’s business model is to sell expensive hardware, a good browser is just another feature on an Apple device, however, for Google, the browser is the primary platform.

Progress is a good thing for web and I am confident that Google’s decisions will yield web developers some pretty cool tech to work with, but there is also the risk that web developers will start relying on those tools too much and we will end up back in an IE 6 / ActiveX situation. Questions? Comments? Dogmatic rage? Please feel free to contact me on Google+ or Twitter. This post was brought to you by Code Journal for Mac.

Whose Android is it Anyway?

imagesAndroid is now the majority smartphone OS in terms of market share and a significant portion of that Android market is owned by Samsung. What’s interesting is that Samsung is not just shipping Google’s Stock Android but rather is skinning it with its own custom UI. I am not a fan of third party skins on Android, but it seems a very large portion of the consumer base seems to be in love with their Samsung Android phones. It’s good to see a manufacturer doing so well with Android, but it is becoming hard to tell what the relationship of Samsung to Android is. We Google as the operating system vendor and a number of hardware vendors taking that software and selling it on their devices. In this simplified scenario, it sounds a lot like the Microsoft PC manufacturer system; where Microsoft licenses Windows to them (for a fee) and those vendors are allowed to ship Windows with (optionally) some of their own software installed but not real modifications to Windows itself. In the Android world, we have a slightly different story. Manufacturers take Android but also (can and often do) modifications to it before they bring it to market. The end result of this seems to be that a lot of  non-tech consumers are identifying with Samsung (or another hardware vendor) rather that the Android brand.

This seems a bit strange but also inevitable to me. That’s mostly because Google has dropped the ball on branding Android from day one. Sure the tech community is fully aware of Google’s relationship to Android, but the tech community is a relatively small community and (though I hate to say it) not terribly important outside a certain amount of developers the ecosystem needs to make apps. In the early days of Android, Google allowed Verizon to coop the Android brand with its “Droid” campaign. This was a terrible blunder. Anecdotally, I have had conversations with consumers that had seen the campaign but had no idea what Android is and that it was from Google. When you ask a “normal person” who makes Windows or Mac OS X, they pretty much all know.

The question becomes what influence if any does Google actually have over Android? Sure they have terms for using their foolishly named Play Store (notice that it is no longer branded “Android”) and Google Apps apps, but that feels like a wiffle ball bat rather than Louisville Slugger — most of those apps could be easily replaced if a large manufacturer (ie Samsung) wanted to. Beyond that Google can’t really do anything. Due to Android’s licensing terms Google is not in a great position for any sort negotiations.

It might sound silly now but there is a very real possibility that Android could live on with manufacturers’ support (again mainly Samsung) even without Google’s support. To me, this sounds like a very real possibility as Google seems to be favoring Chrome and web technologies over Android’s Java based technologies. None of this is really bad, but it just makes me wonder where Android would be had Google stuck to its guns regarding branding and maintaining control of the project and code; before all of you write in, yes I know attempting to lock up the code would have been legally difficult given the OSs license, but I do believe we would have a better operating system for it. Questions? Comments? Dogmatic rage? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, IN

Chrome > Android

chrome-iconAndy Rubin is no longer working on the Android project at Google but, at least for now, is still part of the organization — see his parting email here courtesy of the Wall Street Journal. The good news is that Sundar Pichai is going to be in charge of Android, but the bad news is that he is the head of Chrome / Chrome OS (referring to Chrome and Chrome OS by simply Chrome going forward) and the departments seem to be doing something of a merge; or at the very least the distinct positions of Android head and Chrome head have been merged into one. The question is what does this mean for Android and, more importantly, what does this mean for Android developers and Chrome developers?

First off, let’s face the hard truth about Android it. It is quickly spinning out of Google’s control; one one end Samsung basically has a monopoly on the high end Android device market and on the other there are tons of Asian manufacturers taking Android and slapping it on sub-par devices, further diluting the brand. Chrome, however, is 100% Google. Sure, there is the Chromium open-source project, but guess who sponsors and, for all intents and purposes, controls that? That’s right, Google. Open might be a great marketing term, but let’s be real, it’s a lot easier to monetize an operating system that you control.

Many of you may not necessary agree that Google would be interested in maintaining control of Android, but it is hard to argue that Chrome isn’t  more in line with Google’s goal of a web based world built in HTML and related technologies. It’s called synergy, baby! You don’t need an MBA to see that Android (aka glorified Java) is not exactly in line with an HTML future. If only Google had a web based operating system it could focus on…. As web development technologies continue to evolve and become more capable for developing full featured applications with rich experiences, Android will become increasingly less important to Google.

 

My guess is that the conversion will start slow. Perhaps Google will start to push Chrome apps for the Android version of Chrome. Maybe in a year, when those rumored Google stores start to show, we’ll see a Chrome for Mobile “developer phone.” Regardless of the conversion starts, my bet is that within the next five years Google will start publically pushing Chrome  as its next generation  operating system. In fact, I think it would move faster, and probably had plans to, but is being thwarted but regions with little or poor connectivity — this is a particular issue in large portions of the United States.

The good news is that, overall, developers stand to do well in this scenario. Android developers have little to fear from Google, since Android is largely beyond Google’s control at this point; if Google ever stopped supporting it, hardware manufacturers, chiefly Samsung, have enough riding on the OS to keep some sort maintenance and development effort going. Google’s focus on Chrome will be a boon for web developers. Sure there was WebOS, a good and severely underrated web focused mobile OS from HP, and there will be FireFox OS, but it’s going to take a bit of muscle that HP and Mozilla didn’t have, in the case of HP, and will never have, in the case of Mozilla.

Questions? Comments? Dogmatic rage? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, INC.

My Android Christmas Wish

Android developers will know that there are some serious issues of fragmentation on the platform. These issue have been well recorded and, at times, greatly exaggerated. The truth is that in the last year Google has taken great steps toward making the Android development experience more on par with iOS and it could be argued that developing for Android is now as enjoyable as developing for iOS. However, there is still one larger of weakness is the blessed Android development tool chain: a good GUI designer.

Let’s face it — there really aren’t any good GUI designers for relative layouts. Certainly, the one Android developers are provided in Eclipse is a far cry for Apple’s Interface Builder. To be fair, Interface Builder traditionally has not had to deal with relative layouts and there is an element of added complexity in dealing with them. Still, that doesn’t excuse Google’s lackluster tool.

Like many Android developers, I’ve taken to working almost exclusively with layouts by editing the actual XML code. There’s nothing wrong with this, but it can be somewhat tedious when developing a complicated layout, since you have to keep rebuilding your application as you make changes to the layout.

If Google could improve or replace the Android layout tooling, I am confident that we would see more complex and attractive user experience in our Android apps. So, what do you say, Google? Questions? Comments? Find me on Twitter and Google+. This post was brought to you by Code Journal and Fingertip Tech, INC.