Encrypting the Non-Encrypted Cloud Drive Services


In this article in my series of “Encrypt All The Things!”, I’ll show how to fully encrypt your files on popular cloud drive services that do not support zero knowledge encryption.  Such services that do NOT support zero knowledge encryption are:

  • Google Drive
  • Microsoft OneDrive
  • DropBox
  • Box.Net
  • Amazon Cloud Drive

That is obviously not a comprehensive list.  Some that DO support zero knowledge encryption:

  • Mega
  • Spider Oak

That is also not a comprehensive list.  The problem with Mega is that it’s closed source, so you can’t confirm that everything’s on the up and up.  In fact, Kim Dot Com, the creator of Mega, was/is wanted by the United States government for hosting pirated material.  That’s why he created Mega, so he’d have zero ability to decrypt the data, which was a great big middle finger to the U.S. government.  He’s since left the company and now claims it can’t be trusted, but we don’t know if that’s just sour grapes from him, or if there’s a legitimate reason for him to say that.  At any rate, it’s closed source, so there’s no way to confirm.

Spider Oak is also closed source AND it costs money.  It’s not a free service.

But, there are plenty of free cloud drive services (listed above at the top of this article), but none of them support zero knowledge encryption.  But, there’s now a fairly easy way to encrypt those.

Download and install the free, open source software called Cryptomator.  You can get it here:


As of this writing, they only have a Linux, Windows, and Mac version, but they are actively working on Android and iOS versions.

How it works

Once you install CryptoMator on your PC, you configure it to access each of your cloud drive services.  At the time of this writing, Cryptomator supports 4 of the popular cloud drive services.

  • Google Drive
  • Microsoft OneDrive
  • DropBox
  • (I can’t find information on the 4th one)

But, it should work with any cloud drive as long as you have a synced folder on your PC to that cloud drive service.  It doesn’t have to directly support your cloud drive service AS LONG AS your cloud drive software provides a local sync folder that other apps on your PC can access.

Below, I give general instructions.  The exact steps are clearly outlined in the CryptoMator documentation.  This will give you the basic idea of what you’re trying to accomplish…

Once installed, you add a “vault” to Cryptomator, create a password, and point CryptoMator to your local sync folder.  It will then create a virtual drive (using an unused drive letter) and store some encrypted files in your local sync folder.

Now, with your new drive letter, just put any files you want encrypted into there and NOT directly in your local sync folder.  If you put anything directly in your local sync folder IT WILL NOT BE ENCRYPTED!!!!  If you put files in your virtual drive that CrytpMator created for you and gave it a drive they, those files will appear as unencrypted to you as long as you have the “vault” unlocked with CryptoMator.  The actual encrypted bytes of the files are stored in the local sync folder associated with your cloud drive service.  If you open the sync folder, you’ll see meaningless file names and meaningless folder names with encrypted files in them.  That’s the encrypted data.  To have an unencrypted window into that encrypted data, simply open the new drive letter that CryptoMator created for you when you unlocked the vault with your password.

Since the encrypted bits are stored in your sync folder, they get synchronized with your cloud server and it’s those encrypted bits that are stored on the cloud drive servers.

Once you get that working, it’s a good idea to drag and drop all your previously existing NON ENCRYPTED files and folders from your local sync folder into your vault virtual drive.  Once you’ve confirmed they’re in the vault, BACK UP YOUR FILES, then you can safely delete them from your sync folder, which will delete the unencrypted files from your remote cloud drive, leaving only the encrypted bits.  Cryptomator will automatically encrypt them and store the encrypted bits back into your local sync folder, which your cloud drive software will then upload to your cloud drive service.


  • Errors with large folders: I have about 64GB in my Microsoft One Drive.  When I tried moving my camera roll folder into my Cryptomator virtual drive associated with OneDrive, it kept failing.  I presume it wasn’t designed for folders with that many files or that many bytes.  After many days of effort, I finally did get it working.  I do not know if it was a OneDrive problem or a Cryptomator problem.  I had no issues encrypting my Google Drive nor my DropBox, but neither of them had as much data.
  • No Mobile (yet): Right now, there’s no mobile access to your encrypted data.  They’re actively working on both Android and iOS apps, so that may change by the time you see this.
  • No browser access: Since the web interfaces of these cloud services simply show you the files as they are on their services, after you encrypt your files and folders, when viewing them with a web browser on those services, you’ll only see the encrypted data.  This makes sense because the cloud drive services are unaware of the encryption switch-aroo you’ve done.  Don’t expect this to change.
  • Your Key: With zero knowledge encryption, you keep your key locally, but Cryptomator stores your key ON your remote cloud drive.  Don’t fret too much though.  It’s encrypted with your password that you made when you created your vault.  Technically, your password is your key.  In my judgment, it’s fairly safe.  Though, I wouldn’t be storing my archives of my classified State Department e-mail on any of these public cloud drives, even with Cryptomator. Winking smile
  • Meta data: The contents of your files are encrypted as well as the file and folder names, but the timestamps are NOT encrypted and neither are the number of files, the number of folders, nor the sizes of the files.  The timestamps are left as is in order for your cloud drive software (OneDrive, Google Drive, DropBox, etc…) to know when things have changed so it can sync properly.  The file sizes are a result of how many bytes you’re encrypting.  The number of encrypted files will be roughly equal to the number of files as they were before they were encrypted (but the contents will be fully encrypted).  This too is a side effect of how the syncing works.
  • Mobile still unencrypted: You should probably turn off or uninstall the cloud drive software on your mobile devices because you won’t be able to see anything but encrypted data.  Also, any files you have locally on your mobile device that you have set to sync will be uploaded UNENCRYPTED.  Then you’ll have a mix of both encrypted and unencrypted files on your cloud drive.  Remember, CryptoMator is actively working on Android and iOS apps.  When they’re available, you can install those and follow Cryptomator’s recommendations on what to do with your cloud drive provider software.

Use this information about the caveats

Thank you for sharing this article.  See this image?


You’ll find actual working versions of them at the top and bottom of this article. Please click the appropriate buttons in it to let your friends know about this article.

Mobile: Encrypting All Internet Traffic

This is one of many articles in a series I’m writing to cover end-to-end encryption for everything…

Encrypt All The Things! [A Guide]

you do in your digital life.  I’ll cover encrypting specific types of …internet traffic (like E-Mail, Web sites, etc…) in other articles.

For a primer on encryption, please read my article “Understanding Encryption”…

Understanding Encryption

…as it teaches VERY IMPORTANT concepts that you need to know before moving forward here.

This works for rooted AND unrooted phones.

Big Disclaimer

Before going any further, let’s make one thing perfectly clear on THIS particular encryption.  This does NOT make all your internet traffic encrypted from your phone all the way to the final destination!

So… What does it do then?

This will encrypt your connection from your phone through and past your ISP.  It protects you from your ISP and anyone snooping on  your local end of the network.  This is great for when you need to use public wifi.  Scammers running a free wifi node will NOT be able to see your data NOR will they know where on the internet you’re going.

So… What does it NOT do?

Excellent question!  Let’s say you’re browsing a website that’s NOT encrypted (like this page you’re on right now)… Under normal circumstances, anyone snooping your network traffic ANYWHERE on the internet… from your local connection all the way to the connection on my end at my website, can see:

  • Your IP address.
  • The URL you’re wanting to visit.
  • Anything you type on my search page.
  • The contents of the pages my website sends back to you.
  • In short, everything is visible and in the clear.

Using the techniques in this article, you’ll be on an encrypted connection from your phone, through and past your ISP to some random computer on the TOR network, to a couple MORE computers on the TOR network, till your connection finally exits the TOR network and gets back on the regular internet, possibly in another country.  From THERE, your connection from THAT computer to my website is entirely unencrypted.

So… Why use TOR then?

To hide your network activity from your ISP, your cell phone provider network, your employer’s wifi, your local government(s) (including the NSA and GCHQ (the British NSA)), and anyone else snooping on the network near your end of the connection.  It will also hide your IP address from the websites you’re visiting.  You can make yourself appear to be in just about any country you choose.

Will this guarantee no one can see what I’m doing online?

LOL!  You’re cute when you’re innocent.  Of course not.  NOTHING is 100% safe on the internet, but it’s pretty darn strong protection and causes even the NSA headaches.  Someone with lots of resources would have to be specifically targeting you and it would be very difficult for them, even then.  You’re reasonably safe even against the NSA, but not totally.

What does it encrypt?

Note that this is a method to obfuscate ALL your internet traffic from your Android device, not just web browsing, but everything, including traffic to and from the Google Play Store, Google searches, game communication.  Again, it will NOT encrypt an unencypted connection.  It will encrypt all steps of the connection up to the exit node (see “How does it work?” below).

How does it work?

There are thousands of computers all around the world volunteering to be part of the TOR (The Onion Router) network.  When you connect to the TOR network, you’re randomly choosing an entry node computer somewhere in the world.  That computer then forwards your traffic to another, randomly chosen computer somewhere else in the world, which then forwards you to yet another computer on TOR somewhere else in the world, which then forwards you to a randomly selected TOR “exit node” computer… a computer on TOR whose purpose is to act as a fake YOU to the sites you visit.  It’s THAT computer’s IP address that your sites will see.

All traffic between you and all the TOR computers that your traffic passes through is encrypted.  The TOR computers do not know of your entire connection path through all the TOR computers you’re connecting through.  ONLY your own device knows that.  This is to prevent malicious adversaries from trying to reverse trace where you are.

Doesn’t this slow my connection down?

You betcha!  Yes.  Yes it does.  You do NOT want to do this for a first person shooter game.  YOU WILL LOSE!

Step by step instructions (FINALLY!)

If you’re device is NOT rooted, you’re going to change your Proxy address to “localhost” and your port to 8118 after you download and install Orbot. Below the installation steps are steps on doing that below:

  1. Download the app “Orbot” from the Google Play store.Screenshot_20160404-165041
  2. Optionally, you may want to ALSO install “Orfox”, a browser made to work on the TOR network.  It’s a modified version of the FireFox browser.  It works in tandem with Orbot.  But any browser will work.
    1. Screenshot_20160404-165051
  3. Launch the Orbot app.
    1. Screenshot_20160404-165126
  4. Long press on the screen to start Orbot.
    1. Screenshot_20160404-165118
  5. If you want to appear to be from a specific country, tap the drop down control in the bottom right of the screen and choose your desired country.
    1. Screenshot_20160404-165145
  6. If your device is rooted, skip the following steps about configuring your wifi connection and go directly to step #11.
  7. If your device is NOT rooted, it requires a little more work.  Steps 7-9 will need to be completed every time you connect to TOR.  Go to Settings->Wifi and long press on your wifi connection that you’re connected to and select “Manage network settings”.Screenshot_20160404-165310 BLURRED
  8. Now check the box “Show advanced options”
    1. Screenshot_20160404-165317 BLURRED
  9. Change your Proxy to “Manual”.
    1. Screenshot_20160404-165332 BLURRED
  10. Change your Proxy Host Name to localhost and your Proxy port to 8118 and tap “SAVE”.
    1. Screenshot_20160404-165404 BLURRED
  11. If everything worked (and it doesn’t always), you should have a secure connection on the TOR network now.  Open OrBot and click the “Browser” button on the lower left.Screenshot_20160404-165118
  12. If you have OrFox installed, it should open OrFox and load a page that tests.  It will tell you if you’re on a safe Tor connection.  If you don’t have OrFox installed, it’ll launch your default browser and do the same thing.  Here are 2 screenshots, one of OrFox and one of Chrome:


If it didn’t work, you’ll see a page like this:

Screenshot_20160404-165246 BLURRED

If you see the “sorry” page, launch Orbot, then open its menu and choose “Exit”, then go to step #3 and try again.  There’s no guarantee that this will work all the time.  Some days it works.  Some days it doesn’t.


How to end TOR and go back to NORMAL networking

  1. Open the Orbot app, long press, and Orbot will end the TOR connection.  The onion icon will become gray.
  2. Open the menu in the Orbot app and choose “Exit”.
  3. Fix your wifi proxy back… Settings->Wifi.
  4. Long press your wifi network and choose “Manage network settings.
  5. Click the check box “Show advanced options”.
  6. Change “Proxy” back to “None”.
  7. Tap save.

You should now have a normal network connection again.  As a last resort, simply reboot your device if networking fails to restore to normal.

Thank you for sharing this article.  See this image?


You’ll find actual working versions of them at the top and bottom of this article. Please click the appropriate buttons in it to let your friends know about this article.

Hangouts: “photo sharing is not available because of your administrator settings”

If you get the error “photo sharing is not available because of your administrator settings” in Google Hangouts (iPhone, Android, or any other platform) when you’re trying to send a picture (either by taking a photo within hangouts or just selecting an existing picture on your device), here’s what’s up with that and how to fix it…

Why you’re getting this:

You’re probably using an e-mail address that’s NOT @gmail.com.  You’re using Google custom domains (or whoever assigned you your account is using it) or Google domains for business or education.  Your account does NOT have “Google Photos” enabled.

Samsung Galaxy Phones on Amazon.com
Samsung Galaxy Phones on Amazon.com

How to fix it:

If you’re NOT the administrator for the domain, then contact your domain administrator (the person that set up your account) and have them follow the following instructions:

If you ARE an administrator…

  1. Log into your domain control panel and click on “User”.image
  2. Click on the appropriate user account.
  3. Click on “Google Apps enabled”image
  4. Scroll down to “Show more” and click it.
  5. Then click “Additional Google services enabled”
  6. Scroll down and click on “Google Photos”.  It’s probably “off”.  Turn it on.
  7. image

Now the user should immediately be able to send images from within hangouts.

Thank you for sharing this article.  See this image?


You’ll find actual working versions of them at the top and bottom of this article. Please click the appropriate buttons in it to let your friends know about this article.

Slow Motion Galaxy S7 Video Tests

I bought a Samsung Galaxy S7 on March 11, 2016 (well, actually TWO of them) and have been testing the features.  Now, this slow motion video is not a new feature.  In fact, I’ve had it on my prior phone, a Samsung Galaxy S4 for almost 3 years, but I’ve had Cyanogenmod installed on it for the the last 2 and a half years, so I’ve been missing this feature.

Details of Slo-Mo

The Galaxy S line of phones since the S4 have had a camera feature where the camera can record video at 240 fps (frames per second) at 1280×720 resolution.

Enough already, let’s see some slo-mo video!

Fine!  Here you go!  This first one is a water bottle connected to a SodaStream, being carbonated.

Next is video of spraying water on the headlight of my car.   I have this uploaded to YouTube, but because of the extreme detail of the thousands of water droplets, YouTube’s video compression really destroys it, so I’m providing it as a downloadable MP4 file instead (46MB).


If you want to see the butchered YouTube version, here it is:

Thank you for sharing this article.  See this image?


You’ll find actual working versions of them at the top and bottom of this article. Please click the appropriate buttons in it to let your friends know about this article.

Reasons To Root Your Android Device


I frequently see posts where people are asking for the benefits of rooting an Android phone or tablet.  So, instead of rethinking and rewriting the list every time, I’m just going to link them to this pre-existing list.

The List

    1. Get rid of bloatware.
    2. Increase security & privacy.
    3. Integrate Google Voice into the OS (depends on which firmware “ROM” you get).
    4. XPosed with tons of modules for enhanced capabilities.
    5. FolderMount to move ANY app to SD (better than app2SD)… ALWAYS works!
    6. Become a wifi hotspot without paying your carrier DOUBLE for the same internet.
    7. Share internet via cable without paying your carrier DOUBLE for the same internet.
    8. Granular (per permission, per app) security for all apps.
    9. Increased storage space due to removed bloatware.
    10. Backing up all apps.
    11. Keeping multiple versions of backed up apps (Titanium Backup) so you can roll back to an older version when an update totally hoses needed functionality or adds in app advertisements.
    12. Block phone calls and texts from specific numbers (at the OS level).
    13. NANDROID backups (entire, bit-for-bit copy of your entire setup).

All the items above, explained

    1. Get rid of bloatware.
      1. Bloatware is software pre-installed by the manufacturer and carrier that you are not allowed to uninstall.  It’s usually crap that you’ll never use and uses up your valuable storage space that you could be using for your own stuff.
    2. Increase security & privacy.
      1. Contrary to popular opinion, rooting your phone does not automatically reduce your security.  In fact, you can add powerful security control that you will never have with an unrooted deviced.
    3. Integrate Google Voice into the OS (depends on which firmware “ROM” you get).
      1. I don’t keep up with every feature of every alternative firmware (also, mistakenly called “ROMs”), but I do know that Cyanogenmod has Google Voice support integrated into the OS (they call it “Voice+”).  If you have an expensive texting plan, you can cancel it and use your free Google Voice # for texting.  The unrooted downside is you can only use Google Hangouts or the old Google Voice app to send or receive texts.  If you want to use another texting app, like Chomp, Textra, or any of the others, you’re S.O.L.  But with Cyanogenmod, you can connect Voice+ (a feature in the OS settings) to your Google Voice account and suddenly all texting apps can send and receive texts with Google Voice.
    4. XPosed with tons of modules for enhanced capabilities.
      1. XPosed is an app for rooted Android devices and it has many “modules” that you can download for great features like giving you the ability to disable any permission you want from any app.  So if a game wants your contacts, you can block it.  That’s just one of hundreds of things you can do with XPosed.
    5. FolderMount to move ANY app to SD (better than app2SD)… ALWAYS works!
      1. FolderMount is not a feature, a concept, or an OS Setting.  It’s simply an app available in the PlayStore that let’s you move an apps program folder and/or data folder to your larger SD storage (internal or external) and it tricks the app into thinking it’s still in the original location, so the app continues to work.  All other apps that move apps to SD cards fail with some apps because they don’t trick the apps into thinking they’re still in their original location.
      2. Moving your apps to SD frees up your internal storage for more apps so you don’t have to pick and choose which apps to uninstall when you want to install a new one because you’re just out of space.
    6. Become a wifi hotspot without paying your carrier DOUBLE for the same internet.
      1. Many phones have this feature disabled by the carriers because they don’t want you having this ability.  Other carriers provide their own version of this on your phone, but when you use it, it notifies the carrier that you’re doing it and the carrier charges you extra money.  It’s really none of their damned business.  You’re already paying for the internet access and the bandwidth.  With a rooted phone, you can turn your phone into a wifi hotspot and it won’t freaking send a pointless message back to the carrier to say, HEY!  This user is using what he’s already paid for!  Let’s double-charge him!
    7. Share internet via cable without paying your carrier DOUBLE for the same internet.
      1. Similar to making your phone a wifi hotspot, you can plug a cable between your phone and a laptop or PC and let it connect to the internet through your phone.
    8. Granular (per permission, per app) security for all apps.
      1. Every app you install has a FIXED set of permissions.  When you install the app, you’re presented with the list.  You can either accept ALL those permission or NONE of them (by not installing the app).  With a rooted phone, you can install an app, then go and turn OFF individual permissions you don’t want the app to have.  (This increases your security and privacy by light years!)
    9. Increased storage space due to removed bloatware.
      1. This one is self-explanatory.
    10. Backing up all apps.
      1. You can back up your installed apps and their data, then restore them later.  This is ridiculously useful.
    11. Keeping multiple versions of backed up apps.
      1. (Titanium Backup) so you can roll back to an older version when an update totally hoses needed functionality or adds in app advertisements.  So, so, so, sooooooooo useful!
    12. Block phone calls and texts from specific numbers (at the OS level).
      1. Got one too many calls from “Rachel, from ‘Card Services’?”  Add the incoming phone number to your block list.  This is NOT an app.  It’s a feature of the OS (depending on whether you install a firmware that has it).  The phone never rings or wakes up… it’s just totally blocked and ignored.
    13. NANDROID backups (entire, bit-for-bit copy of your entire setup).
      1. You can make an exact copy of your phone, as-is.  Then restore it later, EXACTLY is it is at the moment you make your backup.  This is good for many things, including making a backup before you start experimenting with changes.  Screw it up?  Just restore from your backup.

Can you think of any other benefits of rooting your Android device?  Share them with us in the comments below.

Thank you for sharing this article.  See this image?


You’ll find actual working versions of them at the top and bottom of this article. Please click the appropriate buttons in it to let your friends know about this article.

Encrypt All The Things! [A Guide]

So, Microsoft Windows 10 sends your private data to Microsoft (E-Mail and private files in private folders (read the EULA if you don’t believe me), your employer is snooping on your web traffic at work, local hackers are packet sniffing your web traffic at the coffee shop, your neighbors are hacking your home wi-fi, cloud providers have access to your files, thiefs have access to everything on your laptop or phone when you lose them in public, and don’t even get me started on the NSA and all the things THEY have access to (hint:  It’s everything, including your phone calls), not to mention your ISPs and rogue, tin-pot tyrannical dictatorship governments around the world.

You want your data to stay out of their hands and eyes?  Then you’d better put on your foil hat, pull up a chair, and pay attention to this how-to on encrypting all your data and all your communications (including phone calls!) and some best practices thrown in for good measure.

From a high level, here are the things we’ll be encrypting.  I’ll break them up into separate articles, because it would be quite a lot to take in all at once.  I’ll be writing these articles over the next couple of weeks, so check back here to see this topic list change from black text to hot links to the published articles.

Thank you for sharing this article.  See this image?


You’ll find actual working versions of them at the top and bottom of this article. Please click the appropriate buttons in it to let your friends know about this article.

Extending Xamarin Forms


This is Keith’s second part to his earlier session on Introduction to XAML Forms.

Below are my in-session notes:

  • JetBrains dotPeek is a Windows app to help with XAML.  Extremely valuable according to Keith.
  • Demo was in Xamarin Studio (on Mac).  A little more stable than Visual Studio 2015 right now.
  • When starting new project, you have check boxes for target platforms (iOS & Android).
  • UITests projected created for you, by default.
  • Be sure to get latest packages because they’re updated frequently.
  • Creating a new XAML form creates a XAML file and a C# code behind file.
  • Inside XAML <ContentPage>, type in your new controls.
  • He created an Audio Recorder class to record some audio.
  • He’ll be targeting iPhone for this demo.
  • Data binding with BindableProperty type:
    • public static BindableProperty fileNMeProperty = BindableProperty.Create(“FileName”, typeof(string));
    • public string FileName{ get{ return (string)this.GetValue(FileNameProperty);} set{this.SetValue(FileNameProperty, value);}
  • MessagingCenter class lets you communicate between the layers (I presume he means between the code behind layer and the XAML layer).
  • C# code that’s native to the target platform is auto-generated (I think).
  • He built and deployed his demo to his iPhone and recorded his voice.  We didn’t hear the playback, but he swears it played back.  Don’t worry, we trust you Keith. 🙂
  • He created a “renderer” for a platform specific feature (>> on list items on iOS).  It will not fail on other platforms, it just won’t show it.

Introduction to Xamarin

CodeStock 2015 is the biggest CodeStock, by almost double this years hosted at the Knoxville World’s Fair park Convention Center.  It’s our first year having it at this convention center.  Below are my notes on the intro to Xamarin Forms session.

Xamarin is a cross platform development tool to let you write mobile apps once and deploy to Android, iOS, or Windows Phone.  It’s not from Microsoft, but it’s a .Net platform that allows you to write  your code in C# (and now supports F#).  Below are my in-session notes.



  • Xamarin FORMS adds shared UI Code (this is new) – No more platform specific.
  • Xamerin has been around since 2000, so not a new or fly by night company.
  • They negotiate on pricing.
  • You have to pay TWICE if you want BOTH iOS And Android. UGH!
  • Xamerin forms is only for Enterprise. DOUBLE UGH!
  • Mac is required for iOS. TRIPPLE UGH!
  • Cloud testing available
    • Automatically test your app on hundreds of mobile devices. Select what to test on. They have a room in Europ filled with hundreds of phones and tablets.
    • Captures screen shots, etc…
  • Xamarin University – $1,995 per developer – Instructor live training. Free for a month right now – but there’s a catch. Only 2 of the courses are available
    • intro – what we’re about
    • and very first one (how to use it)
  • Paid gives you 3 months access to business tier – because you need it to go through the training.
  • Not only can you use C#, but you can also use F#.
  • You HAVE to know the specifics of each platform (iOS & Android)
  • Tools
    • Xamarin Studio (PC or Mac)
    • Visual Studio plugin for VS 2010 and higher (requires biz or enterprise or starter, just not indie)
  • If you want to build for Windows Phone, you have to have Visual Studio.
  • Xamarin Studio doesn’t support iOS
  • VS supports both iOS and Android
  • Xamarin Android Player (emulator) faster than Google’s. Runs on Windows & OSX
  • They have a few images (Lollipop image is available)
  • Doesn’t work well with Windows Phone emulator.
  • Xamarin supports Android Wear, Apple Watch, & Microsoft Band
  • about 90% of code can be shared across platforms
  • PCL = Portable Class Libraries used for the “core” code in multi-platform applications.
  • About 80% of a Xamarin Forms app will be located here.
  • Rosylin compiler already supported in Xamarin.
  • Xamarin Forms
    • Xamarin UI controls are an abstraction above each platform’s native controls, but compile down to platform specific controls. Provides a native experience on each platform.
    • Layouts are common screen layouts that you can choose from.
    • Yes, you can nest layouts in them.
    • Forms made with XAML. — MVVM as a result.
    • Can also do it with code.
    • Extensibility
      • Can embed custom views anywhere.
      • Call platform APIs via shared services.
      • You can go full native API if you want (kind of defeats the purpose of using Xamarin though)
  • Custom Renderers
    • You can override a renderer for a specific platform.
  • Xamarin Forms
    • Reflection will be a problem on iOS because there’s no runtime on iOS.
    • App Quality control
    • Xamarin Insights
      • Real time monitoring, track crashes, know of user problems before they report, get user’s e-mail address, etc…


Cyanogenmod 12 Lollipop initial review


I just installed CM12 last night on my T-Mobile Samsung Galaxy S4.  Here are my thoughts and experiences so far.  Keep in mind, this is only after a few hours of use.  Also, I’m commenting on both Cyanogenmod 12 and Lollipop.


The Good

  • Battery performance seems to be better.  The jury is still out, but so far, it seems like it’s taking longer for it to drain.
  • New stuff… Just… It’s new, and that gets my jollies.
  • Multiple users – You can now have multiple user accounts, just like on Windows.
  • Super SU is no longer needed.  That functionality is now built in (Settings/Developer Options/Root Access
  • More settings options
  • Uses the more efficient and faster DART instead of the old DALVIK.
  • Lock screen can be set to randomly change where the numbers are on the number pad when you enter your PIN.  This prevents people from determining what your PIN is by looking at smudges on your screen (this is a REALISTIC hacking method that actually works… well, it DID until now).
  • Battery screen shows how much estimated time you have remaining and when charging, tells you estimated time to a full charge.

The Bad

  • Gallery app is gone
  • XPosed framework doesn’t work (that’s not CM’s fault… but still, it’s worth noting because that is so very important to many of us).
  • FolderMount doesn’t work.  Again, not CM’s fault, but holy cow!  A power user can’t really use a 16GB phone without it + an external SD card.
  • Bright backgrounds everywhere cause unnecessary drain on the battery on screen types that are more efficient with fewer white pixels.
  • Bright backgrounds hurt my eyes when I wake up and use my phone or have been in a dark room for a while, like watching TV at night.
  • Lots of things still don’t work on Lollipop that did on Kit-Kat.  Again, not the fault of CM… just an issue you have to consider before upgrading.
  • On the battery screen, the most used item is “Miscellaneous”, which doesn’t help me diagnose what’s using the most battery.
  • Lots of apps crashing… many are Google apps.  And yes!  I did, in fact, flash the latest GAPPS for Lollipop!

The Ugly

This is all opinion, of course, so like or dislike whatever you like or dislike.  Don’t get mad… Seriously!  Don’t get mad!  Here are the things I dislike, visually.

  • Flat… flatness EVERYWHERE!  I know!  The people that LIKE it are VERY VERY VERY vocal about it, so much so that people that do NOT like it feel intimidated to mention that they don’t care for the latest craze in flatness that’s not really new anymore.
  • More white backgrounds… Looking more and more like that other phone platform.  I personally prefer dark backgrounds on most things on my phone for aesthetics, less strain on my eyes, and improved battery performance.
  • When I tap a link to bring up a web page, it prompts me for which browser I want to use, which is fine, but that prompt MUST be broken, because it just looks so wrong.  It’s not a card, like most things on Lollipop.  It’s not a popup window.  It’s a half-window that appears to have failed to scroll up all the way.  The 3rd option in the list is only halfway drawn and is cut off at the bottom of the screen.  This is one of the ugliest UI design element I’ve ever seen.  I’m going to give the benefit of the doubt and call this a bug.  [Update: A reader pointed out that this must be a bug since this doesn’t happen on their CM12 install on their phone]
  • image


My overall impression?

While there are many improvements, the things lacking and the crashing, I’ve already decided I need to go back to CM11 KitKat until Xposed framework and FolderMount are working again and fewer things are crashing.

CM12 is still in nightly builds and has not yet released a stable build, so some bugs and missing features are to be expected and CM12 was only made available for my particular phone in the last few days, so it’s still hot off the alpha press, so to speak.

I shouldn’t have to say this, because it’s so abundantly, blatantly obvious, but…

Your mileage may vary depending on how you use your device and which device you have.  Not everyone uses their phone the same way and not everyone has the SAME phone and not everyone uses the SAME APPS.  So, if it works for you, and my overall impression gets you mad… CHILL!  It’s just an OS, dude!  Smile

See these images?


You’ll find actual working versions of them at the top and bottom of this article. Please click the appropriate buttons in it to let your friends know about this article.

Check back later for updates too!

Is Samsung really cloning all the Google Apps?

Last year, there was an image floating around the net, supposedly showing all the cloned apps that Samsung has made of the Google apps.  Today, there’s an updated one for 2014 with even MORE apps in it.  The claim is that Samsung is cloning existing Google apps and making their own.  Then the people passing this around are espousing some kind of evil intent on the part of Samsung.


Let’s examine each one.  First, here’s a listing of all the apps in the popular meme going around:


Now, on each line, let’s highlight which app came out first in green… the Samsung app or the Google app:


As you can see, the vast majority of these apps came from Samsung first, NOT Google!  So, now that you know that, you can help the proliferation of the actual truth by:

  1. Not spreading the false information.
  2. Correcting people when THEY spread the false information.

Additionally, not all of these apps are direct comparisons and in many of them, the Samsung version has minor or major advantages.

Some apps that need special mention…


Camera vs. Camera

The Samsung camera app was not only out YEARS before the Google camera was released to the play store for all phones, but the Samsung camera is actually quite good.  In fact, it’s superior to the Google camera app in functionality.  It was won much praise.  Now, it’s not better on ALL accounts, but it WAS first.  The Google camera has the much coveted PhotoSphere feature though.

Chrome vs. “Internet”

Chrome was only recently released.  Before that, Samsung HAD to provide a browser and they could NOT provide Chrome… because it didn’t exist!  Also, Samsung’s browser has a few features that Chrome doesn’t like the ability to scroll pages by simply nodding your head without touching the screen.

Chromecast vs. Samsung Link

Again, Samsung Link was out YEARS before Chromecast.  Additionally, the two are not directly comparable.  Chromecast is intended for use with additional hardware.  Samsung Link was designed to communicate with multiple devices.

Google “Device Policy” vs. Samsung “Knox”

Aside from being first (not a clone), Samsung Knox and Google “Device Policy” are not exactly the same thing, though there IS some overlap.  Samsung Knox has two primary features:

  1. Divide the user’s phone into two, untouching environments (work vs. personal) so apps and settings in one don’t affect the other.
  2. Provide very strong security to give Samsung devices the OK from corporate I.T. departments, giving them the ability to control the “work” side of the user’s phone without interfering with the user’s personal side.

Google’s “Google Apps Device Policy” is intended for admins and users of Google Apps.  It does not divide a phone into a work area and a personal area AND it arrived AFTER Samsung Knox.

NOTE:  Android L will be incorporating Samsung’s Knox security.  Not only did Samsung NOT copy Google, not only was Samsung FIRST, but Google is now taking actual parts of Samsung Knox and embedding it into the base Android OS.

GMail vs. Samsung “EMail”

Yet again, Samsung was first with their EMail client (as was every other Android device maker).  GMail is a relatively newcomer to the Android E-Mail client scene.

Also, the GMail app works ONLY with GMail.  It does NOT work with any other E-Mail service.  Samsung’s E-Mail app is a general purpose E-Mail client app.  it works with ALL POP3 and IMAP email (including GMail).  It also works with Microsoft Exchange.  In addition to that, it also enforces Exchange’s security policies.

These apps are only barely comparable, but, as stated above, Samsung’s E-Mail client was out YEARS before GMail.

Google vs. S-Voice


Do I need to say this?  OK, I’ll do it just to be complete:  S-Voice was out long before Google’s app.  S-Voice was available as far back as AT LEAST the Galaxy S2 (as of this writing, the S5 is the current Galaxy phone).  That’s several years ago.  “Google Now” came out YEARS later.

Additionally, S-Voice has more local features than Google’s app does for integrating with the phone.  “Google Now” is slowly catching up though on the local features, but is still not there yet.   They overlap in many areas and each has features the other doesn’t.  S-Voice is also FASTER than “Google Now” in search test results.

Hangouts vs. Chat-On

Google Hangouts is another relatively NEW comer to the game.  Chat-On has been around longer AND it integrates with more chat services.  Hangouts uses ONLY Google chat services.

Keep Vs. S-Note

Not only has S-Note been out since AT LEAST the Galaxy S2 and Google Keep only recently came out, but S-Note’s functionality is vastly superior to Google Keep.  S-Note is a highly functional and very mature note taking app.  Google Keep is like notepad in comparison.

Google Photos vs. Samsung Gallery

Google Photos only came out in very recent history.  Samsung Gallery has been out almost since the beginning of Android time.

Google Play Games vs. Samsung S-Console

Once again, Samsung’s was out first.  It may be confusing to some people because S-Console went by another name in prior version.

Google “Play Movies & TV” vs. Samsung “Watch On”


As with everything else, Samsung was first.  BUT, these two apps shouldn’t really be compared.  Samsung’s “Watch On” is an app that turns a Samsung Galaxy S4 or S5 (and I think some of the Samsung Note models) into a universal remote control for your TVs, DVD players, and other set top devices using the IR blaster built into certain Android devices.  Google “Play Movies & TV” is essentially digital media online store.

Google “Remote Control” vs. Samsung “Smart remote”

Yet again, Samsung was first, but again, these two apps shouldn’t be compared.  The Google app is really called, “Remote Control for Google TV”.  It’s an app that lets you control your Google TV device (which is so new, it’s umbilical cord hasn’t even been cut yet.  Samsung Smart Remote is essentially a scaled down version of “Watch On”.

There’s a growing, vocal community of people that really really hate Samsung.  Some of it is justified and some of it is not.  One of the memes that just won’t stop is that Samsung is going in a direction away from Google.  That may or may not be true, but the evidence provided to support that claim is the false list above.

In fact, almost all Android phone makers provide many NON Google versions of these apps, especially a browser and e-mail client, because until recently, Google provided no browser and they STILL don’t provide a general use e-mail client.  Other apps that ARE overlaps of Google apps are so, with both Samsung and others, because there WERE NO Google equivalents when those apps were made.


All of the above was just historical facts.  The following is a bit of opinion…

Even if Samsung were or is intentionally making an ecosystem that doesn’t rely on Google, can you blame them?  Well, sure, you CAN.  But SHOULD you?  Does it make sense for ANY company to have so much of their business rely upon another company that’s not under their control?  of course not.  Every company wants to be in control of their own destiny.  So, I personally do not blame Samsung IF that is what they’re doing.

Now, what about the CUSTOMERS?  What’s best for THEM?  Is it a GOOD or a BAD thing for customers IF Samsung is actually INTENTIONALLY positioning themselves to survive WITHOUT relying on Google?

Of course.  Why?  Because if you’ve read this far, you are clearly an Android supporter and if you support Android, you almost certainly support it for many reasons, one of the big ones being that Android provides CHOICE.  Not just choice for something other than Apple, but choice WITHIN the Android platform.  If Google Maps is the ONLY mapping program out there, then you have no choice but to use it.  BUT, if there is competition, even IF you choose to continue to use ONLY the Google version, the mere existence of the competition will keep Google on their toes and incorporate features sooner than they would have had the competition not done it AND will cause Google to add features they may not have thought of to start with.


Competition and choice are GOOD things and THAT’S why you love Android.  NO ONE IS FORCING YOU USE THE SAMSUNG APPS NOR EVEN TO BUY A SAMSUNG PHONE!  Even if you want the Samsung hardware, but not the apps, YOU CAN DO THAT!  (if you root it, of course).