Considering a MacOS X Client

Want to help out? Need help accessing the AniDB API? This is the place to ask questions.

Moderator: AniDB

phip
Posts: 43
Joined: Wed Jul 14, 2004 8:03 am

Considering a MacOS X Client

Post by phip »

I'm a Mac user, a C programmer with experience in GUI programming and multimedia file formats, and an avid anidb user. I've been thinking about perhaps writing a client of my own and wanted to take steps in that direction by finding out what a client needs to do, programmatically.

I'll drop over to a friends house soon and try out AOM, but further information would be really helpful. Does a client keep a local database, or just interface with the anidb server?

thanks,
phip
PetriW
AniDB Staff
Posts: 1522
Joined: Sat May 24, 2003 2:34 pm

Post by PetriW »

Well, the major hurdle for AOM is how to store it efficiently but at the same time provide an ui as powerful as possible. Current AOM (0.5) has some pretty severe flaws but at least I got that solved for the next release. :D

Drop by the channel if you want more details.
phip
Posts: 43
Joined: Wed Jul 14, 2004 8:03 am

Post by phip »

So there is a UDP API and a TCP API, with only the former being available to the public. What functionality is available over the TCP API? In This thread, exp talks about writing a "full client". Is a full client one that uses both the TCP and UDP APIs?

Any details about the workings of anidb clients would really help
thanks,
john
Last edited by phip on Sat Aug 14, 2004 6:29 pm, edited 1 time in total.
exp
Site Admin
Posts: 2438
Joined: Tue Oct 01, 2002 9:42 pm
Location: Nowhere

Post by exp »

the distinction between limited clients (UDP) and full clients (TCP) is based on the API they use.

basically the main difference is that a client either interacts directly with AniDB via the UDP API (and is limited bc many commands are not (yet) available, or never will be for load/traffic reasons) by only requesting the data it currently needs. Such a client has only a limited local cache.

A TCP API client on the other hand starts of by downloading a nearly complete copy of AniDB and starting from that point works on it's local db. The API is then mainly used to keep AniDB and the local copy syncronized.

BYe!
EXP
phip
Posts: 43
Joined: Wed Jul 14, 2004 8:03 am

Post by phip »

Wow! Didn't I read in another forum post that the db is several gigabytes in size? Or are we just talking about a complete copy of the user's mylist?
exp
Site Admin
Posts: 2438
Joined: Tue Oct 01, 2002 9:42 pm
Location: Nowhere

Post by exp »

well,

what's really big are the combined mylists for all users and there's also a lot of other data which is never send to a client.
it comes down to a download of (currently) 6-7MB when the client is started the first time. After that all updates are done incrementally.

BYe!
EXP
phip
Posts: 43
Joined: Wed Jul 14, 2004 8:03 am

Post by phip »

So a TCP (full) client first starts and downloads the user's mylist and anidb's animelist. The client then employs some method of storing that data, usually an internal database of its own. Can anyone point me to methods, systems, or programs that would be useful in efficiently managing that much data?
PetriW
AniDB Staff
Posts: 1522
Joined: Sat May 24, 2003 2:34 pm

Post by PetriW »

This is what I'd want to use but making a header for delphi to use it is a major project so I didn't, JohnQ use it for the linux client however:
http://www.sleepycat.com/

This is what I use although I've customized it quite a lot plus it has some pretty severe performance problems with this kind of application if you're not careful:
http://www.sqlite.com


Also you should know you need to encrypt all data, aka you can't just store it on the HDD. This because 1) exp requires it 2) people like to modify your data from external tools which is a MAJOR issue although they don't realize it.
zosky
Posts: 6
Joined: Sun Feb 20, 2005 6:02 pm
Contact:

any action on this thread ?

Post by zosky »

Hello peeps,

phip did you drop the idea for this or is this still a work in progress. there hasnt been any update on this in some time.

i too am an avid aniDB user and frankly it rocks, thanks everyone
a client for os X would be king

i unfortunatly dont have an exp to offer
but can assist with testing on my g4|450 rev2 BW box running 10.3.8

keep me posted
phip
Posts: 43
Joined: Wed Jul 14, 2004 8:03 am

Post by phip »

I haven't dropped this idea, but I haven't moved ahead with it either. I have learned objective-c/Cocoa in the interim. Ah, what the heck. I'll start soon on a limited client (hashing, notifications, file add)

Thanks for the interest, it got me motivated. I'll keep everyone posted, just have to think of a name so I can register the client. HMM.
John

PS - we have the same computer :(
zosky
Posts: 6
Joined: Sun Feb 20, 2005 6:02 pm
Contact:

Post by zosky »

i know the puter situation is verry sad
takes me 12hr+ to encode a dvd to mpeg4
and some anime i cant watch with BT(AZ) running :(
meh, such is life.

so, your gonna get crakkin on a limited client
out of curiosity why not full ?
like i said before, i have zero exp, so its not like i know whats required. is the limited client going to be step 1

i can come up with names NP, here are a couple of the top
animeDB updater
aniDB maintainer
iAnime
Anime on the top shelf
(the) Anime Shelf
Animation Train Station (the aniDB client)
aniDBx update

i do have a graphic design degree so i can help with icon's, buttons, layout... you say the word and im all over it like a priest on a whore in church (tring to get her out .... ok im not funny)

l8ts
phip
Posts: 43
Joined: Wed Jul 14, 2004 8:03 am

Post by phip »

Heh, you're silly.

It won't be a full client, at least initially, because the API is private. I must establish myself as trustworthy to EXP (hanging out on IRC, and so on) but haven't yet found the time. I figured a limited client would be a good warmup until such time I have the full spec.

But, after studying the limited API, I'm wondering if it's worth it. (beyond a learning tool) Files added to your mylist don't update anidb's cache - they take up to 24 hours to show up. So it'd be easier to just open the website and add them there. And that's about all the limited API is good for - finding a file in the db, adding a file to mylist, and getting notifies. A full client, on the other hand, contains all of anidb inside.

I'll ponder on this a little bit more and report back.
zosky
Posts: 6
Joined: Sun Feb 20, 2005 6:02 pm
Contact:

Post by zosky »

hmm i didnt know the limited client had so many limitations. your right, it would be faster to pop open the site.

as for the full api being private, thats kife. Comon exp, why you punishing us who choose not to take part in bill gates' monopoly. r u just wanting to make sure it gets done right ?

meh anyway phip you do what you can. its not like any of us are getting anything for doing any of this. we's just be putting back in to a comunitee that has already givin us so much.

Thanks EXP for everything so far. keep it comming.
nich
Posts: 33
Joined: Sat Feb 08, 2003 12:38 am

Post by nich »

zosky wrote:[...]Comon exp, why you punishing us who choose not to take part in bill gates' monopoly.[...]
O.o What are you talking about?

The only reason there's only a windows "full" client is because PetriW's spent a nearly unhealthy ammount of time doing it. As it has been said before, get exp's trust, and you'll be given access to the API.
PetriW
AniDB Staff
Posts: 1522
Joined: Sat May 24, 2003 2:34 pm

Post by PetriW »

To be honest I'd love to work on a full client for mac os x but I lack a critical component... A macintosh, solve that and I'll release one in a couple of months. :D
Locked