New site built using Ruby on Rails

D

David Teare

Hi all,

I wanted to introduce you to my latest site, palmsphere.com, which
was built using 100%
Ruby. PalmSphere was created to provide an easy-to-use site for
users to find and download
applications for their mobile devices, like Palm, Pocket Pc, etc. We
were amazed at how easy
RoR made application development and had enough time left over at the
end of the project to
implement Ajax in several places to make the user experience more
natural and responsive.

Please check out the site and tell us what you think. Any thoughts
or comments would be
greatly appreciated.

Thanks!
--Dave.
 
L

Lyndon Samson

------=_Part_1413_5519354.1124148607206
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

=20
Hi all,
=20
I wanted to introduce you to my latest site, palmsphere.com<http://palmsp= here.com>,=20
which
was built using 100%
Ruby.=20



What no DBMS??? :) No javascript?

PalmSphere was created to provide an easy-to-use site for
users to find and download
applications for their mobile devices, like Palm, Pocket Pc, etc. We
were amazed at how easy
RoR made application development and had enough time left over at the
end of the project to
implement Ajax in several places to make the user experience more
natural and responsive.
=20
Please check out the site and tell us what you think. Any thoughts
or comments would be
greatly appreciated.
=20
Thanks!
--Dave.
=20
=20
=20


--=20
Into RFID? www.rfidnewsupdate.com <http://www.rfidnewsupdate.com> Simple,=
=20
fast, news.

------=_Part_1413_5519354.1124148607206--
 
P

Pawel Szymczykowski

Please check out the site and tell us what you think. Any thoughts
or comments would be
greatly appreciated.

I haven't gotten a chance to look around the major parts of the store
too much, but isn't that an Xbox 360 logo at the top left?

-Pawel
 
L

luke

Nice one! I particularly like the 'Favourites' idea - seems a very
intelligent way of improving functionality and increasing the chance
visitors will come back (and probably more). Also points to an interesting
possibility for Ajax sites to implement a kind of 'native bookmarking'.
 
T

Thomas Kirchner

--Q68bSM7Ycu6FN28Q
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

* On Aug 16 8:27 said:
Please check out the site and tell us what you think. Any thoughts or= =20
comments would be greatly appreciated.

I must admit, I was skeptical when I first read the email... "oh boy,=20
more free marketing for someone's project" :)

I'm quite impressed with the site though. Everything flows well=20
together, the AJAX fits well without being too trendy or flashy, and it's=
=20
a site I can see myself going back to, were I interested in the subject. =
=20
Good work!
Tom

--Q68bSM7Ycu6FN28Q
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.2 (GNU/Linux)

iD8DBQFDAUGo/rVdTqQq7OwRAucgAKCKXcK0tbg2+/J1v8g4hrgZJi4kGQCfTJqM
IL2IqxvqAcso02zLWnm9b/U=
=kMX3
-----END PGP SIGNATURE-----

--Q68bSM7Ycu6FN28Q--
 
D

Dr Balwinder Singh Dheeman

Please check out the site and tell us what you think. Any thoughts or
comments would be greatly appreciated.

Nice site! You forget to provide link http://www.palmsphere.com/ site.

BTW, I was unable to find and, or search any categories like software
based on OS, Applications, Games, Utilities and, or Tools.

Anyway, thanks for bringing up a nice site.
 
D

David Teare

--Apple-Mail-1--137851979
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
delsp=yes;
format=flowed

lol! Ya, we used those too :)

What I was trying to do was play off the "100% Pure Java" marketing
ploy. You see, I've been a
100% Java guy for the last 7 years, but after learning ruby I don't
want to use Java anymore.

I think Ruby should have a "100% Pure Ruby" icon that people can
place on their sites so
we can help market this great language.

--Dave.

What no DBMS??? :) No javascript?


--Apple-Mail-1--137851979--
 
D

David Teare

--Apple-Mail-2--137546711
Content-Transfer-Encoding: 7bit
Content-Type: text/plain;
charset=US-ASCII;
delsp=yes;
format=flowed

I agree it's similar but honestly we didn't steal it. I had already
fallen in
love with the independently created logo when my wife said "Hey, doesn't
that look like an XBox?". We decided that it was different enough that
the probability of being sued by MS was remote.

OT - You wouldn't believe how hard it is to have a logo created that
everyone can agree upon. Here I thought J2EE was hard, but it
is simple compared to logo design :)

--Dave.

but isn't that an Xbox 360 logo at the top left?


--Apple-Mail-2--137546711--
 
D

David Teare

Thanks for the feedback. The favorites were one of the most fun
pieces to
implement. Normally in a project I'm so busy with O/R mappings,
configuring
frameworks, etc, that I never have time to look at the UI. Thanks to
RoR,
we had time to look at Ajax, XHTML standards, etc.

BTW - if you want to implement something like the favorites, you need
to follow this Ajax pattern if you want the ability to mark favorites
without
forcing members to login: http://www.ajaxpatterns.org/Lazy_Registration

--Dave.
 
D

David Teare

Thanks Tom for those kind words. We tried very hard not to fall into
the
trap of "Everything Ajax". Ajax should, IMHO, only be used to make the
site easier to use, not for any core functionality. For the most
part, the
majority of PalmSphere will still work if JavaScript is disabled (we
still have
work to do in this area...).

Re: free marketing - I agree that sometimes mailing lists are abused
to get
marketing, but over at the RoR list I see new product announcements
frequently. It is a nice way of letting people know RoR is being
used in
"real" applications. I felt the Ruby list would like to know too :)

--Dave.
 
K

Kirk Haines

Thanks Tom for those kind words. We tried very hard not to fall into
the
trap of "Everything Ajax". Ajax should, IMHO, only be used to make the
site easier to use, not for any core functionality. For the most
part, the
majority of PalmSphere will still work if JavaScript is disabled (we
still have
work to do in this area...).

Tangent proximity alert!

Okay. Ajax. In general, I agree that Ajax is best used as an accent.
However, one of the opportunities that Ajax provides is the ability to write
web applications that will run on a standard browser, but which act more like
desktop applications. One of my clients is a construction company that has
to schedule work crews and employees on a bunch of projects every week.
Doing this on paper is a hassle, but with a Ajax powered Ruby web app, it's
fast and easy. Select a project and an employee, and a box comes up to enter
start time and scheduled hours. Enter those, and it pops up in the schedule
grid. Click on a box in the grid, and a form opens up to enter the
information for that guy/project/day. Edit or delete the information, and
the changes go out to the grid.

Ajax lets the application work faster because the amount of data moving back
and forth between the client and the server is limited to actual state
changes for most of the life of the user's session.

So, there are times and places where extensive use of Ajax is just the thing
to make the project work and the client smile.


Kirk Haines
 
D

David Teare

We decided not to use categories at all for looking up products
because, IMHO, they
don't help you find what you want. Instead, we went with the Google
approach and
relied on search. This seemed to work well for google, so we thought
we'd give it
a shot. We're waiting for more user feedback to decide if we made
the right choice.

The one place we will have categories is for platform / OS. If you
own a Palm, I'm sure
you wouldn't want Pocket PC applications in you results. We plan on
adding this
in the coming weeks.

Thanks!
--Dave.
 
S

Scott Ellsworth

Kirk Haines said:
One of my clients is a construction company that has
to schedule work crews and employees on a bunch of projects every week.
Doing this on paper is a hassle, but with a Ajax powered Ruby web app, it's
fast and easy. Select a project and an employee, and a box comes up to enter
start time and scheduled hours. Enter those, and it pops up in the schedule
grid. Click on a box in the grid, and a form opens up to enter the
information for that guy/project/day. Edit or delete the information, and
the changes go out to the grid.

This sounds really keen. Two questions:

Is the representation of Rails and AJAX at
<http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html> fair?
It seems amazingly straightforward to do, which always pushes my doubt
buttons.

Is the above URL the best place to start when trying to learn how to use
AJAX with Rails?

(I have a budget app I have been meaning to write that needs a similar
grid structure.)

Scott
 
K

Kirk Haines

This sounds really keen. Two questions:

Is the representation of Rails and AJAX at
<http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html> fair?
It seems amazingly straightforward to do, which always pushes my doubt
buttons.

I really have no idea as I'm not a Rails user. It is really the rest of what
you want to do with the data and the rest of the DOM manipulations to get the
effects that you want that are the hard part. Throwing data back and forth
with xmlhttprequest and some supporting library is the easy part.
Is the above URL the best place to start when trying to learn how to use
AJAX with Rails?

Again, I have no idea on this. For Rails, there is a mailing list as well as
the #rubyonrails channel on freenode.net.
(I have a budget app I have been meaning to write that needs a similar
grid structure.)

As I said, the ajax parts shouldn't be hard. Much trickier are issues like
inserting new rows into the table or keeping track of which grid element you
are editing data for so that you can make sure your updates go back to the
right places. Once you get that ironed out, though, the rest of it should
come together easily.


Kirk Haines
 
S

Scott Ellsworth

[answers]

As I said, the ajax parts shouldn't be hard. Much trickier are issues like
inserting new rows into the table or keeping track of which grid element you
are editing data for so that you can make sure your updates go back to the
right places. Once you get that ironed out, though, the rest of it should
come together easily.

Thanks, Kirk. Hopefully, I will get a chance to play with this over the
coming week.

Scott
 
D

David Teare

We deployed the app on Lighttpd using fast CGI. The system is a
root box hosted by 1&1 - from what I recall the memory is 2GB, and
the processor is 2.4GHz (or maybe 3).

I am amazed at how fast ruby is at processing the requests. I come
from a J2EE background where the mantra was "CGI is slow", and so I
was amazed when I see ruby processing requests FASTER than a
comparable J2EE setup!

--Dave.
 
D

David Teare

While I agree sometimes a full-blown Ajax solution is needed, one of
the problems I have with
relying on JavaScript too much is (AFAIK) your site cannot be indexed
by google very well. Given
that palmsphere.com relies heavily on traffic from the major search
engines, we really had no choice
but to minimize the use of Ajax and use it only as "icing".

Any ideas on how to have a full-blown Ajax site that is "googlable" ?

--Dave.
 
D

David Teare

For the most part, implementing Ajax in Rails is very easy. The hard
part (IMHO) is manipulating the DOM,
styling with CSS, implementing nifty JS code, etc. What Rails does,
is take care of the server-side burden
such that you have time to think about the UI. In most J2EE
projects, I'm happy if the server side works, and
don't have time to make a fancy UI.

One thing that bites you with Ajax is the back button. If you
manipulate the DOM, then go to a new page and
use the back button to come back, the browser will render the
_original_ HTML - all your DOM manipulations
are lost. This will confuse your user so you need to take special
care - for instance GMail uses a frame-based
approach s.t they can store state in one of the frames; whereas
palmsphere.com elected to initiate an ajax
request onload to retrieve the current state and then re-render the DOM.

--Dave.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
474,432
Messages
2,571,680
Members
48,796
Latest member
Greg L.

Latest Threads

Top