<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-23284801</id><updated>2012-01-15T17:42:34.521-08:00</updated><title type='text'>Arshad's Blog</title><subtitle type='html'>I am a developer working in some private organization. I mainly program in .Net. I am posting here stuff I found and some personal thoughts I would like to share with the rest of the world.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>10</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-23284801.post-6505637853556740275</id><published>2007-11-17T09:56:00.001-08:00</published><updated>2007-11-17T09:56:43.407-08:00</updated><title type='text'>Filthy Rich Clients: Developing Animated and Graphical Effects</title><content type='html'>Filthy Rich Clients refers to ultra-graphically rich applications that ooze cool. They suck the user in from the outset and hang on to them with a death grip of excitement. Filthy Rich Clients: Developing Animated and Graphical Effects for Desktop Java Applications shows you how to build better, more effective, cooler desktop applications.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.salientstuff.com/index.php/2007/11/07/filthy-rich-clients-developing-animated-and-graphical-effects-for-desktop-java-applications/'&gt;read more&lt;/a&gt; | &lt;a href='http://digg.com/programming/Filthy_Rich_Clients_Developing_Animated_and_Graphical_Effects'&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-6505637853556740275?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/6505637853556740275/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=6505637853556740275' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/6505637853556740275'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/6505637853556740275'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/11/filthy-rich-clients-developing-animated.html' title='Filthy Rich Clients: Developing Animated and Graphical Effects'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-8813903824211934208</id><published>2007-10-22T13:18:00.001-07:00</published><updated>2007-10-22T13:18:04.463-07:00</updated><title type='text'>Free Books on .Net Framework</title><content type='html'>Download IT Books and Certification meterials free of cost&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.salientstuff.com/index.php/category/books/net/'&gt;read more&lt;/a&gt; | &lt;a href='http://digg.com/programming/Free_Books_on_Net_Framework'&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-8813903824211934208?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/8813903824211934208/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=8813903824211934208' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/8813903824211934208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/8813903824211934208'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/10/free-books-on-net-framework.html' title='Free Books on .Net Framework'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-7781364479547202870</id><published>2007-10-22T12:47:00.001-07:00</published><updated>2007-10-22T12:47:55.155-07:00</updated><title type='text'>Download Book on Microsoft Expression Web</title><content type='html'>Get a jump start on using this brand-new Web creation tool from Microsoft. Built from the ground up using current Web standards, Expression Web make it easy to create pages that look good in all browsers. Mirroring the program’s focus on standards, the book shows you how to use Cascading Style Sheets to build consistent, easy to navigate designs.&lt;br/&gt;&lt;br/&gt;&lt;a href='http://www.salientstuff.com/index.php/2007/10/21/microsoft-expression-web/'&gt;read more&lt;/a&gt; | &lt;a href='http://digg.com/design/Download_Book_on_Microsoft_Expression_Web'&gt;digg story&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-7781364479547202870?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/7781364479547202870/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=7781364479547202870' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/7781364479547202870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/7781364479547202870'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/10/download-book-on-microsoft-expression.html' title='Download Book on Microsoft Expression Web'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-5183670193958114913</id><published>2007-08-17T00:01:00.000-07:00</published><updated>2007-08-17T00:14:34.748-07:00</updated><title type='text'>A potentially dangerous Request.Form value was detected from the client</title><content type='html'>It means that you can't post values containing HTML ( or script ) tags to the server. In other words - if you have a textbox and the visitor enters something like&lt;br /&gt; &lt; script&gt; alert('a') &lt; "/ script&gt; and then presses Submit button this error will occur since the posted value(s) contains HTML tags.,it's for security reasons.to prevent this you can add a tag validateRequest="false" into the Page-directive on top of the page you want users to be able to input HTML and script tag or you can write in the web.config file&lt;configuration&gt;&lt;system.web&gt;&lt;pages validaterequest="false"&gt;&lt;/SYSTEM.WEB&gt;&lt;/configuration&gt;it will affect all pages on your site.You can read more at &lt;a href="http://www.asp.net/faq/RequestValidation.aspx"&gt;ASP.Net site&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-5183670193958114913?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/5183670193958114913/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=5183670193958114913' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/5183670193958114913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/5183670193958114913'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/08/potentially-dangerous-requestform-value.html' title='A potentially dangerous Request.Form value was detected from the client'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-2651747134608683368</id><published>2007-05-12T13:13:00.000-07:00</published><updated>2007-05-12T13:21:31.712-07:00</updated><title type='text'>Encrypting Text using DESCryptoServiceProvider</title><content type='html'>While creating a User Account form on your website, you probably need to store users information like username, email address and password in your database.If you are storing user passwords in unencrypted form then if someone compromises your database they have access to the passwords for every user.&lt;br /&gt;I am writing some code snippet that will do the encrypting for you, using &lt;strong&gt;DESCryptoServiceProvider&lt;/strong&gt;, you can find this object under &lt;strong&gt;System.Security.Cryptography&lt;/strong&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;'Encrypt the text&lt;/strong&gt;&lt;br /&gt;Public Shared Function EncryptText(ByVal strText As String) As String&lt;br /&gt;Return Encrypt(strText, "&amp;%#@?,:*")&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;'Decrypt the text&lt;/strong&gt;&lt;br /&gt;Public Shared Function DecryptText(ByVal strText As String) As String&lt;br /&gt;Return Decrypt(strText, "&amp;amp;%#@?,:*")&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;'The function used to encrypt the text&lt;/strong&gt;&lt;br /&gt;Private Shared Function Encrypt(ByVal strText As String, ByVal strEncrKey As String) As String&lt;br /&gt;Dim byKey() As Byte = {}&lt;br /&gt;Dim IV() As Byte = {&amp;H12, &amp;amp;amp;H34, &amp;H56, &amp;amp;H78, &amp;H90, &amp;amp;HAB, &amp;HCD, &amp;amp;HEF}&lt;br /&gt;Try&lt;br /&gt;byKey = System.Text.Encoding.UTF8.GetBytes(Left(strEncrKey, 8))&lt;br /&gt;Dim des As New DESCryptoServiceProvider&lt;br /&gt;Dim inputByteArray() As Byte = Encoding.UTF8.GetBytes(strText)&lt;br /&gt;Dim ms As New MemoryStream&lt;br /&gt;Dim cs As New CryptoStream(ms, des.CreateEncryptor(byKey, IV),CryptoStreamMode.Write)&lt;br /&gt;cs.Write(inputByteArray, 0, inputByteArray.Length)&lt;br /&gt;cs.FlushFinalBlock()&lt;br /&gt;Return Convert.ToBase64String(ms.ToArray())&lt;br /&gt;Catch ex As Exception&lt;br /&gt;Return ex.Message&lt;br /&gt;End Try&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;'The function used to decrypt the text&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Private Shared Function Decrypt(ByVal strText As String, ByVal sDecrKey As String) As String&lt;br /&gt;Dim byKey() As Byte = {}&lt;br /&gt;Dim IV() As Byte = {&amp;H12, &amp;amp;amp;H34, &amp;H56, &amp;amp;H78, &amp;H90, &amp;amp;HAB, &amp;HCD, &amp;amp;HEF}&lt;br /&gt;Dim inputByteArray(strText.Length) As Byte&lt;br /&gt;Try&lt;br /&gt;byKey = System.Text.Encoding.UTF8.GetBytes(Left(sDecrKey, 8))&lt;br /&gt;Dim des As New DESCryptoServiceProvider&lt;br /&gt;inputByteArray = Convert.FromBase64String(strText)&lt;br /&gt;Dim ms As New MemoryStream&lt;br /&gt;Dim cs As New CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write)&lt;br /&gt;cs.Write(inputByteArray, 0, inputByteArray.Length)&lt;br /&gt;cs.FlushFinalBlock()&lt;br /&gt;Dim encoding As System.Text.Encoding = System.Text.Encoding.UTF8&lt;br /&gt;Return encoding.GetString(ms.ToArray())&lt;br /&gt;&lt;br /&gt;Catch ex As Exception&lt;br /&gt;Return ex.Message&lt;br /&gt;End Try&lt;br /&gt;End Function&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-2651747134608683368?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/2651747134608683368/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=2651747134608683368' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/2651747134608683368'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/2651747134608683368'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/05/entrypting-text-using.html' title='Encrypting Text using DESCryptoServiceProvider'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-2769994885822240035</id><published>2007-05-09T00:43:00.000-07:00</published><updated>2007-05-09T00:45:48.314-07:00</updated><title type='text'>Using XML file as a Database</title><content type='html'>To make my Application Database independent, I have Explored using XML file as an storage instead of using database.&lt;br /&gt;&lt;a href="http://www.codeproject.com/useritems/WritingDataInXMLFile.asp"&gt;Have a look at My Article&lt;/a&gt; , I have posted it at CodeProject.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.codeproject.com/useritems/WritingDataInXMLFile.asp"&gt;http://www.codeproject.com/useritems/WritingDataInXMLFile.asp&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-2769994885822240035?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/2769994885822240035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=2769994885822240035' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/2769994885822240035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/2769994885822240035'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/05/using-xml-file-as-database.html' title='Using XML file as a Database'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-4783090741390490490</id><published>2007-05-07T09:38:00.000-07:00</published><updated>2007-05-07T09:47:03.949-07:00</updated><title type='text'>Uploading Image and Creating Water Mark</title><content type='html'>&lt;strong&gt;Uploading Image and Creating Water Mark&lt;/strong&gt;&lt;br /&gt;&lt;br /&gt;Dim MyFile As HtmlControls.HtmlInputFile = CType(Page.FindControl("File1"), HtmlControls.HtmlInputFile)    &lt;br /&gt;Dim fileName As String = MyFile.PostedFile.FileName.Substring&lt;br /&gt;&lt;br /&gt;(MyFile.PostedFile.FileName.LastIndexOf("\") + 1)         &lt;br /&gt;Dim image As System.Drawing.Image = System.Drawing.Image.FromStream(MyFile.PostedFile.InputStream)  &lt;br /&gt;MyFile.PostedFile.SaveAs(filePath)&lt;br /&gt;Dim bitmap_Large As Bitmap = New Bitmap(image)&lt;br /&gt;Dim bitmap_Thumb As Bitmap = New Bitmap(image, 118, 118)                      &lt;br /&gt;Dim GraphicsWriter As Graphics = Graphics.FromImage(bitmap_Large)    &lt;br /&gt;Dim stringFormat As New StringFormat                       &lt;br /&gt;stringFormat.FormatFlags = StringFormatFlags.DirectionVertical                        GraphicsWriter.SmoothingMode = Drawing2D.SmoothingMode.AntiAlias                        GraphicsWriter.FillRectangle(Brushes.Green, 0, 0, 25, bitmap_Large.Height)                        GraphicsWriter.DrawString("Copyright MyDomain.com " &amp; DateTime.Now.Year, New Font("Verdana", 12, FontStyle.Bold), Brushes.White, New PointF(0, (bitmap_Large.Height / 2) - 122), stringFormat)     &lt;br /&gt;bitmap_Large.Save(MapPath("..\upload\Large\" &amp; FileName &amp; ".jpg"), image.RawFormat)                       &lt;br /&gt;bitmap_Thumb.Save(MapPath("..\upload\thumb\" &amp; FileName &amp; ".jpg"), image.RawFormat)&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-4783090741390490490?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/4783090741390490490/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=4783090741390490490' title='8 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/4783090741390490490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/4783090741390490490'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/05/uploading-image-and-creating-water-mark.html' title='Uploading Image and Creating Water Mark'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>8</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-4241071185039714949</id><published>2007-05-05T12:04:00.000-07:00</published><updated>2007-05-06T04:19:08.421-07:00</updated><title type='text'>Take the power of Google Maps with you on your mobile phone.</title><content type='html'>Take the power of Google Maps with you on your mobile phone.&lt;br /&gt;Real-time traffic — See where the congestion is, and estimate delays in over 30 major US metropolitan areas.&lt;br /&gt;Detailed directions — Whether you plan to walk or drive, your route is displayed on the map itself, together with step-by-step directions.&lt;br /&gt;Integrated search results — Local business locations and contact information appear all in one place, integrated on your map.&lt;br /&gt;Easily movable maps — Interactive maps let you zoom in or out, and move in all directions so you can orient yourself visually.&lt;br /&gt;Satellite imagery — Get a bird's eye view of your desired location. (It's like you're there, we swear.)&lt;br /&gt;Looking for other ways to access Google local listings from your mobile device? Try &lt;a href="http://www.google.com/sms/index.html"&gt;text messaging&lt;/a&gt; Google or using your &lt;a href="http://www.google.com/mobile/loc_search.html"&gt;mobile web browser&lt;/a&gt; to get local listings.&lt;br /&gt;Visit &lt;a href="http://www.google.com/gmm"&gt;www.google.com/gmm&lt;/a&gt; on your mobile web browser&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-4241071185039714949?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/4241071185039714949/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=4241071185039714949' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/4241071185039714949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/4241071185039714949'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2007/05/take-power-of-google-maps-with-you-on.html' title='Take the power of Google Maps with you on your mobile phone.'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-114150198221860823</id><published>2006-03-04T11:50:00.000-08:00</published><updated>2006-03-04T11:53:02.233-08:00</updated><title type='text'>Atlas Project</title><content type='html'>We are now well into the final RTM milestone of the ASP.NET 2.0 and Visual Web Developer 2005 release. Having reached our ZBB (Zero Bug Bounce), we are now locked down on our feature set, and we’re focusing on the final quality, performance, and reliability push.&lt;br /&gt;&lt;br /&gt;At the same time, we have started to work on our next release. One area we’ve been looking at for a while is the growing popularity of richer user experiences in browsers, through AJAX (Asynchronous Javascript and XML)-style programming.&lt;br /&gt;&lt;br /&gt;All of the pieces of AJAX – DHTML, JScript, and XMLHTTP – have been available in Internet Explorer for some time, and &lt;a href="http://blogs.technet.com/exchange/archive/2005/06/21/406646.aspx"&gt;Outlook Web Access&lt;/a&gt; has used these techniques to deliver a great browser experience since 1998. In ASP.NET 2.0, we have also made it easier to write AJAX-style applications for any browser using &lt;a href="http://weblogs.asp.net/bleroy/archive/2005/04/08/397761.aspx"&gt;asynchronous callbacks&lt;/a&gt;, and we use them in several of our built-in controls.&lt;br /&gt;&lt;br /&gt;Recently, however, the technologies used by AJAX have become broadly available in all browsers, and use of this model for rich web applications has really taken flight. There are a number of high-profile new AJAX-style websites out there today, including a number by Google, as well as sites like &lt;a href="http://www.a9.com/"&gt;A9&lt;/a&gt; and &lt;a href="http://www.flickr.com/"&gt;Flickr&lt;/a&gt;. Microsoft will also have more sites that use this technology out there soon – check out &lt;a href="http://www.start.com/2"&gt;Start.com&lt;/a&gt; and the &lt;a href="http://www.virtualearth.com/"&gt;MSN Virtual Earth project&lt;/a&gt; for examples.&lt;br /&gt;&lt;br /&gt;The popularity of AJAX shows the growing demand for richer user experiences over the web. However, developing and debugging AJAX-style web applications is a very difficult task today. To write a rich web UI, you have to know a great deal of DHTML and JavaScript, and have a strong understanding of all the differences and design details of various browsers. There are very few tools to help your design or build these applications easily. Finally, debugging and testing these applications can be very tricky.&lt;br /&gt;&lt;br /&gt;What we’ve set out to do is to make it dramatically easier for anyone to build AJAX-style web applications that deliver rich, interactive, and personalized experiences. Developers should be able to build these applications without great expertise in client scripting; they should be able to integrate their browser UI seamlessly with the rest of their applications; and they should be able to develop and debug these applications with ease.&lt;br /&gt;&lt;br /&gt;For this work, we’ve been working on a new project on our team, codenamed “Atlas”. Our goal is to produce a developer preview release on top of ASP.NET 2.0 for the PDC this September, and then have a website where we can keep updating the core bits, publishing samples, and building an active community around it.&lt;br /&gt;&lt;br /&gt;Here are some of the pieces of Atlas that we are going to be delivering over time:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Atlas Client Script Framework&lt;br /&gt;&lt;br /&gt;The Atlas Client Script Framework is an extensible, object-oriented 100% JavaScript client framework that allows you to easily build AJAX-style browser applications with rich UI and connectivity to web services. With Atlas, you can write web applications that use a lot of DHTML, Javascript, and XMLHTTP, without having to be an expert in any of these technologies.&lt;br /&gt;&lt;br /&gt;The Atlas Client Script Framework will work on all modern browsers, and with any web server. It also won’t require any client installation at all – to use it, you can simply include references to the right script files in your page.&lt;br /&gt;&lt;br /&gt;The Atlas Client Script Framework will include the following components:&lt;br /&gt;o        An extensible core framework that adds features to JavaScript such as lifetime management, inheritance, multicast event handlers, and interfaces&lt;br /&gt;o        A base class library for common features such as rich string manipulation, timers, and running tasks&lt;br /&gt;o        A UI framework for attaching dynamic behaviors to HTML in a cross-browser way&lt;br /&gt;o        A network stack to simplify server connectivity and access to web services&lt;br /&gt;o        A set of controls for rich UI, such as auto-complete textboxes, popup panels, animation, and drag and drop&lt;br /&gt;o        A browser compatibility layer to address scripting behavior differences between browsers.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ASP.NET Server Controls for Atlas&lt;br /&gt;&lt;br /&gt;For ASP.NET applications, we are planning on building a new set of AJAX-style ASP.NET Server Controls, and enhancing our existing ASP.NET page framework and controls, to support the Atlas Client Script Framework.&lt;br /&gt;&lt;br /&gt;ASP.NET 2.0 includes a new feature, called asynchronous client callbacks, that makes it easy to build ASP.NET pages that update their content from the server without requiring a page roundtrip. Asynchronous client callbacks wrap XMLHTTP, and work on a variety of browsers. ASP.NET itself includes several controls that use callbacks, including client-side paging and sorting in the GridView and DetailsView controls, and supporting virtual lists of items in the TreeView control. You can learn more about callbacks on Bertrand Le Roy’s &lt;a href="http://weblogs.asp.net/bleroy"&gt;blog&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Atlas Client Script Framework will fully support ASP.NET 2.0 callbacks, but we’re planning on enriching the level of integration between the browser and the server much further. For example, you will be able to data bind Atlas client controls to ASP.NET data source controls on the server, and you’ll be able to control personalization features of web parts pages asynchronously from the client.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ASP.NET Web Services Integration&lt;br /&gt;&lt;br /&gt;Like any client application, an AJAX-style web application will usually need to access functionality on the web server. The model for connecting to the server for Atlas applications is the same as for the rest of the platform – through the use of Web services.&lt;br /&gt;&lt;br /&gt;With ASP.NET Web Services Integration, Atlas applications will be able to access any ASP.NET-hosted ASMX or Indigo service directly through the Atlas Client Script Framework, on any browser that supports XMLHTTP. The framework will automatically handle proxy generation, and object serialization to and from script. With web services integration, you can use a single programming model to write your services, and use them in any application, from browser-based sites to full smart client applications.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; ASP.NET Building Block Services for Atlas&lt;br /&gt;&lt;br /&gt;With ASP.NET 2.0, we’ve built a rich set of building block services that make it incredibly easy to build powerful, personalized web applications. These building blocks dramatically reduce the amount of code you have to write for common web application scenarios, such as managing users, authorizing users by role, and storing profiles and personalized data.&lt;br /&gt;&lt;br /&gt;With Atlas, we’ll make these accessible as web services that can be used from the client framework in the browser or from any client application. For example, if you are building a website that shows a list of to-do items for the user, you can use the ASP.NET Profile service to store them in the user’s profile on the server. These items will then be accessible even as the user roams from one machine to another.&lt;br /&gt;&lt;br /&gt;Services we will provide include the following (all based on the ASP.NET V2.0 implementations):&lt;br /&gt;&lt;br /&gt;-          Profile: Store per-user data on the server.&lt;br /&gt;-          UI Personalization: Store personalized UI settings on the server.&lt;br /&gt;-          Authentication: Authenticate users.&lt;br /&gt;-          Roles: Authorize user tasks and show different UI based on the user’s roles.&lt;br /&gt;&lt;br /&gt;Because these building blocks are server based, you can use the same security model as for accessing the rest of the site. These services also won’t require any client download – just reference the script proxy from the browser.&lt;br /&gt;&lt;br /&gt;All of our ASP.NET 2.0 Building Block Services are pluggable at the back-end using a common provider model extensibility pattern. We provide built-in providers that let you use a SQL Server database or Active Directory as a store, but you can easily plug in your own. For example, if you want to store user profiles in a centralized cloud rather than on your own database server, you can simply plug in a different provider – the choice is yours. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Client Building Block Services&lt;br /&gt;&lt;br /&gt;In addition to DHTML, JScript, and XMLHTTP, we’re looking at additional services that allow websites to harness the power of the client to deliver an enriched experience.&lt;br /&gt;&lt;br /&gt;The local browser cache is an example of such a service. When enabled, websites can store content in that cache and later retrieve it efficiently. But there’s no API from the browser to store data in the cache, and applications like Google Maps or OWA have to go through hoops to generate unique URLs so that the browser will cache the server response. With Atlas, we plan on providing programmable access to a local store/cache, so that applications can locally cache data easily, efficiently and securely.&lt;br /&gt;&lt;br /&gt;Integration with other applications is another new dimension of a rich web experience. For example, when a user browses an auction site and bids on an item, they can see when the auction ends, but how easily can they integrate that event into their personal calendar application? With Atlas, we are also looking to provide a set of client-side building block services, and a model for how websites can securely publish connection points for those services. When the user selects “Add to Calendar”, the browser can call the connection point to get the calendar data, and pass it onto the local calendar application. The page doesn’t get to download or run its own code or initiate the action, so it’s safer than ActiveX.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Next Steps&lt;br /&gt;&lt;br /&gt;As we move further along, more pieces of the story will emerge. In parallel, we are already working on our next release of development and debugging tools, so that we can deliver a great development experience for these type of rich web applications.&lt;br /&gt;&lt;br /&gt;One question you may have is how Atlas relates to Avalon and smart clients.&lt;br /&gt;&lt;br /&gt;We see Atlas as the best way to write a whole new generation of richer, more interactive, more personalized experiences in browser applications.  Avalon is the next generation presentation model for Microsoft, and will let you build the richest user experiences on the Windows platform. Avalon will deliver phenomenal graphical experiences that use the latest in media integration and hardware acceleration. And Avalon will also let you provide persistent, immersive experiences that go beyond the browser.&lt;br /&gt;&lt;br /&gt;Of course, when you’re building Avalon applications, you can reuse the programming model investments you make today with ASP.NET and Atlas. For example, the ASP.Net Building Block Services and Client Building Block Services will also be accessible from any Avalon client. This model gives you a smooth path to the next generation of applications.&lt;br /&gt;&lt;br /&gt;Stay tuned here to hear more about our plans for Atlas and ASP.NET V.Next. And let us know your thoughts – Are you considering building richer AJAX-style web applications? What would you like to see in Atlas?  You can post here on the blog, or send your comments to our feedback to our team alias at &lt;a href="mailto:atlas@microsoft.com"&gt;atlas@microsoft.com&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-114150198221860823?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/114150198221860823/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=114150198221860823' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/114150198221860823'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/114150198221860823'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2006/03/atlas-project.html' title='Atlas Project'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-23284801.post-114130277543692011</id><published>2006-03-02T04:26:00.000-08:00</published><updated>2006-03-02T04:32:55.443-08:00</updated><title type='text'>Microsoft Updates Web Search Offering</title><content type='html'>&lt;strong&gt;SEATTLE -- Microsoft Corp. unveiled several new online technologies Tuesday, including early versions of an Internet classified service and a local search function that provides extremely detailed pictures of local streets.&lt;br /&gt;Microsoft also said it plans to begin testing a desktop e-mail product designed to work with the company's online e-mail accounts, similar to Microsoft Outlook Express&lt;/strong&gt;&lt;div class="blogger-post-footer"&gt;&lt;p&gt;&lt;a href="http://www.feedburner.com" target="_blank"&gt;&lt;img src="http://www.feedburner.com/fb/images/pub/powered_by_fb.gif" alt="Powered by FeedBurner" style="border:0"/&gt;&lt;/a&gt;&lt;/p&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/23284801-114130277543692011?l=arshadras.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://arshadras.blogspot.com/feeds/114130277543692011/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=23284801&amp;postID=114130277543692011' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/114130277543692011'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/23284801/posts/default/114130277543692011'/><link rel='alternate' type='text/html' href='http://arshadras.blogspot.com/2006/03/microsoft-updates-web-search-offering.html' title='Microsoft Updates Web Search Offering'/><author><name>Arshad Rasheed</name><uri>http://www.blogger.com/profile/14010963323435875888</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
