
Bobson |
1 person marked this as a favorite. |

This thread inspired me to consider making yet another offline PRD reference app. I do application development for my day job (including data storage, web scraping and full-text search), so my skills are in the right line for doing this, but I don't have any iOS experience yet.
My preliminary plans include:
- Tree-based browsing and lists
- Full text search, filterable by the sections of the PRD you want to search (so just search feats, or feats and classes, or everything, etc).
- Dynamic filtering of spells by school, level, save / resistance status, and class.
- Favoriting of pages for quick reference.
- An automatic process on a server somewhere to automatically crawl the source material and parse it for updates. (I don't yet know if this will be something that can be pulled down from the server by the app, or if I'll need to submit an update to the app store to push it.)
Longer term plans include a feat-finder / mini-character sheet, where you can enter some basic information about your character (probably race, stats, BAB and current feats) and automatically get a list of all feats you qualify for. I'm also considering implementing a global preference to turn certain books on or off, and if they're off they will never show up in lists, and show up at the end of search results in a greyed out color.
I'm not sure yet whether I'll be parsing the official PRD or d20pfsrd.com for my data (if the latter is even allowable). The former is more official, but the latter is much better linked and organized. I might make it a choice within the app, with one (your choice) being free and the second as an in-app purchase (and the ability to switch back and forth once you've bought the second).
Given all that, is this actually something that's needed? Would people be interested in something like this? Any suggestions? Other features missing from the current options?

MicMan |

I would love this. The problem with PRD is that it doesn't contains the minor splatbook rules eg. the things I am most likely in need to look up during game.
Fast finding and convenient display is very important to me. An Ipad sucks when browsing the web and neither prd nor pfsrd look nice on it.
Please include a dice roller in your app that is usable by simply tapping a few dice (d2,d3,d4,d6...)and modifier (+1, +2...) symbols and has the option to add the results of all dice or display the results of each die+mod induvidually. I found that it is a waste of time to switch between apps and many dice rollers are too cluttered.
Please include a Notepad if possible.
Please include a history of what I looked up if possible.
Good luck to your endeavor.

Bobson |

I would love this. The problem with PRD is that it doesn't contains the minor splatbook rules eg. the things I am most likely in need to look up during game.
Can you give me an example so that I can make sure I include them?
Please include a dice roller in your app that is usable by simply tapping a few dice (d2,d3,d4,d6...)and modifier (+1, +2...) symbols and has the option to add the results of all dice or display the results of each die+mod induvidually. I found that it is a waste of time to switch between apps and many dice rollers are too cluttered.
I do like this idea, but I wouldn't call it part of the core functionality. I've added it to my list of features to add once the basics are all in place.
Please include a Notepad if possible.
Ditto, but should be trivial, so it's likely to make it into the first release.
Please include a history of what I looked up if possible.
Yet another good idea! This one will definitely be in the first version.
Good luck to your endeavor.
Thanks!

Bobson |

I'd even pay for this..... provided it is usable on my Galaxy tablet, of course.
I'm coding for the iPad first, since that's what I have access to, but most of the code should be portable. I think I'd have to recreate the UI, but all the search logic, server-side scraping, and data storage should port right over. I'll do some research first, though, to make sure I don't code myself out of being portable by accident.
Bobson wrote:Can you give me an example so that I can make sure I include them?PFSR has. It's the main difference between the two. PFSR has everything 2 weeks after release but is an unofficial source. PRD is the official source but doesn't hav eeverything.
I've never found anything on PFSR that I couldn't find on the PRD, excluding third party stuff. It's much easier to find on PFSR, though, and I generally only look up the major things (feats, spells, classes, etc).
It's a good argument for scraping PFSR, though.

Buri |

I basically did the same thing for WP7. When I send a request to a web service I made for a specific article, I check to see if it's got the highest version locally. If it doesn't, I send a new one and if it does I just pull from the phone updating the local copy to the highest version. One version with 'automatic' updates. It's the same concept as an RSS reader.
I don't know if Apple will let you do that per their terms of service though.

Bobson |

The PRD only contains rules from the hardcover rulebooks. PFSRD also contains traits and items and feats and such from the softcover books like Halflings of Golarion and Inner Sea Magic, although there are still some options missing.
I hadn't realized that those weren't in the PRD. Very good to know.
I basically did the same thing for WP7. When I send a request to a web service I made for a specific article, I check to see if it's got the highest version locally. If it doesn't, I send a new one and if it does I just pull from the phone updating the local copy to the highest version. One version with 'automatic' updates. It's the same concept as an RSS reader.
I don't know if Apple will let you do that per their terms of service though.
I think it's allowed, because it's not executable code, but it may not be feasible to do for the search index. I'm not sure I can make a delta for it, so it might be a several-MB download every time something changes, which could destroy a data plan... On the other hand, it might not be an issue at all, either because I can update it in place or because it turns out to be much smaller.
It's definitely an idea worth looking into, though.

Buri |

Yeah I do it a single article at a time as a user taps on various chapters. I don't sync the whole thing at once. All the user sees is a 'Getting article...' message and only takes a couple seconds on a 4G connection.
Concerning d20pfsrd, I'd just offer a word of warning. Paizo is a direct authoritative source on its products and the d20 site is more likely to contain errors and put in notes and changes that may confuse users who aren't familiar with the source text to begin with. Also, Paizo is more likely to have the infrastructure to maintain consistent reliability and up time as compared to a freebie site with no income generation means other than ads. That's not to say it's a bad or weakly established site but when thinking of which is more likely to go down or be wrong, well, d20 is the winner there.
That said, I scrape paizo's site. I don't find content to be an issue since it contains the CRB, APG, UC, UM, B 1/2/3, and the GMG. That's a huge amount of content.
Though, as I type this, I do admit I'm now tempted to co-opt both sites. I'm thinking of a scheme where I hit Paizo for text content and then scrape the d20 site for images. That's one thing I do miss from the Paizo site especially for the bestiaries. Hmmm...

Bobson |

Concerning d20pfsrd, I'd just offer a word of warning. Paizo is a direct authoritative source on its products and the d20 site is more likely to contain errors and put in notes and changes that may confuse users who aren't familiar with the source text to begin with. Also, Paizo is more likely to have the infrastructure to maintain consistent reliability and up time as compared to a freebie site with no income generation means other than ads. That's not to say it's a bad or weakly established site but when thinking of which is more likely to go down or be wrong, well, d20 is the winner there.
Yeah, that's the downside - it's rare that they're actually wrong, but it certainly has happened. Uptime won't be an issue, since I'll be parsing everything on my server and updates won't be real-time, but the content issue is why I was thinking of offering the user's choice, with the option of purchasing of the other. If they prefer the official text, they can get the one, and if they prefer cross-referenced and interpreted but unofficial text, they can get the other. If they want to pay for both, they can switch back and forth to see the differences. Determining which book something is in should be easier in the PRD also, so turning books on and off ought to be more accurate for that source.

![]() |

I only noticed this thread today. Sorry for the delayed response!
...the d20 site is more likely to contain errors and put in notes and changes that may confuse users who aren't familiar with the source text to begin with.
I'd submit that our "error" rate is at least on par with the PRD. Ask around.
Our goal is to make it EASIER for new users by including relevant FAQ and clarifying information near to the appropriate text etc. If we're making it MORE confusing for new users I'd like to hear about it.
Also, Paizo is more likely to have the infrastructure to maintain consistent reliability and up time as compared to a freebie site
I'd like to submit our 0.00% downtime in 3 years as evidence that our freebie site is reliable :) Compare that to how many times the PRD has been down and for how long it was down when it has been down. No offense but our "freebie" site is hosted by Google. We've never had downtime, and we have essentially unlimited bandwidth.
That's not to say it's a bad or weakly established site but when thinking of which is more likely to go down or be wrong, well, d20 is the winner there.
See above. I'd disagree but that's just me. Ask around and I suspect you'll hear likewise.
That said, I scrape paizo's site. I don't find content to be an issue since it contains the CRB, APG, UC, UM, B 1/2/3, and the GMG. That's a huge amount of content.
It certainly is.
Though, as I type this, I do admit I'm now tempted to co-opt both sites. I'm thinking of a scheme where I hit Paizo for text content and then scrape the d20 site for images. That's one thing I do miss from the Paizo site especially for the bestiaries. Hmmm...
Be sure you fully understand the CUP and OGL, though I'm sure you probably already do.

Buri |

I'd like to submit our 0.00% downtime in 3 years as evidence that our freebie site is reliable :) Compare that to how many times the PRD has been down and for how long it was down when it has been down. No offense but our "freebie" site is hosted by Google. We've never had downtime, and we have essentially unlimited bandwidth.
Oh, nifty. That's pretty awesome.

Bobson |

Just a status update: I'm building a proof-of-concept first, then I'll expand it to something worth using. I'm not working on it very fast, but I am making stead progress. My list is:
Populate Data & Search engine
- Connect to database
- Scrape PRD feats page
- Generate database entries for each feat
- Build search index <------ Current step
- Search the search index
- Ensure iOS app can search the index
- Repeat for d20PFSRD feats
UI
- Build browse pages
- Build search page
- Ability to favorite a page
- History
- Search filters
-- At this point, I should be able to release screenshots of the proof, showing various searches of feats and such. After that, it's just scraping more pages, building the database out to handle them, and adding filters for them specifically.
More data & filters
- Spells
- Races
- Attributes and other rule text
- Classes & simple class abilities (i.e. not companions or "choose from list" abilities)
- "Choose from list" class abilities
- Companion class abilities
- Archetypes
- Equipment
-- At this point, after suitable testing, I should be able to release a 1.0 version to the App store.
I'm open to accepting help to get this moving faster, since I'm only one person, and this is very much a spare-time project right now. Skills that would help include C# (for the main programming), experience building iOS UIs (which is the area I have the least experience with), or jQuery (for the data scraping). If anyone would like to help out with this project, and has any of the appropriate skills, send me a PM. I'm willing to discuss some form of renumeration as well.

Rexfelis4 |
Hmmm...we should talk. I've been working on something myself, but starting from the other end.
I'm primarily interested in a live character sheet app, but seem to be sucking in more and more reference data to support intelligent functionality (selecting race/class/feats/spells, etc. and having it reflect onto the char sheet fields). So rather than having the user search for reference data, the reference data would be viewed/accessed via appropriate spots in the character sheet (kind of like the Character Folio app, if you've seen that one, but with a significantly different UI paradigm).
Also, I have a LOT of iOS UI experience (it's my day job) but have been avoiding any kind of server-side work like the plague.
So while I may not be able to help you directly (I want to work on my own app first, in my limited spare time), we might be able to help each other in indirect ways (i.e. you could help me with data conversion, I could help you with bits of iOS code, something like that).

Bobson |

That sounds like a really good combination. As I think I mentioned above, I had the idea to eventually put minimal character sheet support in, but mostly for the sake of rapidly being able to filter choices for leveling up. I hadn't even thought about using the data as a reference for the character.
I'll send you a PM with my contact information. This could be an interesting trade of resources...