FloTiles v1.0 released!


I am really excited to say that the next game which I was working on is finally complete and released in the Windows Store. It is called FloTiles  and it is a Windows 8 Metro application. It is also my entry to The Windows 8* & Ultrabook™ App Innovation Contest sponsored by Intel and hosted in CodeProject.

There were two rounds in this contest. In the first round, we had to write an article in CodeProject summarizing our idea for the app for this contest. Based on that, Intel would be providing us an Ultrabook as a 3 year loan. I passed the first round and got the Ultrabook within a few weeks. The deadline for the second round was Nov 21 for the app to be submitted to either the Windows Store or Intel’s AppUp store. But the judging would be done only after December 1st. This gap gave me ample time to add more tweaks and features to my first submission.

You can read in detail about the FloTiles game in my CodeProject article which I updated yesterday. It is the longest article I have written yet as it details the various components and  features incorporated during the development of this app.

The FloTiles game is available for download from the Windows Store here.

Accessing Dropbox via .NET

One of my recent assignments involved storing of a configuration file in Dropbox so that it can be accessed by my application from anywhere around the world. This was a new area of exploration for me as I had no idea how to make a .NET application communicate to Dropbox. This gave me an opportunity to learn something new and I jumped at it.
My first step was to create a Dropbox account and go through their documentation of the REST APIs. Dropbox does not have an official SDK to access it via .NET (though third party libraries are available).
The next step was to search online. Surely, someone would have faced a similar problem and someone else would have suggested some solution to it. I visited several forums where people had posted questions on this issue.
One such forum led me to Christophe Geers’ Blog. This guy has done a tremendous job of writing a series of excellent articles describing the various steps you need to perform to get access to the Dropbox account, creating of folders, uploading and downloading of files, etc. These articles are what a beginner needs to get an solid understanding of programmatic access to DropBox. The accompanying source code is an added bonus.
Do check out his articles here.

Back from Hibernation!

Hello again! I’m back! It has been more than 9 months since I posted in my blog. Actually I planned on taking a short break from blogging as life was becoming pretty hectic, both personally as well as professionally. Soon the short break became long enough to be classified as hibernation. :)

On the personal front, God blessed my wife and me with a boy, four months back. Life has definitely changed a lots with the arrival of our bundle of joy.
Nowadays, I get very little time to pursue personal projects which has resulted in a backlog of several projects begging to be relieved of their pending status. I have slowly started working on them once again and hopefully I shall blog more regularly describing my progress.
In one of my previous blogs, I had mentioned that I was a finalist in the Windows 8 First Apps contest organized by Microsoft. Well, I am happy to say that I was one of the 8 winners of this competition. As the prize, I got a Samsung tablet (the same that was given to the attendees in Build 2011), 2 years of Windows Store membership and 1 year of Azure membership.

Here are a few of the personal projects that I am currently working on:

  • WPFSpark 1.2 : Minor bug fixes and addition of features requested by the users. Plus, addition of a new control.
  • Porting of WPFSpark controls to Windows 8 : Updating the code to utilize the WinRT libraries and take advantage of the asynchronous programming model.
  • Updating FlipSaw to the Windows 8 Release Preview (and then to RTM) : This has been a long pending task. Progress on this has been real slow, though I am happy to say that I am in the final phase of updation and am hoping to upload it to the Windows Store before the release of Windows 8 to the world.
  • FloTiles: This is the name of my next game which I am currently developing. It is a Windows 8 Metro application. It is also my entry to The Windows 8* & Ultrabook™ App Innovation Contest sponsored by Intel and hosted in CodeProject.

WPFSpark v1.1 released!

WPFSpark v1.1 is now released!

WPFSpark v1.1 brings a major revamp of the FluidWrapPanel control.

The core logic of FluidWrapPanel class has been rewritten from scratch to make it more robust and usable in various scenarios, resulting in a faster, optimized code.
These changes are breaking changes, meaning if you are using the latest WPFSpark library (v1.1) then your old code using the old FluidWrapPanel will not compile unless you update it. The interface IFluidDrag has been removed. Child elements no longer need to implement the IFluidDrag interface to participate in the drag and drop interaction. Instead I have added a new Behavior called FluidMouseDragBehavior which would facilitate the child element with drag and drop interaction. Child elements must add this behavior to participate in drag and drop.

Get the latest WPFSpark source code here.

Windows 8 First Apps Contest: You are a Finalist!

When Microsoft announced Windows 8 in September 2011 during the Build conference, I was very excited about the incorporation of Metro UI in the OS. Fast and Fluid, truly defined the first impression of Windows 8. I downloaded the Developer Preview and installed it on a virtual machine using VirtualBox. Though I did not succeed in installing it for the first time, I was successful the second time (after numerous searches on the web regarding this topic)! On the virtual machine, to be frank, the experience was not so awesome, but ok. The animations were a bit sluggish.

After installing, I played around with the OS for a few days. I created a few sample apps just to get a hang of metro apps. I was eager to create a major Metro App but was lacking the motivation (yeah, I can be lazy sometimes… :) ).

Then in December, Microsoft announced the Windows 8 First Apps Contest! The thought of having an app of my own as a part of Windows 8 was very appealing. Besides, it gave me the required motivation to delve into Windows 8 programming.

I had created an app called FlipSaw, which is an innovative version of the jigsaw game, in WPF. I was planning to port it to WP7 so that I could release it at the MarketPlace. As the time was short, I decided to port the app to Windows 8 first. The only problem was I had minimal knowledge about Windows 8 programming and I had only 1 week before the deadline of January 8th.

Since the platform is a developer preview, I had a tough time porting the code and getting it to work. I learnt a lot of new things in Windows 8 thanks to the developer community forums. I was able to get the code working only 4 hours before the deadline and couldn’t polish the app much!. Finally I submitted the app with only 15 mins to spare.

Then it was a week long wait. The Build Contest site mentioned that the finalists will be notified via email by Jan 15. But there was no update till Jan 15th 12:59 pm PST (Jan 16th 1.30pm Indian Time). So I thought I didn’t make it. In the evening, the site posted a message that the finalists have been selected and the mails have been sent. I checked my mail again but still my inbox showed zero new mails :(. With a heavy heart, I resolved to update my app anyway when the Beta came out and post it in Windows Store when it opened.

The next day morning, as I was checking my mails, I found a new mail waiting for me in the inbox.

To my utter joy, the subject read – First Apps Contest: You are a Finalist!

Well, I have two more weeks before the deadline of Round 2 (Feb 3rd). This round will be way tougher than the previous round. Time to smoothen the rough edges of my app.

Let’s FlipSaw!!! :)

WPFSpark v1.0 released

Ok, I admit, this post should have been released a few weeks ago, but last few weeks had been pretty hectic and I was unable to post about my pet project WPFSpark which reached the v1.0 milestone last month. Yes, WPFSpark  v1.0  is now released !

I have revamped the CodePlex page to give it a new look. You can access it here.

This release adds four new controls – SparkWindowFluidPivotPanelFluidProgressBar andFluidStatusBar.

It also brings the following improvements to the existing three controls:

  • SprocketControl
    • Internal timer stopped when control is no longer visible. It is started only when the control is Visible. This reduces CPU load.
    • Added the LowestAlpha dependency property which indicates the lowest Opacity value that must be used while rendering the SprocketControl’s spokes.
    • Added the AlphaTicksPercentage dependency property which indicates the percentage of total ticks which must be considered for step by step reduction of the alpha value. The remaining ticks remain at the LowestAlpha value.
    • SprocketControl now implements IDisposable.
  • ToggleSwitch
    • Added the IsCheckedLeft dependency property which indicates whether the checked content appears in the left or right side of the ToggleSwitch
    • Added the CheckedToolTip property which is displayed when the ToggleSwitch is in the Checked state. Set this property to String.Empty( “” ) to prevent this tooltip from displaying.
    • Added the UncheckedToolTip property which is displayed when the ToggleSwitch is in the Unchecked state. Set this property to String.Empty( “” ) to prevent this tooltip from displaying.
  • FluidWrapPanel
    • Added the ItemSource dependency property which can be bound to an ObservableCollection<UIElement>.

Also, I have published articles on CodeProject detailing about the newly added controls . Do check them out. The links are available at the CodePlex site.

HTC Titan – The latest Windows Phone 7.5 beast!

HTC just released their biggest Windows Phone 7.5 smartphone – the HTC Titan! From the first look, it seemed pretty impressive – the large 4.7 inch Super LCD screen, the fluid and elegant Windows Phone 7.5 OS, the 8MP camera with dual flash.
But a much deeper look into the hardware left me disappointed. Here are a few features I would have liked Titan to have to make it a sure winner in the long run-

  • Higher resolution – Having 800×480 on a 4.7″ screen is like watching a 720p movie on an HDTV. A 1280×720 resolution would have been an absolute killer feature.
  • More RAM – Its time we moved from 512MB memory for smartphones to at least 1GB. With multitasking a standard feature in almost all the smartphone OSes, an increased memory would indeed be a blessing.
  • Front facing camera – I expect it to be at least 2-3 MP for a better experience during video calls.
  • Extensibility – the Titan offers no scope of extensibility. An SD slot would have indeed been great.

Apart from all the above points, a major put off would be the price. If HTC can deliver a smartphone with great features at a killer price, it would be a surefire winner!