Archive for April 1st, 2011

Meow Me Now

Search using your location is extremely helpful while on the go. Today, we’re excited to announce Meow Me Now, a new feature that lets you find the kittens that are near you. You can find kittens either by searching for [kittens] on google.com on your Android or iOS device, or by using the Near Me Now drop-down feature on the Google homepage.




Voice search to locate nearby kittens will also work on Android devices, and iOS devices with the Google Search App, so try meowing into your phone to find the kittens near you.

Posted by Yusuke Tabata, cat herder

The IO Ticket Contest

When Google I/O sold out so fast, were kicking around ideas for how to get some of our ticket reserve into the hands of our favorite people: Dedicated developers. Someone floated the idea of a contest, so we had to pull one together double-quick. You can read the questions and first-round answers here.

We thought you would enjoy some statistics, mostly rounded-off:

  • 2,800 people visited the contest page.

  • 360 people tried answering the questions.

  • 1 person got all six right.

  • 200 people did well enough to get into Round 2.

  • 70 people submitted apps.

  • 38 of the apps worked well enough to be worth considering.

  • 10 apps (exactly) got a “Nice” rating from the first-cut reviewer.

While we’re doing numbers, let’s investigate which of the Round-1 questions were hard. In decreasing order of difficulty, identified by correct answer, we find: Dalvik (97.5% correct), 160 (96%), Looper (58.5%), LLVM (57%), fyiWillBeAdvancedByHostKThx (43%), and PhoneNumberFormattingTextWatcher (19.5%).

So, our thanks to the people who put in the work, and a particular tip of the hat to the deranged hackers er I mean creative developers who built three particularly-outstanding apps:

First, to Kris Jurgowski, who pulled an all-nighter and wrote a nifty little app... on a Motorola CLIQ running Android 1.5! Next, to Heliodor Jalba, whose app had some gravity-warping extras and was less than 11K in size. And finally, to Charles Vaughn, whose app included a hilarious “Party Mode” that brought a smile to everyone’s face.


SharePoint Server 2010 Windows Phone 7 Mobile Edition

It’s wonderful to end the week with two of my favorite passions, SharePoint and Windows Phone 7. The last few months I’ve been working on a special project that you can install on your Windows Phone 7 starting today.

SharePoint Server 2010 running on Windows Phone 7.

That’s right. Now you no longer need an IT shop to use SharePoint. You can just deploy it on your own phone and decide how to run it.

screenshot_4-1-2011_6.41.58.946screenshot_4-1-2011_6.42.3.906

Why would anyone deploy a server to your phone? Several reasons but mostly it’s because you can totally control your entire SharePoint environment even if you’re out of the office or offline.

Scott Haack, Senior Principle Program Manager in Bellevue, Oregon said this about why this project came about:

“It’s about choices. SharePoint Server 2010 on the mobile platform allows users to have choices about who runs their IT systems and decides how the system is configured without having to go through complicated business processes.”

It’s all about competition too. Here’s what Phil Haanselman, Principle Platform Program Manager in Portland, Washington says about the platform:

“With SharePoint Server 2010 on the Windows Phone 7 this pushes the platform to the edge and beyond. There is nothing like this on the iOS or WebOS and nobody is thinking in this space. It’s going to be game changing.”

Bringing the Pieces Together

I knew it was going to be a big job but I was up for it. There were so many pieces to get co-ordinated and I knew I would have a few challenges along the way. Here’s what it took to bring it all together.

IIS Express to the Rescue

Back in June when Scott Guthrie announced IIS Express I got thinking about SharePoint and the Mobile user. Wouldn’t it be great if they could run SharePoint on their phones! I knew Windows Phone 7 was coming up as I was currently in the beta and building Silverlight apps already. I knew SharePoint would run on Window 7 so why not combine the best of both worlds.

IIS Express is a lightweight component that weighs in at under 10mb. It also does not require administrative access to run applications and has a full feature set including SSL, URL Rewrite, and other IIS 7.x modules. All packaged together that can be run from a single location and does not require any registration/configuration steps.

It seemed like IIS Express was perfect to run on WP7.

NoDo Delays

Getting IIS Express onto the phone was going to be a bit of a challenge however with some work and co-ordination with high ranking figures at Microsoft I was able to get it to compile down into a single DLL file.

To get it onto the phone I worked with top people on the Windows Phone team and packaged IIS Express into the next update, the infamous NoDo release. So as of right now, anyone with NoDo installed actually has web server available to them. There were several other updates we packaged into NoDo that were put there for SharePoint Server to run (mostly around Kerberos ticket support and background processing).

So as a result this was the primary reason why NoDo was delayed. I do apologize to the community for the NoDo delays, but now you know the reason. It was so mobile users could run SharePoint.

Getting past the NoDo release the Windows Phone 7 was now ready and enabled for serving up .aspx pages and SharePoint.

Redesigning Central Administration

The biggest challenge was having to rebuild the Central Administration site to work with the Metro look and feel. It was a lot of work but we’ve built all the screens as new using the Windows Phone 7 controls. This was done so you have good touch targets to hit. In early betas, we were just using the out of the box Central Admin web pages but it was hard to click on things and I was always zooming in and out. So I built the Metro screens to make it easier for you to work with Central Admin.

Everything is all there and hopefully organized in a good way so you won’t be totally thrown back when using the WP7 version of SharePoint. Here’s Central Admin running on WP7.

screenshot_4-1-2011_6.42.6.786screenshot_4-1-2011_6.42.9.724

The Metro Way

With the Metro overhaul of Central Admin we wired everything back up. Using MVVM was key in being able to have the UI respond to what you did so it was easy to show real-time information about the server.

Here’s how you can create a new Web Application with Central Admin on the Windows Phone 7

First select Web Applications from Application Management pivot. You’ll see this menu

screenshot_4-1-2011_6.42.13.323

Now click on Manage web applications. We couldn’t implement the Ribbon in Windows Phone 7 so from the list select Create New Web Application. You’ll be presented with a data entry screen to enter all the information for your new web app:

screenshot_4-1-2011_6.42.16.90

All of the options are there just like the current release of SharePoint. Unfortunately due to some last minute problems and trying to get this done by the end of the week we were not able to include Claims Based Authentication so only Classic Mode is available. Anyone would be a Fool to try to deliver something in April without testing it so this was why this decision was made.

Complete Feature Set, Almost

Not exactly. As I said we don’t support Claims Based Authentication and there are few other features in SharePoint 2010 we don’t support. Here’s a list of the current restrictions. These have been left out either due to time constraints or technical limitations on the phone platform. A few of these features will be available in the Mango release of Windows Phone 7 due out sometime in 2012.

  • Kerberos. Kerberos support is not fully implemented so it’s suggested to keep web sites running under NTLM (most of the system works under Kerberos but without a true integrated authentication on the Windows Phone 7 not everything works, yet)
  • Content Deployment. This isn’t implemented at all in this release due to time constraints. It’s planned for a future release. Hopefully this doesn’t hinder people too much.
  • InfoPath Forms Services. This was tricky but with some clever coding, we’re able to convert, on the fly InfoPath forms into Windows Phone 7 controls. However in some last minute testing we found that InfoPath forms with complex rules breaks the model. Simple forms work, complex forms will be delivered in Service Pack 1 due out later in the year.
  • Define blocked file types. Unfortunately as we don’t have complete control over access to the Windows Phone 7 sub-systems (like the registry) so we’re unable to control blocked file types. No word on when this feature might be available.

Leveraging the Phone

This release doesn’t just allow you to run SharePoint Server on your phone but we’ve also leveraged specific features of the WP7 platform as well. For example you can now hook up SharePoint Picture Libraries to the Windows Phone 7 Media Library and any picture taken on the your phone can instantly be available to anyone browsing the site.

The other big integration point is Geolocation. Windows Phone 7 devices all have a built-in GPS. SharePoint Server 2010 leverages this by geotagging any content. A new feature in Document Libraries allows users to geotag documents with location information which can then be used to filter documents and lists based on locality and even plot document creation locations on a Bing Map using the built-in Bing Map Controls.

It’s really up to the SharePoint web part developer to figure out how best to leverage these new capabilities. Like it was said before, this is game changing.

Availability

Most importantly when can you get this?

Right now!

Download the .xap file here directly and you can instantly sideload it onto your Windows Phone 7 (developer unlock required). If you’re not a developer then you’ll have to wait for the app to make it through Marketplace Certification which should be any day now.

You do require the NoDo update to be able to run SharePoint Server 2010 on your phone so please make sure you have that installed first. The software will detect if IIS Express is installed or not and unfortunately fail if you don’t have the update yet.

The software will be released on CodePlex in the next while under the Apache License so anyone can contribute to it. Please contact me offline if you’re interested.

After MIX11 we’ll be making the server available as a NuGet package that can be deployed anywhere without the need to access the Windows Phone Marketplace. Stay tuned for news on this.

Many Thanks

Many thanks to all the wonderful people that made this project possible. Without their co-operation we wouldn’t be where we are today:

  • Geoffrey Chaucer
  • Eduard de Dene
  • John Aubrey
  • Sizdah Bedar
  • Joseph Boskin



SQL U Class 3 – Objections to Cloud Computing

Class Description:
This Cloud Computing course
at SQL University explains the Distributed Computing paradigms used by major vendors, and covers information useful to the data professional for implementing proper architecture designs.

Pre-Requisites:               
General computer programming data development terminology, industry experience in at least one of those disciplines

Instructor and Bio:
Buck Woody – Bio available at:
http://buckwoody.com

Class Detail:
In this class we’ll focus on:

·         What cloud computing is

·         Where it can be used

·         How it applies to you and your organization

Each day there will be a lecture, along with homework for the next class session. There will be a comprehensive final exam – it’s contained primarily in your work environment!

Class 3 – Cloud Computing – Objections to Cloud Computing

Welcome to the third class in SQL University on “Cloud” computing. If you haven’t had a chance to take a look at class one yet, you may want to switch to that post and learn about the definition of cloud computing, since I’ll be using those terms today.

In computing’s short history, we’ve moved from a centralized model (mainframes and large datacenter systems) to a distributed set of computing (LANs and WANs). We’ve worked quite hard over the last couple of decades moving away from the mainframe, to owning the systems and infrastructure where we run our code.

The “cloud” however, is a kind of return to centralized computing, at least as far as control of the underlying systems applies. So it’s natural, especially at the non-architect level of IT, to question parts of the cloud paradigm. Most often there’s a misunderstanding that an organization should take all of the on-premise infrastructure and code and move it to “the cloud”. This would be a mistake. Distributed Computing systems like Windows and SQL Azure are well suited to certain situations (see class two) and not as well for others.

There are, however, some legitimate concerns about moving to a Distributed Computing environment. And there are some equally valid responses. In today’s class I’ll address the three primary objections I’ve heard most often.

Paradigm Shift

“I’ve spent 20+ years moving to direct-connected computing. When I hear “Cloud” I think I need to replace everything I have, a very daunting task mixed into my already busy day.”

The answer to this concern involves two areas – computing history and technical vision. As I mentioned earlier, we have moved from a centralized model once before – in fact, I hear the exact same concern there – to a distributed LAN environment. Now the industry is moving to a more centralized model using a Distributed Computing paradigm (some computing on-premise, some in an IaaS, some in PaaS, others in SaaS), and there is some inertia to get over for it to take hold.

It’s also important to think about the vision of computing, and its purpose. If the goal is to control hardware and install operating systems, then on-premise only is a good way to go. But that should be a means to an end – the goal should be to enable the organization with technology. After an honest, thorough investigation, perhaps one of the cloud paradigms makes sense for a certain application. In that case, implement that application and move on to the next investigation. Many shops have already done this with things like Payroll or web services. They simply use a SaaS for that.

Security

“I know my own security. I control the process from end-to-end, and my data is within my four walls. If I put my programs on the web I’m faced with the client, network, and vendor’s levels of security. That’s just too big a risk.”

Probably the most frequently asked question (at least directly) is about security in the cloud. And it’s a valid concern. When data leaves your organization, you need to be certain how it will be handled and who will have access to it.

There are several ways to think about this issue. The first is to understand your data, and which parts of it require high levels of security. If a particular datum requires a very high level of security, you can simply use a hybrid approach and not put the data in the cloud at all. You can make the result of the data (such as a “Yes, customer charge is approved”) or a result (101.12) back to the calling cloud application. This is possible in Windows Azure using the Application Fabric, and in fact is at use in many locations.

Another approach is to deeply encrypt the data prior to sending it to a Distributed Computing system. There are code factories that do this, appliances and other hardware devices that allow you to encrypt and decrypt data prior to transmission. Many ATM machines use this paradigm.

The final thought here is that security is in three parts in a Distributed Computing environment: The facilities and hardware, the operating system and environment where the cloud provider runs, and the code you write (in the case of a PaaS solution). I discuss these areas further in this learning plan: http://blogs.msdn.com/b/buckwoody/archive/2010/12/07/windows-azure-learning-plan-security.aspx

Performance

“We’ve worked really hard tuning everything from the hardware to the network to get our programs running this quickly. There’s no way the web can handle that kind of speed”

This concern is completely true – if the architecture of the application doesn’t change. The basic premise for a Distributed Computing system is that you should always try and co-locate the data payload close to the computing resources. In Windows Azure, you can choose where your data store is, and a wise choice is often to co-locate the code and the data.

Once again, making the selection for the proper application to move to the cloud is essential. If you plan to import and export terabytes of data each day to support a Business Intelligence system, then the latency question becomes a bigger issue. If, however, you can locate all that data in the cloud to begin with, process it there and deliver a much smaller report on a screen, the problem is mitigated. It all goes back to design and application candidates.

Even with large sets of data, caching, trickle-feeds and so on can also work in your favor. There is more on this topic specifically addressing SQL Azure here: http://blogs.msdn.com/b/cbiyikoglu/archive/2010/01/05/evaluating-application-performance-and-throughput-in-sql-azure.aspx

Reading Assignment:

Along with the references shown above,  check out “The Case Against Cloud Computing” at CIO Magazine: http://www.cio.com/article/477473/The_Case_Against_Cloud_Computing_Part_One

 


Displaying JSON in your Browser

Do you work with AJAX requests a lot and need to quickly check URLs for JSON results? Then you probably know that it’s a fairly big hassle to examine JSON results directly in the browser. Yes, you can use FireBug or Fiddler which work pretty well for actual AJAX requests, but if you just fire off a URL for quick testing in the browser you usually get hit by the Save As dialog and the download manager, followed by having to open the saved document in a text editor in FireFox.

Enter JSONView which allows you to simply display JSON results directly in the browser. For example, imagine I have a URL like this:

http://localhost/westwindwebtoolkitweb/RestService.ashx?Method=ReturnObject&format=json&Name1=Rick&Name2=John&date=12/30/2010

typed directly into the browser and that that returns a complex JSON object. With JSONView the result looks like this:

JsonViewBrowser

No fuss, no muss. It just works. Here the result is an array of Person objects that contain additional address child objects displayed right in the browser.

JSONView basically adds content type checking for application/json results and when it finds a JSON result takes over the rendering and formats the display in the browser. Note that it re-formats the raw JSON as well for a nicer display view along with collapsible regions for objects. You can still use View Source to see the raw JSON string returned.

For me this is a huge time-saver. As I work with AJAX result data using GET and REST style URLs quite a bit it’s a big timesaver. To quickly and easily display JSON is a key feature in my development day and JSONView for all its simplicity fits that bill for me. If you’re doing AJAX development and you often review URL based JSON results do yourself a favor and pick up a copy of JSONView.

Other Browsers

JSONView works only with FireFox – what about other browsers?

Chrome
Chrome actually displays raw JSON responses as plain text without any plug-ins. There’s no plug-in or configuration needed, it just works, although you won’t get any fancy formatting.

[updated from comments]
There’s also a port of JSONView available for Chrome from here:

https://chrome.google.com/webstore/detail/chklaanhfefbnpoihckbnefhakgolnmc

It looks like it works just about the same as the JSONView plug-in for FireFox. Thanks for all that pointed this out…

Internet Explorer
Internet Explorer probably has the worst response to JSON encoded content: It displays an error page as it apparently tries to render JSON as XML:

IeJson

Yeah that seems real smart – rendering JSON as an XML document. WTF? To get at the actual JSON output, you can use View Source.

To get IE to display JSON directly as text you can add a Mime type mapping in the registry:

 JsonRegistry

Create a new application/json key in:

  • HKEY_CLASSES_ROOT\MIME\Database\ContentType\application/json
  • Add a string value of CLSID with a value of {25336920-03F9-11cf-8FD0-00AA00686F13}
  • Add a DWORD value of Encoding with a value of 80000

I can’t take credit for this tip – found it here first on Sky Sander’s Blog. Note that the CLSID can be used for just about any type of text data you want to display as plain text in the IE. It’s the in-place display mechanism and it should work for most text content. For example it might also be useful for looking at CSS and JS files inside of the browser instead of downloading those documents as well.

© Rick Strahl, West Wind Technologies, 2005-2011
Posted in ASP.NET  AJAX  
kick it on DotNetKicks.com

  • Sponsored Links

  • April 2011
    M T W T F S S
    « Mar   May »
     123
    45678910
    11121314151617
    18192021222324
    252627282930  
  • .

    Copyright © 1996-2010 Answer My Query. All rights reserved.
    iDream theme by Templates Next | Powered by WordPress