Monday, September 01, 2008

 

Oh, Oh let me at it...

Drone autonomous aircraft, Windows Mobile powered

http://diydrones.com/profiles/blog/show?id=705844%3ABlogPost%3A729

I want in. :-)

Monday, September 01, 2008 9:54:25 PM UTC  #    Comments [0]  | 
Wednesday, August 27, 2008

Today I've been using an old bottom of the drawer Smartphone as an SMS server.

Its real simple,  to build an application that listens for incoming SMS's see

http://www.binaryrefinery.com/main/default,month,2008-04.aspx#a882deb30-5b45-48cf-b7a4-44bbc4fdbb68

And sends SMS see -

http://www.binaryrefinery.com/main/PermaLink,guid,10ef8f63-773f-414e-8746-8b31a271fc09.aspx

So this gives me pretty much for nothing (bar call charges) the ability to provide TXT voting,   blanket send alerts etc.   from any PC application that can call a command line application can now send and respond to SMS.

Oh the possibilities....

Next trick to master MMS.

Wednesday, August 27, 2008 6:58:33 PM UTC  #    Comments [0]  | 
Tuesday, August 26, 2008

 

This looks cool,   a nice simple build tool,  to build Mobile Web pages

http://www.ubik.com/

Tuesday, August 26, 2008 12:55:36 PM UTC  #    Comments [0]  | 
Monday, August 25, 2008
Wednesday, August 13, 2008

Windows Mobile makes a powerful business tool,   however in an application where we just want our users to use the application for their job and not start playing Bubble Breaker we need to protect our application to stop them quitting or messing with settings.

I do this in a number of ways,  firstly I password protect any vital settings away so they cannot be changed by our end user fiddling, i.e

image Notice the password box and the bottom, which is required before any changes can be made.

I use something I have coined called Protected Mode.  I store a value in the registry that sets whether my application needs to be locked down or not.   Once again this is set on or off in the password protected settings form as shown above.

I password protect the quitting of the application as shown below.

image Protected mode stopping our user quitting our application without entering a password.

Having this protected mode switch allows deployment of the same application to both power users who need the full functionality of their phone et.    or to users who simply need the device to run one application.

If our application is running in protected mode,  I hide the standard form titles to prevent the user launching other applications.   I use my own user control to achieve this -

image  

Very simply this control is just a text-box control placed on a user control object.   I call the following in the Load object of any of my forms.

if (Settings.Protected) Core.FormTitle(this);

This checking that we are in protected mode changes the forms title bar.    Here's the code to-do this -

public static void FormTitle(Form form)
       {
           form.ControlBox = false;
           form.MaximizeBox = false;
           form.MinimizeBox = false;

           form.FormBorderStyle = FormBorderStyle.None;
           form.WindowState = FormWindowState.Maximized;

           if (form.Text == "")
           {
               return;

           }

           int taskbarHeight = Screen.PrimaryScreen.Bounds.Height - Screen.PrimaryScreen.WorkingArea.Height;
           System.Windows.Forms.Control.ControlCollection c = form.Controls;
           form.SuspendLayout();

           foreach (Control conts in c)
           {
               conts.Top += taskbarHeight;
           }
           Controls.TitleBar t = new Controls.TitleBar();
           t.Width = Screen.PrimaryScreen.WorkingArea.Width;
           t.Height = taskbarHeight;
           t.Top = 0;
           t.Text = form.Text;
           form.Controls.Add(t);

           form.ResumeLayout();

       }

So its not  perfect but this deters users from being able to run other programs or change settings without requiring other tools.    It has made my warehouse and field service applications less error prone and keeps the devices deployed and running for longer.   This has to be a good thing...

 

Wednesday, August 13, 2008 1:42:03 PM UTC  #    Comments [1]  | 
Sunday, August 10, 2008

Just noticed brand new CTP release of Microsoft Robotics Developer Studio.

 

image

Time to crack out those stepper motors...

http://msdn.microsoft.com/en-us/robotics/cc470038.aspx

Sunday, August 10, 2008 11:10:12 AM UTC  #    Comments [0]  | 
Thursday, August 07, 2008

Finally a nice 64 bit of SQL compact is with us.

Steve Lasker of MS has all the information here -

http://blogs.msdn.com/stevelasker/archive/2008/08/07/sql-server-compact-3-5-sp1-released.aspx

Thursday, August 07, 2008 2:33:37 PM UTC  #    Comments [0]  | 

When you absolutely have to see what's going on on your PC  got get yourself a copy of Process Explorer.

This tool just saved my bacon, helping identify memory leaks.

Free download here -

http://technet.microsoft.com/en-gb/sysinternals/bb896653.aspx

Thursday, August 07, 2008 6:08:56 AM UTC  #    Comments [0]  | 
Tuesday, August 05, 2008

So this happened to me today.

We were making some changes to a deployed mobile warehouse solution and I needed to roll out some updates.

No problem, I thought just download a new CAB installer to the server,  set the version number of the software higher on the server and let my life saving auto update mechanism do the work (search my blog for details)

Oh dear.     Little did I know that the devices had all been setup using Active-Sync and they had an Internet proxy set, which was not appropriate for automatically downloading the updates.   As we all know (yes you do) Active-Sync has this lovely habit of setting the device proxy to that of the desktop PC you are using.

Doh.

So moral of the story remember that in .Net Compact framework if you do something like -

request = (HttpWebRequest)HttpWebRequest.Create(this.url);

It will use the proxy setting of the connection you are using.

I'm looking at writing something that will go set the appropriate registry keys to disable the proxy, but I'm a bit scared :-)

Tuesday, August 05, 2008 7:32:27 PM UTC  #    Comments [0]  | 

Theme design by Jelle Druyts

Pick a theme: