Azure DevOps Launch


Pic: Walking Paths, Singapore. Shot on Samsung Galaxy S8

This Saturday, 12th January, I got a chance to talk about Azure DevOps at a local meetup. The event was about Azure DevOps Launch & the session was about CI/CD and the title for my session was:
Let’s Build LOLSystems : Complete CI/CD in Action. LOL-System is a custom I bought for my fictitious company used for demo purpose. I showed how we can setup CI/CD for ASP.NET Core application in Azure DevOps and deploy it to Azure Web Apps.

Namaste,
Mayur Tendulkar

Global Windows Azure Boot-Camp Hosted by PUG

bootcamp

On April 27th, Microsoft and Communities hosted a Global Windows Azure BootCamp. Pune User Group also hosted this event and it was a grand success. With excellent in-depth topic coverage and pool of speakers, this event was well received. You can check the event pictures here on Facebook.

Along with my friend, Sarang Kulkarni, I presented a session on Windows Azure Mobile Services. You can find the presentation here

If you’ve missed this session, you can find more information about Windows Azure Mobile Services at http://www.windowsazure.com/en-us/develop/mobile/
Thanks a lot for making this event a big success. You can soon find more such events lined by from PUG. And hope to see you more at PUG Events.

58090_10151657913586584_824362951_n

Namaste

Mayur Tendulkar

No water on moon? Blame Microsoft!!!

I had to write this post because many of my friends got influenced by some posts on some of the tech sites.

PLEASE NOTE: I’VE GATHERED SOME OF THE NOTES ON THIS POST FROM OTHER SITES AND PROVIDED LINKS TO THEM. IF OTHER SITES HAVE ANY ISSUES, I’LL REMOVE THEM. THESE NOTES AND COMMENTS FROM OTHER USERS ARE FOR REFERENCE ONLY.  JUST SEND ME A MAIL ON mayur.tendulkar {at} gmail.com

These days, media has decided to blame Microsoft for everything. Without thinking about the reason or the meaning of the statement made by someone. Media just makes it public in wrong way.

It is since ages. You got the blue screen? blame it on Microsoft. But, you’ll never understand that this blue screen can appear because of many reasons – incorrectly written driver, unsigned drivers, malfunctioning software. But nobody blame those developers, but Microsoft. For more details, visit this link: http://www.pcadvisor.co.uk/news/security/3435503/non-microsoft-security-flaws-the-ones-to-watch-secunia-analysis-finds/

As my friend Raj once told me, there were (and still valid now) rules about how to write apps for Windows. Where developers should put their setting/app files? Where developers should store roaming data and local data? And many more are there. People developed apps without following it. And media blamed Microsoft. So, here comes METRO Windows Store / Windows Phone App Development Guidelines. Follow it or leave it.

Recently, many sites posted about support for Windows Phone devices ending in 2014. Crap!!!

I’m going to highlight some of the comments from The Verge. You can find these comments here: http://www.theverge.com/2013/3/18/4118326/windows-phone-8-support-until-july-2014 

image

image

One post over there marks my current situation. I bought my Mozart in/around Dec’ 10. It still receives update. Rather, just yesterday I received one.

image

And one guy’s comment over here:

image

Unfortunately, these devices (7.0) can’t be upgraded to 8.0 because of kernel level changes. I can understand this one. But that is not valid for 8.0 device upgrades. I don’t see Microsoft will again ‘reimagine’ Windows Phone 8.0.

For sure: Microsoft can make things much more clear if they put right marketing around Windows Phone and make statements which are highly clear that nobody can take any other meaning from it.

image

And the last one, from The Verge itself: http://www.theverge.com/2012/12/27/3808858/htc-hd2-running-windows-RT 

image

Just have a guess about HTC HD2 specs, release date and dates for support end.

I think, that’s it. Rather than discussing on the support lifecycle, I would have loved if the discussion was around features and apps that are required on Windows Phone. 

By the way, Microsoft has the best support lifecycle than any other vendor over here. Imagine devices built for Windows XP Tablet Edition (Toshiba Tablet) running Windows 7 very smoothly.

— JUST MY THOUGHTS…

Namaste

Mayur Tendulkar | www.mayurtendulkar.com

I Love Windows Phone–My new HTC 8X

I Love Windows Phone. Before WP, I was and I am still in love with Windows Mobile – only the best (and I still believe) mobile OS till now. I had HTC Touch and i-mate SmartFlip devices.  So, when HTC released Mozart, I and few of my friends ordered it at very high rates and with just 7 day warranty!. Now it’s been ~3 years that I’m using it. However, this device still works and looks like a charm. Never hanged, never crashed and never gave sluggish response. For me, the basic required functionalities and apps were there. However, there was some annoyance about transferring files and some notification fails.

So, I wanted to upgrade. Upgrade to next WP release and here it is. HTC 8X. One of the most beautiful phones out there. A slim-trim-power packed device. You can read the full specs here.

WP-8X-by-HTC-Graphite-Black-3viewswtmk

There are some very nice (some asked for and some proactively provided) features included in this release of WP. And here is a quick shot. Here, I would like to point out some of the best features I liked about WP8. For rest of them, click here

01. Direct file transfer from Windows Explorer

image

As you can see, you can just plug-in your device and it appears in your Windows Explorer. You can transfer any kinds of files just like you do with your devices. Yes, it was most awaited feature and I’m happy that finally it is here. Plus you can set your own ringtones [though I hate personal ringtones other than the default ones. Sometimes it is annoying]. Find more information here.

WP_20130316_002

Also, there is new sync software for Windows 8 users. This one is pretty good to transfer audio/video and images. Still, I would prefer ZUNE anytime. And trust me ZUNE is ANYTIME better than iTunes. iTunes sucks.

02. Indic Support

I’m from India and many of my friends (even my mom) would need Marathi (Devnnagari/Indic Script) to use some of the phone features or browse the net. WP7 didn’t had that functionality. But with WP8, you get it here

wp_ss_20130316_0001

03. Total Device Backup

Finding your phone and wiping the data is a nice feature. Remote wipe was there since Windows Mobile days and the legacy was carried forward to WP as well. However, with WP8 you get total backup of your device.

wp_ss_20130316_0003

04. Notifications

WP7 had notifications like Toast, Tile and Badge. But for me it was hard to get notified with apps like Skype and WhatsApp. With WP8 you get these notification directly on lock screen and as well as on start screen if you’ve pinned that app. Not a single notification missed till now Smile

wp_ss_20130316_0004

05. Offline Maps

With Nokia, you get Nokia Drive and other beautiful navigation apps. With HTC, the choice was limited. However, with WP8 you get offline maps to download (and I think, they’re Nokia Maps). So, you can roam around even if you don’t have good net connectivity.

wp_ss_20130316_0006

06. Start Screen Personalization

Well, there is nothing new as such. Live tiles were there before (in WP7), but now you get multiple sizes and it really helps you to personalize your start screen. It takes approx 15-20 mins to customize this screen, but it can be highly productive in long run. Plus, the colors and design are so lively/fresh that I can’t get bored of it. There are many people who feel the same. It is not like a dead icon on other platforms. You can see, how all my important apps/social network apps/mails are just one tap away.

startpage 

Conclusion

As I mentioned above, there are many new features like Kid’s corner, Wallet, Office Integration and much more. You can get more information about all those features click here.

However, with technology, there can’t be something enough. There will be always a new core in chip, always a new functionality in OS and always a requirement for an app. I know it will take time to grow with Windows Phone, but whatever I’ve, I’m loving it. All my required apps, functionalities are well fitted in this release of WP. For upcoming features, well, we’ve next version coming up. And this time, your device will upgrade to it. Smile

Namaste

Mayur Tendulkar | www.mayurtendulkar.com

Downloading images and storing in PictureLibrary

Recently, one of my friend Kunal and I were discussing about storing images in Picture Library on Windows Phone. At first, it looks pretty simple task as there are launcher/choosers concepts to handle this kind of situation. People can use PictureChooseTask to select a particular picture from Picture Library, however saving picture to the same is bit tricky. So, here is the solution.

Saving image files (from your application or downloaded from web site) to Picture Library is multistep procedure like:

  • Downloading image from Web or capturing image within your application.
  • Create StreamResourceInfo and StreamReader for returned image stream.
  • Temporarily storing image in application’s IsolatedStorage
  • Creating bitmap image from the temporary image and storing it in Picture Library.

If you’ve your image in your application (may be content or resource), you can follow MSDN Code Sample for storing that image into Picture Library. However, if you’re downloading the image from web, following code will help you.

  • Add reference to following required assemblies or include them into your project:
 using Microsoft.Xna.Framework.Media;  
using System.Windows.Resources;
using System.Windows.Media.Imaging;
using System.IO.IsolatedStorage;
using System.IO;

  • On click of a button, download image from web using WebClient. Along with it add an event handler (for callback) as this method is going to run asynchronously.
 private void button1_Click(object sender, RoutedEventArgs e)  
{
WebClient web = new WebClient();
web.OpenReadCompleted += web_OpenReadCompleted;
web.OpenReadAsync(
new Uri("http://iunlockjoy.cloudapp.net/Content/images/phone2.jpg",
UriKind.Absolute));
}

  • On callback read the image and store it in IsolatedStorage, read it and store in Picture Library.  
 void web_OpenReadCompleted(object sender, OpenReadCompletedEventArgs e)  
{
//Get the image stream and read it
var imageStream = new StreamResourceInfo(e.Result, null);
var streamReader = new StreamReader(imageStream.Stream);
//Create temp holder for image
String tempJPEG = "TempJPEG";
//Get application's ISOStore & check for prior files with same name.
var myStore = IsolatedStorageFile.GetUserStoreForApplication();
if (myStore.FileExists(tempJPEG))
{
myStore.DeleteFile(tempJPEG);
}
//Create a stream to save the temp file
IsolatedStorageFileStream myFileStream = myStore.CreateFile(tempJPEG);
byte[] contents;
//Binary read to read the image stream
BinaryReader bReader = new BinaryReader(streamReader.BaseStream);
contents = bReader.ReadBytes((int)streamReader.BaseStream.Length);
//Actually creating bitmap here
BitmapImage bitmap = new BitmapImage();
bitmap.CreateOptions = BitmapCreateOptions.None;
bitmap.SetSource(imageStream.Stream);
WriteableBitmap wb = new WriteableBitmap(bitmap);
//Saving this bitmap into ISOStore
wb.SaveJpeg(myFileStream, wb.PixelWidth, wb.PixelHeight, 0, 85);
//Don't forget to close the stream
myFileStream.Close();
//Open stream to read the file
myFileStream = myStore.OpenFile(tempJPEG, FileMode.Open, FileAccess.Read);
//Get access to user's media library for pictures, videos, music files
MediaLibrary library = new MediaLibrary();
// Save the image to the saved pictures album.
Picture pic = library.SavePicture("SavedPicture.jpg", myFileStream);
MessageBox.Show("Image saved to saved pictures album");
//Again, don't FORGET to close the stream
myFileStream.Close();
}

  • Now, navigate to Picture Library > Saved Pictures and you should have the image stored over there.

I’ll really appreciate if Microsoft, will come up with PictureSaveTask (launcher) to save the picture in Picture Library to make the consistent programing methodology.

You can download the entire source code from my SkyDrive. I hope, it will help you to build some great apps. Happy Coding.

Namaste

Mayur Tendulkar | www.mayurtendulkar.com

Getting Ready for Free PUG WP Training

Thanks for registering to Pune User Group’s Windows Phone Training event. If you haven’t registered yet, you can visit http://iunlockjoy.cloudapp.net for registration. We do have some seats available.

Attendees need to bring their own laptops for this event. And laptops should meet following requirements.

    • Windows® Vista® (x86 and x64) with Service Pack 2 – all editions except Starter Edition OR
    • Windows 7 (x86 and x64) – all editions except Starter Edition
    • 4 GB of free disk space & 3 GB RAM
    • Windows Phone Emulator requires a DirectX 10 or above capable graphics card with a WDDM 1.1 driver. You can verify that by using dxdiag (in Start -> Run) tool. 

      image

    • DAEMON Tools Lite v4.45.2 (with SPTD 1.80) – required to mount ISO files

If you have Visual Studio 2010 already installed, make sure that, you’ve upgraded it with Microsoft Visual Studio 2010 Service Pack 1 BEFORE installing next SDK.

Once you download the WP SDK ISO from Microsoft or take it from PUG, please run the setup.exe from mounted ISO. On next screen, read and accept the agreement as shown below:

image

Once, accepted, on next screen just click on ‘Install Now’ button as I’ve shown here:

image

Now, it will start installing the tools and SDK on your machine.

image

After completing the installation, you should get following window:

Capture

If you’re very keen to fire-up the development environment, click on “Run the Product Now” button or wait till the training begins.

For extra controls, you may want to download and install Windows Phone Toolkit – Nov 2011 (7.1 SDK). This will give you more controls like listpicker, phonetextbox, etc…. Please find more information on the same link.

For any technical queries related to Windows Phone Application development, post it on PUG’s Mobile and Embedded Forum at: http://www.puneusergroup.org/Forums/ForumView.aspx?pageid=2&mid=23&ItemID=21 and we’ll make sure that those will be addressed.

See you soon at PUG Windows Phone Training Event.

Namaste

Mayur Tendulkar | www.mayurtendulkar.com

PUG Windows Phone Development Training for FREE!

Pune User Group is back in action. This time with a bang. :)

With Microsoft, PUG is hosting 4 days (Saturdays only) training program for working professionals and hobbyists. This training program is absolutely free for all registered applicants. Key points to note are:

  • Register to AppHub (http://create.msdn.com) with annual subscription fee $99 or INR4500, which will be REFUNDED (in terms of gift/cash voucher from Microsoft) only after successful submission of 1st application. Note your ISV ID from AppHub account info.
  • Register to PUG SIte (http://iunlockjoy.cloudapp.net) and provide your ISV ID.
  • Attend free training at ICC Tower, Sanapati Bapat Road, Pune
  • Develop Windows Phone application and submit on MarketPlace for testing & certification
  • Claim your goodies at iunlockjoy (http://www.iunlockjoy.com) after successful app submission. For Women (1) app and for Professionals (3) apps.

For any queries, please write to iunlockjoy {At} puneusergroup.org or call us, mobile numbers mentioned here: http://iunlockjoy.cloudapp.net/Event/ContactUs

Namaste

Mayur Tendulkar | www.mayurtendulkar.com