January 2011 - Posts - More Wally - Wallace B. McClure
in

MoreWally.com

Giving people what they want, More Wally. This is the technical and personal blog site of
Wallace B. (Wally) McClure.

This Blog

Syndication

News

Please goy buy 3-4 copies of my book on MonoTouch titled "Professional Android Programming with Mono for Android for .NET/C# Developers." They make great gifts all year round. Plus, I get about $.25 when you buy a copy.

Technical Sites

More Wally - Wallace B. McClure

This blog will have all kinds of posts about Wally McClure. In it, there will be tons of .NET and computer programming posts as well as Wally's views on life in general. As you might guess, this site and blog help you get More Wally in your life. What more could anyone want? iPhone, Android, MonoTouch, MonoDroid, Mobile, HTML5, .NET, ADO.NET, ASP.NET, AJAX, jQuery, jQuery Mobile, ASP.NET AJAX, and Windows Azure............follow me on twitter at Wally

January 2011 - Posts

  • MonoDroid Preview 11 Logging Changes

    With the latest MonoDroid Preview, the new logging functionality is:

    Android.Util.Log.Debug("some identifier", "some message");

  • ASP.NET Podcast Show #149 - MonoDroid Development on the Apple Macintosh OSX

    Given that I have a cast on my arm, I installed the MonoDroid Development Framework for Apple Macs today.  I walked through it and found that things are pretty much the same as with the MonoDroid plugin for Visual Studio 2010.  This post shows the video displaying this.  This video is based on MonoDroid Preview 11.1.

    Subscribe to everything.

    Subscribe to WMV.

    Subscribe to M4V for iPhone/iPad.

    Subscribe to MP3.

    Download WMV.

    Download M4V.

    Download MP4.

    Download MP3.

  • MonoDroid on the Mac

    I finally decided to test out the new MonoDroid on Mac preview.  It works, and it works almost exactly like MonoDroid on Visual Studio 2010.  Here are some screen shots:

    Creating a project.

    creating a project

    Intellisense works when I try and create a new layout.

    Intellisense works in layouts

     Starting the emulator

    starting the emulator

    App running in the emulator on the Mac

    App running in the emulator on the mac 

    And there you have it, it seems to be working.

  • Displaying error messages with Android and MonoDroid

    One of the most annoying things when I build a desktop app in .NET is MessageBox.Show() for displaying images or using a alert() in Javascript is that I have to click on the popup dialog to make it go away.  I love the little messages at the bottom of an Android screen that come up, display some text, and then go away.  Its a Toast.  Here's a simple call to make one display.

    Toast.MakeText(this, "some info goes here", ToastLength.Short).Show(); 

    In my case, I wanted to report an error, so I did this:

                catch (System.Exception e)
                {
                    // log the error to the android logs.
                    Android.Util.Log.D("MEDIA_PLAYER", e.Message);
                    Toast.MakeText(this, e.Message, ToastLength.Short).Show();
                }

    I hope that this helps you out

  • Bundle identifier on iOS with MonoTouch

    So, I found a couple of issues in developing with MonoTouch that I need to be aware of.  These are:

    • Spaces.  Don't have spaces in the project name.  Spaces are bad.  I've heard that this is fixed with 3.2.4 of MonoTouch.  Unfortunately, I tend to think that I have lots of user errors.
    • If you get an error about a bundle identifier not being specified for the provisioning package, or words along those line, you need to specify a bundle identifier.  This is done like this.
  • Bytes by MSDN - Let's talk Cloud

    While I was at DevConnections in Las Vegas, I was honored to be interviewed by Tim Huckaby for "Bytes by MSDN" on Cloud Computing.

    Here's a short intro from the talk:

    Do you believe in the Cloud? Wallace McClure, Founder and Architect of Scalable Development, Inc., does. His customers are extremely interested in the value and economies of scale that Cloud Computing, and more specifically, Windows Azure can bring. Building out an infrastructure that supports your web service or application can be expensive, complicated and time consuming. Or you could look to the Microsoft cloud. The Windows Azure platform is a flexible cloud–computing platform that lets you focus on solving business problems and addressing customer needs. Wally talks about all this, and more, in this interview with Tim Huckaby, and in his Windows Azure podcasts.

  • Mobile Connections in Las Vegas April 17-21

    I'll be speaking at Mobile Connections in Las Vegas.  The event is April 17-21.  The event is a cross platform mobile event.  There will be sessions on iOS, Android, WP7, Blackberry, and cross platform tools.  The sessions I am speaking on are:

    Introduction to Android via MonoDroid:
    This session will introduce writing native applications geared for the Android Platform based on .NET/C#/Mono. We’ll examine the overall architecture of MonoDroid, discuss how it integrates with Visual Studio, debug with MonoDroid, and look at a couple of example apps written with MonoDroid. This session is targeted to the .NET developer who wants to move to the Android mobile platform. While the session will be introductory for the Android platform, it will be intermediate/expert for those on the .NET platform.

    Web Development with HTML5 to target Android, iOS, iPad
    This session will examine the features of the mobile browser, and how developers can leverage it to build applications that target mobile devices. This session is for developers looking to target Android, iPhone, WebKit based devices, and other devices through the mobile web with the same application code, development managers looking to Android, iPhone, WebKit based devices, and other devices through the mobile web with the same application code, and developers and development managers looking to build mobile web apps for devices that look like native apps. Attendees will be able to immediately begin building web applications that target the Android and iPhone 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 or Appstore of either platform.
    • Web developers are easier to find than Objective-C, Blackberry, WebOS, or Java programmer

     

    You can register for the event and get $100 off via this link.

  • MonoDroid Article in Visual Studio Magazine - February, 2011 Edition

    Sweet, I found out back in early December that an intro article that I wrote regarding MonoDroid will be a "featured article" in Visual Studio Magazine.  I have no idea what "featured article" means, but hey it sounds good. :-)

    My next problem is going to be "How can I get 30 copies?"  Seriously, I have no idea how to buy a bunch of copies.  I'm going to have to figure this out.  Once subscription copy doesn't cut it in my book.

  • Logging errors with MonoDroid and Android

    Error logging, its such a simple concept.  When an error occurs, store some kind of information about the error.  For some reason, we don't seem to do lots of it.  Why?  Well, its usually fairly easy to track down the information about an exception.  With most web apps, you can pretty much repeat the errors as you need to.  Logging on the server is fairly easy.  Networks are fairly high speed and dependable items of infrastructure.  Is error logging really that necessary?

    Yes Virginia, error logging really is important.  In the mobile world, networks are not high speed or dependable.  How do you store information about those errors when the user is disconnected?  You can't just automagically write errors to the server log.  What if errors are occurring due to a bad network connection?  How do I store errors in a standard way?  Well, I can't help you with everything, but I can help you with storing errors on an Android Device with MonoDroid.

    Storing error information with MonoDroid is actually fairly easy.  Android contains a set of Log.* methods to store data.  So, my strategy is basically a multi-step approach:

    1. Store application information in Android with Android.Util.Log.* methods.  With these methods, you are writing to the standard Android log.  This will store errors in the standard locations in android.  Note that these are different from the MonoTouch methods for storing errors.  The MonoTouch method for this is Console.WriteLine.
    2. If I am going to log errors in a running application that will be released into the wild, storing the errors for future removal is important.  This can be stored in a SqLite database table on the device.
    3. Getting information from the device.  To properly get information from the device, we'll need to store this in a remote database for further analysis.  There needs to be a web service, preferably a REST based service, for the device to communicate to and a database that holds the data.

    Hopefully, this helps you out with your data logging ideas.

    Wally

  • Android Developer Conference (AnDevCon) - March, 2011 in San Francisco

    AnDevConI'm honored to announce that I'll be speaking at AnDevCon in March, 2011 in San Francisco.  I've been spending a significant amount of time on iPhone and Android.  I'm trying to get a startup off the ground.  Mobile devices will be an integral part of this startup.  As such, iPhone and Android will be our target devices at this point in time.  I'll be doing an all day pre-class as well as parts of the pre-class as sessions through out the conference.  I'm looking forward to this.  If you are interested in Android Development, please come to this conference.  If you are coming to this conference, please look me up while there.

  • Windows Phone 7 Weaknesses that I See for Developers

    I get asked by my friends at Microsoft regarding *my* Windows Phone 7 plans enough.  There aren't any Windows Phone 7 plans at this time.  I thought I would throw out some of the issues that I see with the product.

    First, let's look at the technical issues:

    • Background/Multitasking support.  WP7 has no support for any background processing.  The tombstoning concept is not what is needed.  I've been asking people at Microsoft left and right, including my DE, people in the Windows Phone area, and I get no private ETA for the feature.  For the app that I want to implement, I really need background processing support.  I can work around this, but its not easy or intuitive.
    • The browser, wow, where should I start on this.  I guess the best I can say is that the browser is IE7+ that properly scales content down.  In my world it lacks:
      • Geolocation.  A mobile product ships in 2010 and doesn't have mobile support in the browser?  Really?
      • HTML5.  While I agree that HTML5 is not a standard yet, there are many parts that are decided on and could be implemented in the now with little danger of changes in the future.

    Having said that, lets look at things from a business perspective and issues that I see there.

    • What is the incremental increase in devices since the shipment of WP7 over the previous sell rate of Windows Mobile 6.x?  I don't know, but I know that I don't see a lot of WP7 (any?) in the marketplace.  The only people I see with a WP7 device are developers.  Having said that, 40k sales per day to start off with does seem to be pretty good for a start.  I don't see WP7 devices used by the non-developers that I know.
    • My customers aren't asking about WP7. They are talking about iPhone and iPad.  Heck, most don't even mention Android in their plans.
    • I asked my family who wants a Windows Phone 7 device? I was looked at like a nutcase.  My kids are of age where they know about technology.  They want iPhones, Macs (running Windows because the hardware is cooler than Dell), Androids, and a Mobile Wifi hotspot.
    • According to my friends that write XBOX Indie games, they don't get any support from Microsoft on promoting their games or the fact that there is even an indie game channel. Why would I expect anything different on WP7?
    • According to a friend of mine, he isn't seeing sales of his app on WP7.  So, users aren't buying apps on WP7. They aren't buying them much on Android.  They are buying apps on iPhone/iOS.  If the dog owners won't buy the dog food, there's no reason to make the dogfood.
    • Where is the developer support for Windows Phone 7?  Microsoft, I am your target market for Windows Phone 7 as an MVP, ASPInsider, and author that has done .NET books and is now doing mobile with iPhone and Android.  With Apple, I can get an iPod Touch to program on the iPhone/iOS.  If I want an iPhone, I can get a discount on my iPhone as a member of their developer program.  With Android, i can buy an Android device directly from them without having to buy  a service contract.  Where's my discounted WP7 hardware?  Emulators are not the answer.  I'm not asking for free anything, but discounts would be nice.

    Having said all the above, you probably think I hate WP7.  Hardly. I've been impressed with the devices that I have seen.  I'm impressed with the marketing, though concerned about the 2-4-1 deals mean that the product is not selling well at retail.  I like the development story.  Honestly, if MS were to get a spark in WP7 shipments and get an impressive sales rate, I'd probably jump.  Until they can solve the marketplace problem, I think I'm devoting my mobile energies on iPhone and Android in 2011.

    PS. Don't worry Microsoft folks, you are 75% of my direction in 2011, you just aren't 100%.  I do love you lots in 2011.  I do want you to be successful.  I guess I am a little bit frustrated over the mobile marketplace.

    PSS. A friend of mine sent me a blog post that questions whether large companies can actually fathom what users want in the technology world.  While the blog post is about MS, its really about any large monolithic company with pointy haird bosses running around. "The Redmond Distortion Field" is the issue: http://blogs.msdn.com/b/oldnewthing/archive/2011/01/04/10111316.aspx & http://www.stepto.com/Lists/Posts/Post.aspx?ID=486

  • ASP.NET MVP for 2011

    I was honored to recieve an email while I was at the gym today regarding being named an ASP.NET MVP for 2011.  Thank you ASP.NET Team at Microsoft.
  • My Career - 2011

    Here it is, January 1, 2011.  I thought I'd jot down a few notes and thoughts on where my career is headed and technologies I am planning on using.

    Ok, let's talk career.  I'm working on a couple of startup ideas.  I'm pushing towards one idea.  I am currently working up a business plan along with technology ideas.  I have a working product and will be seeking money to productize it as well as market it.  More info on this later.  PS. I'm still doing consulting work and will continue to do so.  Along those lines,we're looking at providing training along those lines, but that is a different discussion as well.

    Ok, now let's talk technology.  Here are the four items I'm working on in not specific order.

    • iPhone.  Yeah, I said it, iPhone.  The iPhone is the "big dog" of mobile platforms.  If you aren't on the iPhone, you don't exist.  How do I get there?  Right now, I'm there thanks to MonoTouch.  BTW, I have an iPhone client for my startup idea running on the iPhone thanks to MonoTouch.
    • Android..  Thanks to the Apple self FUD of 2010, I took a serious look at Android.  I've got an Android Phone, specifically, the HTC EVO 4g.  It rocks.  Before 2010, Android didn't exist.  By the end of 2010, there were 300k activations per day of Android devices world wide......wow.  How did I get on Android?  With MonoDroid, I can take my .NET knowledge and apply it to Android. 
    • Mobile web with...........ASP.NET Web Pages and Razor.  Ok, so I am going to hedge my bets and run over the mobile web.  I'm going to do this with ASP.NET Web Pages and Razor.  I like the simplicity and how they seem to have this dynamic when I apply them together.  This means jQuery, jQuery Mobile, and simple, simple simple.  No webforms on my mobile web.
    • Cloud with Windows Azure. To tie this together, what else but a cloud platform.  To me, it just makes sense to use Azure.  I can take my existing knowledge and apply it to the cloud and get all that cloudy stuff.
    Well, that's it.  Of course, it could all change tomorrow, given changes in the market.  Have fun in 2011.

    PS.   For the folks at Microsoft, before you have a cow over not seeing Windows Phone 7 in my list or thinking I don't love it or anything like that, I'll blog the problems I see as weaknesses on the product for developers.
    Posted Jan 01 2011, 04:00 AM by wallym with no comments
    Filed under:
2006 - Wallace B. McClure
Powered by Community Server (Non-Commercial Edition), by Telligent Systems