Re: CE quick and dirty

From: Scout (Toothpaste_at_farts.com)
Date: 05/04/04


Date: Tue, 4 May 2004 19:01:39 +1200

In article <MPG.1afa22ac55bc5f58989718@newsgroups.borland.com>,
Toothpaste@farts.com says...
> Another day, another new problem....
>
> My customer has given me a new CE device to support for a specific
> application.
>
> This is my first foray into writing stuff for CE.
>
> The good news is that the CE device has IE 5.5 for CE already installed,
> and ActiveX controls for all of the weird CE peripherals already
> installed.
>
> So I'm thinking that I can just write a Web app in D7 (using the
> business where the web app is also the server) and I don't really need
> to worry about anything to do with CE.
>
> Am I dreaming? This is not meant to be a deliverable app. Just a proof
> of concept.
>
> The CE device can be configured to do nothing but load IE and go to its
> home-page (which can also be configured) when it is turned on.
>
> As long as my web app can put out appropriate HTML, shouldn't I be
> quids-in?
>
> I will need to use the ActiveX controls to make the HTML pages activate
> the appropriate hardware on the CE device, but this doesn't look like
> being a problem.
>
> For those who have had to deal with CE devices, does HTML and ActiveX
> seem like the way to go?
>
>
> Interested in Waitakere
>
> Scout
>
Sorry for re-posting the original, but it might help if you didn't get
the chance to read it first time 'round.

Thanks to all that replied.

  I now have a fully functioning system based on html, and I'm surprised
by just how well it works.

  There is no real web-server involved, just a simple D7 app built with
a single Indy HTTP server component and a single IBX database component.

  This little applet listens on port 80, serves pages in the simplest
way possible, and runs like a scalded cat in an 802.11b network.

  Response time at the CE device itself is so small that it doesn't seem
sensible to bother measuring it.

  I don't know whether the things that I have had to specify in my
<OBJECT> tags are truly ActiveX objects, and I really don't care 'coz
they just work.

  One aspect of the app that I have built is a slide-show kind of
thingummy which just uses REFRESH tags with the target specified. One
of the <OBJECT> tags controls a barcode reader built into the device.

  When I wave a barcode in front of the toy, it does a request similar
to a submit, and I have to wait for a small number of milliseconds for
that request to fly over the WiFi network, hit my server app, run a
bunch of queries on the master database, format the response as very
pretty HTML, have the response sent flying back over WiFi, and see the
result displayed on the screen of the CE toy. The small number of
milliseconds is typically less than 200.

  The HTML that I send back also has a REFRESH wotsit that will make it
jump back into slideshow mode if nothing happens for a while.

  I have no idea what the response time or processor load on the server
would be if this app used a real web server (like apache or IIS), but
since I have Delphi as a tool to provide the solution, this becomes a
non-issue. The worst load that I have been able to measure is with 25
devices running simultaneously, all in slideshow mode. At this point,
the old P3/233Mhz serving them all was running with a 3% processor
usage.

  I also faked a very busy WiFi network by running NetMeeting remote
desktop sharing on as many machines as I could find (on the same WiFi
LAN), with each of them running an app that forced repaints quite
frequently.

  If I had had to do all of this within the constraints of what can be
done with any real Web Server environment, I'm sure that the end result
would suck very badly. As it happens, I has able to use Indy and Delphi
to provide a fantastic solution. It won't scale well, but who cares
when any local environment is going to have fewer than 50 machines?

  Boy am I ever glad that I use Delphi. From go to whoa, this
development has taken only 20 hours (including learning everything about
the CE device) and my customer is incredulous at how good (and fast) the
result is.

  I just thought that some feedback was appropriate.

Scout



Relevant Pages

  • Re: HTML & Java
    ... >> I want to write an app that will run locally. ... >> UI's using HTML is far simpler than using Swing, ... >> sort in order to use html and java? ... Actually, I don't care if some sort of server is running, I'd just like ...
    (comp.lang.java.programmer)
  • Re: Internal web server and browser
    ... browser and an internal http server... ... I can't see why you need an internal HTTP server, since for an application to communicate with itself using HTTP is pointlessly complex. ... I'd store the HTML as text files in a JAR or in a directory created when the app is installed. ...
    (comp.lang.java.programmer)
  • Re: Handheld app
    ... The environment is a factory loading dock, and there is wireless ... The app will then download a list of drums from an AS400. ... approach - or do pda's understand HTML by default? ... your app running on a web server. ...
    (microsoft.public.fox.programmer.exchange)
  • Re: Thick Client vs Web Client Java App
    ... > Thick Client compared to Web client? ... Update the server app and it will be ... - Ideal if the app UI contains vast amounts of text. ... The GUI components available in HTML are rather limited. ...
    (comp.lang.java)
  • Re: Selling the boss on a "publish to the web" Access app?
    ... Go to www.officelive.com, this free small business edition is only available to North America customers right now however. ... Are the users app specific where certains users can log into that app or have rights to it but not others? ... The person coming in the door that wants to sell new carpets or new desks or a new paint job on the walls or even a new computer has to justify that they're going to save the company money. ... I suppose you could bring in a whole bunch of IT people, and go through all enormous expenses and dangers of security of setting up a web host server. ...
    (comp.databases.ms-access)