Creating a iOS (iPhone/iPad) app for Light Novels

Forum for volunteer developers working on Baka-Tsuki related applications (Baka-Reader, BTprince, etc).

Moderators: thelastguardian, Fringe Security Bureau, Senior Editors, Senior Translators, Alt. Language Translator/Editor, Executive Council, Project Translators, Project Editors

animeout
Kyonist
Posts: 18
Joined: Thu Feb 13, 2014 7:45 am
Favourite Light Novel:

Creating a iOS (iPhone/iPad) app for Light Novels

Post by animeout »

My Dilema:
So, I havn't read many or rather more than 2 LNs yet. I kinda feel a bit awkward reading just text on my browser compared to manga which I read on my tablet or PC (maybe due to ease of read or graphical representation).
But now there are many manga whose original stories I want to read in LN format as manga/anime itself stopped/ended/behind LN story and thats what was urging me to start reading LN.

I saw there is a cool android BakaTsuki app for reading LNs and I was trying to find such app to read LNs on my iPad but didnt found any. TBH app like BakaTsuki Reader or something like MangaStorm/MangaRock on iPad for reading/downloading LNs would have been so cool.
Basically I wanted to read LNs on my ipad like I read and manage my manga with MangaStorm app.
I read in android dev thread that the original developer had no intention of creating a iPad app and mentioned if anyone is interested to make it himself.

Recently while browsing the forums (I am not too good at exploring the wiki yet) I found that BakaTsuki has a API aswell.

So I wanted to create a iPad/iPhone app for reading/downloading translated LNs from BakaTsuki and/or other sources that translate LNs (if any, since I am not too informant on LNs yet).

I wanted to know if what I read was true, can I use BakaTsuki'a API endpoint to fetch the LNs data and LNs themselves for use and availability in that app ? That would make keeping tracks of LN updates and new additions a piece of cake.

Also, any thoughts on the idea for the iOS app ?

Some features I thought of in reference to existing android app and manga apps on ipad are :

[*]Read LN
[*]Download LN
[*]Search
[*]Bookmark LN to be notified on updates
[*]Auto download new chapter for updated LN
[*]Like/Vote a LN
[*]Show top voted/ranked list of LNs

The only thing I am worried about is BakaTsuki has around 50~ LNs titles approx ? Will that be enough of a database for a LN app ? Are there other sources I/We can use perhaps as a addition ? I saw a few sister site links on BT main page for translators and their sites, are they independent of BT or add their work here ?

Any feature suggestions ? Any UI suggestions ?
Anyone want to join in this project of development, be it code part or the UI design part (PSDs/AIs)


Sorry if its wrong section to discuss about this or if I made any mistakes, I am more into anime/manga and a newbie in LN world so still setting my foot in it.
User avatar
otaguy
Astral Realm

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by otaguy »

I actually joined to see if there was anything like this for the ipad/iPhone and if not to check and see if there was anything planned either here or elsewhere. I wish you and any others involved in this, or similar (for one the group who do the android version) the best of luck with it. I'd offer to assist, but I'm recently using the ipad as my laptop/desktop and my android tablet-- Xoom are all broken/down at the moment.
I'll be keeping an eye here as I can, both for my own curiosity/usage, and to see if there might be anything I can assist with in the future.
Anyway I wanted to at least post my support, and say good luck in getting this done :)
User avatar
cloudii
Project Translator
Posts: 512
Joined: Mon Mar 25, 2013 4:30 pm
Favourite Light Novel: Ahouka!
Location: awkward buttface
Contact:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by cloudii »

Only FYI: viewtopic.php?f=16&t=5487&p=184610&hilit=apple#p184379

This conversation has come up many times before. xD But no one's stopping you if you're really want to do it. :3 It's just that none of our existing Android developers want to do it for a multitude of reasons (eg: the $99/year). xD

With regards to BT's API... well, it's not ideal... xD the BakaReaderEX team fetches everything by parsing HTML because there's no real reliable way to get chapters of a project in chronological order except through the main project page's HTML (or MediaWiki markup). Naturally, of course, this comes up with issues like redlink chapters and... other things. xD

But good luck to you! Let me know if there's anything we can do to help~.
Twitter: @cloudiirain | BT Userpage | OreShura Translator | Biblia Editor (@HereticLNT) | Clockwork Editor (@HereticLNT)
User avatar
denormative
Fish Miner
Posts: 834
Joined: Mon Jul 30, 2012 1:56 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by denormative »

cloud wrote:With regards to BT's API... well, it's not ideal... xD the BakaReaderEX team fetches everything by parsing HTML because there's no real reliable way to get chapters of a project in chronological order except through the main project page's HTML (or MediaWiki markup). Naturally, of course, this comes up with issues like redlink chapters and... other things. xD
Yeah, wikis are good for node-based; but hierarchical structured data doesn't work so great. And mediawiki's tagging is a horrible hack, though I guess if someone (plural) wanted to go through and tag everything with various tags, or we had a consistent naming scheme, we could use that.
Assorted PDFs: viewtopic.php?p=159960
animeout
Kyonist
Posts: 18
Joined: Thu Feb 13, 2014 7:45 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by animeout »

cloud wrote:Only FYI: viewtopic.php?f=16&t=5487&p=184610&hilit=apple#p184379

This conversation has come up many times before. xD But no one's stopping you if you're really want to do it. :3 It's just that none of our existing Android developers want to do it for a multitude of reasons (eg: the $99/year). xD

With regards to BT's API... well, it's not ideal... xD the BakaReaderEX team fetches everything by parsing HTML because there's no real reliable way to get chapters of a project in chronological order except through the main project page's HTML (or MediaWiki markup). Naturally, of course, this comes up with issues like redlink chapters and... other things. xD

But good luck to you! Let me know if there's anything we can do to help~.
Erm but I am a app developer and the apple's developer certificate license cost is paid by my company I outsource at so that wont be a problem xD Regarding app being rejected, I dont think so considering how mangastorm, mangarock and similar apps are running till date. Not to mention Novels and fanfiction doesnt possess that high of copyright issues like animes

Also, there is always Cydia as the B-ackup plan

I want to avoid parsing html directly rather fetch everything via the API and parse/sort them internally via php aka create a middle-link API to connect the APP and bakabt API rather then directly hardcoding the bakabt API in app
That will allow easy changes and updates to php API code incase bakabt makes any future updates preventing a need to update the app for any API or parse related bugs/updates


Its just that I have always worked with a proper REST API till now and mediawiki API is a bit confusing or rather documented in a mess


otaguy wrote:I actually joined to see if there was anything like this for the ipad/iPhone and if not to check and see if there was anything planned either here or elsewhere. I wish you and any others involved in this, or similar (for one the group who do the android version) the best of luck with it. I'd offer to assist, but I'm recently using the ipad as my laptop/desktop and my android tablet-- Xoom are all broken/down at the moment.
I'll be keeping an eye here as I can, both for my own curiosity/usage, and to see if there might be anything I can assist with in the future.
Anyway I wanted to at least post my support, and say good luck in getting this done :)
Just posting here, you did supported it :arrow: I was worried the thread got ignored >_> I really want to start reading LNs as books on my iPad like I read my mangas, somehow reading it on PC isnt proving to be interesting

denormative wrote:
cloud wrote:With regards to BT's API... well, it's not ideal... xD the BakaReaderEX team fetches everything by parsing HTML because there's no real reliable way to get chapters of a project in chronological order except through the main project page's HTML (or MediaWiki markup). Naturally, of course, this comes up with issues like redlink chapters and... other things. xD
Yeah, wikis are good for node-based; but hierarchical structured data doesn't work so great. And mediawiki's tagging is a horrible hack, though I guess if someone (plural) wanted to go through and tag everything with various tags, or we had a consistent naming scheme, we could use that.
I can maybe help in that, I am more into development and server administration line of work so cant help with translations (which I would have damn loved to do) but surely can help in other stuff not related to translations or knowing to read jp. >_<
User avatar
cloudii
Project Translator
Posts: 512
Joined: Mon Mar 25, 2013 4:30 pm
Favourite Light Novel: Ahouka!
Location: awkward buttface
Contact:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by cloudii »

animeout wrote:Erm but I am a app developer and the apple's developer certificate license cost is paid by my company I outsource at so that wont be a problem xD Regarding app being rejected, I dont think so considering how mangastorm, mangarock and similar apps are running till date. Not to mention Novels and fanfiction doesnt possess that high of copyright issues like animes

Also, there is always Cydia as the B-ackup plan

I want to avoid parsing html directly rather fetch everything via the API and parse/sort them internally via php aka create a middle-link API to connect the APP and bakabt API rather then directly hardcoding the bakabt API in app
That will allow easy changes and updates to php API code incase bakabt makes any future updates preventing a need to update the app for any API or parse related bugs/updates


Its just that I have always worked with a proper REST API till now and mediawiki API is a bit confusing or rather documented in a mess
In that case, I wish you the best of luck. xD Thanks for volunteering and really pushing for the iOS app, because I know a lot of people have it high on their wish-list.
denormative wrote:
cloud wrote:With regards to BT's API... well, it's not ideal... xD the BakaReaderEX team fetches everything by parsing HTML because there's no real reliable way to get chapters of a project in chronological order except through the main project page's HTML (or MediaWiki markup). Naturally, of course, this comes up with issues like redlink chapters and... other things. xD
Yeah, wikis are good for node-based; but hierarchical structured data doesn't work so great. And mediawiki's tagging is a horrible hack, though I guess if someone (plural) wanted to go through and tag everything with various tags, or we had a consistent naming scheme, we could use that.
By tagging do you mean category tagging every chapter? Or revtagging?

Category tagging every chapter is theoretically possible, and you can keep everything in order by providing an alternative sort key while placing the tag. That way when you fetch the list of all elements within a category via API, we could get a list of all chapters in order for a series. The only issue would be making sure new chapters are consistently tagged.

I guess theoretically, if we had a "complete" template (just like like an incomplete template), that would be very nice........ and then build category tags into that template...

A consistent naming scheme would be very nice. @____@
Twitter: @cloudiirain | BT Userpage | OreShura Translator | Biblia Editor (@HereticLNT) | Clockwork Editor (@HereticLNT)
animeout
Kyonist
Posts: 18
Joined: Thu Feb 13, 2014 7:45 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by animeout »

Kinda sad but I really dont have too much info on how mediawiki works or it structures its data.

I see each Volume has a separate page for illustrations. Are those illus included within the chapter page of that particular volume too or they need to be manually checked/arranged when reading a chapter ?
I am trying to see if the API lets me grab and output the whole chapter with text and positioned illustrations within in one call or will I have to fetch chapter text and illustration separately
User avatar
EusthEnoptEron
Project Translator
Posts: 836
Joined: Mon Jul 13, 2009 10:39 am
Favourite Light Novel: Ahouka!
Location: Switzerland

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by EusthEnoptEron »

The b/w pictures are included in the markup code of each chapter (as image tags, you'll still have to fetch the image data yourself).
Color illustrations only exist on the illustrations page, except for a few projects that include them in the chapters as well.

If you want to fetch everything in one call, you can do so by passing multiple pages to the API separated by the pipe character. (There is a hard limit though and iirc you can only fetch one page at once with the parse command; perhaps you could generate the wiki markup to include the pages needed and have it parsed for you)
Alternatively, every completed volume has a full page, but using that would prob. be a bad idea.
User avatar
cloudii
Project Translator
Posts: 512
Joined: Mon Mar 25, 2013 4:30 pm
Favourite Light Novel: Ahouka!
Location: awkward buttface
Contact:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by cloudii »

animeout wrote:I see each Volume has a separate page for illustrations. Are those illus included within the chapter page of that particular volume too or they need to be manually checked/arranged when reading a chapter ?
I am trying to see if the API lets me grab and output the whole chapter with text and positioned illustrations within in one call or will I have to fetch chapter text and illustration separately
Currently, I think most of our generators just put all of the color illustrations at the front, since those are usually not inserted inline by the translators. All of the illustrations correspond to a page number in the original novel, but that pagination is lost after the translation so there isn't any way to place the color images correctly.

Like Eusth said, you can only count on getting the b/w pictures inline with the markup code of each chapter.
animeout wrote:Kinda sad but I really dont have too much info on how mediawiki works or it structures its data.
More detail than you'll ever need: http://www.mediawiki.org/wiki/Manual:Database_layout

Like denormative said, MediaWiki has a node structure. Each page is designed to be independent of another. There are no built-in hierarchal structures. Every page has a page_id, and you can navigate to that page by knowing the page_id (or the title, but the page_title occasionally changes when someone decides to rename/move the page).

All components of a page are stored in different locations in the database (files, links, interwikis, images, raw markup text, redirects, etc), but when MediaWiki serves the page, it stitches all the components together and serves that copy to many users (basically via cache).

Anyways, you'll probably be more interested in how Baka-Tsuki tends to organize itself. The only larger problem is that is there is no uniform standard, since most translators do their own thing with regards to project organization and formatting.
Twitter: @cloudiirain | BT Userpage | OreShura Translator | Biblia Editor (@HereticLNT) | Clockwork Editor (@HereticLNT)
animeout
Kyonist
Posts: 18
Joined: Thu Feb 13, 2014 7:45 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by animeout »

EusthEnoptEron wrote:The b/w pictures are included in the markup code of each chapter (as image tags, you'll still have to fetch the image data yourself).
Color illustrations only exist on the illustrations page, except for a few projects that include them in the chapters as well.

If you want to fetch everything in one call, you can do so by passing multiple pages to the API separated by the pipe character. (There is a hard limit though and iirc you can only fetch one page at once with the parse command; perhaps you could generate the wiki markup to include the pages needed and have it parsed for you)
Alternatively, every completed volume has a full page, but using that would prob. be a bad idea.
If the images are hardcoded in the code as img tags, I think I will have to parse them out via PHP and insert them as individual image in code
or the other way would be to maintain a app-database and separately add images to a chapter if it has any

This would be like this I guess
Fetch chapter from BT-API -> Parse the html and separate img if any page wise -> have the app php-API output the chapter/page text and its related image in json format -> app reads from that php-API and inserts the image randomly or at a fixed position for whatever page/chapter has it

That would be the most clean and organised way to do it probably

cloud wrote:
animeout wrote:Kinda sad but I really dont have too much info on how mediawiki works or it structures its data.
More detail than you'll ever need: http://www.mediawiki.org/wiki/Manual:Database_layout

Like denormative said, MediaWiki has a node structure. Each page is designed to be independent of another. There are no built-in hierarchal structures. Every page has a page_id, and you can navigate to that page by knowing the page_id (or the title, but the page_title occasionally changes when someone decides to rename/move the page).

All components of a page are stored in different locations in the database (files, links, interwikis, images, raw markup text, redirects, etc), but when MediaWiki serves the page, it stitches all the components together and serves that copy to many users (basically via cache).

Anyways, you'll probably be more interested in how Baka-Tsuki tends to organize itself. The only larger problem is that is there is no uniform standard, since most translators do their own thing with regards to project organization and formatting.

Wait each project has individual registration system to see/get all stats ? Damn mediawiki API seems a bit messed up, I think before working on app it will be better if I start the work on a centralized API of my own to act as a bridge between baka-tsuki and the app

What will be the right section to create the API development thread for others to participate and help in its development, as I think people who know and have been using the wiki would know better about the modules you mentioned and how they are stitched to make the central API more clean and proper.
User avatar
larethian
I.D.S.E Humanoid Interface [LSB]
Posts: 2191
Joined: Tue Aug 31, 2010 10:50 pm
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by larethian »

EusthEnoptEron wrote:The b/w pictures are included in the markup code of each chapter (as image tags, you'll still have to fetch the image data yourself).
Color illustrations only exist on the illustrations page, except for a few projects that include them in the chapters as well.

If you want to fetch everything in one call, you can do so by passing multiple pages to the API separated by the pipe character. (There is a hard limit though and iirc you can only fetch one page at once with the parse command; perhaps you could generate the wiki markup to include the pages needed and have it parsed for you)
Alternatively, every completed volume has a full page, but using that would prob. be a bad idea.
I remember seeing some projects use the file tag instead previously. I guess this have to be standardized too perhaps.
User avatar
denormative
Fish Miner
Posts: 834
Joined: Mon Jul 30, 2012 1:56 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by denormative »

larethian wrote:I remember seeing some projects use the file tag instead previously. I guess this have to be standardized too perhaps.
It's pretty random. I recall some chapters even having one of each in some projects. :? If you're parsing from the markup, it's just an extra | in a regular expression, which you'll almost certainly be using anyway just to retrieve the value. If you're pulling from HTML it should end up being an <img> tag anyway.

There are much more painful things then this in the markup you need to deal with anyway if you're going from that route.
Assorted PDFs: viewtopic.php?p=159960
animeout
Kyonist
Posts: 18
Joined: Thu Feb 13, 2014 7:45 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by animeout »

Made a separate thread for the central API dev
viewtopic.php?f=16&t=9780

Can anyone explain me how the chapter pages for a novel are linked in the category or what module they are ?

P#2 Getting list of Volumes/Chapters available in a LN/Page
This is driving me nuts, unfortunately the Chapter pages of a novel aren't member-categories of the novel category it seems and thus the API doesnt return that in same way as P#1
I am having hard time understanding how or which module the chapter pages are or are they just linked as page links to actual chapter within a LN page ? If such then it seems fetching chapter page details per LN would be impossible unless we parse the html content of LN page or search/regex through all pages with the LN's actual title and then filter them into volumes/chapters
animeout
Kyonist
Posts: 18
Joined: Thu Feb 13, 2014 7:45 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by animeout »

animeout wrote: P#2 Getting list of Volumes/Chapters available in a LN/Page
This is driving me nuts, unfortunately the Chapter pages of a novel aren't member-categories of the novel category it seems and thus the API doesnt return that in same way as P#1
I am having hard time understanding how or which module the chapter pages are or are they just linked as page links to actual chapter within a LN page ? If such then it seems fetching chapter page details per LN would be impossible unless we parse the html content of LN page or search/regex through all pages with the LN's actual title and then filter them into volumes/chapters

Can anyone tell me about this please ? How are LN's chapters or volumes included in LN category, are they just links or separate modules ? And is the only way to get them by parsing html ?
KuroiHikari
Fish Miner
Posts: 822
Joined: Fri Apr 16, 2010 1:01 am
Favourite Light Novel:

Re: Creating a iOS (iPhone/iPad) app for Light Novels

Post by KuroiHikari »

BT is just mediawiki.

chapter links are just links placed on the project wiki page.
Post Reply

Return to “Developers and Code”