Thursday, August 30, 2007

image

 

For those of you using (and I'm getting some serious numbers on the stats)   my Mobile I-Ching application has moved to

http://www.binaryrefinery.com/i-ching/

Its funny but I've always used this app as a way of learning new programming languages; seeing from the 1700 hits that I got yesterday the mobile variant is proving pretty popular (hence the need to move the url to somewhere a little more robust)

Seriously this is just a programming example :-)   Please don't take me seriously...

Thursday, August 30, 2007 9:48:56 PM UTC  #    Comments [0]  | 

This is my taskbar at 5pm today

 

image

Thursday, August 30, 2007 9:26:29 PM UTC  #    Comments [0]  | 
Tuesday, August 28, 2007

Dale Lane sent me a question about my Windows Mobile Ickle Web Server.   I followed a link to Dale's blog and read one of his posts, questioning why Windows Mobile had no notepad application.

http://dalelane.co.uk/blog/?p=179

What a good question.  So with thanks to Dale for inspiration, I knocked up a simple (and I mean simple) notepad application.

image

It's a start and here's the .Net Compact Framework C# source (along with an installer).     Happy for you all to add the bells and whistles you need as long as you give me a copy :-)

http://www.binaryrefinery.com/main/content/binary/mobnotepad.zip

Or if you just want to straight install it on your device here's the installer  -

http://www.binaryrefinery.com/main/content/binary/SetupMobNotepad.CAB

Have fun and if you loose any work, it isn't my fault...

Tuesday, August 28, 2007 9:28:56 PM UTC  #    Comments [0]  | 

This is cool, just created a macro in Live Search, that will search this Blog.   See this baby in action at -

http://search.live.com/macros/brf/binaryrefinery/?FORM=OIJG

Tuesday, August 28, 2007 9:12:23 PM UTC  #    Comments [0]  | 
Friday, August 24, 2007

Ok as promised here is the source.   Its a little rough and ready at the moment but it does deliver that 'web services on devices' experience.

To use you will need to edit the line in OurResponder.cs  to the IP address/port you are listening to, i.e

string thispage = "http://10.100.0.2:8000" + page.ToLower();

 

Apart from that your good to go.

The little web server needed to be expanded for this all to work to code with MIME types and different HTTP response codes,  but essentially it does not differ from the base web server that I banged on about a couple of days ago.

Source for the complete solution (and yes it does have a UI now) here -

http://www.binaryrefinery.com/main/content/binary/WebServiceForDevice1.zip

Friday, August 24, 2007 5:40:58 AM UTC  #    Comments [0]  | 
Wednesday, August 22, 2007

Building on my previous report.   I'm happy to report, I now have a web-service running on a mobile device.   Think of the possibilities.    A low power room temperature monitor,    a radio controlled vehicle taking its commands via a web-service etc. etc.     I'll go into the details and post the code in a while however,  here's a bit of eye candy showing it all working.

So with the Little Web Server running on a CE box,   from within Visual Studio,  I've created a new project and I'm now going to add a reference to a web-service running on the device -

 

image

So far so good the device reports back it has a web-service. 

Lets go ahead and add the reference.   Next step, is to call our remote code -

public string HelloWorld()
        {
            WebReference.Service1 r = new WebReference.Service1();
            return r.HelloWorld();
            
        }
 
Ok, now to run application - 
image 
 
Just like magic, we get a response back from the device into our program.
 
Details and source of all of this to follow..
 
Wednesday, August 22, 2007 7:10:33 AM UTC  #    Comments [1]  | 
Tuesday, August 21, 2007

I'm talking on Thursday night at Microsoft London's swanky new offices Near Victoria.

 

Full details here -

http://www.mmmug.co.uk/forums/thread/1340.aspx

Its all happening from 18:15,  Love for you to come and join me.

Directions here -

http://www.microsoft.com/uk/about/map-london.mspx

and a map here -

http://local.live.com/default.aspx?v=2&cp=51.497035~-0.140986&style=r&lvl=14&tilt=-90&dir=0&alt=-1000&sp=Point.skgjktgzndsf_MS%20Victoria%2C%20United%20Kingdom___&encType=1

Tuesday, August 21, 2007 4:46:43 PM UTC  #    Comments [0]  | 
Sunday, August 19, 2007

Continuing yesterday's theme on Web Services on Devices.  I thought, I'd have a go at a Compact Framework version. The first thing we need is a web-server running under Windows Mobile/CE.    Windows CE ships with a web server component,  but I figured for experimentation what I require is a simple managed code Web Server that lets me deliver content from a .Net Compact Framework application hence giving me a foundation to host web-services.

My web server needs to be fast, solid and capable of being easily extended.    What I didn't need to worry about too much was coping with heavy loading as I envisage its just going to be used 'occasionally' by a small number of clients.

So by adapting the socket server sample that ship with the .Net MicroFramework I was able to produce the following multi-threaded light weight web server.   Here's it in action  -

image

The base web-server I envision being used for all sorts of applications so I wanted to make things fairly generic.   I've implemented the code to handle the pages as follows -

public class OurResponder:IResponder
    {
        public string Responder(string method,string page,string querystring,string fullquery,string ip)
        {
            String s = "<html><head><title>Little Web Server</title></head>" +
             "<body><bold><a href=\"http://www.binaryrefinery.com/\">Learn More About The Little Web Server Here...</a></bold></body></html>";
            return s;
        }
    }

So to add extra pages and functionality all you need to-do is extend this simple method.

 

Ok, I could bother running through all the code,  however I'm going to cut to the chase and give you the application so far.

The C# solution is here -

Full Source

If you run the application it will listen on port 8000, so typing http://127.0.0.1:8000 into pocket Internet explorer should give you a result.   Its a console application so no UI,  but you don't really need one do you :-)

Let me know what you think.

Sunday, August 19, 2007 3:17:56 PM UTC  #    Comments [2]  | 
Saturday, August 18, 2007

So, this is cool.    Mike Hall, did a great job at introducing this technology at MEDC,  however strangely the press didn't pick it up.

Seeing the video again.  I have to say again 'WOW',  small low powered devices announcing themselves to your home network and exposing an API via web services.    Video at -

http://blogs.msdn.com/mikehall/archive/2007/08/08/medc-keynote-consumer-video-netmf-windows-ce-xpe-vista-and-wsd.aspx

 

Imagine buying a washing machine with no front buttons but magically your fridge mounted flat-screen presents a beautiful touch screen control panel for every wash you're likely to need...

The documentation on MSDN is a little C++ and hardware focused (IMHO) ,  at - https://msdn2.microsoft.com/en-us/library/bb410236.aspx

I've often needed to control devices remotely like weighbridge's, pressure testers and other line of business hardware   WSFD could make my life much easier.

I wonder how long it will be before we can implement this all from the Compact Framework?  I feel a pet project coming on to implement calling web-services on devices myself (however the auto-discovery and stuff looks a bit tricky) :-)

 

Technorati tags:
Saturday, August 18, 2007 7:28:29 PM UTC  #    Comments [0]  | 
Wednesday, August 01, 2007

 

This is what I get up to as part of my day job.

http://www.microsoft.com/casestudies/casestudy.aspx?casestudyid=4000000500

Wednesday, August 01, 2007 9:15:24 AM UTC  #    Comments [0]  | 

Theme design by Jelle Druyts

Pick a theme: