An Update on Pandamian

I received an email from a Novelr reader recently, asking what’s happened to the site. No updates for over a month, slightly more than half a year to my self-imposed New York Times deadline, and a couple other worrying things besides (like – for instance – what’s happened to the Web Fiction Writer’s Guild? Probably one thing or another … though all – regrettably – understandable.)

Speaking for myself, my ‘one thing or another’ has been splitting my time between school work and programming for Pandamian. A funny thing I’ve found out about programming: when I write code, I can’t write English. And vice versa. And I’m rather amazed at all the programmer-writers out there. How do they context-switch so easily? I’ll have to wait some more to figure that out.

Thoughts on Pandamian

We’ve been at it for close to 6 months now, and I want to be honest about what we’re currently doing. And the truth is that we’re in pretty bad shape. We were adding features and removing bugs all the way right up to December, and then Christmas happened and we all stopped working. Not a good idea – it’s the new year now, and a new semester, and everyone’s work-loads are off the charts.

But here’s the tricky thing about building a consumer-facing product: build too little features and you risk fizzling out on launch-day; build too many features and you risk wasting time and energy on the wrong things. I sometimes wish I can tell where that thin line is, so we could stop programming and just launch.

As it stands, Pandamian has only got a small core of features worth talking about. We’ve got ebook conversion, though it’s about 80% done, and with the odd bug here and there. And we’ve got simple chapter posting, editing, deleting, comments, a built-for-readability front-end design, and some basic comment moderation.

That doesn’t sound exciting now, does it?

It doesn’t, and here’s another thing I’ve discovered about software development: each and every one of those features is a little Pandora’s box of Alice’s rabbit holes in and of itself (description courtesy of Jason Kottke). It is easy to do a basic version of editing, posting, deleting and comments, but if you don’t want things to break for an average user, then you’ve got to think about a whole bunch of other problems.

For example: your user has lost a password. You’ll have to regenerate a key and store it someplace so the user can get it once he’s verified. And you have to send an email to verify aforementioned user. And when you send out an email, you have to worry about being marked as spam. Which means that you have to set up Reverse PTR records for your server, and then you have to configure DomainKeys Identified Mail in your DNS, and then you have to verify it by sending test email to either a dummy GMail account, or to a Port25 email verifier. Every single step of which may take hours, each.

And remember: all this is to make sure your users don’t ever lose their passwords, something they probably never even think about. I’m not making this up, I tell you.

Thoughts on open source

Of course, we’re not over-engineering every feature right now. Just the ones that are most important. Some things we’re leaving for later, which is supposed to be the case when you’re building a web product today – the relevant mantra being ‘build fast, launch fast, fail fast. Rinse and repeat’.

But one thing that’s come up more often than not is this idea of going open source. Why not? people say, You’ll get a whole bunch of other developers ready to contribute to your project.

And they’re right, of course. I’m a big believer in open source, not the least because there are significant advantages to the model (plus it’s very often win-win-win). So when people first began asking me about it, I was taken off-guard. I hadn’t considered the possibility. No-one in Pandamian had. And now I’m wondering if it makes sense.

The problem with releasing Pandamian as open source is that it’s all written in Python. And that means you can’t just run the software on any old host. We chose Python because Yipeng, my co-founder, wanted to learn the language. And also because it’s beautiful. (Why or how a programming language can be beautiful … let’s not go there in this post, okay?)

I’d never considered this before, but I think that if you want a successful, widely-used installable web app, it has to be written in PHP. WordPress is written in PHP, as is Drupal, and bbPress. And this makes sense, because most hosts run PHP with a MySQL backend out of the box, and it isn’t too difficult for a non-technical person to install and use a PHP app.

But I don’t like PHP. Even when I’m hacking up a WordPress theme I write all these variable names with a dollar sign in front of them and $I $feel $like $curling $up $in $a $corner $to $cry.

The one good thing Python would give us, should we go open source, is that we’d probably get more interest from fellow programmers. But ask a normal user to install and run our software and he’d probably give up. Which isn’t what we intended, of course. The whole idea of building Pandamian in the first place was to allow writers the ability to do this digital publishing thing with as minimal fuss as possible. Ideally, without having to look at a single line of code.

Would we release an open source version of Pandamian in the future? Maybe. Would we recommend that someone else do so? Oh yes, indeed. I talked to Hugh McGuire of BookOven over the Christmas holidays, and am happy to report that he and his team are currently building an open source version of what we’re doing. That makes him a competitor, but it also makes him a enabler in this field. And God knows we need as many enablers in publishing right now.

On the Upcoming Launch

We’ve decided that we’re going to launch in February, whether we like or not. And that means polishing up every interface screen in our software, perfecting that ebook conversion feature, and squashing all our bugs. I’m not sure if what we’re building is the right thing, but I hope that releasing this early, first-iteration version of Pandamian would give us some idea of what to build next. As usual, I’d love to hear your thoughts.

Possibly Related Posts:

Category: News · Pandamian
  • E.D. Lindquist

    I can’t wait to see Pandemian! I hate (and I mean HATE) maintaining my own platform for my weblit. I’m thrilled to beans that you guys are working on this. Yeah, the Python base means I won’t be installing it myself, but that only slightly rains on my parade. I still can’t wait. :)

    Oh, jeez, the weblit guild. I completely forgot. I’ve got the article and submission list saved off, but I got caught up in stuff… Yeah, well, which stuff doesn’t matter. That’s no excuse. I’ve got the new release on Monday, but I should be able to whip myself back into shape after that.

    Thanks for the reminder, the update and all the hard work, Eli. You rock.

  • Eli James

    @E.D. Linguist: This first version of Pandamian will be simple. Beyond simple. Sparse, even. I’m really hoping it does enough for people to stick around and use it, and have faith that we’d flesh it out enough.

    I don’t know. At this stage, anything can happen. What do you want, personally, from a publishing platform? I’ve some idea of what it is, but I suppose nothing beats listening to people.

  • E.D. Lindquist

    What do I want…? Mostly simple things. Since I’ve never seen the guts of Pandemian, I have no idea if this is all in place already. I’ve looked over the alpha pages about a zillion times, though. ;)

    Easy navigation between chapters of the book. I personally like to divide my chapters up into multiple pages. I don’t know if there’s a way to do that in Pandemian. My chapters can run LONG and it makes them easier to read.

    A way to display cover art would rock. I love all my cover art and wouldn’t want it to go to waste.

    Listing/sidebar of related stories might be nice. I haven’t yet figured out a graceful way to do this on my site, but sometimes I write related side-stories for my novels.

    Is there any sort of glossary function? I’m not sure what this might entail or what it might do, but it might be nice to have glossary fields instead of one large, continuous page. For the author, I mean. I figure it would display as an alphabetized list for the reader.

    A way to export or make it easily mobile-accessible. I’ve battled with this form day 1 on LLS. I can never make a good mobile version of the books. All I can do is hope people will buy the ebook and use the Nook or Kindle ap.

    Er, that’s about all I can think of for now.

  • G.S. Williams

    The things I struggled with on WordPress were:

    1. Setting up a Table of Contents — I had to cut/paste links to every chapter myself.

    2. Creating Previous/Next chapter links on each chapter by hand.

    3. Figuring out how to set up pictures and galleries and cover art.

    4. No forums for reader discussion.

    I switched to drupal with and it solved the links and table of contents problem for me — which was awesome.

    However, it’s harder to upload and use pictures (and sometimes what I thought worked doesn’t, so then I have to fiddle) and my readers don’t seem as interested in forums as just commenting on stories directly.

    But drupal is a lot less flexible than WordPress for the look of a site — colours, fonts, headers, columns, etc. And I had to learn some html for italics, bold, etc.

    However, the thing I’m excited about with Pandamian is the ebook app — I have no idea how to do that myself and I don’t have the energy to go look it up anytime soon. To quote Kevin Smith after his talk about his film Red State — “I just want to tell fucking stories” — he hates that he had to learn the business end of the film industry.

    I’d love to have a program that formats and publishes the story for me without the kind of effort I’ve had to put into making lulu editions of my stuff by hand, through trial and error.

  • Eli James

    @Erica, @Gavin, thank you so much for your feedback. Pictures and galleries and cover art we’ve not done, but the rest … I’m fairly confident we cover. And I hope we cover it well. :)

  • Isa

    I’m really sorry to read about your troubles Eli :(

    Some thoughts … a few discouraging I’m sure, but hopefully a few more encouraging:

    – You’re thinking a bit too much like a programmer in your approaches to problems. The lost password issue for example, it’s a user’s first instinct when the system tells them that an email has been sent and no email arrives to check the spam folder. Plus I always thought Pandamian was going to be a ‘download-and-install-on-my-server’ sort of thing with maybe a hosting option very much like In which case you can’t set up those things for every server that might be running Pandamian anyway.

    Sometimes the best programmers are lazy programmers: solve the problems that absolutely need to be solved and ignore the problems that your average user can troubleshoot on their own (ala spam folder)

    – Are you guys using a framework? I’ve only done a little Python programming (lol Ren’Py ^____^) so I can’t give any recs other than to say that Django seems like the place to be. But I want to marry my PHP framework because it solves so many problems for me :D I rewrote three months worth of native framework-less PHP code in three days and the product came out 5,000 times better @_@

    – It’s true there are more PHP programmers, but that’s because for a long time PHP was the only game in town. It’s worth noting the QUALITY of Python and Ruby programmers is much higher (but they’re also more expensive lol)

    – But on the open source front … unfortunately I don’t think there’s much hope there for a project like Pandamian. In the summer I was doing the NY-Tech circuit and talking about F.S. …. as soon as I mentioned publishing I might as well have been talking about bringing back the 8-track tape X__X It’s like books in any format are a strange archaic, Stone Age technology and everyone wants to work on something pretty and sparkly. The community of developers do not understand the market need, they don’t see it.

    – I don’t believe an application needs a large feature set to become popular. Actually I believe the exact opposite: the best products do one thing extraordinarily well. Preferably one thing that no one else does. Pandamian’s problem (in my opinion) is that it is not clear what that is. Is it better at ebook conversion than mobi? Is it better at fiction publishing than WordPress (and in this sense it would have to be light years beyond because writers are NOT early adapters and the devil you know is always better than the devil you don’t)?

    Anyway, hang in there! :D Don’t be afraid to go back to tweak the model if things aren’t working as expected.

  • Eli James

    Thank you for your comments, Isa. Work has picked up somewhat over the past couple of days (after I wrote this post, incidentally) and launching in Feb seems to be in reach. I’m no longer pushing polish back in the development schedule – I’m actively working the UI, and making it ready for public use.

    Two other things: 1) re: programmers, you have to know where to look. ;-) Sure, the vast majority of programmers out there are interested in shiny social apps, but if you know where to go, you’d find a sizable community of hackers interested in and working on ebooks and ebook formats. (Hint: O’Reilly, the IDPF, the Internet Archive, hunt for public git repositories).

    2) RE: one thing extraordinarily well – ahh, but of course it isn’t clear, no? It’s not out in the public yet. ;-)

    And so now I must get back to work.

  • Isa

    @Eli: Fair enough XD I eagerly await the great unveiling~

    Oh, by the way (since you brought it up) I’ve been invited to O’Reilly’s TOC Future of Digital Publishing conference … any chance you’d like a guest post? ^.^ Only going Tuesday, but it looks like there’s going to be a lot going on webfic people might be interested in.

  • Eli James

    @Isa: I would love to have you :) And do go and make all of us in web fiction proud! :) :) :)

  • Andrew Wooldridge

    If this is written in Python, you could probably have it up and running in Titanium in about 20 mins:
    And immediately be able to deploy to mac, pc, iphone, ipad, and android.

    If you haven’t heard of it, I’d definitely check it out if I were you.

  • Eli James

    @Andrew, it’s more a social thing: since we wrote this in Python, not every Tom, Dick and Harry can download and install this on their servers (well, most writers can’t do that for PHP apps, but at least the learning curve isn’t so steep, e.g: no need to install and set up Apache with mod/wsgi).

    So my point about doing this in Python is that only developers would be able to install and run it. Whereas with PHP you can at least expect some writers to be able to use it as an installable app-option.

  • Andrew Wooldridge

    I see! I’m sure you’re not short on ideas to help remedy this (like hosting, having a posterous style site, create a mothership style app with an easy downloadable mini version that talks back to the “mothership” etc. etc.)

    I’ve only just discovered “weblit” earlier today. Seems like Kindle and ebook publishing is going to be very popular. You stand in a place that could really take it to the next level with this built-in feedback (comments, updates, etc) mechanism that could transform “indie” publishing.

    I haven’t even put my knapsack down yet, but I can already see that if you get “something” out there that will let folks:
    1) post chapters in a serial fashion and allow for readers to give feedback, edits, suggestions etc
    2) allow for some kind of “beta” and “finished” state of a book, story, chapter, etc so a rough draft can be posted first, then polished before “publishing”
    3) make pushing to ebook format simple and easy to do
    4) allow writers and readers to tap into each other for ideas and creativity

    You will really have something there.

    Again, I’m just some shmoe just off the train, but I just left Borders yesterday and knew that the future is ebooks. If you allow writers to be writers, and foster this uniquely internet ability for writers to reach out to readers early, as well as have “beta” readers help refine works, you’ll be on to something big.

  • Eli James

    Thanks, Andrew. :) We’re working our asses off here to do just about everything you’ve mentioned (I kid you not, you’ve pretty much guessed at nearly everything we’ve got planned) – and I’d be very appreciative if you signed up and helped us out with the feedback bar you see in the backend? Just vote for existing suggestions, or suggest feature ideas as you see fit? Thanks!

  • AWG

    Ah me…. I’m a retired programmer/analyst now into writing, and have just discovered this site. I feel compelled to relate a story from what you probably consider the dark ages, but which I think is still immensely applicable. Once upon a time, a nationally known package delivery company wanted to upgrade its service and move into the computer age. It gave the head of the project one year to complete all the software. The head of the project was one smart cookie and spent nine months planning the project, diagramming every little thing that was going to be needed. It then took the programmers only three months to code, because all the problems had been resolved.

    If you diagram out every single detail, including the whole password scenario, brainstorm amongst yourselves to solve every problem, plan ahead how you are going to link this to that, then writing the code can be a snap.

    Of course, this is not nearly so much fun as writing code, so most programmers just start writing. Then they have to go back and change this and undo that and OMG I forgot that this won’t work if I do that, and why on earth is debugging so complicated?

    I think that this is why MS and many other software products have so many bugs. And, of course, in order to plan first, you need to decide what you want to do, and that is when you go and ask the potential customers what they want, not after you’re two/thirds into the project.

    Throwing a product out on a given date whether it’s ready or not is usually a pretty bad idea, particularly if it has not been planned well. My suggestion is that you sit down and start listing, then diagramming all the pieces left to be written and how they will interact with each other and with the existing code. Then, when you begin to actually write the code, it will have a better chance of being efficient and bug-free.

    Otherwise, you join the MS people who think nothing of selling a product with more than six hundred known bugs and letting the users be the Beta-testers.

    I have only known one other programmer who could write a superb user manual. Harold Feinlieb is a brilliant man who created Aperture, a CAD/Database product that could outperform AutoCAD and had a learning curve of two weeks as opposed to six months. His manual was a work of art because it was as well organized as his code, and extremely easy for the beginning user as well as the advanced to follow. Most programmers have great difficulty is switching from a code language to English and write terrible manuals.

  • opportunity4all

    Incredible FREE Downloads!
    Add amazing PDF downloads to your collection

  • Anonymous

    I tried new CMS Ucoz. Rather good…  Just look at california criminal attorneys directory created using this system