XAML for Xamarin

My newest Pluralsight course, XAML for Xamarin.Forms is now available.  In this course you learn everything you need to know to achieve expertise in XAML to get the most out of Xamarin.Forms.  The major topics include

Rock Climbers

  • Getting Started
  • Introduction to XAML
  • Navigation and Events
  • Data Binding
  • Events
  • Lists
  • Tabbed Pages
  • XAML and MVVM
  • XAML Styles
  • Triggers
  • Messaging

This course is targeted at those who want to write in Xamarin.Forms but have little or no experience with XAML.  That said, experienced XAML programmers may well find the last two modules valuable.

Posted in Xamarin, XAML | Tagged , | 1 Comment

Lists in Xamarin Watch

Intro

There is documentation and a sample on Xamarin.com to show how to add lists to a Watch application, but it can be a bit confusing, so I created a very simple example that we can walk through line by line.

To get started, reate a new single page iOS application; let’s call it WatchRowsDemo

Fill in the program name, etc. And when the app is created, click on solution and choose Add New Project. In the New Project window click on Extension and WatchKit App.

Click your way through and once done you will have three projects:

  • WatchRowsDemo
  • WatchRowsDemoWatchKitApp  
  • WatchRowsDemoWatchKitExtension.  

It is important to keep these three straight:  WatchRowsDemo is the parent or main application.  WatchRowsDemoWatchKitApp is the UI for your watch application, while WatchRowsDemoWatchKitExtension is where the logic for you watch application resides.

A key concept to remember is

  • your UI (storyboards) go in …WatchKitApp 
  • your logic (controllers) go in …WatchKitExtension.

Your application is born with Interface.storyboard and InterfaceController.

Continued here

Posted in Essentials | Tagged , , | Comments Off on Lists in Xamarin Watch

Living with the Apple Watch

The Watch In Detail

My buddy Seth thought it would be valuable to extend my series on the watch, with a more critical eye.  Essentially, what is good, what is bad, and what sucks.

I won’t try to convince you to  buy the Apple Watch; nothing it offers is so fantastic as to necessarily justify the price.  That said, if I lost mine I’d buy another the next day.

Clock Faces

The watch face is beautiful, with the clarity you’d expect from a Retina display.  The information you want can be customized as can colors, etc.

On the other hand,  independent programmers cannot (yet?) write custom clock faces.

Apps

Apple watch apps should, ideally, be extensions of existing apps, rather than stand alone.  A prime example of this is the weather app: want to know the temperature? Glance.  Want to know more details? Lightly tap to get the day’s forecast. Want all the details? A harder press will open the app on your iPhone.

I’ve had a hard time finding third-party apps that I care about.  Most don’t give enough information or they force you too quickly to open your phone,

On the other hand, the built-in apps work beautifully, and having Sound-Hound that, uh,  handy, is actually surprisingly useful.

Killer App?

While I can’t identify a universally agreed upon killer-app, I can tell you that the clock face I use has my next appointment displayed.  Touch it and I get the entire day, and then more touches let me see the month, etc.

This is phenomenally useful.

I also love that I can see what an alarm is for, and silence it from my wrist.

Surprisingly, the ability to answer phone calls and then hand off to the phone once you dig it out of your pocket, is terrific as well.

Siri

Siri is better and more convenient than ever.  Turn your wrist and say “Hey Siri” then ask your question.  Often you’ll get the answer, but annoyingly much of the time the answer is on your phone (which kind of defeats the purpose).

There is handoff to make that transition easier, but you still have to dig your phone out of your pocket.

Handoff

Speaking of which, Handoff is much improved. To handoff from the watch to your phone is a snap.  Whatever app you are in appears as a small icon on the lock screen.  Flip that up and now you are on your phone

Looking at the time

Apple has done an almost magical job of allowing you to look at the watch and have the screen spring to life.. Unless you are lying down.  That said you can always touch the crown to bring up the face if all else fails.

There is no need to flick your wrist, just turn it to see the time and hey! Presto! It is there as it should be.

Flip Up, Down and Sideways

Notifications are easily found by pulling down from the top.  Apps are found by pulling up from the bottom.  Details by sliding right or left.  It takes some getting used to but it works well

If you are on the app screen (which also works surprisingly well) you can overcome the fat-finger problem by approximately centering the app you want and then turning the crown, which opens the app

 

Coming soon… Apple Watch vs. Pebble

 

Posted in Essentials | Tagged | 1 Comment

Modifying Xamarin Lists with Custom Controls

I was recently creating a proof of concept, which as you know should be fast and easy.  Not so much at Falafel where we like to turn out quality softwaSiteCoreFullLinesre that looks great, even if we’re going to throw it away.  Good engineering is in your blood, or it isn’t.

In any case, I created a list of our available positions and iTunes did its normal “thing” by placing the line between each entry indented on the left and running all the way to the right side.

Really. Take out your phone and check.

Matt, our designer, thought this looked unbalanced and wanted the lines to extend all the way to the margins in both directions.

Custom Controls

No problem, just a bit of customization required.  The two custom controls I needed were a replacement for LinkedList and a replacement for ViewCell.

More here.

 

Posted in Essentials | Comments Off on Modifying Xamarin Lists with Custom Controls

Apple Watch Is A Needful Thing

Needful Things is the name of a book by Stephen King (who I happen to think is America’s most underrated author, and best storyteller, but that is another matter).  I’ve co-opted his title to mean those things that seem absurdly unnecessary (but desirable), and which worm themselves into your life, so much so that you know already that if it breaks you will run out and buy another.  My own history of needful things includes

  • Wireless phones
  • DVRs
  • iPhones, 3,4,5,6

And now the Apple Watch.  I loved my Pebble, but honey the affair is over, sorry to see you go, but there  is a new love in my life.

The Apple Watch

The Apple Watch has all the hallmarks of a great Apple product

  • The essential is easy, everything else is possible
  • It is beautiful
  • It is smarter than anything else in its category
  • It is expensive

Continued here.

Posted in Essentials | 2 Comments

Sitecore SDK for Xamarin

Sitecore is a high-end CMS. Putting data from its databases onto a phone is suddenly very easy.  Sitecore and Xamarin recently announced the Sitecore SDK for Xamarin. This post will run through an application that handles an implicit relationship to retrieve data.

The primary relationship we’ll look at comes from two tables.  One has the GUIDs of all the currently available jobs, the other ties those guids to the name of each job.  Note that the GUIDs are in one long string.

By experimentation we learn that the job objects we’ll get from the database have a number of fields we won’t need, and three we will.  We thus create our model class as follows

Continued here

Posted in Essentials | Comments Off on Sitecore SDK for Xamarin

Yet Another Podcast #136 K. Scott Allen

Scott Allen is extremely well regarded in the industry, for hisK. Scott Allen programming skill, his teaching skills and for being a kind and nice man.

 

 

 

 

 

Listen | Yet Another Podcast

rss

iTunes

 

 

 

Posted in Essentials | Tagged | Comments Off on Yet Another Podcast #136 K. Scott Allen

Damn it! Can’t you make your code less complex?

<Rant>

I am so tired of complex code that can’t be read without having to trace definitions within definitions withshutterstock_132360455in references, within Interface definitions within indirection….  until I have no flippin’ idea what is going on.

This is even worse when perpetrated in sample code.  Can someone please tell sample code writers that the rule is “make it as simple as possible and demonstrate only one thing; and that one thing is not how clever you are.”

Continued…

 

 

Posted in Essentials | 2 Comments

Song of the Day: Press the Buzzer

DarWilliamsPress the Buzzer is based on the infamous Milgram Experiment.  This brilliant song captures the entire essence of the experiment and the fall out from it, without ever losing its compelling folk rock rhythm.

Like nearly all her music, this one is highly recommended.

I’m feeling sorry for this guy that I press to shock
He gets the answers wrong, I have to up the watts

And he begged me to stop, but they told me to go
I press the buzzer, I press the buzzer…

 

Posted in Essentials | Comments Off on Song of the Day: Press the Buzzer

Xamarin.Forms: Incremental Search

I recently posted about obtaining data for purposes of creating demonstration programs.  IncrementalSearchFinal

That actually was written in service to today’s post, which will use that data to create a list of “people” and then allow you to search incrementally, as shown in the illustration; I typed “Jaco” and any name that contained Jaco was brought up.

This post shows two meaningful techniques: it reviews grouping and it demonstrates incremental searches.

Continued here

Posted in Xamarin | Tagged , | Comments Off on Xamarin.Forms: Incremental Search

This Post Has No Value

AngerI set out to write a post on Incremental Searching in Xamarin applications (which I will do next) but along the way I realized i need a goodly amount of data to search.

This is a  problem that arises fairly often, so I wrote a quick and dirty solution which is not terribly generalizable but was fun nonetheless.

More…

Posted in Essentials | Comments Off on This Post Has No Value

IoT – Opportunity Knocks

This marks the first in a series of postings on the Internet of Things (IoT).  Come with me as I learn more about these emerging technologies which promise to revolutionize everything we do.

First, the obligatory introduction for those of you who have been living in a cave…

IoT

IoT is the use of web/network based everyday appliances and other, well, things. IoT represents vending machines that keep their own inventory, toasters that alert you when the toast is done, fire alarms that wake you while calling the fire fighters, and so much more.

Knockertunity Ops

IoT presents a significant opportunity for developers; a technology space that is growing rapidly, and in many directions at once.  While the market may not yet support a substantial investment, this is a sector you want to track closely.

Continued…

Posted in IoT | Comments Off on IoT – Opportunity Knocks