Alarm Clock Paid / Free updated #wpdev
I messed up migration of single alarm to multi-alarm. I didn’t set the description field which meant that users to null reference exception and a crash when they tried to edit the migrated alarm.
I have fixed above error. Additionally Free version had failed last update. I was required to localise DayOfWeeks. Took me a while to figure out but the solution couldn’t have been simpler.
Thread.CurrentThread.CurrentUICulture.DateTimeFormat.DayNames
this is a localised Day Of Week names which can be consumed easily. Apps now with Marketplace
1) Wordastic
2) CVC Wods
3) Slydr
4) Alarm Clock Free
5) Alarm Clock
I have started working on a new app but its been a slow progress. Once i finish 3rd app, i might go back to Cool Camera as that would do with some patches based on stack traces.
Wordastic, CVC Words and Slydr Update #wpdev
Last few weeks have been busy. I finally finished 1.0 of Wordastic. I still have to improve the overall experience but its not too bad. The idea is simple. take a word and randomise the characters. Give users a certain amout of time to correct the sequence. the faster they do it, the more points they get.
CVC Words is based on my discussions with my wife about education in early years. CVC words are simple words that start and end with consonant and have a vowel in between. They are frequently used easy to learn works like Cat, Bat, Bad, Mad etc
Lastly i added support for Lithuanian in Slydr based on user request.
High Performance Touch Interface #wpdev #wp7dev
Every now and again i come across developer questions like why is manipulation delta slow etc. Let me tell you why.
UIElement Silverlight for #windowsphone exposes a few events like
http://msdn.microsoft.com/en-us/library/system.windows.uielement(v=vs.95).aspx
![]() ![]() |
ManipulationCompleted | Occurs when a manipulation and inertia on the UIElement is complete. |
![]() ![]() |
ManipulationDelta | Occurs when the input device changes position during a manipulation. |
![]() ![]() |
ManipulationStarted | Occurs when an input device begins a manipulation on the UIElement. |
These are high level touch interfaces and there is a significant overhead in reporting (and hence delay etc).
If you are say drawing on a bitmap or canvas, you dont want a min delta change before event is fired. For that lets look at low-level interface exposed in Silverlight.
http://msdn.microsoft.com/en-us/library/system.windows.input.touch(v=vs.95).aspx
![]() ![]() ![]() |
FrameReported | Occurs when the input system promotes a Windows 7 touch message for Silverlight. |
Touh.FrameReported is a low level method and has little overhead and is very very precise. Let me give you a code sample
Touch.FrameReported += Touch_FrameReported;
you can do above in Loaded event. Here’s the implementation of the Touch_FrameReported handler. WorkArea is Canvas in this. I have also used this in conjugation with WritableBitmap
private void Touch_FrameReported(object sender, TouchFrameEventArgs e)
{
try
{
// Determine if finger / mouse is down
point = e.GetPrimaryTouchPoint(this.workArea);
if (point.Position.X < 0 || point.Position.Y < 0)
return;
if (point.Position.X > this.workArea.Width || point.Position.Y > this.workArea.Height)
return;
if (this.lbLetter.SelectedIndex == -1)
return;
switch (point.Action)
{
case TouchAction.Down:
draw = true;
old_point = point;
goto default;
case TouchAction.Up:
draw = false;
break;
default:
Draw();
break;
}
}
catch
{
MessageBox.Show("Application encountered error processing last request.");
}
}
I hope this is useful to #windowsphone developers out there.
Alarm Clock – Multi alarm supported added #WP #WindowsPhone
a few users asked me to provide my alarm clock app http://windowsphone.com/s?appid=f42310b4-6424-4823-85a3-6dccb1a968c3 While it was not difficult it was a slightly complicated exercise that involved issues with user display and consuming underlying apis. Now i am storing user created alarm data by itself and using that to create underlying sytem alarm notifications.
I only have to finish localisation of the app since i hardcoded all the strings i needed. Will try to finish it off today evening
Cool Camera #WP #WindowsPhone @CoolCameraWP
Cool Camera has been udpated to 1.9. I just finished uploading the new XAP to marketplace. So whats changed ?
Well not much
I have been busy with DIY at home so this is a bug fix / UX enhancement release
1) Portrait pictures with zoom were not correctly cropped. Fixed
2) Reduce album view so show only 8 but larger thumbnails
3) Metro UX enhancement in Media viewer based on Dave Crawford’s suggestions. Hide instead of disabling controls and ensure fonts are readable
I’ve also been testing my Alarm Clock app (supporting multiple alarms)
Upload CameraCaptureTask Photo/Image to Facebook
Reblogged from Walter's Technology + Travel Space:
This following article shows you how to upload the image from CameraCaptureTask to Facebook in less than 10 steps. The following Assembly/DLL will take care of all the Facebook Security (OAuth) code for you. With this DLL, you will not need to learn about Facebook Graph API.
To start with this, you need to download the following
- GainSecure.WindowsPhone.dll
- ExifLib.dll (for more information about ExifLib.dll, can refer Tim Heuer’s…
Navigate to selected Pivot Item #wpdev #wp7dev
I have come across a few instances where its desireable to navigate to a certain pivot item rather than landing on default and then finding your way around.
This is very easy. I tend to define some mechanism e.g. an enum for each pivot item. I create a static property (or you can choose whatever data passing mechanism you prefer). I set the property and navigate to pivot page and navigate to correct item.
Here’s how i do it. Itercept the OnNavigatedTo of the Pivot page and set the correct item as selected.
public enum PivotDef
{
One,
Two,
Three,
Four,
}
public static PivotDef SelectedPivot;
protected override void OnNavigatedTo(System.Windows.Navigation.NavigationEventArgs e)
{
switch (SelectedPivot)
{
case PivotDef.One:
this.pvtControl.SelectedItem = this.pvt1;
break;
case PivotDef.Two:
this.pvtControl.SelectedItem = this.pvt2;
break;
case PivotDef.Three:
this.pvtControl.SelectedItem = this.pvt3;
break;
case PivotDef.Four:
this.pvtControl.SelectedItem = this.pvt4;
break;
}
base.OnNavigatedTo(e);
}
sample project is available from http://wp7pivottest.codeplex.com


