Best Android Apps to start off 2013

2012-12-26 21.38.05Here are my “Best of” Android apps to start off with in 2013.

I’ll list them by category and explain the purpose of each one and why I’m choosing it.  Each category will be a separate post because, as you can see of the length of the list, it would be quite long if it were all in one post.  Each bulleted category below is a LINK to the article about the apps in that category.  The list of categories below will only have hotlinks to articles for which I’ve completed.  Keep checking back as I post more articles… one for each category below.

Phone/Communication Apps
Finance
Shopping (Everything here is FREE)
Imaging
Utilities
Audio
Games
Calculators
File Management
Security
Geo Location
Launchers
Productivity
Social
News & Reference
Time (Clocks/Alarms/Calendars, etc…)
Networking
Weather

Phone/Communication Apps

These apps have to do with phone calling features or communicating with IM or Texting or live video communication.

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

See these images?

imageimage

You’ll find an 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!

 

Best Android Apps to start off 2013 (Phone/Communication Apps)

This article is one of a series of articles about the best Android apps available as of the beginning of 2013.  Click here for the main article that includes links to this article and links to all the other categories of “The Best Of” apps for beginning 2013.  Let’s get started with the Phone/Communication category, which lists the best phone and communication apps available at the ending of 2012 and beginning of 2013.

Google Voice

image

Google Voice is, by far, one of the most valuable FREE Android apps available. [GARD] There’s a LOT of confusion and misinformation about what this app is.  So, let me first explain what it is NOT!

Google voice:

  • IS NOT a replacement for your phone’s dialer.
  • IS NOT a VOIP app (It doesn’t let you make calls over the internet, bypassing your carrier’s minutes).
  • IS NOT JUST an app.  It’s also a service available from many devices and software.

So, if it’s not the above, then WHAT is it?

It’s two parts, so let’s list them, then explain them:

  1. It’s a SERVICE provided by Google (not an app).
  2. There’s also an Android app, using the same name, that provides a UI to the Google Voice services.

Note that you MUST first create a Google Voice account.  If you already have a GMail account or any other Google account like a Google+ account, just log in to it, then go to http://voice.google.com and activate your voice service, get a new phone# (it’ll walk you through it) and then make at least one phone call from GMAIL via your web browser (that’ll activate the voice chat features you’ll need for greater features I describe further down in this article).

The SERVICE:

Google Voice as a service is a service in the same sense that Google Search is a service or that Google Maps is a service.  The mapping technology actually lives on the Google servers, distributed across the planet.  They provide multiple UIs to access the mapping service, like the web UI at http://maps.google.com and the iOS Google Maps app and the Android Google Maps app, and Google Earth for Windows (and many other platforms).  Google Voice is also a service that’s hosted on Google’s server farms and there are many UIs available for Google Voice too, including the web interface at http://voice.google.com and the Android App available in the Google Play store here.

The Google Voice service provides the following features:

  • A free phone number from any area code in the United States (and many other countries).
    • Note that a “phone number” is not a “phone line”.  It’s JUST a number!
  • Free voice mail.
    • V-Mail available from a web UI.
    • V-Mail forwarded to your e-mail.
    • Access via a web browser.
    • Access via any real phone.
    • Access via the Google Voice app on Android.
  • SMS Texting (via any of the available UIs (web browser, Android App, iOS app, certain hardware, and many 3rd party apps)).
  • Telemarketer blocking.
  • Individual number blocking.
  • Caller ID.
  • Make/Receive phone calls via your PC’s browser (in G-Mail).
  • Conference calling.
  • 3 way calling.
  • Call hold.
  • Call forwarding.
  • Forward incoming calls to any real phone (like your cell, your work phone, your home phone, etc…)
  • Plus many other features.

The Android App:

The Google Voice Android app is just one of many front ends to the Google Voice Service.  The Android app is available here in the Google Play store.  Note that the Google Voice service is supported by MORE than just the Google Voice app available from Google.  There are many other apps that add significant value to the Google Voice service, two of which I’ll include in this article.  Installing the Google Voice app on your Android Device (which does NOT have to be a Phone!!!) will give you the following features: [GARD]

  • Free, unlimited SMS texting (just like your expensive texting plan, but free).
  • Google Chat, including video chat.
  • Make calls from your Android device through your GV number (don’t confuse this with VOIP.  This feature will NOT make a call over your internet connection.  It just uses your regular cell phone minutes, but it’ll dial your GV # first, then from there, make an outgoing call from your GV# so that the party you’re calling will see your GV# on their caller ID and not your cell phone number (this feature is only available on phones, BTW, not tablets or other Android devices).

The free texting service is reason alone to install this app.  Click the link in the prior sentence to read all about it, with full instructions on how to do it.  Do that, then cancel your expensive texting plan and have your cell provider BLOCK texting from your phone so you don’t accidentally send text messages using your carrier’s expensive plan.

Groove IP:

image

Groove IP is an app in the Google Play store.  There are 2 versions, the lite, free version available here, and the full featured, paid version available here.

This app is a 3rd party app that uses the Google Voice service (so, you need a free Google Voice account), but provides something fundamentally important on your Android device that the Google Voice app does NOT! [GARD] It let’s you make and receive phone calls directly to and from your Google Voice number over the internet.  This is a very very important distinction that so many people have a difficult time understanding.  Remember, the Google Voice app does NOT exist to let you make phone calls over the internet, bypassing your phone carrier’s expensive minutes plan.  Groove IP DOES!!!  Groove IP turns your phone or tablet (any Android device with a speaker, microphone, and internet connection) into a phone that uses ONLY your Google Voice account.  If you make or receive a call to or from your Google Voice # 2012-12-26 20.20.26with this app, YOUR CELL PHONE PROVIDER IS UNAWARE OF THE CALL AND SEES IT ONLY AS INTERNET USAGE!!!!  Why do I keep underlining, bolding, and italicizing these things?  Because I have to explain this to people about a dozen times before it sinks in.  I don’t know why, because it seems pretty simple, but I think people have a preconceived idea of what the Google Voice app does and just can’t move past that.  This app WILL let you make and receive phone calls using ONLY your data connection.  It will NOT be recorded as a phone call made with your cell phone provider.  It will NOT use up minutes on your minutes plan, as the image above claims.

You start the app, log in with your Google account, and this app gives you its own phone dialer.  From here, you can make a call, as long as you have a decent internet connection.  It doesn’t matter if it’s a wifi connection or via the cell towers… just as long as it’s an internet connection.

As long as this app is on and logged in (and there’s a setting to make it do that when the phone powers on), if someone calls your Google Voice number, you can answer it with this app and carry on a normal “phone” conversation… and it’s all FREE (meaning it won’t use your plan’s minutes).  Of course, if you have a limited data plan, you’ll need to monitor usage, but it’s pretty small in usage.  (Sprint and T-Mobile customers still have unlimited data plans available).

Yes, you can STILL use your regular dialer and still make and receive calls using your regular cell phone number.

If you install this on a tablet, your tablet becomes a phone!  YES, REALLY!

The difference between the paid version and the free version is the free version limits your use to JUST your wifi connection.  So, if you have a tablet that doesn’t have cellular data capabilities, there’s no advantage to buying the paid version.  Just install the free version.  If you have a tablet with cellular data capabilities, the paid version lets you continue to use your tablet as a phone any where you have coverage.  Ditto for your phone.  Of course, there are no minutes used when talking on a call made or received with this app.

Talkatone

image

2012-12-26 20.41.24Talkatone is almost identical to Groove IP, so rather than repeating everything I’ve already said, read the Groove IP review above, then continue here for the few differences.

OK, now that you’ve read the Groove IP section above, let’s continue…

In addition to all the features listed above for Groove IP, this all also provides texting over your Google Voice account and lets you send pictures to other Google chat users.  So, this app overlaps in features with the Google Voice app (texting).

[GARD]

This app is also available on iOS.

Mr. Number

image

2012-12-26 20.42.01Mr. Number (available here in the Google Play store) is invaluable in that it shows you who’s calling, even if they’re caller ID information is blocked.  It’s especially useful for avoiding telemarketers (or bill collectors).  It gathers information from other Mr. Number users who mark their incoming calls as spam or not, which is sent back up to the Mr. Number servers and if they ever call you, then Mr. Number steps in immediately, before you answer, to tell you.  Then, you can 2012-12-26 20.42.35just ignore the call, force it to hang up on them, or block them.  You’ll never receive a call from them again.

Absolutely Invaluable!

Mr. Number is NOT the only app/service that provides this capability, but it’s one of the most popular.  Popularity is important with this kind of app because its database of spammers is crowd sourced.  The bigger the crowd, the more extensive their database of spammers, bill collectors, and survey takers.

This app is also available on iOS.  That’s important because it increases the pool of people contributing to the data.

 

Call Master

image

Call Master (available here in the Google Play store) is similar to Mr. Number, but much more powerful.  It requires a rooted phone.  It can dig in underneath your native phone and do some extra powerful stuff that a regular app just can’t do without root access.  This is definitely an app for power users, but it is very very powerful.

From its description in the Google Play store:

Advantages:

★ Your phone never rings
★ Your screen never turns on
★ Private call and SMS inbox with log sweeper
★ Reject unknown, withheld and private numbers
★ Password protection
★ Route message content to other numbers
★ Clear frequent call lists

Features:

★ Block MMS before download
★ Filter SMS by content
★ Text variable creation, routing and replies
★ Global regex and wildcard filters
★ Custom notification icons
★ Vibration and LED feedback
★ Backup encryption and password protection
★ Powerful logging and sorting system
★ Number testing
★ Independent contact library for total privacy
★ Profile scheduling
★ Light and dark themes

YP Mobile

image

YP Mobile (available here in the Google Play store) provides your basic yellow pages phone book, plus the familiar stuff you find in other “local services” apps for finding restaurants, gas prices, etc… 

[GARD]

Not much more to say about it.  This app is no more or less special than others of its type, but I’m including it as one in that type of category.  Others are Yahoo!, Yelp, and Where.  Personally, I find Google Maps a superior tool for finding local businesses and their phone numbers as it shows a map of your results, so you can see, visually, immediately, what’s close by, then just tap whichever one you want on the map to get the details and phone numbers.

You Chime In

What are some of YOUR favorite apps in this category?  Let us know in the comments below.

Conclusion

This completes my list of “Best” phone-specific apps available to start off 2013.  There are, of course, other communication types of apps and this is, by no means, a comprehensive list.  These are the apps in this category that I use on a daily basis and install on a new phone or tablet as soon as I get it.

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

See these images?

imageimage

You’ll find an 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!

 

Google Play Gift Cards SUCK!

[Update] See updated addendum at end of article.

If you buy Google Play gift cards with the expectation that you can buy a Nexus 7 tablet or other products from the Google Play store, DON’T BUY THE GIFT CARDS!

Why?  Because you CAN’T buy things like a Nexus 7 tablet.  I just purchased 10 $25 gift cards for a total of $250 to buy my son’s Christmas present… a Google Nexus 7 tablet.  As anyone can clearly see, the Nexus 7 tablet is front and center on the Google Play store home page.

image

The gift cards say nowhere that you can’t use your store credit from gift cards to buy tablets.  Here’s what the actual gift cards look like:

IMG_20121208_233532IMG_20121208_233022

If you can’t read the text on the back of that card, here it is:

Get music, movies, books, Android apps and more on Google Play. Purchase and enjoy your content on both the web and your Android phone/tablet.

To redeem on the web:

  1. Go to play.google.com/redeem.
  2. Scratch label off of card & enter code.
  3. Start shopping – your gift card value will be added to your Google Play balance.

To redeem on an Android phone/tablet:

  1. Launch Google Play Store app on your Android phone or tablet.
  2. Select Redeem.
  3. Scratch label off of card & enter code.
  4. Start shopping – your gift card value will be added to your Google Play balance.

Terms & Conditions

Use of card subject to additional terms and privacy policy: play.google.com/about/card-terms.html. Valid only for users 13+ years of age and resident of U.S. Redemption requires Google Wallet account and internet access. Limits may apply to redemption and use. No fees or expiration dates applicable to this card. Card may be used for purchases of eligible items on Google Play only. Any refunded amount will be credited back to your Google Play balance for future use under same terms. Card is not redeemable for cash or other cards; not reloadable or refundable; cannot be combined with other non-Google Play balances in your Google Wallet account, resold, exchanged or transferred for value (except as required by law). Once card is purchased, risk of loss and title for card passes to purchaser. Google Payment Corp. and its affiliates disclaim all express or implied warranties as to the Google Play card and Google Play. For assistance or to view your Google Play card balance, visit support.google.com/googleplay/card-help. To speak to customer care call us at 1-855-466-4438. Issued and © 2012 by Google Payment Corp. All rights reserved.

As is clearly seen, there’s nothing on here to inform a gift card purchaser, while they’re still in the store, that you can’t use it to buy tablets.

To top it all off, there’s no way to get refunds from these cards.  What the hell and I going to do with $250 credit in the play store?  In 2.5 years in the play store, I’ve spent a total of about $25.  At that rate, it’ll take me 10 years to use up that credit, and I put this credit on my son’s account so that his tablet would arrive already set up with his account.  What’s worse is this was what I had budgeted for my son’s “big” Christmas gift.  Now that money is tied up in a useless place.  I’m not Google… Piles of money don’t just show up in my checking account every night.

[Update] I just got off the phone with a representative at the Google Play store.  He knew what I was going to complain about just as I started.  He was very sympathetic with my position and said he’s aware that this is a HUGE problem!  They’re getting LOTS of calls with this same issue.  He also said there’s absolutely nothing, whatsoever, that he, nor even his supervisors can do.  He felt incredibly bad and said he’s taking the contact information of everyone that calls with this problem so he can contact us as soon as this situation changes.  He said they (his peers) have been complaining up the chain about this problem to no avail.

So, my problem still remains completely unresolved and all my money tied up in their store.

Did I help you?  Can you help me now?

See these images?

imageimageimage

You’ll find an actual working version 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!

Can’t play 3D Blu-Ray DVDs?

Can’t play 3D Blu-Ray DVDs on your new Samsung 3D Blu-Ray DVD player?  Getting this error?

20121006_181017

“THIS BLU-RAY 3D DISC REQURIES A COMPATIBLE
3D HDTV & BLU-RAY 3D PLAYER OR A BLU-RAY PLAYER
THAT HAS BEEN UPGRADED WITH THE NECESSARY
FIRMWARE TO ALLOW 3D FILM PLAYBACK.
2D PLAYBACK IS NOT AVAILABLE VIA THIS DISC.”

 

Here’s how to fix the problem:

First, I’m assuming the blatantly obvious, that you actually HAVE a 3DTV and your 3D Blu-Ray DVD player is connected to your 3DTV with an HDMI cable.

There’s actually a menu option in the DVD player menu system, buried deep inside, that you have to fix.  The Samsung tech support rep I spoke to on the phone had no clue and wanted me to take the disc back and swap it for another.  Don’t do that.  Here are the menus to fix it:

  1. From the main screen on your DVD player (press STOP on your remote if you’re seeing the blue screen error above), go to settings and choose “Display”.20121006_181223
  2. Choose “3D Settings”, then “3D Playback Mode”20121006_181250
  3. It should be set to “3D –> 3D”………………….20121006_181402

The DVD will then switch to sending a 3D signal to the TV.  Just like on a Windows computer, when you switch resolutions, it’ll give you 15 seconds to accept the change, or it’ll switch back.

20121006_181411

Select OK and it’ll do the 3D video test.

20121006_181434

Notice that my TV overlays another dialog box, notifying me that it’s now receiving a 3D signal.  Your TV might do something similar.  Note the dialog box behind that?  The one sent from the DVD player?  It’s got a 15 second count down and you’d better choose “OK” from your DVD remote or it’ll switch back to 2D mode.

Done!  Notice that in the image below, both the left and right eye images are showing.  My camera is not filtering them, so we see both… just to validate that it’s working.

20121006_181444

Put your 3D glasses on and enjoy!

Did I help you?  Can you help me now?

See these images?

imageimage

You’ll find an 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!

Don’t spend $100 on an HDMI 3D cable

If you go to an electronics store like BestBuy or HHGregg for a cable to play 3D content, they’ll try to sell you a high end HDMI cable for a ridiculously high price.

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

They’ll tell you you HAVE to have it to watch 3D content because HD 3D content uses too much bandwidth for the cheap HDMI cables to handle.  3D HDMI cables are rated at 10.2Gb/s (10.2 billion bits per seconds).

IT’S NOT TRUE!

[GARD]

At least, not for the cheap ones that claim they can do 3D… or more specifically, these low cost 3D HDMI cables DO work.  I just verified it with my own 3D equipment.  The picture below is an affiliate hyperlink directly to the product on Amazon.

image

I ordered 6 or so of these and they work on all of my HDMI equipment, including the 3D DVD player connected to my 3D TV.  The work on all of my HDMI equipment, including the following:  all links are affiliate links to Amazon.com

image Sharp 70″ 1080p 3D LED Smart TV with FREE 3D Glasses
image Roku 2 XS 1080p Streaming Player
image LG 42CS560 42-Inch 1080p 60Hz LCD HDTV
image Samsung BD-E5900 3D WiFi Blu-ray Disc Player (Black)
image NEW VIP 722K Dual Tuner HD DVR Dish Network
image Toshiba DR430 1080p Upconversion Progressive Scan DVD±RW Recorder w/USB & HDMI (Black)

See these images?

imageimage

You’ll find an 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!

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

Shovelware on your phone

Screenshot_2012-07-23-20-15-08Do you use the pre-installed software that came on your phone?  I don’t mean the popular stuff like Google Maps and such… I mean the proprietary stuff… the stuff from your Carrier like T-Mobile or Verizon?  Or the stuff from your handset maker like Samsung or HTC?   For example:

Getting started with S Memo

Not to pick on Samsung or their reportedly “good” app “S-Memo”… That’s one of many examples.  Usually proprietary software sucks or costs money to use or sux AND costs money to use.  But, sometimes, some of it is quite nice.  That’s purportedly the case with Samsung’s S-Memo, but I’m not here to promote that software.

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

In fact, regardless of how nice it might be, I’m choosing to not even bother with it.  And, there’s an important reason why:

It’s not available on other phones and never will be!

One of the draws of the Android platform is that it’s hardware agnostic.  That means, I can run Android on a plethora of devices from an almost countless number of hardware providers and software written for Android will wok on the vast majority of them.  Why would I want to get mired down in an app that I cannot take with me when I decide to switch to another phone?  That would be like buying a Dell computer with a proprietary spreadsheet app that’s not compatible with Excel or LibreOffice.  Then, if I want to buy say, an HP computer, I can’t use the Dell spreadsheet app or the spreadsheets I created with it.  What’s the point?  Specifically, what’s the point for ME?  I can see the point for Samsung… If I start using it, it locks me into their hardware.  But that doesn’t help me or you.

So, regardless of how awesome it may be, I’m just simply not going to use it.  There are PLENTY of other note taking apps out there like ColorNote, OneNote, EverNote that are NOT tied to one maker’s hardware

What about you?  Do you use any of the proprietary software that came with your phone?  If so, what do you use and what are your plans for making the switch to another phone at some point in your future that doesn’t provide it?

CodeStock 2012: Adaptive and Responsive Web Design

imageBelow are my notes taken during CodeStock 2012’s “Adaptive and Responsive Web Design” hosted by:

Steve Bodnar ( @SteveBodnar )
www.geeksandgurus.com

 

 

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

In this session we learned how HTML5 lets us design our web apps to automatically adjust to all sorts of different sized browsers.  See links in notes below for sites with examples.  Resize your browser to large and small and watch the sites automatically adapt.

Raw notes, as I typed them in class below:


  • How to make your sites work on any HTML/Javascript device regardless of browser or device.
  • RELEVANT CONCEPTS
    • App vs. site
    • Graceful degradation
    • Progressive enhancement
    • Others…
  • GRACEFUL DEGRADATION
    • Downgrade gracefully when features aren’t available in browser. User should not notice.
    • Design on most advanced browser then adapt to lower browsers
  • PROGRESSIVE ENHANCEMENT
    • Focused on content, not browsers
    • Builds for least capable devices
  • STRAGEGIES
    • Start with lowest
    • Design for semantics and structure
    • Add features appropriate for baseline devices
    • Add features appropriate for accessibility
    • Add layout markup and style sheets for structural layout
    • Add baseline presentational style sheets using link
    • Add behavior (scripts, css hover, etc.)
    • Add workarounds/hacks for recalcitrant browsers
    • Define styles for modern graphical browsers.
  • ADAPTIVE WEB DESIGN
    • Not clear divide between this and response web design. Responsive is more specific
    • Creating interfaces that adapt
        • (use firefox user agent switcher to render as other devices)
        • Using progressive enhancement
        • Examples of adapting
          • If device can access location, enable location-based behavior
          • If device supports touch, enable touch-friendly ui
          • If device supports html5, use it
        • Mobile First
  • RESPONSIVE WEB DESIGN
    • Fluid Grids
    • Fluid Images and Media
    • Media Queries
    • (site takes shape of browser).
    • MediaQueries.es for examples of adaptive web design.
    • ASP.NET MVC 4 provides adaptive in default project.
    • @media keyword in CSS.
    • Resolution independence
  • MOBILE FIRST
    • Embrace constraints, don’t fight them.
    • Ony eyeball, one thumb
      • Forces you to focus
        • What content must be delivered?
        • Is chrome necessary?
        • Rich context aware applications.
  • ACCESSIBILITY
    • Design for all visitors
      • Screen readers
      • Color blindness
      • Hearing impaired
      • Navigation, images, forms
    • Not just about design for people with disabilities
  • BROWSER GRADES
    • C-Grade
      • Based level of support
      • Identified, incapable, antiquated and rare
    • A-Grade
      • Highest level of support
      • Identified, capable, modern and common
    • X-Grade
      • Unknown, fringe or rare browsers as well as browsers on which development has ceased.
  • TOOLS
    • CSS
      • Embrace CSS
        • CSS Zen Garden csszengarden.com
          • Links on right switch CSS to completely change the site with zero HTML change.
        • CSS1k.com
          • Examples of what 1KB of CSS can do to how a website looks.
  • HTML5
    • Clark Sell and Brandon Satrom
    • Microsofties
    • At CodeMash
    • HTML
    • CSS3
    • JavaScript
    • Semantic HTML
      • <div>
      • <div id = “header”>
      • <header>
      • <article>
      • <time>
    • Data attributes
      • Any attribute that starts with “data-” will be treated as a storage area for private data
      • <data-role>
      • <data-role = “header”>
      • <data-role=”footer”>
    • Viewport (browsers tell you what resolution they can handle – phones will lie)
      • Visual Viewport
        • The part of the page that’s currently on-screen
      • Layout Viewport
        • Doesn’t change in size or shape
        • Varies per browser
  • MEDIA QUERIES (w3 site has it all)
    • Width
    • Height
    • Device-width
    • Devbice-height
    • Orientation
    • Aspect-ratio
    • Device-aspect-ratio
    • Color
    • Color-index
    • Others.
  • FRAMEWORKS
    • MVC 4
    • Twitter bootstrap twitter.github.com/bootstrap
  • EVERYONE AGREES
  • Emulators
    • Shrinking your browser isn’t a perfect example.
    • Use real emulators if you have them.
    • Android-emulator.org
      • Has emulators for multiple mobiles including Ios
  • RESOURCES
    • Alistapart.com
    • Css3pie.com – to get IE 6-9 capable of rendering several of the most useful css3 decoration features.

CodeStock 2012: What’s New in .Net 4.5?

imageBelow are my raw notes during the “What’s New in .Net 4.5?” session at CodeStock 2012 on Friday, June 15th at 1:50 PM / 70 min.  This session was hosted by Layla Driscoll from Microsoft.  She’s on the Silverlight CLR team.

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

And below are my crude, raw notes taken during the session, only minimally cleaned up.


This sample will use:

  • Async & await
  • Asplnet web api
  • Entity framework

Creating a Metro app

  • Multiple tiles
  • Drill down into them for more stuff.
  • Using some sort of MVC type of development.  (Really?  For a DESKTOP app??!?!  I’d heard of this, but that’s the LAST way I want to develop a DESKTOP app… you get the worst of both worlds… no advantages of a native app and no advantages of web deployment and all of the frustrations of both.  Though, it’s cool you CAN do it… I’d just never do it that way.)
    • Looks like it’s a web app, but it’s a Metro app.
    • Controllers are deriving from ApiController
    • Type called Feature.
    • (Note, code snippet below is incomplete.  Remember, I typed this in “class” as fast as I could…)
    public class FeaturesController: ApiController
    {
        private Feature[] features - {{new Feature{Id=1,Name="LINQ"}, new Feature{Id-2,Name="OptionalParam"}};
        public Ienumerable<Feature> Get()
        {
            return features;
        }
    
        //Feature is her own plain old class with several fields in it.
        public Feaure Get(int id)
        {
            var feature = features.SingleOrDefault(f=>f.Id=id);
            If (feature == null)
            {
                var resp = new HttpResponseMessage(HttpStatusCode.NotFound);
                Response.Content = new StringContent("Feature not found");
                throw new HttpResponseException(resp);
            }
        return feature;
        }

Async keyword can be placed on methods like

 

private async void blah()
{
    using (var httpClient = new HttpClient()
    {
        httpClient.MaxResponseContentBufferSize = 1024*1024;
        var response = await httpClient.GetStringAsync("http://localhost blah blah");
        var list = JsonConvert.DeserializeObject<List<int>>(response);
        foreach(var I int in list)
        {
            response = await httpClient.GetStringAsync("http://localhost blah blah" + i);
            var f = JsonConvert.DeserializeObject<FeatureDataItem>
        }
  • Use nonvolatile for locking code. (or did she say non-locking?)
  • Win32 API (or whatever it’s called now) looks like managed code… no DLL import crap.
  • New large object heap. Anything 85,000 bytes.
  • Multi-core JIT
  • Prefetcher
  • ReadOnlyDictionary

New to Android? Here’s what you need!

Starting in a new computing environment can be confusing and stressful for many reasons.  I’ll provide you the knowledge base, the apps, and the community resources you’ll need to have a good experience on your new Android device.

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

(Image Credits: https://www.aimagin.com/products/training/android-beginner-workshop-reviews.html)

Android is more than just an OS (Operating System) or “a phone”.  It’s an ecosystem made up of the OS, the phones, as well as tablets, TVs, computers on a stick, notebooks, wrist watches, health monitors, appliances, a platform, a community, a mindset, and the whole is greater than the sum of the parts.  So, with your new Android device, you’ve moved into a whole lot more than just your new phone (and I’m making a wild assumption that your new device happens to be a phone as it could have been any of the items listed above, or even something else).

There’s a LOT I could talk about here, but since this is focused on just what you need to get started, I’ll try to hold myself back.  I’ll also restrict this discussion to just phones and tablets.

What’s Not unique about Android?

Let’s begin with what you’re familiar with.  You’ve probably used a smartphone or a tablet by now.  If not, you’ve certainly used a Windows, Linux, or Mac based PC before.  Android is somewhat similar to those in that it provides you with a GUI (graphic user interface), usually on a mobile device.  That user interface is optimized for touch input.  You have the familiar things you’d expect in any GUI such as buttons, lists, check boxes, etc…  Being optimized for mobile devices, it also has video keyboard support, and of course, support for touch screens.

Since it is an OS, you also get app stores and apps which can take advantage of the capabilities of your mobile device.  Most mobile devices have many (if not all) of the following hardware capabilities:

  • Touch screens
  • Speakers
  • Microphones
  • Cameras (both snapshot and video recording)
  • Wireless network capability
  • Mobile service radios (cellular network capable)
  • GPS
  • Compass
  • Physical keyboards (with real buttons)
  • Expansion slots for more memory
  • data/power ports
  • NFC (Near Field Communication) chips
  • Thermometers
  • Barometers
  • Bluetooth communication

among other features.

What’s Unique about Android?

There are many things unique to Android, but seeing as this is a beginner’s guide, of sorts, I’m just pointing out some of the highlights.

Android separates itself from the others in that it is an open system.  This word “open” has multiple meanings.  In one sense, it means that the source code to the OS is available for any programmer that wants it to make changes to the underlying capabilities.  It also means that anyone is free to make modifications to it and sell their own hardware running the Android OS.  But, what does that mean for YOU?  After all, most people are NOT programmers nor hardware manufacturers and have no desire to be.  So how does that help YOU?

Since Android is free for anyone to use, there is a plethora of Android devices on the market.  You’re not limited to just ONE or a small handful of models to choose from.  What ever form factor you want, there’s one (or probably many) available that fits your needs running Android.  If you must have a physical keyboard, then there are many many Android phones and tablets with physical keyboards, as one of many examples.  There are devices with large screens, with small screens, with hi-res screens, with low res screens, with sturdy, expensive hardware, with cheap hardware, with hi end devices, with low end devices, and everything in-between, expensive devices, and budget devices.  Whatever your cost budget or your hardware needs, there’s a device for that.

It also means you’re not limited to getting your hardware from just ONE company.  You’re not limited to just one or a small handful of cellular providers.  Android devices are available everywhere.

Another notable feature is that you’re not locked into a single app store.  You can install apps from where ever you like.  Apps also register their capabilities with the OS.  In other words, Facebook, Google+, and Twitter, when installed, announce to the OS that they are capable of sharing content.  So, whenever you use an app that’s capable of sharing content, like a browser sharing a link, or a photo app sharing a photo, when you tap the “share” icon in whatever app you’re using, ALL the apps you have installed that are capable of sharing content will appear to let you choose which app or service you want to use to share that content.  The great part about that, aside from the obvious, is that apps don’t have to be written specifically to “know” about all these services.  They only have to be written to tell Android they have content to share and to hand it over to Android.  Android then passes it along to the app or service that the user chose from the list and that chosen app or service takes it from there.  Neither the original app that created the content, nor the app that received and published it need to know anything about each other.  That’s all handled by the Android OS.  This makes capabilities of apps sharable between apps without any app needing to know anything about any other app.  Say, for example, you install some obscure photo editing app, then 3 years later, some new social network shows up and provides an Android app.  Your 3 year old photo editing app, that you may not have even updated, can easily share to the new social network that didn’t even exist 3 years ago when you installed the photo editing app.

What can I do with an Android device?

You can do pretty much the same things you can do with most other, modern, mobile devices.  You can make and receive calls (if your device is a _phone_ of course, or is internet enabled and has a microphone and speakers), browse the web, download apps, calendar, contacts, games, finances, social networking, GPS, etc… etc…

What do I need RIGHT NOW?

Security:

As with any computer system, the first thing you need to do is to secure it.  In spite of popular belief, Android is NOT less secure than iOS. In fact, if you use it right, it’s MORE SECURE THAN iOS!  These are the security issues you’ll encounter on a mobile device (ANY mobile device, regardless of who makes it or what OS it’s running):

  • Hardware loss or theft.
  • Exposing your private data like contacts, phone log, browsing history, social networking posts and friends, E-Mail, credit cards, bank accounts, web site logins, home address, work place, children’s names and ages and schools, etc…  Anything you access on the internet via your phone and any data you enter into your phone, including where you are now (GPS) and exactly where you were at any given point in time.
  • Malware.

Install Lookout Mobile Security right now.

Lookout Security & Antivirus

It will help with all of these issues.  Another good one (but doesn’t check for viruses) is Cerberus anti theft.

Cerberus anti theft

Cerberus is also great for keeping track of your kids’ where-abouts.  One of my children recently when on their first out of town, over night, field trip.  I was able to check in to see where they were at an given time.  I could even see them driving down the road on a map.  It’s a great peace of mind.

Communication:

There are multiple ways to communicate with people with a mobile device:

  • Phone call
  • Text/SMS
  • IM
  • Social Networks like Google+, Twitter, Facebook, etc…

I highly recommend installing Google Voice (NO! NO! NO! NO! NO! NO! NO! Despite it’s name, it’s NOT to reduce your cell phone minutes!!!! It’s for everything BUT THAT!)

It never fails!  Every time I mention Google Voice to someone, they always respond with, “Well, I’ve got unlimited minutes, so it’s pointless.”   Jeesh!  It’s NOT FOR THAT!  It’s a poorly named service because “voice” is NOT what it provides.

Google Voice provides the following features:

    • Instant Messaging (Google Chat)
    • Instant Messaging with voice.
    • Instant Messaging with video.
    • FREE TEXTING!!!!  (Again):  I must constantly battle the next response I always get, “But I have unlimited texting”.  Most likely you’re paying extra for that service.  I recommend dropping that and asking your cell provider to block all texting (so you don’t get charged for spam messages).  Then, you can continue using texting COMPLETELY FOR FREE!!!!!!  See this article:

Google Voice: Free, unlimited texting on your cell/mobile phone!

DON’T install the Facebook app!

Facebook is notorious for continuously, without end, violating your privacy on multiple levels.  I personally recommend staying away from Facebook altogether, but if you just can’t pull yourself away, at least access it from your mobile via your web browser ONLY… NOT via the mobile app.  Just do NOT install it.  The app itself has been found to violate your privacy.  You DON’T want it on your phone!

Also, when you access the Facebook website, be sure to put “s” after the “http” in the browser’s address bar.  In other words, your browser should be at https://www.facebook.com with an “s” in there after the “http”.  Otherwise, you’re on an UNENCRYPTED PAGE where you’ll be entering your login name and password in clear text, broadcast over the internet, and possibly in the clear over the wireless network at Starbucks or the library or your school or anywhere else (one of the many problems with Facebook security and privacy).  This is NOT an Android issue, it’s a Facebook issue! 

Now, back to Google Voice.  I did say that the purpose of the Google Voice app has NOTHING to do with making free phone calls from your mobile phone.  And I stand by that.  But, there ARE other apps available that WILL give you free phone calls (and they do it using your Google Voice account).  They do this by using VOIP (Voice Over Internet Protocol).  In other words, they communicate over your cell provider’s DATA network as opposed to its VOICE network.  You get charged from your allowed minutes if you use their VOICE network, but NOT if you use their DATA network.  Be careful though, because it DOES use bytes on your data plan, so if you have a LIMITED data plan, you’ll want to keep track of your data usage… but digitized voice over data is a pretty low bandwidth usage. 

Again, if you tell me you get unlimited minutes again, I’m going to slap you silly!  You might be one of the few that doesn’t have to pay extra for unlimited voice.  But, if you’re in the majority, you’re paying EXTRA for unlimited voice.  With the right apps installed, you can drop the cost of your monthly bill down considerably by getting their lowest minutes plan and blocking text messaging.  I’ve already covered free texting above.  Now, here’s how you get free minutes for phone calls too:  Free Cell Minutes.  As an example, I have 5 phones on my plan and 4 of them have unlimited data.  We have the lowest possible plan we can get as far as minutes go (750/mo. shared with 5 people).  My Total bill each month?  $144.  And because of how we’re using Google Voice appropriately, we end up having unlimited voice, text, and data on 4 of the 5 lines.  (The 5th line is for my aunt who simply wants a plain old phone).  Most people I know can barely keep ONE phone below $144/mo.  As you can see, using this right saves you TONS of money.  If you’re wondering… I use T-Mobile.

That’s about all you Need right now, but there’s plenty more you’ll likely want and I’ll cover some of those on an ongoing basis, so keep checking back and follow me on Google+.

Click here to follow me on Google+.

Follow me on Twitter @CSharpner.

See these images?

imageimage

You’ll find an 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!