View Single Post
  #5   Report Post  
Old 07-05-2012, 07:29 PM posted to rec.gardens
Sean Straw Sean Straw is offline
external usenet poster
 
First recorded activity by GardenBanter: Jan 2012
Posts: 94
Default Two little free Android apps: flower and tree identification

On Sun, 6 May 2012 11:26:07 -0700 (PDT), "Eric, just a guy"
wrote:

On May 5, 5:13*pm, Sean Straw wrote:
On Sat, 5 May 2012 09:19:07 -0700 (PDT), "Eric, just a guy"

wrote:
There are now two free Android phone apps, one for flower
identification,http://goo.gl/lkOZf, and one for tree identification,
http://goo.gl/t5WyY(also one for birds,http://bit.ly/floweridapp).
They're tiny apps, based on my (fairly popular) ID programs on the
web, e.g.:http://www.realtimerendering.com/flowers/flowers.html.


It strikes me that the Q&A stuff on your site might be improved upon:

* * * * * use AJAX to incrementally build the query (rather than
presenting one large mess of questions at a time). *You could grey out
options which don't apply based on answers given to other questions.

* * * * When in bloom: add "NOW" and use the present date. *Chances
are, if someone is trying to identify something they're looking at, it
may be currently in bloom.

* * * * Whether or not it is known that the plant has roots or a bulb.

* * * * sizes could be expressed in metric as well.

Also note that the diagram links for "Leaf veins", "Leaf edges", and
"Leaf Petiole" all come up with a forbidden on the other site you're
linking to.



Excellent feedback - I appreciate them (it's hard to get honest and
detailed criticism). Unfortunately, while I'm good at Perl and some
other languages, AJAX is not among them.


AJAX is a methodology, not a 'language', you could have whatever on
the backend - PHP, ASP, Perl, etc (though the first two are by far the
more common), and yea, on the client side, you'd generally use
JavaScript - though it could be Java, or even ActionScript (Flash).

My lame excuse is that the
advantage of keeping it all server-side is that the page is then
usable everywhere, even if you have a crummy phone with lousy web
connectivity. Still, I'm hoping to learn Javascript this summer, so
maybe it might be able to come into play.


Even using Javascript to expand and contract the individual sections
of the form can be useful, and all that stuff is done via DOM
(Document Object Model) - structure your page with good CSS, and if
the user somehow doesn't have JS, the WHOLE page shows, and if they
do, it condenses it and goes 'smart'.

The diagrams being "forbidden" is quite odd - they work fine from my
location. I'll have to think how to solve that one - probably need to
search out Creative Commons images.


Wasn't all of them, just the three I mentioned.

Roots & bulb would involve Real Work, of adding additional
characteristics for all plants in the database


Well, if it's an SQL database, you can add the field to the existing
db table using "ALTER", and initially populate it with NULL, or some
value to signify "I haven't set the rooting type", As you get info
for bulb vs root vs. rhizome (such as Iris and hops) for each of the
plants you do have, you can assign the actual value, and if someone
does select that characteristic, you can flag all the records with
NULL as "possible, attribute not yet added" or somesuch. i.e.
everything remains server side. Basically, you could use it to
ELIMINATE those records which have been id'd to NOT be the root type
chosen.

Of course, I'm thinking in broader terms of plant identification, not
just wildflowers.

Have you poked about the USDA plant database?
http://plants.usda.gov/java/

My rationalization for the day: since they're wildflowers being
identified, I almost don't want to encourage anyone digging them up.


The base of a lot of bulb plants is fairly identifiable. Actually,
the 'blade' leaf form is almost universally a giveaway.

Date's a nice idea, but hard to do with a static web page tied to
Perl.


Nah, a checkbox for "blooming right now!", and when the Perl script
processes the form data, it determines the current date. Client side,
Server side, at most you're 23 hours time difference.


Might be worth your while to start looking into PHP (if the servers
you use support it). Your realtimerendering stite is hosted with
Apache, so PHP is a likelyhood for you.