-1

I need to build a photo sharing application that is web based and also has mobile application for android, Windows Phone and iOS (I don't need to build all these apps, it should be supported seamlessly for these). The Photo Sharing Project will be my assignment in order to learn the varios aspects involved in the photo sharing process (efficient storage, reliability and UI Presentaion will be my key aspects).

I was planning to use Windows Azure, IIS, SQL Server and maybe some silverlight ? Is this the most cost effitive and a recomended way for me to start ?

If any1 could share the current trending technologies used by some of the popular photo sharing sites.

Thank You

Idea Inside
  • 197
  • 1
  • 4
  • 15

2 Answers2

3

Ok so if you want your application to support WP, iOS, Android, ... you'll have to look at some technology that allows you to build an API that can easily be used by any of these platforms. In that case you might want to look at the new ASP.NET Web API which allows you to build an API that supports content negotiation.

Besides that you'll also want to look at how you can store data in Windows Azure using Blob Storage. This allows you to give all your files an URI and have Blob Storage serve these files to your users instead of your application having to do this. This will drastically decrease the load on your front-end. You can even combine this with the CDN to make your images available over multiple edge servers to serve the content from a location closest to your users.

Since you're working with images I'm assuming you'll be working with those images, like creating thumbnails, applying filters, ... These tasks could use lots of resources and you wouldn't want to put all that load on your front-end (Web Role / Web Site). That's why it's a common practice to off-load this work to your back-end (Worker Role) using queues. Here is a complete example coming from the training kit that creates thumbnails using a Worker Role and a queue: http://msdn.microsoft.com/en-us/vs2010trainingcourse_introtowindowsazurelabvs2010_topic3.aspx

As for the Silverlight part, personally, I wouldn't use Silverlight since you'll be limiting yourself to desktops only. Using ASP.NET MVC + jQuery / (any other JS framework) will allow mobile/tablet users to also work with your site even if there isn't a native application available.

Sandrino Di Mattia
  • 24,739
  • 2
  • 60
  • 65
0

You can host the Web application in Azure. Store the photos in the Azure private blob.I am not sure about the Silverlight part I think it is not supported in some mobile platforms.

  • ok I know i should be asking this on some Azure relate blog, but, Is Azure the right tool, are there technologies that can make photo sharing apps easier. – Idea Inside Aug 13 '12 at 07:04
  • It depends on your Requirements, If you are looking for a scalable,flexible and Pay-Per-Use kind of architecture. Azure is the one for you. – Vijay Arumugam Aug 13 '12 at 07:21