MapContactHome


EViE - The EVE-Online Skill Monitor for the iPhone / iPod Touch (and now for Desktops as well!)

EViE
Img

Img
is a web-based EVE-Online skill monitor applet for the iPhone / iPod Touch. It runs entirely in the built-in Safari browser, with a little help from a proxy server that I maintain.

In addition, EViE can run on desktop machines using Safari, Firefox, Opera and Internet Explorer 7 (see below for compatibility notes). When run on a computer browser, EViE runs in a multicolumn mode to make the best use of the window size you give it.

EViE is free (and GPL), but if you want to help a poor podder out and lay some ISK on him, who am I to stop you? So far, EViE users have sent me ISK 11.1M... Cheap bastards, the lot of you!

IMPORTANT Note for users upgrading to version 2.0: Please follow the instructions lower down on the page to create your new EVE API key and construct a revised EViE access URL (the old URL will stop working soon). Because of the changes needed to support the new API key structure, your preferences will not be saved when you transfer, so after you get things up and running, you'll have to twiddle with them a bit. Don't forget to set your alert times and email address!

I wrote EViE in order to tutor myself in the basics of writing AJAX (Asynchronous Javascript And XML) web applications, and also to learn more about my iPhone.

I am indebted to Althea Nar'agh, author of Google Eve Monitor, and Blue Wraith, author of the Eve Skill Monitor Dashboard Widget, whose code was extremely helpful as I was figuring out how to access the EVE API. A few traces of their code linger in EViE (it's the well-written stuff!). I have endeavored to comment the Javascript in some detail, so those interested in fooling around with AJAX and iPhone webapps may find a perusal of the source of interest (or, more likely, amusement).

Because of the restrictions on AJAX access to remote webservers, I had to implement a simple (ok, down-right stupid) proxy server to run on one of my Mac OS X servers. It's just smart enough to serve the applet and provide access to the EVE API server, as well as implement simple server-side cookies in order to save your preferences and implement preference-sharing, and most recently, manage and send skill training alerts via email. It keeps a small amount of information about your preferences and alerts (indexed by your API key), but does not permanently log information like IP addresses. It will also only proxy requests directed at the EVE API servers; it is not an open proxy. It's written in RealBasic (so it will probably run under Windows and Linux as well, assuming their filesystems can handle 64 character filenames!), and if you want a copy, let me know.

As the proxy server is crude and not well tested, if it stops working, please email me a headsup so I can go take a look at what happened.

EViE features include: Things on the To-Do list: Things I'd like it to do, but don't know how (advice gratefully accepted if you do): Known Issues: Browser Compatibility:

Whenever one wanders from the safety of a defined environment (in this case, Safari on the iPhone), the issue of browser compatibility rears its ugly head. The fact of the matter is that each browser and operating system implements javascript in a different way, and designing AJAX webapps that work in all browsers is a massive pain. Here is what I know about EViE's compatibility with various browsers.

How to access and use EViE

In
Img

Img
order to use EViE you will need to construct a URL that tells the app about an EVE KeyID and verification code associated with the account you want to monitor. If you click here, you'll go to the support.eveonline.com site, and after signing in, you'll be on the create API key page with all the needed options selected. Just scroll down and hit the Submit button to create the ID/Key pair (you may also want to check the box that makes the key permanent).

Once you have that information, you construct your EViE URL is as follows:

http://evie.madoverlord.com:8080/EViE.html?eveKeyID=[ID]&eveAPIKey=[Verification Code]

where [ID] and [Verification Code] are replaced with the appropriate values; note that the [brackets] are not included in the values. Thus, the url will look something like this:

http://evie.madoverlord.com:8080/EViE.html?eveKeyID=123456&eveAPIKey=aVeryLongStringOfLettersAndNumbers

Because of the complexity of the URL, I strongly suggest entering it in your favorite desktop browser, testing it, then bookmarking it and syncing the bookmark onto your iPhone / iPod Touch.

Once you have EViE displaying your training data, you can customize the display in a great number of ways.

Tap on your character portrait to reveal the preferences panel, then tap on the preferences subsection headers (the ones with the little up and down chevrons) to open and close it.

Optional Implant Override URL argument

Just before the Apocrypha expansion, CCP disabled access to implant bonus information in the API. At the time of this writing, I have no idea how long this will last. Until they restore it, you will have to manually enter your bonuses in order for skill training times to be correctly calculated (except for the currently training skill, that uses a method that does not depend on knowing the implant info).

To manually override CCP's implant bonus info -- even if it is being sent -- simply add a third argument to the url, as follows:

http://evie.madoverlord.com:8080/EViE.html?eveKeyID=[ID]&eveAPIKey=[Verification Code]&implantOverride=I,M,C,P,W

where I,M,C,P and W are single digit integers giving the bonus to Intelligence, Memory, Charisma, Perception and Willpower, respectively. So a complete set of +4's would be:

http://evie.madoverlord.com:8080/EViE.html?eveKeyID=[ID]&eveAPIKey=[Verification Code]&implantOverride=4,4,4,4,4

Skill Display Options
You can choose to display All Skills, Known Skills, Partially-Trained Skills, Skills Matching Search (see below) or Do Not Display Skills. Known skills are displayed in green, partially-trained skills in yellow, and unknown skills in grey.

Show Descriptions toggles the display of skill descriptions and training time requirements (EViE does exact calculations based on your character's attributes, skills and implants). Even if you have descriptions turned off, tapping on a skill will display its description, training time, priority, and also its prerequisite skills, if any. Prerequisites are color-coded: green means you know the skill, yellow means you know it, but need to train it to a higher level, and red means you don't know the skill at all.
Search For Skills
Tapping Search for Skills will reveal a text field into which you can enter any string; skills whose name or description contains that string will be hilighted in red. On desktop browsers, the skills display will be updated about 1 second after you stop typing; on the iPhone / iPod Touch, there is a 5 second delay (because skill display refresh is significantly slower on those machines, and anyway, you can't see much until you dismiss the keyboard).
Email Alerts
This preference lets you manage EViE built-in completion alerts; simply enter an email address and choose up to 5 alert times (T-minus 60, 30, 15, 10 and/or 5 minutes). Selected times are blue, unselected ones are grey. At the appropriate times before skill training completes, emails will be sent to the desired address to remind you to log in and change skill training.

What makes this particular cute is that most cellphone providers have an email to SMS gateway service. This means that there's probably an email address out there that will forward an email to your cellphone as a SMS text message. EViE emails are designed (I hope!) to fit within the limitations of SMS messages -- if this feature doesn't work for you, email me (no texting, grin!) to let me know what went wrong. Don't know what your cellphone's SMS email address is, you say? Here is a list that contains a lot of providers. If your provider isn't on this list, and you find out what it is, email the page owner (not me!) to let him know. On the other hand, if you find a better list, then certainly let me know so I can update this page!
Priority Options
EViE allows you to prioritize skills into 4 special "priority categories" that appear ahead of the normal skill categories; these are called Priority Alpha (α), Beta (β), Gamma (γ) and Delta (δ). There is also a 5th category, Epsilon (ε), which is the default priority.

To set the priority of a skill, tap the skill. The background will dim and the full skill description will appear, along with 5 buttons, one for each priority category. The current priority is the one with the blue button. Tap a priority button to set the priority; the skill will be added to the bottom of the list in that priority category. Tap the same priority again, and it'll go to the top of the list.

The skills list will not actually update until you tap Update Priorities in the Priority Options section of the preferences panel (this is because the update can take several seconds if you're displaying a lot of skills). Also found under Priority Options is Promote Priorities. This is useful when you've completed training your most important skills and want to move on to the next group. When you Promote Priorities, everything moves up one priority level; β skills become α, γ become β, and δ become γ.
Refresh Options
This preference has two options; the first, Automatically Refresh, tells EViE to automatically get an update on your training situation whenever the API Server has new information. There is no point in enabling this when running on the iPhone, because you can't leave EViE running in the background (just reload the entire page), but it's nice for when you're running EViE is an a browser.

Save & Refresh Now reloads the entire page and saves your current preference settings in cookies both in your device and on the proxy server. Note: if you have updated preference settings on one device, and want them to be propagated to another device, simply reload the page -- without saving -- on the other device. This will grab the preference information from the proxy server without updating it!
Other Options
The final preference group lets you toggle the Beautiful Background between my wonderful image of a planetary nebulae, and basic black. And if you're a programming geek, you can play with Show Debug Log and see some of what EViE is doing in the background (I do not recommend doing this on the iPhone, the debug log likes a wider window). One of the things it'll show you is the calculation of your actual attributes.
Skill Training Queue options
If you have skills in your training queue (other than the skill currently training), they will be displayed under the current skill information. Skills that finish just before or after the daily downtime are displayed in yellow, and skills that end during the daily downtime are displayed in red (best not to have one of those as your last skill).

The header for this information is displayed in white if you can't add any skills to the queue, green if you can, yellow if there is less than 12 hours before the queue is empty, and red if there is less than two hours. This information is displayed even if you don't have any skills in the queue.
Miscellaneous Character Information
Tap on the character name, corporation name or bank balance to display miscellaneous character information, like race / bloodline / gender, as well as complete Attribute information. You get a table of initial attributes, basic skill bonuses, advanced skill bonuses, implant bonuses, and final attribute scores, as well as a list of the attribute implants that are currently installed.
Quick Navigation Features
Tap on any skill group header (the red captions) to collapse the skills list so that only the headers are visible. Tap on another one to expand the list again, and scroll to the desired skill group!

Tapping on the topmost area of the screen (where the time, battery status, etc is shown) will scroll you to the start of the page.


Links of Interest

In developing EViE, I found a lot of useful information about the EVE API and the iPhone. Here are some links you may find useful:

Copyright and Legal Information

©2008 Robert Woodhead. Released under GPL -- though parts of the CSS are cribbed from Apple's style samples.

Comments & bug reports to trebor@animeigo.com.

Latest version always here at http://www.madoverlord.com/projects/EViE.t


MapContactHome