Archive for the ‘ Mobile’ Category

REVIEW: Xamarin for Cross Platform Mobile Development

Xamarin-Logo

Software developers have been looking for “Write once – run everywhere” technology for a long time, but we never really NEEDED it before.

In practice we’ve been able to write software based on where we expected it to be used (meaning what platform). For any server side application, we could live with the operating system best supported the development technology we selected.

Targeting desktop apps for Windows, Mac or Linux was platform specific because, for the most part, our target audiences didn’t span platforms. Business users ran Windows, creative types used a Mac, geeks ran Linux.

But “Mobile” has ruined all that.

Well, not really. The trend that has changed everything is really more subtle.

The nature of computer use has migrated from task oriented business functions to lifestyle integration. More importantly what that means is that WHO uses computing devices has changed.

The audience, which was once the functional processional, has expanded (in the way a goldfish is swallowed by a whale) to include the “consumer”.

For many, many companies that are building applications, this change represents an inversion of the market relative to the success of their software product(s).

Conventionally, one leveraged some subject matter expertise and created a product with some anticipation of how much of the potential audience might be enticed to purchasing that product.

There are some software products that will still succeed using this model. Single Player Games are the obvious example. Build a great game and sell it for a couple of dollars to as many people as possible.

Of course, even that model is declining. The emerging revenue model for games (and many other types of apps) is to offer a free version that uses some advertising or in-app sales mechanism to generate revenue. The success of this model depends on the broadest possible adoption of the application.

This is similar to the application use case that most non software companies have for their apps. It’s not about selling licenses, it’s about getting the largest possible segment of their users to engage with their app.

Think, for example, of an airline that creates an app. The app is always free. The purpose of the app is to increase customer use of their services (and therefore increase revenue) and increase customer satisfaction by allowing users to troubleshoot their own travel experience (and thereby decrease customer service costs by letting the customers solve their own problems without talking to a customer service representative.)

Since, unlike the PC market, the mobile market (phone and tablet) has no clear leader in market share. If you want to reach most of your customers on their devices you MUST reach them on both Apple and Android devices.

And, for an organization like an airline, retail operation, health care provider, etc who has a large percentage of business customers, you probably need to cater to Windows Mobile users too (yes, even at it’s current state of adoption.)

As an alternative to building the same app three times (Android, iOS, Windows Phone) there have been efforts like PhoneGap and HTML5 variants to let us write the app once and distribute to multiple targets, but they haven’t really worked very well.

First, they reduce you application to the lowest common denominator (that functionality which is common to all devices). In practice this means inevitably writing lots of code that says “if Android” do this, “if Apple” do that.

For non-trivial apps this gets ugly fast. We just can’t avoid the fact that the three different mobile platforms we need to support have real differences.

So, there is this guy Miguel de Icaza.

Miguel is not just super smart, he’s super clever.

First, he was the primary author of the GNU Midnight Commander, a text-mode file manager for Linux similar to Norton Commander, without which I may have given up on becoming a Linux user. He went on to start the GNOME project (if you’ve never heard of GNOME why are you reading my blog ?:), and became an early contributor to WINE (for running Windows binaries on Linux).

I use those three every day :)

If you’re a .NET developer you probably know that Miguel was also the founder of the Mono project to bring .NET to Open Source. (Yes, I opposed Mono while I was at Microsoft – and yes I hope Miguel has forgiven me. )

In 2011 Miguel co-founded Xamarin to solve exactly the problem I described above.

DISCLAIMER: I haven’t talked to Miguel since before he started Xamarin so my enthusiasm is entirely independent.

Xamarin has done several things that I consider very clever and, especially with the release of version 3, has a very interesting offering to solve the multi-platform mobile development problem.

First = C#. One language, all three platforms (more really, if you include Windows, Mac & Linux implementations). Even if C# is not your favorite language, yo have to concede that “C” based syntax has become relatively ubiquitous, is a public standard, and is supported and evolved by a stable corporate entity. And, Xamarin just added support for the F# languag as well.

Visual Studio Support.

You can use Xamarin Studio (a fine IDE in it’s own right) on Mac or Windows. Or you can use Xamarin Extensions for Visual Studio, which is generally considered to be the bast IDE available on any platform.

Of course, in Xamarin IDE and in Visual Studio, Xamarin gives you a user interface builder.

XBuilder

But then I think it really starts to get interesting.

Xamarin is not trying to solve the UN-SOLVABLE problem of trying to provide tooling that developer will use to build an application once and deliver a great application on all three platforms.

What they are doing instead is (as I see it) identifying which artifacts in our apps can be defined commonly and abstracting as many of those as possible into a single model while accepting that fact that some artifacts will always remain unique to the target platform and providing facilities to make it as easy as possible to work with those platform specifics.

Take, for example, SHARED PROJECTS.

Microsoft announced support for shared projects in Visual Studio 2013 Update 2 and Xamarin subsequently added support in Xamarin Studio. 

XSharedProjects

If you click on the above image and view the full size version you will see a graphical representation of the shared model.

Common or “SHARED” code and project specific sections for Android, iOS and Windows front ends.

What you can’t see in the image is that the IDE “just gets it” so we don’t have to play all kinds of directory games to keep shared inclusions working.

New in version 3 of Xamarin includes Xamarin.Forms.

Xamarin_Forms

 

Xamarin.Forms is cool enough on it’s own but what I find really interesting is this slide from a recent Xamarin webcast on Xamarin 3 which highlights Xamarin.Forms but, for me, serves as a graphical representation of Xamarin’s excellent strategy of moving as much developer functionality as possible into functionality that can be shared across all run-time targets WITHOUT requiring the developer to reduce the experiential quality of his or her app to the “lowest common denominator”.

You can watch the webinar mentioned above [ HERE]

And you can get the slides from the Webinar [ HERE ]

There are a couple of items the detractors point to when discussing Xamarin and I’ll take a moment to address those concerns before I conclude.

The first objection you might hear is cost. “It costs two thousand dollars per seat!!!’

This isn’t actually true. The starter version for individuals is FREE and comes with everything you need to use Xamarin Studio to develop small apps and deploy them to the various marketplaces. (But without Xamarin.Forms)

To step up to the version that can create apps of unlimited size it’s $299 per year (…. and you get Xamarin.Forms)

If you want to use Visual Studio, do in house / enterprise deployment, or use System.Data.SqlClient or Windows communication Foundation (WCF) in your app the price bumps to $999.

Only if you want “Enterprise” level support (like a one day SLA), is the price $1899.

While I am an open source fan (or fanatic) I firmly believe that some forms of software can really only be successful as commercial products.

At $299, or even $999 for Visual Studio and Advanced .NET feature support – the price is only a minor consideration for commercial development (yes, I know, X-Code and Android Studio are free and individual developers don’t like to pay for anything.)

I read a survey recently that suggested the AVERAGE cost for a company to employ a developer for one hour is $100 (which seems conservative to me.)

Therefore, to recover the cost of the Business Edition of Xamarin ($999) it only needs to save me 10 hours of labor. It seems impossible to me that ANY non-trivial application effort wouldn’t easily recover that cost. (Especially since Java & Objective-C have never been primary languages for me.)

There other objection I sometimes hear about is that Xamarin apps are “bigger” so they load slower and take longer to download.

To that I say, so what?

If there is a size difference, it’s usually no more than a couple of megabytes (referring to version 2 examples).

My iPad has a 64bit processor and 128 gig of storage. I just purchased an Android tablet for $299 and it has a quad core processor. (It came with 16 gig of RAM to which I added a 64Gig Micro-SD card).

Significant apps get downloaded once (who really cares how long it takes) and update periodically.

Those minor differences in download and start-up times (if they exist in a noticeable fashion at all) are immaterial as they pertain to real commercial applications.

I don’t think Xamarin expects to displace the use of X-Code or eclipse (etc) for EVERY developer, but if you’re building non-trivial apps and need to get to your customers on whatever devices they choose to own and use, Xamarin is really worth a look. (Especially if you haven’t looked yet at version #3).

I’ll keep you updated on my continuing evaluation.

Why Windows Phone has a future.

A couple of weeks ago I interviews with the field developer evangelism group at Microsoft New England.

Since some will ask…..

Yes, I considered going back to Microsoft. I think they are doing some interesting things and the recent changes in senior management should be good for Microsoft’s developer focus over the next few years.

No, I didn’t get the job. The heaviest focus for the position was on driving apps into the Windows Phone Store and engaging college students. I don’t have any apps in the Windows Phone Store, wasn’t really a Silverlight guy and am 53 years old.

But the interview process caused me to update my look at Microsoft developer focused strategy and the  state of affairs of Windows Phone 8 and the mobile apps development landscape.

According to Business Insider, Windows Phone & Skype lose Microsoft about a half a billion dollars per year. Meanwhile, Microsoft’s revenue from the sale of Android Phones tops two billion dollars.

This makes sense if you think about it because Microsoft’s revenue on Android phones is basically patent insurance. Android manufacturers pay Microsoft in agreements that keep Microsoft from suing those manufacturers for what Microsoft claims are patent infringements present in Android. Thanks means the per device cost to Microsoft is ZERO and the revenue is 100% profit.

So as I look at Microsoft’s huge focus on growing the Windows Phone market share I’ve been thinking about WHY Microsoft would bother. I mean Android is king and enjoys something like 1.5 million activation EVERY DAY!  With Microsoft being paid between $5.00 and $10.00 per Android handset, that seems like a ton of net new profit for Microsoft with absolutely no ongoing investment necessary to sustain that revenue stream.

So why would Microsoft bother to continue to sink money and time into a phone operating system on which they have spend many billions of dolars to develop and market only to achieve 5% (USA) market share to date.

I think there are several reasons.

1.) Microsoft controls the licensing fees for the Windows Phone OS and their per devices licensing fee is greater than the patent fee they receive from the sale of Android phones.  So, the more new Windows Phones they can sell and the more they can displace existing phone customers, even Android users, the larger the per device dollar figure they receive.

2.) There are SEVERAL ancillary revenue streams that come with winning the device market share for Microsoft

- Microsoft charges developers an annual membership to submit apps to the store and takes 30% of all app revenue.

- The greater the use of Windows Phones the greater the demand for apps. Microsoft’s Visual Studio, Expression and MSDN sales go up.

- Microsoft’s developer tools simplify the integration of Microsoft Azure based cloud services with will make their use preferential to other cloud services.

3.) There is a combinatorial benefit across form factors in that today I can share large portions of code across Windows Phone, Tablet, and Phone devices. (And it appears that Microsoft will continue the runtime convergence that makes this possible.)

4.) Microsoft’s Android patent revenue trick may not last forever. The actually validity of Microsoft’s patent claims have not been really tested in court. Especially outside the USA, Microsoft may not find courts favorable to their patent claims.

So it’s good for Microsoft but is it good for me, the developer, if Microsoft succeeds in making Windows Phone successful at the expense of Android or iOS?

I have enough experience with the iOS and Android development tool stacks to comfortably say the Windows Phone 8 development experience puts the others to shame, but event the best development experience may not be interesting to me if the market share hovers at 5%.

IDC says Windows Phone 8 is the fastest growing mobile phone operating system. I’m not sure that means anything though. When your competitors have 96.1% of the existing market share, virtually any growth in your market share makes you the fastest growing.

Still, there are compelling reasons to develop for Windows Phone and there are reasons to think Microsoft might continue to grow the Windows Phone market share.

1.) Windows users are used to paying for premium software (and Android users are notoriously not). So developers may experience better financial success with apps in the Windows Phone Store than in the Android / Google Play store or the saturated Apple Store.

2.) The hardware is better. Yes, I know you may want to argue about this but if you look at the cool new devices coming out of Nokia (which is being acquired by Microsoft) and the sheer pace of new device appearance, he cool hardware factor has to go to Microsoft’s favor.

3.) Desktop Synergy. Microsoft still owns over 90% of the desktop market share. Yes, I know that only 10% of that is Windows 8 but it still leaves Microsoft with the customers ears and the PC manufacturer relationships to keep their hold on the desktop user (especially “consumer” users).

4.) With Xamarin’s products I can take my Microsoft code and target Android, iOS and OSX users as well.

So as of today, the reach opportunity on mobile is Android and the revenue opportunity slights favors Android but if Microsoft gets Windows Phone 8.1 & 9 right, if it gets the legacy Windows Desktop upgrade story right and drives the OS and Tablet prices down (I know, some big ifs) Microsoft has a good chance to become a really significant player in the mobile space.

Enough so that, while I probably won’t be deploying FirefoxOS or Ubuntu Phone apps for my upcoming applications venture, I’m definitely adding Windows Phone to iOS and Android in my mobile plans,

It’s REAL. Firefox OS, B2G, Boot-to-Gecko

Check out this photo.

The Firefox OS (an HTML based Mobile Operating System) installed and running on my phone !

I just wanted to sow it’s REAL and development continues.

More info HERE http://www.mozilla.org/en-US/b2g/

Support Firefox Mobile – add this code to your site or blog !

Mozilla is the only browser vendor who’s mission is to promote open innovation on the world wide web.

This year we’ve been diving into Mobile web technology in big ways.

Please consider including the code below on your web site or your blog. (WordPress users you can simply include the code as a text widget, just remember to point the image links at images on your site.)

The script is simple.

1.) If the visitor is using Firefox (any version) – SayTHANKS !
2.) If the visitor is not using Firefox – check to see if they are using an Android device.
3.) If not, suggest they use Firefox.
4.) If they are using Android, suggest Firefox Mobile.

You can get much more fancy, but you get the idea.

THANKS ! If you add the code to your site – tweet the url to @MisfitGeek and I’ll re-tweet !


<script type="text/javascript">
if (/Firefox[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { 
   document.write("<h2>THANKS  for  Using  Firefox !!!</h2>") 
   document.write("<img src='http://misfitgeek.com/images/firefox3.jpeg' />");
} 
else {
   if (/Android[\/\s](\d+\.\d+)/.test(navigator.userAgent)) { 
      document.write("<h2>Get Firefox MOBILE !</h2>");
      document.write("<a title='Get FireFox MOBILE!' 
	                  href='http://www.mozilla.org/en-US/mobile/'>
                      <img src='fennec-icon.jpeg' /></a><br />");
      document.write("<b>
                      Click the Tail & Get Firefox Mobile for Android!
                      </b>"); 
 }
   else {
      document.write("<h2>Please Consider  Using  Firefox !!!</h2>");
      document.write("<a title='Get FireFox !' href='http://getfirefox.org/'>
	              <img src='http://misfitgeek.com/static/getfirefox.png' />
                      </a>");
   }
}
</script>

How to set up Ubuntu Linux for Android Development

I’ve been developing cross platform apps using HTML5 for deployment across Desktops, Tablets, and Phones. Lots of interesting apps can be built without talking to the hardware but sooner or later, we always want to go deeper. Mozilla is working Won an exciting “Web Runtime” ( read more here ) and there is a version of Firefox for Android.

Though I don’t want to build native Android Apps, I do want to get under the covers and experiment with building the Open Web Apps runtime components (it’s so cool working for an organization where EVERYTHING we build is open source and available for download WHILE it’s being developed.)

Since I hit a couple of snags getting things set up I though I’d share the steps that I used in the hopes that it would help someone else who is just getting started.

Though there are good commercial Java / Android Development tools available, the standard is to use Eclipse and the ADT, so that’s what I’ll be setting up in the steps below.

Eclipse is itself a Java App. On my Ubuntu machine the default Java Runtime was OpenJDK which is not recommended for running Eclipse.

So the first thing that we want to do is make sure that we have our Ubuntu system up to date, the latest version of the Java run-time and JDK installed and our Ubuntu box configured to use the Sun versions by default.

Start by opening up a terminal window.

If you are brand new to Ubuntu you can find any application (including apps you haven’t yet installed) by using the Unity Launcher Bar

The Ubuntu Unity Task Launcher

  1. Click on the Ubuntu App Button on the top.
  2. Start typing the name of the application you are looking for.
  3. If it appears in Installed Apps – click to run it. If it appears in available apps, install it.

Terminal will be installed. Click on it to run.



sudo apt-get update


Enter your password when the sudo command in the terminal prompts you for it.

Leave the terminal window open when the command completes.

Next run upgrade.



sudo apt-get upgrade


Now we need to get the Java JDK

You can install it from your open terminal:



sudo apt-get install sun-java6-jdk


The command above installs only the JDK. I wanted to make user everything Java was installed on my machine and up to date to avoid problems with unresolved dependencies later on so I ran this command:



sudo apt-get install sun-java6-bin sun-java6-jre

sudo sun-java6-jdk sun-java6-plugin sun-java6-source


You can run them all at once but I broke them up for formatting here on my blog.


Now we want to check and confirm that Java and the JDK / Java Compiler installed and being used are the latest. This is necessary because you can have as many different versions installed on your machine but only one will be the default.



java -version

javac -version


And you should see something like this.

Check Java Versions on Ubuntu

Check Java Versions on Ubuntu


If some other version appears (like the Open JDK) then you can change the default by running this command and choosing the version that you just installed.



sudo update-alternatives --config java


Once done, we need to instal lthe Adroid SDK.

Get it here : http://developer.android.com/sdk/

Downloading the Android SDKDownloading the Android SDK

You can decompress the files and place them in a location that makes sense for your Linux usage.

I put mine in /usr/apps/android-sdk

We also want to add the Android SDK to our shell path.

To do this, open a Nautilus instance (File Explorer) and navigae to your Home directory.

/home/joesstagner” in my case.

Then use the menu to select View->Show Hidden Files

Ubuntu Show Hiden FIles

Ubuntu Show Hiden FIles

Find the .bashrc file and open it with the text editor of your choice.

Append the following line, changing the entry to reflect the location that you chose for the Android SDK


export PATH=${PATH}:/home/apps/android-sdk/tools

Save and close the file.

Now we can install Eclipse.

There are two ways that you can do this – but the important part is that you install “Eclipse for Java Developers“.

If you install the bare bones version of Eclipse you may find yourself in dependency hell when you try to set Eclipse up for Android.

You can download Eclipse for Java from www.eclipse.org

Download Eclipse for Java

Download Eclipse for Java

In my case I will use Ubuntu’s synaptic package manager to install Eclipse.

You can find and run the Synaptic Package Manager using the technique referenced above.

Install Eclipse with the Synaptic Package Manager on Ubuntu

Install Eclipse with the Synaptic Package Manager on Ubuntu

Note that I installed both Eclipse and Java development components.

Now we are ready to download and install the Eclipse plugin for Android Development.

1. Start Eclipse, then select Help -> Software Updates….
2. In the dialog that appears, select the Available Software tab.
3. Click Add Site…
4. Enter the Location: http://dl-ssl.google.com/android/eclipse/

Note: It’s probably better to use https for the download but I had problems in doing so.

Add the Android Developer Tools to Eclipse

Add the Android Developer Tools to Eclipse

Then select the tools :

Add ADT - Select Tools

Add ADT - Select Tools

Click next until you get to the EULA and agree to it (click yes)

Eclipse will download and install the ADT.

Installing the Android Developers Kit - ADT

Installing the Android Developers Kit - ADT

You may see a warning that the code to be downloaded is unsigned.

ADT Unsigned Security Warning

ADT Unsigned Security Warning

I chose to install anyway.

When everything is installed, Eclipse will prompt you to re-start Eclipse.

Restart Eclipse

Restart Eclipse

When you restart, Eclipse may ask you about updating the Android SDK

Eclipse Add Reference to Android SDK

Eclipse Add Reference to Android SDK

Eclipse will ask you a couple of permission questions – say yes.

When it’s all done we can select New -> Project

New Android Project in Eclipse

New Android Project in Eclipse

Now we’re ready to start building an Android App !


User Experience Design Guidelines for Windows Phone

In a collaboration between Microsoft Developer Guidance and the Windows Phone team, a new version  of the design guidelines for the Windows Phone has just been complete completed.

A comprehensive set of documentation is now available with guidance for every aspect of Windows Phone UX development.

The documentation can be found here – http://msdn.microsoft.com/en-us/library/hh202915(v=VS.92).aspx

This guide is for application designers and developers who need guidance on how to structure the user interaction model of their phone application.

It gives them all the necessary information to enable them to make the best user-experience design decisions.

There are five parts to the guidelines:

1. The Windows Phone Platform: Introduces the types of applications that can be written for the Windows Phone and what specific user needs they fulfill.

2. The Application Design Process for Windows Phone: Walks people through the steps of designing an application from Design principles, Conceptualization to Implementation.

3. Application Structure and Navigation Models for Windows Phone: Presents different types of Windows Phone application navigation models and best practices for each style.

4. User and Platform Interactions for Windows Phone: Guidance on specific feature areas and user interactions for Windows Phone such as – Themes, animations, gestures, notifications, touch targets, advertising etc.

5. Controls Design Guidelines for Windows Phone: All the important Silverlight controls along with guidelines for usage.

Jump into Windows Phone Development now !!

Windows Azure Toolkit for Windows Phone 7 (v1.2)

The WIndows Phone 7 guys just released the Windows Azure Toolkit for Windows Phone 7 (v1.2) in time for TechEd North America 2011.  This release includes some important new features, including:

  • Support and tooling for the Access Control Service 2.0 (i.e. use identity federation like Live ID, Facebook, Google, Yahoo!, and ADFS)
  • Support for Apple Push Notification Services (works along with the Windows Azure Toolkit for iOS)
  • Support for Windows Azure storage queues (simple enqueue and dequeue operations)
  • Updated UI/UX for the management web application
  • Code refactoring, simplification, and bug fixes

 

Call to Action

  • Try the toolkit.  It’s quick, simple, and (I hope!) will impress you.  Download the bits here: http://watoolkitwp7.codeplex.com/releases/view/61952.
  • Watch the TechEd North America keynote tomorrow to see Drew Robbins demonstrate how quickly you can build application using this toolkit.
  • Blog and tweet!  Please feel free to use any of this email and/or related resources in your own blog posts.

Resources

Two new videos are available up on Channel 9:

clip_image001

Getting Started with the Windows Azure Toolkit for Windows Phone 7

   

clip_image002

Getting Started with ACS and the Windows Azure Toolkit for Windows Phone 7

Here are some useful blog posts with details:

- NOW AVAILABLE: Windows Azure Toolkit for Windows Phone 7 v1.2

- Bring Your Active Directory in Your Pockets with ACS, OAuth 2.0 and the New Windows Azure Toolkit for Windows Phone 7

- Windows Azure Toolkit for Windows Phone 7 1.2 will Integrate with ACS

- Using Windows Azure for Windows Phone 7 Push Notification Support

The CodePlex project has a lot of useful information for you to review:

Details

The toolkit includes an awesome File à New Project experience in Visual Studio.  In this release we added some additional flexibility to the New Project Wizard:

clip_image003

Here you can see that we provide optional support for the Microsoft Push Notification Service and the Apple Push Notification Service (useful for iPhone and iPad applications).  The important takeaway is that Windows Azure is a great place to support these applications, regardless of the platform.

clip_image004

Here you can see the ability to specific the Access Control Service 2.0 in the tooling, along with links that help you decide which to choose and how to proceed.

The net result is a solution that you can literally run and use.  Simply choose the identity provider you want to use, then login.

clip_image006

Support for Windows Azure queues is also simple and straightforward.

clip_image008

Finally, we were not particularly pleased with the out-of-the-box ASP.NET theme, so we updated it. Inspired by the Metro Design guidelines for Windows Phone 7, we came up with something nice and fresh.

clip_image010

Photosynth Team releases iPhone App

The Microsoft Photosynth Team is happy to announce the release of the new Photosynth app for mobile panorama creation and sharing! 

The Photosynth app is a both a significant step forward in mobile imaging technology  and a path to crowdsource local and business imagery back to Bing Local and Bing Maps. 

clip_image001clip_image002clip_image003

The Photosynth app allows you to capture 360° panoramas in all directions (up, down, left, and right) and create spectacular images that our competition simply cannot achieve. With the latest in computer vision techniques, developed in concert with Microsoft Research, Photosynth focuses on making creation easy and fun with a wealth of sharing options.

The app offers both a traditional sharing model to entice existing Facebook users to share images with Photosynth and also deep ties into Photosynth.net for sharing interactive panorama experiences.

However, the team is most excited by the opportunity for users to now “Publish to Bing Maps”, making their panoramas eligible to show up on both the map (with the Photosynth map app) and directly on an associated business’s detail page.  

This way Microsoft is enabling users to contribute to our collective visual understanding of the world directly from their phone.

clip_image004clip_image005

Here’s an introductory video that covers the app:

clip_image006

Key Features:

· See your panorama take shape as you capture them with Interactive Capture

· Look and capture in all directions with Full-Sphere Panoramas

· See the final panorama right away with fast On-Device Processing

· Sharp, high-resolution results with the Advanced Image Stitching Engine

· Panoramas are always available to view and share from the On-Device Library

· Zoom, pan, stretch, and view in landscape or portrait with our Immersive Viewer

· Save your panoramas and view them online at Photosynth.net

Sharing Options:

· Share to Bing Maps to see your panoramas throughout Bing on business detail pages and right on the map itself

· Share to Facebook with images or interactive panoramas

· Images are also available to any app from the Camera Roll

The initial release is for the iOS platform, but the team is also working with the Windows Phone crew to bring this technology next to our own platform. 

This app was a collaboration between many people on the client Photosynth app team, on the Photosynth.net service side making our end-to-end Bing sharing story possible, and in Microsoft Research.

Please or at least check out the above video above and  give the app a try.

Blow you can check out a few example panoramas:

· Museum of Flight

· Japanese Gardens

· International Space Station

· Volunteer Park Conservatory


Update to Windows Phone Developer Programs

Check out the cool news relating to Developers making money in the Windows Phone Ecosystem…..

1. The free app submission number has been increased from 5 to 100 – this is a huge change that breadth developers have really been clamoring for and worth shouting from the rooftops

2. The Global Publishing Partner Program has been announced, allowing developers from currently non-developer-enabled countries to publish their applications through a 3rd party intermediary (and get paid!)

3. The usage of the Microsoft Ad Control – we’re starting to see US developer make significant money with this.  If you’ve registered but haven’t submitted your application to this point, this should help to push you over the edge J

Read the complete details from Todd Brix on the Window’s Phone Developer Blog

Review of Windows Phone 7–a closet iPhone lover’s confession

Ya, I know that I work for Microsoft and am not supposed to admit to ever owning an iPhone, let alone liking it.

What’s more, I know working for Microsoft and being complementary about a Microsoft product (in this case Windows Phone 7) will have fans of “other” products coming out of the trees to call me a “shill”.

Fair enough. But I just calls ‘em as I sees ‘em.

I never set out to own an iPhone.

I was an AT&T customer because I live in the boondocks of New England and needed the AT&T Microcell technology. (There is NO actual Cell Service at my house.)

When my Windows Mobile / HTC phone died, Windows Phone 7 was still several months from it’s release date and I needed a phone. The ONLY phone my local AT&T store had in stock that could connect to my Microsoft Exchange server was an iPhone so I just sorted “ended up with one”.

I confess that the iPhone 4 (the first and only iPhone I’ve ever used) changed the way that I communicate with people and changed the way that I use the World Wide Web.

I liked it.

Then, Windows Phone 7 released.

I knew I would get one for two reasons.

  1. I want to be a team player and therefore needed to develop some hands on expertise with the new Microsoft Phone Platform.
  2. I want to develop some Phone Applications and while I have a Mac xCode and Objective-C just don’t “do it” for me.

So, I waited until the designated date and time and  went to visit my friends down at the AT&T mobile store.

Mind you I still had 2 1/2 YEARS on my contract.

I first selected the LG Quantum. I thought I wanted the slide-out keyboard but after using it for a day I realized that the recessed Shift/Alt keys killed whatever increase in typing speed that I gained from the physical keyboard so I returned it and got the Samsung Focus.

The Focus is a fine device it is lighter than the iPhone but feels well built. (Though at first the lack of weight feels a bit strange.)

The iPhone, especially in my bumper case, feels a bit like a small brick. The Focus is contoured, thinner and more elegant (also in a bumper case).

That makes it nicer to hold on to and more comfortable for longer conversations. There is also no signal degradation no matter how I hold the phone when talking.

Lets compare some of the standard features.

Read the rest of this entry »

On-Line Training Series–Windows Phone 7 Development for Absolute Beginners

clip_image002

What:    Beginners learning to develop in a few hours using Windows Phone 7

Where: http://r.ch9.ms/BeginnerWP7Dev

On Channel 9 we have just launched an all new series that teaches beginning developers with little experience how to develop applications for Windows Phone 7.

This series assumes no knowledge of C#, Silverlight, or mobile development. 

In just a few hours, you will understand the needed concepts to build applications.

Check out this great new series on  Channel 9.

Going to VSLIve ? Catch the Windows Phone 7 Sessions

After seeing Joe Biafore demo all the cool stuff about Windows Phone 7 (Especially for Developers) – I’m hooked.

If you’ll be in Orland the week of the 14th for VSLive be sure to check out the great Windows Phone 7 Sessions.

Why Windows Phone 7 Really Matters to Developers, Companies, and Consumers.

Windows Phone 7 is HERE ! [ www.WindowsPhone.com ]

Read about it at Engadget!

Read about it at Gizmodo !

Get the Developer Story HERE !

Windows Phone 7 will be first hitting retail stores on October 21 in Europe and Asia, and November 8 in the Americas.

People will be able to buy Windows Phone 7 in a variety of styles from Samsung, LG, HTC, and Dell, on networks including AT&T, Orange, T-Mobile, Vodafone, and more.

Take a look at all the exciting phones that will be coming out this holiday season.

But WHY SHOULD WE DEVELOP for Windows Phone 7 ???

Well, I’ll tell you what I think.

It’s a natural question to ask. Do we REALLY need (or even want) another phone platform?

I think YES !

We have the iPhone and Android which have become popular “mobile application platforms” and a couple of second tier platforms like the Blackberry.

So WHY Windows Phone 7 ?

1.) .NET, Visual Studio, Silverlight

For “Client” applications, that is applications run by the “end user” on the “desktop”, Visual Studio is THE tool and .NET is THE platform. There are millions of developers already using Visual Studio and building .NET applications.

The Windows Phone 7 Development model is Visual Studio (C# or VB), Silverlight, XNA, etc. That means the tool, language, and framework is already familiar to millions. And if you’ve already been doing Silverlight (or other XAML based UI work) you’re another step ahead of the learning curve.

For someone who wanted to get started building iPhone applications you COULD buy a MAC and learn Objective-C, and the iPhone SDK. (And yes I know there are ways to hack your way through building iPhone apps on Windows of Linux but they are hardly 1st class experiences.)

I believe there is GREAT strength in building apps using technologies with which you have already invested in developing expertise, but even if you are new to Visual Studio and .NET, Windows Phone 7 may be the right choice for you.

Proper design and developer techniques can allow you to use ONE set of tools and technologies to build your applications with parts that run on Windows Server, Windows Desktop, and Windows Phone.

This is really important for commercial efforts since mobile apps have rapidly become an important, or even necessary extension to a company’s all up business offerings. These days, few applications are truly stand alone. (With the possible exception of entertainment apps.)

Existing companies can extend their existing application to Phone Devices with the same technologies they use to build the rest of their application portfolio.

New efforts can be designed and built with synergies that INTEGRATE the  Phone, Server, and Windows Desktop.

Either way, Visual Studio is (at least in the opinion of MANY developers) the most productive development tool available today.

2.) Microsoft Office, SharePont, Exchange, etc.

The majority of businesses, from small to huge, run their daily operations on some combination of Microsoft Office, Microsoft SharePoint and Microsoft Exchange.

Since Windows Phone 7 applications are built on .NET, Windows Phone 7 development offers amazing opportunities to extend their day to day business operations with Phone based applications.

Though for some reason we tend to think of phone applications as consumer applications (the .99c Twitter Client) there is a HUGE opportunity for custom/internal applications that extend and enhance employee productivity and for customer facing applications that improve the quality and value of a customer’s overall experience 

3.) Windows

Though some of my Open Source friends will hate me for saying this, Microsoft Windows is still, by a HUGE margin, the desktop Operating System of choice and it seems certain to continue to be so far as far into the future as the technical fortune tellers can “see”.

Being .NET based provides some obvious potential to leverage the relationship between the Phone Application and the users desktop as well as application that run on the user’s desktop. Since Microsoft makes Windows, there are even greater future opportunities for creating Windows extensions or even building certain extensions and support for Windows Phone into future versions of the Windows Operating System. 

There can be great synergies to single vendor offerings. “Better Together” !

4.) XBox / XNA

Any way you measure it the Xbox has been a huge success. One of the Development models for Windows Phone 7 development will be XNA, the same model used for developing Xbox applications. Not only does this mean that there are thousands of developers building Xbox games that already have the skills to build Windows Phone applications, it will make it easy to get many of the existing Xbox apps / games to the Windows Phone 7  which is cool for us as consumers and cool for developers who now have a much wider potential customer base.

I also this there is an interesting opportunity for creating games / applications who’s experience spans both devices.

5.) App Store

There is a huge opportunity to service both developers and customers with a GREAT APPLICATION STORE.

Not that the app stores for other phone platforms have not been successful, they have, but clearly there is much room for improvement. 

Sometimes, not being first to a space is an advantage because one has the opportunity to learn from the mistakes of others.

How Microsoft improves on the App Store model will only be proved in practice, but there is real opportunity there.

What’s more, the opportunity to drive adoption for the Windows Phone applications that people build is theoretically much larger because the Microsoft ecosystem is so much larger.

Resource for Getting Started Developing Windows Phone 7 Applications

Windows Phone 7 Jump Start Videos

This Windows Phone 7 Jump Start video training is for all developers interested in developing applications or games for the new Windows Phone 7 Platform.  The course is based on the Microsoft Windows Phone 7 Developer Training Kit and taught by Microsoft MVP’s and Microsoft Press Authors, Andy Wigley and Rob S. Miles.  Watch these entertaining sessions and complete the labs found on Channel 9 to gain development skills using both Microsoft XNA and Microsoft Silverlight.

Windows Phone 7 in 7 Minutes! (Beta)

Each short, to-the-point video in this series highlights a feature of Windows Phone 7 in less than 7 minutes. This is a series for developers who want to pick up the basics quickly with brief explanations and hands-on examples. Demonstrations and code samples are based on the beta release of the Windows Phone 7 Developer Tools.

Windows Phone Design Day Recordings

If you are a developer or designer looking to target Windows Phone, this is a must-watch series.  If you hold any kind of role related to software visual and interactive design, this should still be a great series for you to watch; you will get amazing insights into the research and the process that our teams go through to build stunning, award-winning experiences like the ones you have seen in Zune HD, and will see in Windows Phone.

Windows Phone 7 Unleashed. Windows Phone 7 Events- Western and All US

Come check out Windows Phone 7 Unleashed for everything you need to know to develop for WP7. Whether you’re a seasoned veteran or you’re just starting with .NET development, there’s something in it for you. The first half of this deep dive event is lecture and hands on lab. At the half point mark of the day, you’ll have a solid foundation for building WP7 applications. The second half of the day is going straight to code. Build the best app and have a chance to win!

Start Dreaming. Start Building. Windows Phone 7 Events- Central US

There has been a tremendous amount of buzz and excitement in the developer community as we get ready to launch Windows Phone 7. There have been over 300,000+ downloads of the Windows Phone 7 developer tools as developers are eager to take advantage of this next wave of computing. To help you along the way, there are a number of *free* Windows Phone 7 Boot Camp training events across the area. The purpose of these boot camps is to provide guidance around building apps and games that target Windows Phone 7 and lead  you down the path to start earning money in the Windows Marketplace.

Windows Phone 7 developers – free training and app building workshops! Windows Phone 7 Events- Eastern US

Have you been looking for the best place to learn all about how to develop for Microsoft’s new Windows Phone 7 platform? Have you been champing at the bit to write an application yourself, get it into the Marketplace and start the money rolling in? Well, we are getting ready to launch a series of events on the east coast to satisfy your cravings for Windows Phone 7 information. Join us for our upcoming Firestarter and Phone Garage events today and get started!

Windows Azure One Month Pass

Try out developing your Windows Phone 7 App with Windows Azure One Month Pass free. Learn about the Windows Azure platform with no steep learning curve. With Windows Azure you pay only for what you use, scale up when you need capacity and pull back when you don’t.

Mobile App Match: Builders meet Seekers.

Ready to design a WP7 app, but struggling to get started?  Visit Mobile App Match to find ideas that inspire and the resources you need to succeed along the way.

Thanks to Phone Platform Guy Anthony Kinney for the links (http://twitter.com/ankinney)

FREE two day Windows Phone 7 Developer Training !

windows-phone-7-games-announced-0

Windows Phone 7 offers a new world of opportunity for passionate, creative developers.

Get ready to capitalize on this exciting new frontier with two days of fast-paced learning.

Day One takes you under the hood of Windows Phone 7 with the tools and fundamentals of application development, plus design scenarios using Silverlight, XNA and the Windows Phone 7 SDK.

Day Two is all about turning your napkin sketches into real, sellable apps. Go at your own pace or follow along with proctored group labs to build your app and upload it to the full-service Marketplace.

Check your calendar and pick the day that works best for you – or join us for both days.

Either way, you’ll get all the information you need to build high-demand apps with Windows Phone 7.

Register at www.msdnevents.com/wp7.

I was going to get an iPhone, BUT ……..

WinMo7 My cell phone contract expires in a couple weeks and I was all set to buy an iPhone.

The iPhone had started to take off when I got my current phone / contract but at that the time Microsoft paid for a significant portion of my phone bill so staying with a Windows powered phone was appropriate (I like to be a good team player.) 

Budget tightening as changed the expense policy and now Microsoft’s contribution to my cell phone expenses is limited to $35.

So, I figured I’d get an iPhone, it’s what all the cool geeks have. 

Plus, my Windows phone from T-Mobile is falling apart, which matters little since it’s never really worded all that well any way.

Windows Mobile 6 wasn’t a real home run in comparison.

There have been a number of reasons to prefer the iPhone.

  • Its Cooler
  • Multi Touch UI.
  • Best phone media experience.
  • The App Store with TONS of applications.
  • Huge 3rd party hardware market.
  • Windows mobile apps never seem to be stable enough.

Everyone knows that Apple’s iPhone is the bomb, right ?

Well, today at MIX “The Gu” introduced then Windows Phone 7.

Yea, I know, I work for Microsoft but if you think THAT means I’ll toe the party line than you must be new to reading my blog. 

But as a consumer of phones and a developer there is much in Windows Phone 7 to interfere with my decision to move to the iPhone.

Though the Windows Phone 7 is not “in my hands” yet and I’m talking about preview technology, lets consider what some of those this are.

  • The User Experience – there is nothing wrong with the iPhone user experience but the Win Phone 7’s UE appeals to me because it’s not just a slick interface, it seems to be designed and optimized for phone specific use from little things like like the quick one touch “I’ll be late to this meeting” feature to built in Social Networking functionality.
  • Hardware standards. Microsoft has set detailed specs for the venders who are implementing the hardware. Screeen dimensions, multi-touch, etc will all be standard across devices making development of applications that will work on all devices much easier.
  • Zune features ! – Though perhaps not as neuvo-cool as latest generation iPods, I’ve always felt that for full media experiences the Zune was the best device on the market. Win Phone 7 has a Zune-Like Media Experience.
  • xBox Live – Win Phone 7 supports XNA. This means that you can use the same development technology for games development as that which is used for the xBox. In fact you can play games on the Win Phone 7 that are xBox Live aware.
  • Silverlight 4 !!!!!!! (That’s right the SAME technology stack that was just used to stream and deliver the winter Olympics to millions of sports fans.)

As a developer myself, Silverlight 4 is HUGE !!

The Silverlight 4 PHONE developer experience is the same as any other Silverlight 4 experience. That means you use Visual Studio and C# or Visual Basic to do your development. (And we’ve announced FREE versions of our development tools for Windows Phone 7 Application Development.)

That means like a MILLION developers are already out there who can start with the technology that they already know to build Phone 7 Applications.  And, Visual Studio, .NET, and C#/VB will prove to be move productive than previous phone development paradigms (including Microsoft’s)

…. and there will be apps !!!

Ebay announced a program by which developers will be able to sell and distribute Windows Phone 7 applications on eBay. And, I suspect eBay won’t be the only on line Windows Phone 7 application store to appear.

So, as a consumer, the only question left to be answered when comparing the iPhone to Windows Phone 7 is 3rd party hardware, and I predict that the 3rd party hardware offerings will be plentiful and will start becoming available about the same time the actual phones start hitting the street.

But, I’m not just a phone consumer, I’m a developer.

I dabbled in in Windows CE/CF style phone development and phone development for the iPhone but found both to be too “nitty” for my casual use.

Now though, I can use the same tools that I develop with every day to build apps that I (and hopefully YOU) really want on my phone.

Since it’s .NET I get a network stack so I can code any feature that I like interfacing with Twitter, Facebook, etc.. Since it’s Silverlight I get XAML based UI and the richest media experience on the web.

And THAT seals the deal for me.

Not the only question is – how soon can I get my hands on a couple of them.

Thankfully, the new dev tools come with a complete emulator so I can start building those applications NOW and deploy them as soon as I get my Windows Phone 7 in my geeky little hands.

Resco – Cool Stuff for Mobile Devs and Geeks!

 Compact Framework Controls, Games, and other goodies.

http://www.resco.net/

Giving T-Mobile and Windows Mobile 6 a Try.

After 10 years with Verizon Wireless I’ve changed cell phone providers to T-Mobile.

My experience in the store was great. They guys were friendly and really interested in providing good service.

I selected these 2 devices. The T-Mobile Wing as a PDA/Phone and a Wireless Broad-Band card the Sony Ericsson GC89.

The Wing was a snap to set up and so far I LOVE IT !

While the reviews complained that it was a bit slow, I don’t think it’s bad at all. It’s faster than both the Palm Treo 700w and the VZ6700 that I had with Verizon and the device along with Windows Mobile 6 has lots of great little features.

The GC38 was a bit troublesome to set up on Widows Vista, but it’s too early to hold that against it.

While I was i at it I picked up 2 accessories.

1st – a Plantronics Blue-tooth Explorer 330

Plantronics just makes GREAT Stuff, and this is no exception.

I’ve tried 6 or 8 Blue-tooth ear pieces in the past and hated them all. Either they didn’t stay in (or on), or they gave me a headache.

This one ROCKS ! 

It stays in, it sounds great, is easy to use and I can wear it all day and not be bothered by it. (And it lasts that long on a single charge).

I highly recommend it !!

Next, the MOTOROKR™ S9

This thing ROCKS !!!

Great sounding Blue-Tooth Stereo Headphones – WIRELESS FREEDOM !

Coupled with the Wing via Blue tooth the sound is as good as my Zune or my iPod and with the included 1gig Micro SD card and Windows Media Player from Windows Mobile 6 – I’m Rockin’

It even sounds great on the Motorcycle.

All in all – a great start to my new mobile experience.