Tuesday, January 24, 2012

HTML5 for Mobile Article on DevProConnections

My article on HTML5 for Mobile Devices at Dev Pro Connections Magazine has now been published.
HTML5 is the umbrella term for the next major evolution of markup, JavaScript, and Cascading Style Sheets (CSS) for web applications. HTML5 is becoming an ever-more important mobile development technology -- especially in light of Adobe's recent announcement that it's ceasing development on Flash Player for mobile browsers and increasing its investments in HTML5. To bring you up to speed on this crucial aspect of development, DevProConnections has covered HTML5 extensively in recent months, including my article "HTML5 for the ASP.NET Developer." In this article, I intend to provide a similarly comprehensive overview of HTML5 with an emphasis on features oriented toward mobile development. We'll dive into some specific examples of HTML5 features and focus specifically on what is available with mobile devices. I will focus on what developers can do today as opposed to what is part of the specific set of standards. I'll also mention where a product may have a slightly different outcome than expected. 
I would also like to thank the people that helped me with the article.  There were many people that read through the article and provided suggestions.  Some of them were Dave Wardand Spike Xavier.  I'm sure that there are other folks that helped that I forgot to mention, hopefully, they are not too upset over that.  Thanks to Dev Pro Connections for the opportunity to write the article.  I hope that you find the article helpful as you get into mobile development.

Tuesday, January 17, 2012

Mapping and Location with Monotouch on DevProConnections web site

My article on Mapping and Location with MonoTouch is now out and available on the DevProConnections web site.  Here's the intro to the article:
Mobile phones are by definition, mobile. A couple of interesting questions that come up when users are mobile are, "What's around me for dinner?" and "Where can I get gasoline?" If you are a retailer or a company, you want to tell potential customers that there is a retail location near them. If you are a user, you might also be interested in learning about how to go from where you are to a specific address. In this article we'll look at these and associated features, so that we can provide them to users via mapping and location services to users in iOS apps. 
I hope the article is valuable to you as you learn about the iPhone, iPad, and MonoTouch.

Thursday, January 12, 2012

My Artilcle on the UITableView with MonoTouch and the iPhone/iOS is now online

My article on the UITableView in the iPhone/iOS with MonoTouch is now available online. Hopefully it is of value to you. 

Article overview:
Data is what makes applications go. It could be a Twitter search, a running game score where you are playing against your friends, sales data, or any other type of data that users want to base decisions on. In this article, we're going to look at presenting tabular data to users in a UITableView. The UITableView has a number of visually attractive default styles that you can use. After we're done looking at these, we'll look at creating a custom UITableView layout. Along the journey, we'll look at some optimizations we can do that will give the user an improved experience. After we're done with this, we'll look at some strategies to get at various data sources, such as Representational State Transfer (REST), Windows Communication Foundation (WCF), SQL Server, and the on-board SQLite database.
If you are wondering what MonoTouch is, check out http://xamarin.com/monotouch. It’s a great tool for .NET developers looking to get into iPhone development.

Tuesday, December 6, 2011

How do you get the Virtual Keyboard (aka Soft Keyboard) in the Android 4.0 Emulator?

Ok, getting the Android 4.0 emulator is not obvious.  In previous versions, I had set the "Keyboard Support" to yes.  I did that this time, and nothing.  I played with touch support, and no luck as well.  I finally had to beg to my Android contact for some help.  After much discussion, he pointed me towards Android Virtual Keyboard 4.0 Ice Cream Sandwichturning off the "Keyboard Support" (aka setting the value to no).  Really?  Really?  Ok seriously, I'm glad that this is now working as I thought it should, and that the virtual keyboard support actually looks right in the Ice Cream Sandwich emulator.  But, this is also stupid.  This value is the exact opposite of previous settings.  While I am glad that this now works, the fact that the value is the exact opposite of previous settings is a hassle.

Monday, October 24, 2011

Training on MonoTouch for the iPhone and Mono for Android

I'll be in Sandusky, OH on January 9th and 10th to provide two full days on MonoTouch for the iPhone and Mono for Android.  This training is open to the public.  Signups can be done through SharpeAxe Training.  The pricing is $999 for signups before December 1st and $1,199 December 1 and later.
Info about the training:

Abstract

This session will introduce writing native applications geared for the iOS(iPhone, iPad, and iPod touch) and Android Platforms based on .NET/C#/Mono.  We’ll examine the overall architecture of MonoTouch and Mono for Android, discuss how they integrate with their respective platforms, build some applications, debug, and look at example apps. Who this session is for:  This session is for the .NET developer who wants to write applications for the iOS and Android Mobile Platforms while still using the C# language and the .NET Framework.  While the session will be introductory for the iOS Platform, it will be intermediate/expert for those on the .NET Platform. What will attendees take away:  Attendees will be able to immediately begin development on iOS and Android using their existing skills. The benefit of attending this session:  Attendees will be able to begin development on the iPhone, iPad, and Android without the learning curve of a new platform and a new development environment.  The benefit is that .NET developers will be effective using MonoTouch at a lower time investment than switching development platforms.

Syllabus

Outline for Day 1 – iPhone:
  • Introduction to iPhone.   This will provide an overview of the iOS Platform, acceptance in the marketplace, and basic capabilities.
  • Introduction to Mono, MonoTouch, MonoDevelop, and the iOS Provisioning Portal.
  • Basics of UI design.  This will provide information on how to create a user interface with iOS and integration between MonoDevelop and the SDK Interface Builder tool.
  • Screen Controls. This section will provide the basics of user interface controls, screen issues, menus, various                 keyboards, and widgets.
  • Data Controls.  This section will discuss how to successfully display data to the user.
  • Working with local data. This will be an overview of how to work with data locally on a device.
  • Working with remote data Strategies for working with remote data will be discussed.
  • Multimedia.  This section will discuss how to work with multimedia and graphics.
  • How to perform background processing with threads and services.
  • Mapping and Location.
  • Location.
  • Application Settings.
  • Integrating with Other Applications.
  • iPad.
Outline for Day 2:
  • Introduction to Android.  This will provide an overview of the Android platform, acceptance in the marketplace, and basic capabilities.
  • Introduction to Mono and the Mono for Android plugin for Visual Studio, Mono for Android for the Mac, and support for MonoDevelop for Windows.
  • Android Applications.
  • Basics of UI Design.  This will provide information on how to create a user interface with Android and how the user interface is compiled into a Mono for Android application.  We’ll see the same application running on a phone as well as tablet.  We’ll look into some ways to take advantage of tablets from a UI perspective.
  • Data Controls.  This section will discuss how to successfully display data to the user.
  • Working with local data.  This will be an overview of how to work with data locally on a device using SQLite.
  • Working with remote data.  We will discuss strategies for working with remote data
  • Location.
  • Sensors.
  • Multimedia.  This section will discuss how to work with multimedia and graphics.
  • How to perform background processing with threads and services.

Requirements

  • Day 1/iPhone will require an Intel based Mac running OSX. The most recent Apple iOS SDK will need to be downloaded and installed before attending.
  • Day 2 can be done with either a Mac running OSX or Windows.  The most recent Android SDK will need to be downloaded and installed before attending.

Wednesday, October 19, 2011

HTML5 Webcast/Webinar for ASP.NET Developers

I'll be doing an HTML5 Webinar for ASP.NET Developers for DevProConnections Magazine on October 26, 2011 at 10 am PDT.
Here's some info on the webinar:
Building native applications can be costly and time consuming. How can companies effectively target mobile platforms with the same codebase and save development dollars? ASP.NET is a very common development platform. In this hour-long Web seminar, we will look at how we can use ASP.NET to target mobile platforms.
The benefits of this approach are:
  • Easy cross-platform development.
  • No requirement to learn Objective-C/XCode or Java/Eclipse.
  • Applications are immediately upgradeable. There is no requirement to go through the marketplace and app store of either platform.
  • Web developers are easier to find than Objective-C or Java developers.
Come to this web seminar to learn:
  • What are the features of HTML5?
  • How can ASP.NET Developers use their existing knowledge to take advantage of HTML5/Mobile Development.
  • jQuery Mobile, and learn how to leverage it to build applications that target mobile applications.