Showing Posts For Killer Rhino.6794:

GW2Kit: An Obj-C framework for iOS & OS X

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

One minor API suggestion; a lot of libraries use ‘completionBlock:’ rather than ‘completion:’. While your library is still new, you might want to considering using completionBlock: as your argument name, rather than just ‘completion:’.

See a generic github code search for ‘completionBlock:’ 20,000 results :-) https://github.com/search?l=Objective-C&q=completionBlock%3A&ref=advsearch&type=Code

Not to be nitpicky, but the preferred naming convention is actually ‘completionHandler:’

:)

@edit
Is there a reason why you are not using [NSURLConnection sendAsynchronousRequest…]?

When I say “I need to turn on async calls”, it’s not because I don’t know how. At the moment, I’m making a conscientious decision to turn off async request in the framework I’m using (here is an example, along with a pleasant reminder to myself)

The reason for this is the framework is being built through unit tests, with a focus of getting something out quickly for people to experiment with. For now, the network requests are synchronous to allow said unit tests have time to complete and validate.

@edit:
In regards to the ‘completionBlock’ vs. ‘completionHandler’ thing goes, I think it’s testament that two respected ObjC devs have commented with two different conventions. In fact, I’ve seen all three (completion, completionBlock, completionHandler); Apple’s own frameworks uses all three interchangeably.

If it becomes a big problem for people, I can change it.

Creator of GW2Kit

(edited by Killer Rhino.6794)

List of (all) group-events

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Nice list! Love ya!

Using it in my project at http://gw2.thelazy.net/

Really like what you’ve got here! Especially the desktop notifications. Well done, sir.

Creator of GW2Kit

List of (all) group-events

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Thanks, that’s a pretty handy reference. If we could enter those all as a list into an events.json parameter, that would be super handy.

I second this.

Creator of GW2Kit

How Often I can Access the api

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

From this post here:

The event data is updated in real-time, and there is no perceptible delay between an event state changing on the game server and it being updated in the API view.

Feel free to update as often as you’d like, though you probably don’t need to update more often than every 30 seconds or so.

Creator of GW2Kit

Guide to the Black Lion Trading Co API

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

The Talcmaster, this is phenomenal! Thank you!

Creator of GW2Kit

GW2.NET a .NET wrapper around the GW2 API

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

I’ve created an example using RestSharp, if anyone is interested: https://gist.github.com/poke/5627036

Thanks for sharing, poke! Awesome work.

Creator of GW2Kit

GW2Kit: An Obj-C framework for iOS & OS X

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Hello mate, thank you for your effort, could be possible to do a little bit of documentation of the functions or examples in aplications.
I´m new at xcode.

Honestly, being new at Xcode and describing Objective-C’s methods as functions suggests that you’d be better reading Apple’s Objective-C introduction articles in their developer section. Rhino has done a good job at making a clean, readable and well documented API… so there’s no much more he can do to help you.

@Rhino, good work chap. I too have been working on an API, but it takes a VERY different approach to yours so there’s likely room for both. I’ve tried to take a much more domain orientated approach, hiding the fact that data is even remotely hosted.

For example, fetching Worlds and WvW data is a call to;

[[GW2API sharedAPI] fetchCollection:GW2APIDomainCollectionWorldVsWorld
completionBlock:^(GW2APIDomainCollection collection) {

}];

The idea is that you ask the API for meaningful collections of data, as opposed to dealing with services directly which is, ultimately what you’ve written. If you only want one specific set of stuff, perhaps you want to quickly get new WvW scores, so you can simply ask the API to update that area of the domain by simply passing the class we’re dealing with;

[[GW2API sharedAPI] fetch:[GW2Matchup class]
completionBlock:^(id domain) {

}];

Again, good work chap. I hope to round my stuff out in the next day or two and kick it up to Github.

Awesome to hear other people are thinking about this problem in terms of ObjC, too. It’s my absolute favorite language; I’m genuinely excited to see your take on it, for sure!

I do plan to add more robust method calls to the framework, but wanted to put something out there that had all the endpoints included, first.

Creator of GW2Kit

GW2Kit: An Obj-C framework for iOS & OS X

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Hello mate, thank you for your effort, could be possible to do a little bit of documentation of the functions or examples in aplications.
I´m new at xcode.

Even I haven’t put GW2Kit through a proper application, yet (only unit tests). My next step is to add details on how to do this. Thanks for the support.

Cheers,

Creator of GW2Kit

(edited by Killer Rhino.6794)

GW2Kit: An Obj-C framework for iOS & OS X

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

GW2Kit is Feature Complete
GW2Kit on GitHub

The SDK allows any valid parameters to be in each request.

Currently Has:

  • items.json
  • item_details.json
  • events.json
  • event_names.json
  • map_names.json
  • world_names.json
  • wvw/matches.json
  • wvw/match_details.json
  • wvw/objective_names.json
  • recipes.json
  • recipe_details.json

Next steps:

  • Turn on asynchronous network requests (highest priority)
  • Improved unit tests
  • How-to Wiki on GitHub
  • Better code documentation
Creator of GW2Kit

Java access to the api

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Have something working for now:
http://code.google.com/p/j-gw2-api/

It includes the StartCom Root Certificate as Byte array, if you don’t want to download your own certificate, but it also allows you to use a .crt file on your computer.

The JSON object are the official implementation over at json.org.

Excellent work, Varonth!

Creator of GW2Kit

SSL Certs & You

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Hello, world

So, we’re all really excited for the GW2 APIs to be up. As a gesture of my gratitude to the devs, I’d like to share some technical points to consider when working with with ’dem shiny new endpoints.

Note: There is a lot more to Internet security that is outside the purpose of this post. For a really in-depth look into HTTPS, see Apple’s TN2232

HTTPS vs. HTTP

At its very basic, HTTPS is your average HTTP protocol placed over a layer of encryption. Encryption is done through SSL/TLS.

When connecting to a server via HTTPS, the protocoal expects the server to eventually provide a public key certificate. This certificate contains identity information, which can be evaluated by the client to verify that the server is really who it says it is.

Taking the server’s word for it

But that’s just half of the story. Just because a server claims to be api.guildwars2.com, doesn’t mean you can just take its word for it. Rather, public key certificates rely on a chain of trust, wherein another authority (CA) vouches for the server’s identify.

Note: Humans have agreed to, and have put collective faith in, a select group of authorities. This is a (somewhat) manual process; this is what VeriSign is often known for.

How to break the Internet

Turns out, some certificate authorities are more “well known” than others (it’s all politics, man). In the case with the certificate installed on the server hosting https://api.guildwars2.com, the SSL certificate was issued by an authority that has given some community developers grief, and they have decide to ignore server trust completely.

I’m going to guess that a good way to undermine ArenaNets’ support & proliferation of a public REST API is to have 100s of community projects sharing code that talk to their service without any checks and balances. But there’s still a decent way to ensure security.

Pinning your hopes, dreams, and cert

As an alternative to blindly tossing away any attempt at security a server will throw back at your client, there is something called cert pinning.

Once a server’s SSL certificate is made public, a client can copy the certificate’s “fingerprint” and validate it continues to match the cert signature on the server for every request made. This is known as cert pinning.

If you are developing an application that will be using cert pinning still be certain that the certificate being pinned is legit; however, you’re no longer at the mercy of companies like Oracle, who might not include the certificate’s authority in their list of acceptable CA’s.

Plus, it’s all the rage.

How to pin

If your preferred networking library doesn’t include cert pinning out-of-the-box, you can always hack it in to your project anyways. The site is a little slow, but this page has some pretty good examples for various platforms and languages.

end communication

Creator of GW2Kit

(edited by Killer Rhino.6794)

API Contest, prize help needed

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

OP, I don’t understand what your goal is in hosting a contest. Could you explain a bit more?

Creator of GW2Kit

Java access to the api

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Good stuff, but…

Correct me if I’m wrong, but it looks like you’re blinding trusting any SSL cert provided by all server.

As suggested by Cliff, it’s probably a lot better for your code to install the cert provided by https://api.guildwars2.com, before others start getting man-in-the-middle’d while using your code.

Creator of GW2Kit

GW2Kit: An Obj-C framework for iOS & OS X

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

Updated GW2Kit
GW2Kit on GitHub

The SDK allows any valid parameters to be in each request.

Currently Has:

  • items.json
  • item_details.json
  • events.json
  • event_names.json
  • map_names.json
  • world_names.json
  • wvw/matches.json

Currently Missing:

  • wvw/match_details.json
  • wvw/objective_names.json
  • recipes.json
  • recipe_details.json
Creator of GW2Kit

Ruby Example

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

cool. thanks for sharing!

Creator of GW2Kit

The general suggestion thread

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

I was expecting some lerp’ed coordinates to come with the event infos. That way we could map locations of active events onto a map of the zone they’re occurring in.

Creator of GW2Kit

GW2Kit: An Obj-C framework for iOS & OS X

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

First, thank you so much, ArenaNet! This is definitely the next best thing to actually working along side you guys.

GW2Kit – An Obj-C framework for iOS & OS X
GW2Kit on GitHub

What is GW2Kit?

GW2Kit is a native SDK project (for Apple’s Cocoa-based devices), which aims to provide:

  • Well documented SDK interfaces,
  • A dynamic framework for Mac apps,
  • A static library for iOS apps,
  • Unit tests to ensure GW2 API changes are in sync

I started the project just a few hours ago, so I’ve kind of overlooked the “well documented” part, but there is enough to get some of you developers started.

What’s there right now is:

  • Item details (query by item_id)
  • Event states (query by world_id, map_id, event_id)

Missing:

  • The rest (it’s late and I’ve been working on this for few hours, and the remaining endpoints will get added tomorrow)

Let’s get this party started!

There’s so many sweet things I look forward to putting this SDK to use on. I don’t tweet, but journaling in-game adventures and posting them to Twitter seems like things people would get geek’d about!

So with that, here we go!

One more thing…

PS: gwaspy – A GW2Spidy.com Obj-C framework for iOS & OS X
gwaspy on GitHub

Awhile back, I also started working on a native SDK to communicate with gw2spidy.com.

I used it to build a Mac app (I called Spy Hunter) that would notify me when my precursor’s price changed. Here’s a screenshot

Cheers,

Creator of GW2Kit

(edited by Killer Rhino.6794)

How often is the event data updated?

in API Development

Posted by: Killer Rhino.6794

Killer Rhino.6794

How often is the event data updated? I don’t want to pull the event data faster than necessary, or put any extra stain on you guys.

Thanks for the endpoints!

Creator of GW2Kit

Oh no... SOTG

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

Creator of GW2Kit

Bring back the old login screen!

in Suggestions

Posted by: Killer Rhino.6794

Killer Rhino.6794

The old login screen is constantly on my mind. It impressed a “AAA” (triple-A) quality game, and just plain got me excited to jump into Tyria.

If someone of authority could simply say that this feature is dead forever, that would be enough; obviously, I would be disappointed, but I could finally stop wondering, wanting and wishing.

:C

Creator of GW2Kit

Share observations on the Feb. patch

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

I’ve noticed that the Flame Blast moves a little faster than it used to. Anyone else experience this?

Creator of GW2Kit

Share observations on the Feb. patch

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

Once people actually log on to download the patch and play around with the changes to engineer, I’m interested to hear what people’s actual impressions are.

What has worked for you? How have you adjusted? How would you rate it?

Thanks!

Creator of GW2Kit

(edited by Killer Rhino.6794)

New build up! How are we improved?

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

Someone please tell me because I seriously don’t know…

Changes in the patch will affect different players different ways. What’s your play style? What skills do you rely on and how you approach combat? It’d be helpful to know so we can actually get you a good answer.

Creator of GW2Kit

Feb 26 - Engineer Patch Notes discussion

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

If whatever this patch ends up actually being (since, ya know, it just came out…) gets players to start running multiple kits more, I’m all for it. I’ve been urging engineers to use 3-kits as much as possible; it’s really where this class shines.

I haven’t tried the new patch yet, but it suggests that my PvE build is going to see a bit of a bump in effectiveness (which it nice, but I already thought it was pretty good to start).

Traits: 5/30/0/25/10
Armor: Zerk
Runes: Sup. of the Engi, x6
Trinkets: Valkyrie, x6, with Emeralds, x6

Elixir Gun, Flamethrower, Toolkit, Supply Crate

This discourages multiple kits…

Based on what, exactly?

Creator of GW2Kit

Feb 26 - Engineer Patch Notes discussion

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

If whatever this patch ends up actually being (since, ya know, it just came out…) gets players to start running multiple kits more, I’m all for it. I’ve been urging engineers to use 3-kits as much as possible; it’s really where this class shines.

I haven’t tried the new patch yet, but it suggests that my PvE build is going to see a bit of a bump in effectiveness (which it nice, but I already thought it was pretty good to start).

Traits: 5/30/0/25/10
Armor: Zerk
Runes: Sup. of the Engi, x6
Trinkets: Valkyrie, x6, with Emeralds, x6

Elixir Gun, Flamethrower, Toolkit, Supply Crate

Creator of GW2Kit

(edited by Killer Rhino.6794)

Removing Ancient Karka Shell crashes client

in Bugs: Game, Forum, Website

Posted by: Killer Rhino.6794

Killer Rhino.6794

If I try to drag my (already equipped) Ancient Karka Shell from the Hero Panel into my personal bank, the client crashes.

I’ve also submitted a bug report through /bug

Creator of GW2Kit

Endless Wintersday Tonics Thread

in Wintersday

Posted by: Killer Rhino.6794

Killer Rhino.6794

Oooh, good find! Looks like you’ll be able to toss 4 endless <toy> tonics into the mystic forge

Wonder what it could be!

Creator of GW2Kit

The Engineer Love Thread

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

Nothing compared to the many, many surprises I discovered throughout the entire experience of max leveling my Asura engineer. Just when I thought I got the hang of things, a new skill or trait totally mind kittened my brain and made me rethink the entire thing.

No other class has seemed to replay that same sort of magic; the engineer is a phenomenal feat of creative game design!

I’d love for the engi lovers here to weigh in on my other thread, “Be honest…”

Creator of GW2Kit

Be honest...

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

go away, roleplayer.

Whoa, I had no idea this observation was going to be interpreted in the context of trying to RP. I’m mentioning it to discuss the change on the merits of game design.

I’m guessing that if the class’ designers thought the kits weren’t enough, they would’ve made sure that the sigils were working the same as all the other class’ weapons on the initial release of the game.

The only explanation I can find for having the change now is to appease the majority of players trying engineer who aren’t patient enough to explore the virtues of engineer to its fullest; the pre-sigil design represented what happens when you break down the walls as a game designer, and turn over any expectations of what is possible.

Sure, there were, and are, bugs with the execution, but I don’t see how that necessitated the sigil change.

Creator of GW2Kit

How do I play an effective guardian?

in Guardian

Posted by: Killer Rhino.6794

Killer Rhino.6794

Could anyone please offer some advice, tips, thoughts, and themes on effectively playing my lvl 72 Guardian? I feel lost.

  1. I’ve played up to ~ lvl 50 (w/ greatsword), and crafted the additional 12 levels
  2. I don’t have a solid understanding of how to use any of my skills
  3. Majority of my skills indicate that I’m supposed to be playing with others
  4. I prefer to play solo

Note: My main is an engineer and I love that profession; however, I’m trying expand. I thought by now that my guardian play style would’ve “emerged naturally”, but instead, I’m just piling on arcane spirits everywhere I go.

Creator of GW2Kit

Be honest...

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

Well, gee, it feels about as strange as retaining Corruption/Accuracy/Bloodlust buffs after swapping weapons.

Could you elaborate? Wouldn’t it makes sense to retain those things when you’ve attached the sigil and then used it to kill whatever you wanted to gain the buffs?

The situation with the engineer feels different.

Creator of GW2Kit

(edited by Killer Rhino.6794)

Does weapon's damage effect Kits?

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

They will soon, but expect another nerf to all kits to compensate for the overwhelming advantage.

If kits are starting to move to the back, as you suggest, what was everyone’s rush to add sigil stats to kits? I really, really enjoyed the engineer as it was, and felt the versatility between the weapon skills and kit skills wholly unique, fun, and exciting.

What’s left for the engi, if not its kits?

Creator of GW2Kit

Be honest...

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

Anet balances around the tPvP meta and the tPvP meta only. Get used to it or find another game to play. They don’t care about PvE.

This is the second post I’ve read that you’ve replied with the exact same comment. Anything else you want to add?

Creator of GW2Kit

Be honest...

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

Am I the only who feels getting my rifle’s sigil’s “on kill” effect when killing something with my flamethrower is odd? Perhaps wrong, even. What does burning stuff have to do with what I want my rifle to do?

Creator of GW2Kit

Sharing my first twitch.tv clock tower recording

in Halloween Event

Posted by: Killer Rhino.6794

Killer Rhino.6794

I’ve really enjoyed the Mad King Clock Tower, so I started having some fun with it: http://twitch.tv/killerrhino/b/337516528

Creator of GW2Kit

Skill Challenge: Defeat Two-Eye Ignatl The Pirate is completely bugged!!

in Bugs: Game, Forum, Website

Posted by: Killer Rhino.6794

Killer Rhino.6794

Bump. It would appear to still be bugged. I was there last night, and came back online hoping it would’ve been fixed after the nightly update. Still no luck. It’s the last thing I have left for BTC map completion.

/cry

Creator of GW2Kit

Launcher missing UI w/no Internet connection

in Account & Technical Support

Posted by: Killer Rhino.6794

Killer Rhino.6794

If you start the launcher when there is no Internet connection (no matter the network interface), the launcher won’t render its UI. Turn your Internet back on (Wi-Fi or ethernet), the everything in the UI comes up.

Just an FYI.

Creator of GW2Kit

Engineering "Brilliance"!

in Engineer

Posted by: Killer Rhino.6794

Killer Rhino.6794

The engineer profession is such a fun, refreshing experience! I can’t think of many other games where I’ve seen this much creativity put into a player class. It’s incredible the amount of depth and strategy provided by various skill combinations.

The day I realized that I could napalm the crap out everything, simultaneously adding fire combo damage to my rifle, all while prepping a handful of massively explosive grenades…game over, man! GAME. OVER!

Gah, brilliant!

Creator of GW2Kit