I built https://greaterskies.com with Common Lisp making the star maps, talking to the clients via a thin layer of plain Python, running on several EC2 instances and storing everything in SDB. Front end is plain Javascript with JQuery.
Thanks! It has been an amazing experience, if a bit exhausting (I am a single founder and the only developer). I did it because it was cool, started giving them to friends, and then it became obvious that they were making a very large impact in some people's lives. So I decided to try to reach a larger audience, which had the nice side effect that now I can make a living from it.
I am using the stereographic projection, and I display up to magnitude 7. The conversion from magnitude to diameter is one of the key elements of getting a beautiful result.
I have just updated the Plans page. I hope with the new changes the pricing is more clear, and also the benefits of subscribing. The rest will take a bit longer...
I think another problem you have is that there are a lot of potential customers who don't even know they want this yet, and you need to educate them so they understand why star maps are a cool idea particularly as a party favor.
I think you'll be able to improve your conversion if all your sample images included text describing what the star map is commemorating. Ideally there should be at least one such image on the homepage.
I know this may sound dumb, but before I saw the video, I hadn't considered why I'd want to generate my own star map over just using an existing one someone else had already generated.
Most of your customers are probably going to put commemorative text on the poster/shirt/mug anyway, because star maps don't really stand well on their own IMHO. I doubt many people other than astronomers and star geeks would be able to remember the difference between two night skies commemorating different events particularly if there in the same hemisphere and season.
You might think your customers won't be as thick headed as me, but now that I understand it, I'm seriously considering becoming a customer someday.
It's still unclear to me who the plans are targeting. I'm guessing maybe you're targeting creators (Etsy store owners, etc), and not the end consumers? That isn't clear if so, and I would still expect to be able to use your site to buy one-offs as a consumer.
I've tried again, thank you for the feedback. I have added the prices in the Plans page, I hope this will make it crystal clear what you can do. Today is being a very instructive day!
I use some CLOS, but most of it is plain old Lisp trying to avoid side-effects. Deploying is just dumping an SBCL core with the right functionality in it. It lives in a private server inside a VPN, listening to a port. Nothing fancy, really. I did consider at some point serving the web with Lisp as well (https://edicl.github.io/hunchentoot/, because I trust Edi Weitz's code) but I ended up doing it in python.
Thank you for the feedback. The key addition that you get with the Explorer is access to bulk prices and bigger maps, but I probably don't say that clearly enough... you can actually buy and make maps with a free account.
Even after reading this and now knowing that you can make and buy free maps with a free account, it's still really not clear from your website that is the case.
My recommendation: make it as stupidly easily possible to buy a single map whenever you want, with the option for no account at all (and make it clear you can do that through your website).
I could conceivably see myself using this, the output looks really nice. But as soon as I need to sign up for an account, even if it's free..... ugh :-/
Make it easy for people like me who might be on the fence to give you my money :)
Hmm, I suspect you are right, thank you for the feedback. I think my customers will be business owners with some technical expertise (you need to at least understand what a transparent PNG is, and be able to paste it on your background), but I don't want to discourage end customers. I need to think about enabling map creation without accounts. I am requiring accounts now because you'll have to design a theme before you make your map (star colors, labels, fonts, etc) and I am assuming you'll want that to be saved. But I could make it optional...
You could also build up a temporary pseudo-account based on an anonymous user's session that could optionally be upgraded to a permanent account with an ID and password at any time.
This is common with e-commerce sites. Many don't require you to make an account to add items to your shopping cart or even to check out. But if you want to make an account, they make it super easy prefilling info they already have, and they certainly won't make you lose what's in your cart.
Another customer segment you could go after: I generated the star map from the day/time/location of my wedding, and themed the colors to match the wedding colors. My wife thought it was a great idea to print + frame it.
Reading PG's ANSI Common Lisp was a pivotal event on my career as a programmer. I wrote a high-resolution star map generation tool in CL about 14 years ago, and have been working on it and selling the maps it produces for many years.
Now I am moving away from the things I don't do well (ranking in Google and promoting) to what I think I do best (making beautiful maps) with this new site, where I open the engine to people who want to add custom star maps to their own products.
Would you say PG's ANSI Common Lisp is better or worse (as a zero-to-hero intro to CL for an "experienced" programmer in other languages) than Peter Seibel's Practical Common Lisp?
I'm curious because I'm currently teaching myself CL (slowly, as a leisurely hobby), mainly because I realized that I need a hyper-flexible un-opinionated language in my toolkit for some types of experiments I want to try on and CL seems to fit the job. But I found the "practical" part missing from Practical Common Lisp with the non-plausible problems/examples and also missing stuff about packaging/ecosystem and little on modern concurrency patterns...
PG's ANSI common lisp was one of the first books I learned to program from. I still prefer it over Practical Common Lisp, partly because I appreciated the greater depth (I felt) it covered the basics in, and in that it was slightly more abstract...
But mostly because Appendix D gives a really succinct description of the language, key functions, all the different parameters to FORMAT and LOOP, and all the different read macros. Never underestimate the value of a good appendix!
OK "modern" might be a misnomer, all concepts are 20+ yo here, but... async with promises (like in basic concurrency without execution parallelism, just io p), channels, then actors, stm maybe. Most books seem to have a chapter on threads and stop there. I know CL has libs for all these and the libs have docs, but was hoping for some "big picture" summary of what's worth using and learning from the entire ecosystem and when etc.
If you find a good actors library, let me know. I've been using CL for 20 years and have not found a satisfying one.
[edit]
CL is in a slightly uncomfortable position here; scheme has first-class continuations, which makes implementing actors and async the sort of thing that could be an undergrad assignment, most other languages have a single source of truth (either with a language committee like C++ or with a one-true-implementation like Python).
Packaging and ecosystem has changed a lot recently, so On Lisp or ANSI Common Lisp would both be outdated quickly (as would Seibel’s PCL; PG does not have a book with that title). Most of that you can find online: practically everything is available through Quicklisp and it’s a very intuitive piece of software. Concurrency is harder and Bordeaux Threads might be too new for detailed inclusion in On Lisp or PCL.
I would highly recommend On Lisp once you have gotten the syntax down. I ordered a printed copy of the PDF (legal since PG released it) and have been working through it. On Lisp won’t show you things that are easily done in other languages; its goal is to teach the power of CL. Certainly by the time you’re done you’d be comfortable with many types of macros, closures, the REPL-based workflow, and other strengths if CL, able to find more about how one uses it in practice without much trouble.
Be aware that On Lisp was written before ANSI common lisp was standardised so there are a few areas towards the end (if I recall, in the continuations chapter) that won't work as written.
PG's Lisp books don't deal with packaging and ecosystem at all, do they? I think they are still very much relevant, and I completely agree with your recommendation.
ANSI Common Lisp from PG gives you a basic overview of the language, has some examples and has also a short reference section. It doesn't teach you anything useful about the eco-system, IIRC.
Practical Common Lisp teaches the language a bit more by example tasks...
I learned with ANSI CL, then read PG's On Lisp (which I downloaded from somewhere and printed, I don't think it was available). ANSI CL is great, the chapter where he writes an OO framework is just amazing. And On Lisp blew my mind.
Seibel's Practical Common Lisp is a good book, worth reading, but quite lacking in the "practical" aspect, which tends to be implementation-dependent.
The site and overall feeling looks clean, focused and built with a lot of love and passion. Kudos! I'd be happy to see more products like this, instead of frequent mishmash where visitor has no idea what it is looking at.
Are you able to sustain yourself with this app and selling maps?
When he was in Cambridge, where I am based, it was common to see him around. Not long ago I was at a conference on the rise of fundamentalisms, and he was 5m from me. I found it incredibly inspiring that he'd be there, obviously engaged and interested, despite his physical condition.
We've made a map of the stars commemorating him, in case anyone is interested. The high-res download is here: