Microsoft or Google’s Productivity Apps

My original post was going to be about the two different AI assistants that Microsoft and Google offer, Cortana and Google Assistant respectively. However while writing and reviewing the post the theme of productivity and how the two assistants are making life simpler kept appearing. So instead I discarded that post and started this one. I try to streamline and make my life easier by looking for ways to automate, digitally organise, and remove redundant or boring tasks while taking advantage of applications on both mobile and PC to keep everything together.

As someone with an Android phone and has/is still using Google’s products on a number of platforms it would make sense that I lean towards Google’s ecosystem and productivity apps. But, Microsoft’s own products are just as good (if not better IMO) than Google’s. Are there other productivity products out there that do the same job or better? There could be but I generally only like using first party products because I don’t like giving other applications access to my account information. If others have suggestions about other apps that are useful let me know in the comments and I’ll potentially take a look at them and break my rule.

Email

Be it personal or for work, I use email a good amount. On my Android phone I have disabled the Gmail app and have opted for the Outlook app. There are several reasons for this. Aesthetically the Gmail app is pleasing and the performance is great, you never see any slowness or lag. Outlook is not as visually pleasing and appears more formal but it too performs well with little to no lag or slowness. If you are on PC then you can use both Gmail and Outlook through your web browser of choice, and if you subscribe to Office 365 (like I do) you can get access to the Outlook application where you can have both your Gmail and Outlook accounts synced up. The features that you get with Outlook on their apps and the web are also far superior than what Google offers. Outlook can be far more complicated and daunting with all your options, etc while Gmail is more user friendly, streamlined but lacks the options that Outlook offers. Score one to Microsoft here with the number of email features on offer when using Outlook.

Calendar

This one is a no brainer. For some reason Google has a separate app for your calendar which is a little bit of a pain. But the calendar app they do have is like the Gmail app aesthetically pleasing. Not only does it look good but it also performs very well. However the major draw back is that it will only sync with your Gmail account (perhaps I have not found the right setting but I cannot sync other calendars to it). Microsoft’s Outlook app has an inbuilt calendar (yay, less apps) and it has all the features the Google Calendar app offers. On the PC you can again use a web browser to access both Google and Microsoft account calendars. The Outlook app to manage your calendar on PC is a power user’s dream. There are a number of features that are either really hard to find in Google Calendar or are not present. So again Microsoft takes the win here by making Outlook such a powerful app on both Android and PC.

Tasks, To-Dos, and Reminders

I decided to bundle tasks, to-dos and reminders together because I generally treat and use all three in a similar way. Microsoft allows you to handle these either through the dedicated To-Do app (would have loved to be able to do this through the Outlook app like everything else unless you use Outlook on PC) or the AI assistant Cortana, plus there is the Microsoft Launcher, but I won’t discuss the details about that app here. I just want to point out that aesthetically Microsoft’s apps on Android feel very corporate and formal, but the To-Do app feels very consumer friendly and welcoming like Google’s apps. Google handles tasks, to-dos and reminders in a much similar fashion. Google has Google Keep and a new Google Tasks app, plus there is the Google Assistant. I previously used Google Keep and it did the job really well, but after moving to Office 365 and Microsoft’s products I found that Google Keep was/is fairly basic. From what I have read about Google Tasks, that product is also basic and has only the very bare minimum features with more coming the future. If you want a number of features for your tasks, to-dos and reminders then Microsoft’s products are the way to go, but what Google offers do the job just fine.

AI Assistant

The AI assistant of choice really depends on which ecosystem you are using. If you are in the Google ecosystem using Gmail, Google Calendar, Google Tasks, Google Keep, etc. then the Google Assistant is the one you should be using IMO. If you use Outlook and To-Do then Cortana is the AI assistant you need to use. Google Assistant on Android is integrated so well it is really a shame that Cortana does not integrate as well. If I could identify one area where Google is leaps and bounds above Microsoft is the quality, performance and appearance of the app on Android. I believe Cortana does not look as good as Google Assistant and also is not as responsive. There have been graphical issues when I launch the app at times, there is the occasional lag, etc. However with every new update of Cortana on Android it gets better. Cortana on PC however does not have the same issues as it does on Android in regard to performance and appearance. Both AI  assistants perform very similar when I ask them questions in my day to day use so if you’re worried about not being able to answer or perform a task during day to day use then you shouldn’t. They have their own ways to perform the same task but it is just a matter of getting used to it. Google’s feels a little more natural than Microsoft, but it is not a major issue. If I had to lean one way, Google’s integration with all their platforms, products and services, aesthetics and performance makes this one a win for it.

Overall Google and Microsoft offer a number of products and services that can pretty much handle everything that you throw at them. Google’s products are simpler, easy to use and are very consumer friendly. They perform very well and visually are superior to the ones offered by Microsoft. Microsoft’s products feel more business, formal and professional oriented. The number of features that they have is also far superior to that of the features the Google products have. If you are a power user and really want to streamline, organise and stay on top of all your things then Microsoft has you covered. At the end of the day you cannot go wrong with either ecosystem and it is all about what you want out of your apps.

Moving to Visual Studio Code

I performed a clean install of Windows 10 on my Surface Book 2 recently and I have not installed my default go to Java IDE, which is IntelliJ. Instead I have now moved to using another tool, which I am finding is much more versatile and beneficial; Visual Studio Code. I have previously used Visual Studio Code but mainly as a way to edit my various data files such as XML, XAML, JSON, etc. and not any of my source code files like Java, C# or C++. I treated VS Code as a text editor only previously.

Visual Studio Code comes with a crazy amount of extensions which is great because that gives you options. To get started with Java, the extensions that I suggest you get is:

  • Java Extension Pack – this comes with all the necessary Java dependencies for Visual Studio Code such as proper language support for Java, Debugger for Java, Java Test Runner, Maven for Java.

On top of that extension you will need a JDK installed. If you want to know how to setup the environment for Java then have a look at the comprehensive page that Microsoft has created here. Microsoft also has a pretty sweet tutorial about how to build a Spring Boot application that can be found here.

One thing that IntelliJ made super simple was the compilation of Java code and managing all the dependencies, not to mention providing some really convenient debugging tools and project management. This makes it a really powerful development tool. When I was at university I primarily used a terminal or command console with a basic text editor for developing software, but as I moved towards writing commercial software for the company I work for I relied less and less on the terminal and command console and more on the IDE for the heavy lifting. Now that I use VS Code I am using the terminal and command console more again, and all of the necessary information such as the class path, dependencies, etc to ensure everything complies correctly is critical. Looking at this now, I really appreciate what the IDE does to simplify development process but realise how important it is to know the fundamentals.

I wrote about a similar scenario a month or so ago regarding Git (this can be found here) and how important it is to actually be really familiar with the Git commands through a terminal and/or command console because it is cross platform but it allows you to truly understand what is going on. Using a GUI is fine but all that does is issue the same commands you would use if you were using a terminal or command console. Using VS Code and the terminal to compile and execute my Java applications has allowed me to really appreciate what the IDE does to simplify the development process but also familiarise myself with the fundamentals and important concepts that can be carried between platforms.

 

Git. Command Line or Graphical User Interface?

I was doing some reading today about Git and whether software engineers (or anyone else for that matter) should learn to do all their changes, etc for Git using command line or a graphical user interface. It was an interesting piece and some valid points were made for both using a command line and/or a graphical user interface. Me personally, I use a graphical user interface because it is extremely easy, hooks directly to the Git commands (under the hood) and can give you a nice visual tree of what the repository looks like. For your information Sourcetree is the client I use. However the more programming and development I do, the more I appreciate and want to learn what, how and why.

Some of the reasons why using the command line approach is valid and well worth it include but not limited to:

  1. Platform Independence:
    • No matter what operating system you are on, the commands are universal. So if you can use the Git commands in a Linux environment, then you will have absolutely no problem whatsoever doing it on a Windows or MacOS machine.
    • Git clients like Sourcetree for example are not available on every platform, and I imagine the other Git clients are also not available on every platform.
  2. Understanding:
    • This fundamentally for me is important and I think should be high on everybody’s list when using something.
    • By using the command line you get a level of understanding of what exactly you are doing, whereas using a graphical user interface this level of understanding (well to me) is abstracted and partially lost.
    • It also comes back down to point 1. If you understand what you are doing then you can take it to any platform.

Now using a graphical user interface is not the end of the world. Sometimes you just want to get something done and using a terminal if you are not comfortable with it can be extremely daunting. I personally would never be caught dead (well right now anyway) resolving merge conflicts and looking at diffs using a command line, and rebasing using a graphical user interface is so much easier.

I did some quick Googling and found what I feel are two really good resources that help and ease you into using the command line for Git. There is Try Git and Learn Git Branching. There are probably more out there but those are the two that I felt provide a good starting point. If there are others out there that you use or feel that there is a resource that is definitely worth reading then please add a comment below (sharing is caring) 🙂

Kaspersky Anti-Virus + Microsoft Windows 10 + Microsoft Office 365 Issue

Recently I had updated three of my household’s Windows 10 machines (one Surface Book 2, one custom built gaming PC, and one ASUS laptop) to the latest stable/release version of Windows (Microsoft Windows April 2018 Update). Each of machines also have a copy of Microsoft Office 365 installed, along with the latest version of Kaspersky Anti-Virus.

What I have found after the Windows 10 April 2018 Update installation; Microsoft Office 365 fails to properly recognise that I have a registered version. I can still use the products in the suite such as Word, Excel and Outlook, but am given 3 days to rectify the problem before the product runs in a limited capacity. I have the correct account logged in, the credentials are correct, and if I try to register and authenticate via the Internet option (phone option is not available) it completely fails. Googling or Binging the error code that is produced does not show any resolution or worthwhile results.

Restarting the machine, restarting any of the Microsoft Office 365 products also does not seem to resolve the problem. Initially I thought that communication to the Microsoft servers was unavailable (sometimes servers go down), but trying to use the product at any time resulted in the register/authenticate prompt to appear on all the machines. So out of sheer desperation and curiosity I thought perhaps I should disable my anti-virus because sometimes they can cause problems with certain applications. Low and behold when I booted up any of the Microsoft Office 365 products the registration/authentication prompt no longer appeared. It appeared that Kaspersky Anti-Virus was blocking or limiting my ability to properly communicate with the Microsoft servers.

Now that Microsoft Office 365 could be restarted without the register/authenticate prompt appearing I decided to re-enable my Kaspersky Anti-Virus, restart my machine and launch the Microsoft Office 365 products. Still no more register/authenticate prompts; great news. Whatever happened between the Windows 10 April 2018 Update, Kaspersky Anti-Virus and Microsoft Office 365; it seemed like it invalidated my copy of Microsoft Office 365. If you encounter the same problem after updating your Windows 10 machine then try the following steps because they worked for me:

  1. Close any open Microsoft Office 365 product you have open.
  2. Disable any anti-virus that you have running (if possible).
  3. Open a Microsoft Office 365 product.
  4. Close the Microsoft Office 365 product.
  5. Turn on your anti-virus.
  6. Restart your Windows 10 machine (this is optional).
  7. Open a Microsoft Office 365 product (the register/authenticate pop up should no longer appear).

Hopefully the above steps helps to resolve your problem.

Another Android Messaging Play?

Poor Google.

If you have ever used Android, then you may be familiar with the various messaging and chat clients that Google has provided you throughout the years. There was Google Talk, Google Hangouts, Google Messenger, Google Allo, etc. Some of them no longer exist, some have been repurposed, some have been renamed and some have/had no support in a long time.

Now it appears that Google will be trying to unify and have one primary messaging and chat app for the Android OS with the backing of a number of telecommunication companies, mobile phone manufacturers and service providers. This is sorely what the Android platform really needs if it wants to catch up to Apple and the iMessage system that they have.

This information appears to have been broken exclusively by The Verge and propagated through other media outlets afterwards. When I watched their video and read the article I was excited, and still am. However I do have some reservations with what they are offering. Some of these are unfortunately unavoidable while others are concerns based on how Google likes to work.

What excites me:

  1. A single, unified, quality chat and messaging app:
    • I don’t need to have Allo, Messages, etc on my Android device. There is just one default app now called Chat.
  2. Support from a number of third parties:
    • From the telecommunication companies to the mobile phone manufacturers, it appears to be backed.
  3. Charged for data messages instead of SMS where possible:
    • Data messages cost me significantly less than a standard SMS. Anything to save some money is fantastic.

What concerns me:

  1. No end to end encryption:
    • With all the snooping, data gathering and harvesting, ensuring that your messages are readable by only the intended parties IMO is critical.
    • iMessage has the leg up here.
  2. Long term support from Google and third parties:
    • Will the third parties drop support soon after launching?
    • Google has a habit of:
      • Throwing stuff at the wall and seeing what sticks.
      • Constantly drop support for apps and services when they get bored and try to start again.
      • Not letting apps and services mature before they get cut or dropped.

Looking at the list of operators, Telstra appears to be on the list so that is good for me. HMD Global/Nokia appears to not be on that list, but that may change in the future as they seem to be going the route of pure stock Android. Having Microsoft onboard is also great because it could mean that a Windows 10 desktop client may also be in the works.

Messaging on Android may get a cleaner and uniform in 2018, but for how long?

Update: HMD Global/Nokia Missing Android Security Updates

Update 28/04/2018

Recently I was in contact with the HMD Global/Nokia support team and I had two very different experiences. The first support person I was in contact with I explained my situation and wanted to know why my Nokia 8 had not received the Android Oreo 8.1 update and the April 2018 security patch. They were extremely friendly and happy to assist. They tried a number of different methods to force the update and were not sure why some Nokia 8 devices received the update and others did not. I was told to contact the support team again later on in the week if the update had not arrived. My second support contact was no where near as friendly or helpful however.

Unlike the first support person I was in contact with, the second support person was hostile, rude and did not seem interested in helping me at all. As the first support person instructed me I let the second support person know what was happening and that I was told to ask for further assistance if the update had not arrived. This second support engineer did nothing or try to find answers to my problem. Instead all they kept responding with was to “just wait and the updates may come”. This right here is not really reassuring to a customer who just wants a little explanation as to why this is happening and to be so rude and completely unwilling to assist helps no one.

Yesterday I got a little notification on my phone that allowed me to update to Android Oreo 8.1 and also update to the March 2018 security patch (not the April 2018 security patch unfortunately). I will be closely monitoring the situation and if HMD Global/Nokia continue to delay patches to their Android smartphones then I may have to bite the bullet and buy a Pixel phone in 3 years time.

Original

I was really hoping that I would not have to write this post.

When I was looking for a brand new Android mobile phone, one of the requirements that I had was that the mobile phone would be supported by Google and the manufacturer for at least three years (two for the major Android OS and three for the Android security updates). The only manufacturer that I could find that met this requirement was HMD Global/Nokia (not including Google) and why I chose to pick up the Nokia 8. On the Nokia Android home page it clearly states:

Regular security updates and two years of OS upgrades…

If you navigate to the Nokia Smartphone Security Maintenance Release Summary page you can see that HMD Global/Nokia are pushing updates to various Nokia mobile phones (including the Nokia 8). However, not all models are receiving the updates. The security patch release information is done on a Device – Build_number basis it appears. My Nokia 8 has a Build_number ’00WW_4_390_SP02′, which unfortunately does not appear in both the March and April security patches.

When contacting the HMD Global/Nokia support team about this, they could not provide a valid reason why my Nokia 8 was not getting the security patches even though my device (not the build number though) was listed in the security patch release. Looking through the forums shows the same confusion and frustration from other customers. Some sort of answer would be greatly appreciated by HMD Global/Nokia.

Has HMD Global/Nokia gone back on their promise of regular security updates? I would say partially yes. They are updating some devices but leaving other devices based on build numbers it would seem. In saying that however how regular is regular? Is a monthly security patch regular? Is a two month or three month interval regular? Right now I wished that HMD Global/Nokia would have been more specific about the regular security updates. To their credit though, compared to Samsung, LG, HTC, etc. they are trying to ensure their devices are up to date.

Recently I came across an article on The Verge discussion manufacturers lying to customers about the security level on their Android devices. That is even more concerning. I would not want to “update” my mobile phone only to not be properly protected even though it appears that it is protected. Hopefully HMD Global/Nokia is not one of these companies.

Right now I am sitting and waiting for the latest security update for my Nokia 8. But if it never arrives then when it comes to buying a brand new mobile phone it may be time to switch to another manufacturer. Perhaps going back to the Google products (RIP Nexus line) and buy a Pixel mobile phone is the only option. Are Android security patches and OS updates worth the premium price of those Pixel phones? For me the answer is yes. I would happily pay more for a device that is supported and updated timely.

I will update this post if my Nokia 8 receives the April security patch, but will not be updating it after April as a two month gap between security patches is not regular IMO. Am I making too much of a fuss? Or should HMD Global/Nokia and other manufacturers take more responsibility and ensure that customers are protected while using their devices?

My Artificial Neural Network Application & Podcast

The last month my blog has been fairly quiet.

I have been a little busy working on my artificial neural network, practising BJJ and playing some video games; plus I was sick for a couple of days. Initially my plan (which I stuck to for an extended period) was to put out a blog post every one to two weeks. However coming up with meaningful content that often can be fairly difficult.

This month I plan on writing about my artificial neural network with some emphasis on how a multi-layer perceptron works and how my application works/be used. It can be viewed on my GitHub page.

The current state of my artificial neural network on GitHub is just the skeleton with the majority of the code still not pushed to the repository. As I start to push the meat of the artificial neural network components such as the feed-forward, backward propagation, etc I will be creating specific blog posts.

The podcast that I was working on has not turned out as expected so I am in the process of re-evaluating the tools and topics that I will cover. I still plan on creating a podcast and with the new Content Creator version of Skype it should make the process  much simpler.

Android and Split Screen

Recently I have been noticing that sometimes when I unlock my Nokia 8 which runs Android Oreo, I see that the split screen mode has been enabled/triggered. At first I was extremely confused as the device was supposed to be locked in my pocket, but yet the apps at times (mainly Spotify) would go into split screen mode.

Looking through all the settings I could not find a way to disable this split screen mode. Again I find that odd and slightly confusing because the new picture in picture mode can be turned off. So why did Google not provide a means to disable the split screen mode for the apps?

While doing some more reading I managed to find how potentially I was triggering the split screen mode in my pocket. The app switching button if it is held for a short period of time triggers the split screen mode. The 9to5Google Android N quick-tips: How to activate split-screen multitasking mode outlines the same method that I have detailed above how to trigger the split screen mode, but they list two other methods.

Perhaps Google when they finalise Android P they will offer a way to disable the split screen mode. If someone does know of a way to disable split screen mode then please do let me know because the only pieces of information that I could find on the Internet are articles about how to ensure your app handles split screen mode.

My New Sennheiser PXC 550 Wireless Over-Ear Headphones

For a little while now I have been looking at getting a new pair of over-ear headphones. The main reason why I would like a new pair of over-ear headphones is because my current Beats Solo on-ear headphones begun to fall apart. 2017 had not been a great year for me with respect to headphones. Early 2017 saw my microphone detach from my Turtle Beach X12 headset I use for my PC (luckily I could just force it back together and the wires were not broken), then sometime in the middle of 2017 my in-ear headphones broke and had to get a new pair (I bought some Sennheiser headphones), and then finally at the end of 2017 my on-ear Beats Solo headphones started to break down.

Before I purchase a product I do my research; so for a couple of months I was watching various YouTube videos that reviewed a number of over-ear headphones, both wireless and wired and read a number of different reviews covering the same over-ear headphones. Finally I settled on the Sennheiser PXC 550 wireless over-ear headphones. It was between those wireless over-ear headphones and the Bose Quiet Comfort 35 wireless over-ear headphones. My original plan was to buy a significantly cheaper pair of over-ear headphones but the price I saw these PXC 550 headphones was too good to pass up. The reasons why I picked up the Sennheiser PXC 550 wireless over-ear headphones were:

  1. Comfort:
    • The pair of headphones fit around my ears and the top of my head perfectly. The cans are shaped like human ears 🙂
    • The cans and band on top of my head did not press down or create a large amount of pressure on my head. Wearing these for an extended period would be easy and comfortable.
  2. Quality:
    • Unlike my Beats Solo headphones these headphones felt extremely well built, everything clicks, fits and moves with precision. Nothing felt misplaced or miss-aligned.
    • The materials used all feel like they are premium and nothing on the headphones feel cheap.
    • Audio produced from the headphones is great. I am not too fussed or picky as I am not really an audiophile but I can definitely tell when some headphones sound tinny, are too heavy or too weak in one area. These were perfect for me.
  3. Features:
    • NFC for quick and easy pairing.
    • Android application that gives you a number of handy details about the headphones status.
    • Touch controls. There are only really two buttons on the headphones. Nearly everything is controlled using touch controls on the right eat cup which is super handy so there is no clumsy guesses which button or control you are touching or fiddling with when you are wearing them.
    • Headphones turn on and off using an extremely intuitive and innovative technique. When you want to turn your headphones on, just put them in position to put them on your head and they turn on. Want to turn them off, position them so that they are ready to be packed up.

Unboxing my headphones revealed a zip-lock fabric case. The case is not hard, so it won’t protect the headphones from extreme pressure; but it also is not too soft such that it can be easily squashed. The case also has a small pouch section inside that can house your cables or other adapters. You get a micro USB charging cable (would have loved a USB C), a 3.5mm headphone cable, an aeroplane headphone connector and a larger connector for various mixer or audio devices. So right off the bat you are welcomed with a number of useful accessories, something that other products don’t provide, kudos Sennheiser. Pairing the device is super simple. I used NFC with my Android phone, but you can also pair using the standard Bluetooth method. Using the headphones is also super easy. The instructional booklet that is supplied details all the gestures that you will need to use and remember. To start and stop your audio, just tap the right ear cup. To turn the volume up just tap and move your finger up the right ear cup. To turn the volume down just tap and move your finger down the right ear cup. You get the picture. All the controls are tied to the right ear cup.

The microphone on the headphones is also pretty good (I have not tested the inline microphone on the 3.5mm detachable cable). After testing out the headphones with one of my favourite Spotify playlists I asked my brother to give me a call so I can test the quality of the call and if he can hear me clearly. It all checked out and he could hear me loud and clear with no issue and I could hear him just as clear. Now as these headphones are wireless the battery life is very important. Unfortunately the battery is non-removable, but these headphones are supposed to last at most 30 hours on a full charge and they take a full 3 hours to completely charge. From what I could tell, the Sennheiser PXC 550 headphones have the longest battery life for the price point. As with any new electronic device I get, I always recharge the device completely before using it and these headphones were no different. After several days wearing the headphones to/from work (I walk to/from the bus stop and catch the bus to/from work) and at work I have barely drained the battery life on these headphones. There is nothing more satisfying that putting on some noise cancelling headphones, picking up a couple of Jira issues and programming for an extended period. I plan on recharging them only when the battery reaches less than 10% so that I don’t have to worry about plugging them in every night or afternoon when I come back from work.

As of right now I cannot really fault these headphones. They were expensive but thanks to a 20% eBay discount I managed to snag them for ~$370 AUD. The headphones feel, sound and perform great. You get a number of accessories that you don’t get with other high end and similarly priced wireless headphones. A really worthwhile video to watch the shows off how good these headphones are and what features they have is The Best Wireless Headphones You Can Buy Right Now by Unbox Therapy, it was one of the videos that helped me decide that these were the ones to buy. If anyone has any questions about the headphones just leave a comment and I will try to answer it as best as I can.