Tuesday, June 10, 2008

A few people have commented about my GPSPhone application,  a few people are struggling to install it.

The GPS Phone application is here

http://www.binaryrefinery.com/main/www.binaryrefinery.com/main/content/binary/gpsphone.cab

 

You need the SQL Compact runtime to get the application, which you can download from

http://www.microsoft.com/downloads/details.aspx?FamilyID=38ed2670-a70a-43b3-87f3-7ab67b56cbf2&displaylang=en

 

Trust me, its worth the pain :-)

Tuesday, June 10, 2008 7:31:39 PM UTC  #    Comments [0]  | 

No sooner had I blogged about my cross-platform I-Ching test application running under Safari.    Its up on www.apple.com.    You’d think those Apple people would be busy at the moment. :-)   Anyway,  thank you very much.

Link here - http://www.apple.com/webapps/entertainment/mobileichingreadings.html

image

Tuesday, June 10, 2008 12:19:08 PM UTC  #    Comments [0]  | 

This is fairly nice.  I didn’t realise there was a standard for geotagging any website.    As location plays more and more an important role in the world of the mobile web,  I figured now was a good time to start adding a bit of location information to my site.

It works by adding some meta tags to the head of your web-pages,  i.e

<meta name="geo.region" content="GB-CAM" />
<meta name="geo.placename" content="Cambridge" />
<meta name="geo.position" content="52.26542;0.18947" />
<meta name="ICBM" content="52.26542, 0.18947" />

I found a really quick way of generating the tags using this site -

http://www.geo-tag.de/generator/en.html

Next mission to work out which search engine can read the tags.

Technorati Tags: ,

Tuesday, June 10, 2008 9:30:39 AM UTC  #    Comments [1]  | 
Sunday, June 08, 2008

Sorry guys,  I’ve sold out a bit….

Well actually due to the high costs of electricity,  I’ve made the difficult decision to carry a couple of banner ads on my blog.   

As you all know,  I’m hosting this from my a small PC pretending to be a server around the clock.    So please click a couple of my adverts and it may help pay for the recent doubling of my electricity bill.

I hope you don’t mind..

Thanks

 

Richard

Sunday, June 08, 2008 10:31:58 AM UTC  #    Comments [0]  | 

Whenever a new device or sector appears   I like to produce a reference application, just to see what the development experience is like.

For years this has been an I-Ching fortune telling application (don’t ask me why).

Anyway to test cross browser compatibility between Windows Mobile and Apple Webkit,   I’ve just ported this old app.     Its a web-application, so fairly simple to port.

I just added a style-sheet reference and using an ASP.NET master page, was able to add the proprietary viewport tags to the head section, to make things look right on iPhone,  as follows -

<meta name="viewport" content="width=320; initial-scale=1.0; maximum-scale=1.0; user-scalable=0;"/>

 

I’ve also used this code chunk to automatically redirect if we are coming in from an Apple device -

       bool isiphone = false;
       bool isipod = false;

      try
        {
            isiphone = (Request.UserAgent.IndexOf("iPhone;") != -1);
            isipod = (Request.UserAgent.IndexOf("iPod;") != -1);
        }
        catch
        {

        }

        if (isiphone || isipod)
        {
            Response.Redirect("iphone");
        }

So if you’re interested point your browser to http://www.binaryrefinery.com/i-ching

I’m the first to admit, I don’t have the patience to-do the full beautiful user interface that maybe this application deserves,  but here’s the result -

 

image

So porting experience fairly simple,    I notice that unlike Windows Mobile the HTML buttons on Safari don’t wrap very nicely,  so you end up with loooong  thin buttons.    Oh well, something else to work on….

Hope your all having a great weekend.

 

Technorati Tags: ,,
Sunday, June 08, 2008 9:11:36 AM UTC  #    Comments [0]  | 
Wednesday, June 04, 2008
Sunday, June 01, 2008

I've been doing this for a bit now.   If my mobile applications encounter any kind of error,  be it in program code,  or some unforeseen problem  I make my mobile applications send me an email.

I do this, by calling a web-service, which means I don't have to open any other ports for SMTP mail or such like.   Happy to share source, for anyone that's interested -

 

 

Here's a sample email -

Field

Value

 

User:

OUR USER

 

Scanner:

030 (10.2.106.3)

 

Scanner Type:

SYMBOL MC9090K

 

Location:

BWYVACREC

 

Profile:

LIVE GSRFAPPFARM

 

Screen:

Pallet Reverse Stock

 

Date:

01/06/2008 19:44

 

Scanner Version:

1.0.5.6

 

Errors from JDE = Error: Item Not In Receipt Location (BWYWPH, BWYVACREC) (9999) Input Parameters = Lot = 12225959,Location = BWYVACREC,Quantity On Hand = 52

Sunday, June 01, 2008 7:05:21 PM UTC  #    Comments [0]  | 
Friday, May 30, 2008

I've updated my GPS mobile phone positioning application that lets you post your position along with a map via email.

I've just added the ability to include a quick text comment, to your positioning email such as -

'On My Way'

'Meet Me Here'

'I Am Currently At'

 

Or of course you can type in your own.   Anyway let me know what you think.

 

Download HERE

Friday, May 30, 2008 12:25:16 AM UTC  #    Comments [1]  | 
Thursday, May 29, 2008

Heard a fantastic programme on Radio 4 this morning all about probability.

Geeky fun, but kind of cool (all in the same sentence)

Cheer yourself up and just listen to this..

http://www.bbc.co.uk/radio4/history/inourtime/inourtime.shtml

Thursday, May 29, 2008 11:16:38 PM UTC  #    Comments [0]  | 

Further investigation today of NAV 2009's web-service architecture has lead to some amazing findings.

First there's abstraction,  something like get me a list of all items on an Item Card can be expressed as simply as -

        public test[] GetAll(int rowsback)
         {
            test_Filter[] filters = new test_Filter[0];
            return Binding.Find(filters, "", rowsback);

        }

 

Need to mass insert a load of records? -

       public void BulkInsert(test[] rec)
       {
           Binding.InsertAll(ref rec);
       }

 

Need to quickly locate a record from its key? -

       public test GetSingular(string no)
       {
           return Binding.Get(no);
       }

 

Just think how much SQL you'd need to type to achieve this...   Furthermore its all strongly typed, validated and all mapped correctly.

This is truly staggering.   Performance even on machine with 2gb of ram running Virtual PC, Visual Studio 2008, Mobile Device Emulator manager seems pretty good too.

 

Technorati Tags:
Thursday, May 29, 2008 9:16:10 PM UTC  #    Comments [0]  | 
Wednesday, May 28, 2008
Wednesday, May 28, 2008 7:51:40 PM UTC  #    Comments [0]  | 

image

Its amazing to see just how much functionality is now available within NAV's 2009 web-services.

Stuff that was previously next to impossible or just fell into the too difficult category.   Here's a great example.

I've consumed the NAV Item card as a web-service.    I don't just get field names,  oh no...   There's more, WAY more.     Look at this,  I've got valid values or what we call in .Net enumerations and NAV guys call option fields.

image

I've never had it so good. (or maybe I should get out more)

Super....

 

Technorati Tags:
Wednesday, May 28, 2008 4:59:16 AM UTC  #    Comments [0]  | 
Tuesday, May 27, 2008

Today for me was historic.   For the past few years building mobile line of business solutions with Microsoft NAV meant hard graft.    Mimicking  functionality in .Net that NAV had built in, second guessing how functions inside NAV work and writing data straight into SQL bypassing all of NAV's validation.     We'll things for me changed today in that I was finally able to get a glimmer of things to come.  Using the Virtual PC image that provides a preview of NAV 2009 I was able to call directly into NAV using its new inbuilt web-services functionality.   

So here's how you do it.

First get the Virtual PC 2007 image at Partner Source.   You'll need to be a MBS partner to get this.

One done follow the instructions to get the Virtual Server up and running.    The instructions explain all this better than I could.   Finally logon as administrator.

Ok, over to my instructions.   First we need to start the web-services server.    You should find the start web-services icon on the desktop -

image

Ok,  next we need to expose something in NAV that we want to use.   Lets go for broke and use the Item card.    On the start menu,  launch the SQL NAV program.

When NAV starts up open the object designer and navigate to the 'Web Services' table as follows -

image

Run the Web Services table,   I've added a single row with a service name of test, publishing object ID 30,  which is the item card.   My resultant record looks like this -

image

Ok,  that's about it from the NAV side.

The final thing you need to-do is establish the IP address of the virtual server.   I did this by running ipconfig in a DOS box.

 

OK,  now over to .Net  I built a sample mobile application and added a web-reference to in my case -

http://10.2.62.18:85/dynamicsnav/ws/CRONUS_International_Ltd/services

 

I'm going to skip over a few of the details here, but here is a snippet of my code to produce a list of items

 

       nav2009.test_Binding  ourws = Elements.WS_binding();  // < get a reference to our web-service setting the credentials and the URL
       nav2009.test_Filter[] filters = new test_Filter[1];  // < setup a dummy array of filters, to get all items
       filters[0] = new NAV2009Mobile.nav2009.test_Filter();
       filters[0].Field = test_Fields.Description;
       filters[0].Criteria = "";

       this.dataGrid1.DataSource = ourws.Find(filters, "", 14); // < go get first few items

 

Final result is a very easy to accomplish list of items, aka THE MONEY SHOT -

 

image

 

Tuesday, May 27, 2008 8:15:10 PM UTC  #    Comments [1]  | 

People don't believe when I say I run this blog from a PC pretending to be a server running ontop of my fridge.

Well doubters...

 

CIMG1097

 

Please note,  carrier bag full of fridge magnets and strange collection of plastic trays perched next to broadband router,

The only bit of 'glam' is the small LCD screen that rolls around RSS news, weather and how many www.racingballoon.com tickets have been sold.

Tuesday, May 27, 2008 6:58:52 PM UTC  #    Comments [0]  | 

Theme design by Jelle Druyts

Pick a theme: