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

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? .NET, ADO.NET, ASP.NET, AJAX, Atlas, Microsoft AJAX Library, ASP.NET AJAX, and now Windows Azure............follow me on twitter at Wally
  • StartMonitoringSignificantLocationChanges in iOS 4 question with MonoTouch (iPhone, iPad, iPod touch)

    I got a question on Twitter the other day about why I am using the StartMonitoringSignificantLocationChanges() feature of the CLLocationManager.  I think this link on Apple's Developer site describes why this is significant.  The important text for me is:

    Applications can register for significant location changes only. (Recommended) The significant-change location service is available in iOS 4 and later for devices with a cellular radio. It offers a low-power way to receive location data and is highly recommended. New location updates are provided only when the user’s position changes significantly. If the application is suspended while running this service, new location updates will cause the application to be woken up in the background to handle them. Similarly, if the application is terminated while running this service, the system relaunches the application automatically when new location data becomes available.

    The key parts are:

    • This is the recommended way to handle changes in the background.
    • It only works in iOS 4 and later for devices with a cellular radio, so it will only work on the iPhone and 3g iPad (once it gets iOS 4).  This means that I have to continually borrow my wife's iPhone, which results in some looks of "wtf do you want with it now."
    • The user position changes significantly.  I think that this is a big deal.  The event that you wire up does not go banging on the GPS in the device.  That will help with power, though it won't be the same as if it is not using any power.  Its better than the alternative of using more power.
  • Debug/Release Settings for Simulator/iPhone with MonoTouch in iOS Version 4 with MonoDevelop

    I was working on my iPhone app last night. It requires the features of iOS4. I found a weird behavior. When I ran my app in debug mode on a device, it ran properly. When I ran my app in release mode on a device, I was getting behavior like I was running on iOS3. I was pulling my hair out. After I got back from the gym, I listed my problem on the MonoTouch IRC. Thankfully, someone else had that problem. The issue is that there are different settings for Debug and Release with the Simulator and iPhone. As a result, you have to set the settings appropriately for each configuration. Thankfully, you just need to be aware of this and set it as necessary. Here's the screen you need to be aware of.
    iPhone app settings
  • MonoTouch - supporting iPhone/iPod Touch/iOS Version 4

    You may have been hearing about the iOS Version 4 a lot.  You probably have installed it onto your iPhone/iPod Touch devices.  It's got a couple of cool features that I think are significant.  One is the ability to run applications in the background.  Now, this isn't general purprose in the background as I understand it.  Its for very specific situations.  In my specific situation, I wanted to check the location of a phone and call a method when it's location changed (no, I'm not stalking you).  Anyway, it looks like there are two steps in the process. 

    Step on in the process is for the application to tell the device that the app needs to recieve background updates.  This is done through the Info.plist file.  You will need to modify your file to look like this:

    Info.plist

    Notice the UIBackgroundModes entry.  I added an entry for location.  The three possible entries are:

    • audio.
    • location.
    • voip.

    I think that they are all fairly self explanatory.

    The next step is to run some code to listen for events in the background.  My code to do this is:

                cllm = new CLLocationManager();
                cllm.DesiredAccuracy = 1000;
                cllm.StartMonitoringSignificantLocationChanges();
                cllm.StartUpdatingHeading();
                cllm.StartUpdatingLocation();
                cllm.UpdatedLocation += HandleCllmUpdatedLocation; // an event to handle changes
     

    and that seems to be it.  I'm getting device updates in the bacground.  Life seems to be pretty good on this.  FYI, you might need to set your values differently, but this should get the point across.

  • Thoughts on Windows Phone 7 - Android - iPhone - Blackberry

    Now, we're 8-9 months down the road from my last posts on Windows Phone, Google Android, and the general mobile marketplace.  Wow, how things have changed.  First off, Google Android has really taken off in its number of units in the marketplace.  While I wasn't the first person to complain about the Droid line of phones, that didn't stop people from buying them.  HTC has released a line of Android Phones.  I bought the HTC EVO 4g.  These are impressive devices. 

    Now, we know that Microsoft is releasing Windows Phone 7.  A lot has been made on twitter Friday about me talking about the product.  I didn't realize I was going to start such a s*** storm about it.  52 @ replies by lunchtime.  With 140 characters, its hard to full explain your thoughts.  Anyway, I wanted to blog about this a little bit more and try and put some more of my thoughts out there.

    • We need lots of mobile devices out in the marketplace.  These devices will have various form factors.  Its about hitting a market segment that will buy your product.
    • There is constant turnover in the mobile device marketplace.  If you don't buy an iPhone, Windows Phone, Android device today, you might next year.
    • Microsoft keeps telling me to develop for their device.  Ok, fine.  Tell me "What you are doing to get your device into 20-30-40 million users hands next calendar year?"  Time is money, and because its my time, it doesn't come from some type of magical bucket of money.  My time is valuable.  I don't want to waste it on a platform that you aren't pushing or is a dead end.  What is your strategy to get your product into enough users hands to make my investment in time valuable?  I keep asking this because I don't get a satisfactory answer.  In May, the answer was "I can't talk about it now because plans are still be formalized."  That's fine.  Its the end of August now, what's the plan.  I understand that you are putting $500 million into marketing the device.  Awesome.  What segment are you going after?  I feel like you are trying to sell me sizzle, devs are meat and potatoes guys.  Trust me doesn't work, show me does.  The devil is in the details folks.
    • Developing on a platform costs money.  Web HTML works well because it works across lots of platforms.  Now, develop native apps for iPhone, Android, Windows Phone 7.  How much does that cost?
    • What's the story on Windows Phone 7 development hardware?  Who's got any hardware?  I've asked on Twitter looking for devs in Knoxville with a #WP7 device. Asked for devs in Tennessee.  Still waiting on a response.  Now, I realize that there is a limited supply of dev devices, but the simulator will only take you so far.  For what I'm doing, the simulator isn't going to cut it.  Now, I don't need the hardware at this point in time. With no users, I'm not worried about hardware today, but when I ask when will we have access to hardware in the future, it doesn't get answered.  I'm not asking for free hardware either.  With the iPhone, there is the iPod Touch that you can use for most of your development.  With Android, Google has the Nexus One, which is currently sold out.  I'd like to see some piece of hardware that I can use without having to buy a phone and its associated minutes.  I want a device.
    • I think the Windows Phone 7 bootcamps are brilliant.  Run around the country doing one day training seminars on Windows Phone 7.  Brilliant.  I'll see you at the Knoxville Windows Phone 7 bootcamp on September 30.
    • Android is activating 200k devices per day or some similar number.  Wow, that's a big number.  Even if it's worldwide, its still a big number.  Assuming that this is per working day, that's about 4.5 million devices per month and 54 million devices per year.  Wow, that's a big number.  Clearly Windows Phone 7 will blunt that, but its still a big number.  Still Android is there first, and that matters.
    • RIM may be the big boy of smart phones with 40% of the marketplace, but no one is building apps for their platform.  9,000 apps for the platform?  That's nothing.
    • Apple iPhone devices are where people are spending the most money at.  The device costs more, the minutes cost more, and the apps cost more money.  There is money there.  While there are fewer for pay apps on Android, the volume is significant and does make up for the lower for pay apps. 
    • Apple, Android, and RIM are the big guys in the smartphone application marketplace.  Palm was recently purchased by HP, so I suspect that they will re-emerge in 2011.  Can Windows Phone 7 make it anything better than #4 in 2011?
    • I've had conversations with three potential clients about the iPad.  No one is asking about Android or Windows tablets. It looks to me that the market wants the iPad.
    • I have reservations about the iPhone/iPad family of devices.  Not that I think that the devices are bad.  Far from it, I think the devices are very good.  The problem I have with these devices is Apple.  Their licensing terms for their SDK and devices makes me really nervous.  Remember the story of the scorpion and the dog.
    • Android is very interesting, but the flood of all of the devices with all the versions of the product.  Now, I am impressed with the higher end devices, but not everyone is getting a high end device.
    • Nobody is developing for RIM devices at this point in time. I think Palm has even less developers.
    I guess what I am saying in all of this is that I'm concerned about all of the devices.  Understand what you are getting yourself into with the mobile platforms.  None are perfect.
  • Control the Excitement

    Software developers are creatures of extremes.  They can love, love, love you one day, and hate, hate, hate you the next day.  Right now, we're riding the crest of this love for MonoTouch.  Well, we all must remember that Apple is a very interesting company.  They can pull the rug out from under you at any moment.  And guess what, they don't care.  Now, I'm a big fan of MonoTouch.  I love the idea of writing C# code to interface with the native Apple iPhone UI.  I love writing business logic in a common language. 

    Back in April, Apple introduced a new license for their iPhone. No one knows what this new licensing really means.  Will Apple enforce this in such a way as to eliminate MonoTouch?  No one knows.  Jeff McWherter and I had a good conversation at devLink on the subject of MonoTouch and ObjectiveC for applications. 

    The lesson to be learned is that you need to have a full, open, and honest discussion on a technology. With customers, clients, and with yourself.  The technology you are pushing won't magically solve all problems in a project, solve world hunger, stop wars, or do anything earth shattering, but it will solve a specific need.

    This kinda flows into my own personal thought of: "You are never as good as you are when you are good and you are never as bad as you are when you are bad." If Apple were to cut MonoTouch off tomorrow, wonder how we'll be thought of?  Courageous risk takers or idiots that tried to spit into the wind.  Hopefully, somewhere in between.

  • VSLive!Redmond Presentation - ASP.NET 4 AJAX - UpdatePanel, WebForms, and AJAX Control Toolkit

    I've just posted the presentation for my talk at VSLive!Redmond 2010 on "ASP.NET 4 AJAX - UpdatePanel, WebForms, and AJAX Control Toolkit." - Enjoy

    Source Code

  • VSLive!Redmond Presentation - What's New in ASP.NET 4 WebForms

    I've just posted the presentation file from my talk at VSLive!Redmond on "What's New in ASP.NET 4 WebForms." Enjoy.

    Source Code.

  • There's a Language for that...........#6

    Want to support the iPad and the iPhone with one universal executable? There's a language for that: MonoTouch.
  • There's a Language for that...........#5

    Want to take your existing C#/.NET knowledge to the iPhone and not have to learn a completely new way of doing things? There's a language for that: MonoTouch.
  • There's a Language for that...........#4

    Want to code like its 2010 and not 1984 and Big Brother is watching you? There's a language for that: MonoTouch
  • There's a Language for that...........#3

    Want to take your .NET knowledge to the iPhone?  There's a language for that: MonoTouch
  • There's a Language for that...........#2

    Want to share business logic between mobile devices? There's a Language for that: MonoTouch

  • There's a Language for that...........#1

    Want to program the iPhone? There's a language for that: MonoTouch.
  • Learn iPhone Programming for Free with Wrox, Novell, and McClure

    Are you a .NET Developer wanting to get into developing on the Apple iPhone and iPad? MonoTouch ebookLearn iPhone Programming for Free with Wrox, Novell, and McClure. Wrox/Wiley has released Wallace McClure’s Wrox Blox on Novell’s MonoTouch for free.  The MonoTouch Wrox Blox is available at: http://www.wrox.com/WileyCDA/Section/id-406371.html.

    For .NET Developers, Novell has produced the Trial Version of MonoTouch.  The Trial Version is a free download that allows a developer to write and build applications and test them in the iPhone simulator.  The Trial Version is available at: http://monotouch.net/DownloadTrial.

    Wallace B. (Wally) McClure, President of Scalable Development, Inc., is the author of the Wrox Blox on Novell’s MonoTouch and the author of the updated Professional iPhone Programming with MonoTouch recently released.  In addition, McClure has produced a downloadable video podcast introducing MonoTouch.  The video is available for download from http://aspnetpodcast.com or directly at:http://bit.ly/deMCoJ.

    "Want to program the iPhone? Want to share business logic between mobile devices? There's a language for that: MonoTouch."
  • DevConnections in Las Vegas

    I'll be at ASP.NET Connections (aka DevConnections) in Las Vegas this November at the Madalay Bay Resort.  I'm really excited about this.  I'll be speaking on:

    • ASP.NET 4 WebForms - What's New, Cool, and Hip!
    • ASP.NET AJAX - UpdatePanel, WebForms, and the AJAX Control ToolKit.
    • An Introduction to Windows Azure.

     

More Posts Next page »
2006 - Wallace B. McClure
Powered by Community Server (Non-Commercial Edition), by Telligent Systems