Wednesday, May 09, 2007

Check out this hilarious prank on IPhone that Microsoft put together...

I was laughing so loud that people from the other offices came to see at what I was laughing at.

 

 

5/9/2007 9:59:54 PM (GMT Daylight Time, UTC+01:00)  #    Comments [0]  | 
 Friday, March 19, 2004

I've finally released AtlasCE for SmartPhone 2003 which I think is one of the first commercial .NET CF programs for Smartphones. Aside from learning the intricacies of the smartphone UI, I had to create a key-press searching/filtering mechanism similar to the built-in Contacts application, a scrolling image viewer control with zooming functionality and other more interesting stuff. It was always like that for me - creating some program would lead to creation of a few “by-products” that could be utilized later on in some other applications. I'll try to show you how it's all been done in a later blog entries. Meanwhile I can tell you that I've used a lot of code from SDF: ListBoxEx, Configuraton and HTMLViewer.  

3/19/2004 8:28:03 PM (GMT Standard Time, UTC+00:00)  #     | 
 Tuesday, December 09, 2003

You've probably noticed that some of the applications on Pocket PC 2003 and SmartPhones have this fancy looking gradient background. In all these cases it looks like a system list view control have been used... A quick search through a PPC 2003 SDK returns this result in the  List View Styles: "LVS_EX_GRADIENT Draws a background with a gradient. " Bingo! We're almost there. We know that ListView control in Compact Framework is just a wrapper for a native one, so here is the code that'll do the job:

//Some PInvokes and constants
[DllImport("coredll.dll")]
public static extern IntPtr GetCapture();

[DllImport("coredll.dll")]
private static extern int SendMessage(IntPtr hWnd, uint Msg, int wParam, int lParam);

const int LVS_EX_GRADIENT  =       0x20000000;
const int LVM_SETEXTENDEDLISTVIEWSTYLE  = 0x1000 + 54;

private void SetGradient(ListView listView)
{
     //Get a list view handle
     listView.Capture = true;
     IntPtr hList = GetCapture();
     //Apply extended style
     SendMessage(hList, (uint)LVM_SETEXTENDEDLISTVIEWSTYLE, 0, LVS_EX_GRADIENT);
     listView.Capture = false;
     listView.Refresh();
}

12/9/2003 2:12:11 PM (GMT Standard Time, UTC+00:00)  #     | 
 Wednesday, November 26, 2003

There is no secret that SQL CE currently is not supported on a Smartphone platform. It means that the options for data storage on a Smartphone for .NET Compact Framework developers are generally limited to DataSet XML serialization/deserialization. This option has known deficiencies: you can read/write data in “all or nothing” way only and XML by itself bloats the data, all of which is a big downsize in the memory constrained Smartphone environment. So, what’s the solution? Write your own “a read from the file stream, save in binary form, fast forward-only reading” storage in CF. And this is what I’ve been working on for the last few weeks. The quick test I ran yesterday showed a really good speed/memory benchmarks. DataGrid population with 1000 (5 fields) records takes about 3 secs! Now, I just need to find some time to clean up the code and write up a whitepaper on it…

11/26/2003 1:52:14 PM (GMT Standard Time, UTC+00:00)  #     |