Jump to content

Introducing... FuwanViewer!


ilegend

Recommended Posts

There's not a lot I can do in terms of practical help here, but in terms of emotional support: Wow. You guys are awesome for continuing this. JeMhuNtEr's mock up is really something. Way to go, and don't hesitate to ask for help if you need it.

Link to comment
Share on other sites

  • 1 month later...

https://twitter.com/almightynay/status/364702281918185473

With the revamp of the new Fuwanovel website, the API has retired. If you guys still want a FuwanViewer application, you can help me bug Nayleen to grant us with a new API, then bug me in this thread so I know that you guys want it as well, then we can get started.. :P

Link to comment
Share on other sites

Readding the API is something I'd love to do, so there's no need to bug me for it.Just that Aaeru has some features she'd like to see first and soon(ish) on the site.
Sure, sure, take your time and make the site beautiful~ :D I still need to settle a few of my school projects which is currently taking nearly all my time orz

Anyways, I've been trying out a new UI look for FuwanViewer before the revamp, so there'll highly be a new look for it~ :P

Link to comment
Share on other sites

I've been playing with WPF and Blend for VS recently too, so if you'd like some hand Ilegend I'd be very glad to help. I am on holidays now, so there is not much for me to do smile.gif

Sure thing, an extra hand is always appreciated! I've been wanting to implement the UI in WPF for the longest time now, but anyway we'll have to first wait for the new API so that more options will open up to developers~

For example, how nice it would be if the API could provide Android Phones with a Fuwa App the capability to directly download the .apk files from Fuwanovel (if it ever hosts them) and install them onto the device.. :)

Link to comment
Share on other sites

  • 2 weeks later...

So.... I believe me and Ilegend will rewrite the FuwanViewer in WPF. We haven't really starting coding yet, but we've already decided about the new features we want to add:

  • sync with VNDB user
  • Blacklist for VNs you don't want to see
  • New layout
  • some caching mechanism, (was it there before?)
  • support for themes and theme creation tool :)

Thats all we came up with, but perhaps you guys may have some ideas. If you want us to implement some feature, it is the best time to tell us :)Here is a link to a little sketch of the application, play around with it and give us some feedback guys :)

Link to comment
Share on other sites

  • 1 month later...

I bet you can. Sorry for late response, but I didn't get email notification... gotta turn it on again. Send a mail to Ilegend, he's the project leader. We've some skeleton up already, so now it's time to implement fun things. Although, I've started a work recently, on top off attending school, and don't know how much time I will have. 

Link to comment
Share on other sites

  • 4 weeks later...

Double post for visibility.

 

You guys can help me out with your requirements / wishes for the new API. I know C# likes its XML, but I want to go with JSON only for the first iteration. Might introduce XML later through content negotiation.

 

A few design choices already made:

  • Basic HTTP authentication required (fields: username and password)
  • Read-only for now, so only GET requests (for you who didn't know, the old API had many open endpoints for POSTing and PUTing data, completely vulnerable)
  • URLs to pages, images and torrents will be provided by the API, so no need to build them yourself

 

Planned API endpoints so far:

  • /api/v1 - returns JSON collection of possible endpoints (anything below this)
  • /api/v1/novels - returns JSON collection of all visual novels - not sure whether to put the complete payload here or just a few basics + link to the complete data
  • /api/v1/novels/{id} - returns the full JSON representation of a visual novel as it is in our database, including images array and link to torrent
  • /api/v1/torrents - returns JSON collection of all torrents, including links
  • /api/v1/torrents/{id} - returns JSON representation of a torrent, which includes its link, download size and installation / JP locale requirements

 

How would you like dates to be represented, since JSON is absolutely stupid when it comes to them? Thinking of ISO8601, as in "YYYY-MM-DDTHH:ii:SSZ" => "2013-11-13T13:04:00Z" for right now (all dates are UTC).

 

Keeping it slim for the first iteration, but it'll grow over time when project management features are done - we'll have /users/ and /projects/ endpoints as well then. When we're at that point we'll make a version jump to v2 because we'll have to work with tokens for POSTing or PUTing data.

Link to comment
Share on other sites

Hey Nayleen, 

 

Thanks for asking for our wishes, but I am very happy to say... that we don't really have much.

 

About format, I can say that JSON is absolutelly fine with us. I don't see any advantages in using XML. In regards to endpoints... as long as we get a complete list (/api/v1/novels) and detailed VN information (/api/v1/novels/{id}) that will be enough. If I were you, I'd put only Ids in /novels, we'll most likely fetch all the data anyway. One thing that you could add though, is to add Last-modified header to each response, this way we could cut some updates here and there.

 

 

The users endpoints sounds really cool and we could certainly use that later too.

Link to comment
Share on other sites

That's a good idea, even though I had server-side caching in mind already we could always have client side as well through Last-Modified and HEAD requests. I'll implement those as well.

 

The collections currently return only basic and very slim information to help with finding the right detailed information to get, like this (not URLs are generated for my local dev system, those will obviously return the proper values on our server):

 

Gist of the current return of /api/v1/novels

 

Context will hold the url to the full, detailed view as a rule of thumb for all collections.

Link to comment
Share on other sites

Yup. I can see a lot of data flowing around :)))

 

In case someone would like to know how is FuwanViewer progressing, we're at point where old FuwanViewer was (but using WPF). Right now we'll be working on new features... I don't know when we'll be done, but eventuallly it will. We'll not let it die.

Link to comment
Share on other sites

How would you like dates to be represented, since JSON is absolutely stupid when it comes to them? Thinking of ISO8601, as in "YYYY-MM-DDTHH:ii:SSZ" => "2013-11-13T13:04:00Z" for right now (all dates are UTC).

There's no better format than '8601... although if you're looking for something easier to parse/less error cases then maybe omit the separators since they're otherwise useless: YYYYMMDDHHMMSS
Link to comment
Share on other sites

Alright, finished v1 up for you guys. I just need to disable output compression for JSON because I want it human-readable, the server can handle the additional few bytes load.

 

https://fuwanovel.net/api/v1 as a starting point.

 

Edit: To get complete collections, provide the GET parameter full, like this:

 

https://fuwanovel.net/api/v1/novels?full=1

 

Any changes should be brought up before we actually use this in any application - now is the time to make any last-second changes.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...