The Procyon Holdings (PROHD) name is expanding again as we push out into another development area — the Android framework. When I abandoned my BlackBerry, the choice to move to the Android platform was an easy decision. Market saturation, the development community, and fluidity between devices make this platform shine.
I’ve been having a few end user problems with the current iteration of our trading website. First, the native Android Gingerbread browser lacks SVG support, an issue that has bewildered me since I read about it. I can solve this issue by using another browser such as Opera, but I would like to use the native one.
Also working with a HTML + Ajax website on a device with a touch interface feels like you are not getting the full user experience. I want to scroll down lists with my finder, click and hold to expose options, and speed around menus.
We had to expand our design and create a few new pieces to get data to the mobile world. New items include the creation of a daemon to simply database population, exposing data via XML, and working with an existing library to enable Push notifications.
Our previous design was that you would have to hit the transactions webpage and it would trigger an update. Getting a page to refresh on a desktop connected via broadband versus a mobile phone is quite the different experience.
Android has a framework called C2DM (Android Cloud to Device Messaging) which enables you to send lightweight push notifications to devices.
Our vision is that when a sell order clears, a large/special sale has occurred, or a significant milestone has been reached, we send a notice. This will be visible on phone’s Status Notification Bar and cause me to act if deemed important. I have been forgetting to buy or trade a particular item after the sell orders have cleared. Forget things — lose profit.
Getting data out of our database required the creation of a webservice to produce XML output from our wallet table.
Here is an example of the sale of one item in our XML feed:
<?xml version="1.0"?> <TransactionList> <Transaction> <transactionDateTime>2012-04-19 06:21:04</transactionDateTime> <typeID>21096</typeID> <typeName>Cynosural Field Generator I</typeName> <quantity>1</quantity> <price>1948939.91</price> <profit>147803</profit> <stationName>STATION</stationName> <icon>21096_32.png</icon> </Transaction> </TransactionList>
This screenshot is our first proof of concept. We’re able to get information from an XML feed, display it, and get/cache images from the Eve image server. Major credit goes to my trading and corporation partner James, who has been doing the development work and educating me on the Android framework.
There is a lot we want to do with the mobile version. Menus, tabs, charts, reports, and the ability to add items to a shopping cart/wish list are all things on the drawing board.
This project is our first exposure to the Android framework and after the initial learning curve, we might perhaps coolabrate with the Aideron Robotics team on Aura. So maybe some of our trading mechanics will make their way into the Aura application.
Jason Parks, the creator of the popular Aura suite for the Android platform, proposed a few questions on Google+ in regards to my platform for CSM7. For the past few months we have exchanged a few emails about our Eve projects, which would not even be possible without the wonderful API.
Given our shared passion for development work, he invited me to contribute to the Aura project. The fancy graphs and reporting logic that I have been able to generate out of my Wallet Manager site would be a wonderful addition to his suite (I hope to bring some of this design to the Eve client — more on that later).
Sadly, I don’t have a lot of time to pickup the Android framework so I haven’t taken him up on his offer to collaborate. I would, however, like to declare that given my background in 3rd party projects for Eve, the struggles of developers will be a major source of direction on my part if I become a member of the CSM.
Here are responses to Jason’s questions that will hopefully lock-in his vote for me:
POS management redesign
Can you elaborate a bit on this? I made a post here on Google+ that has my ideas (https://plus.google.com/u/0/115407184179295920691/posts/hJyoCgbo6tZ). What do you think about it? Would you push for something like this?
From what I have read from various CCP developers, the code that runs the POS’es is old and terribly maintained. I’m sure it was written years ago with no commenting or documentation and nobody wants to open that Pandora’s box. I need more time to solidify my stance on the POS rework. I need to pull up a recent CCP post about “castles in the sky” (?) and review CCP Greyscale’s Nullsec Development: Design Goals post. Look for a post soon on this.
Will you be our API champion? I would like someone to raise the suggestions that many of the 3rd-party devs. I have ideas that I will raise at fanfest when I can again but we have no one to follow through on them. Making a post in on the forums doesn’t help until we have a champion on the CSM.
This sounds like a perfect tagline for me. “Blake Armitage — API Champion”. I would not be so involved with Eve if there wasn’t such an active and passionate 3rd party community. The ability to get data out of Eve breeds innovation and allows us to work with data in ways that CCP wouldn’t have envisioned.
Traders and industry focused people have come up with systems to track profitability, product movements, and margins. Large alliances would not exist if they could not keep track of their POS network, reinforcement timers, and sovereignty information.
The free time that developers put into these applications shows us the depth of intrigue that Eve brings to our gaming lifestyle. Expanding the API, while keeping security and automation exploits in mind, can do nothing but enhance the game.
I do hereby accept the title of “API Champion”.
Will we be able to engage with you after you are elected? This past cycle we didn’t have CSM contact and I’ve been forced to troll The Mattani and Hilmar 😉
Most definitively. I love to talk shop with the other space nerds.
API Fanfest News
In other API news CPP has a session at Fanfest this year where they will talk about a read/write API called “Carbon REST“. This topic is of particular interest to me and it saddens me that I have a conflict for Fanfest this year.
A developer preview of a new RESTful, oAuth based read/write API for Eve Online – Carbon REST.
Carbon… REST…? Carbon (CCP’s new Framework) + REST (fancy client/server software architecture). From what I can gather, there are going to be some advances to the current API structure.
Having the ability to write data to the Eve database opens up a wide array of options for developers. Some of the items that I would like to see exposed are:
- ability to send mail
- add/remove and set standings for contacts
- add/remove/manage calendar items
- update the skill queue
- update personal and corp (role dependent) ship fits. This would allow applications such as EFT, Pyfa, or Aura the ability to work directly with the fits stored on the server. You could walk around with your phone, update your fit, put your phone in your pocket, get home, and have the updated fit on the Eve client. Drag that fit to the market window (thank you CCP) and purchase. No more managing XML files posted on forums
All these benefits do come with a price. First, CCP will have to remain conscious of the ability to script input. Having the ability to update market orders or submit industry jobs opens up a dark sea of automation. Additionally, the mentality of actually making us login to the game will have to remain a priority. If you can do all of your work outside the client, why even login? The social aspect of Eve will suffer as less and less people login. No more posting “creative” images to local while you gaze at a POS bubble.
As with everything computer related, there will need to be a balance between available and security. Given my background in network security I feel that I can keep these interests in mind. Seriously, look at my books at work:
I feel that exciting times for developers are in the works and I would love the opportunity to be a strong representative of the 3rd party development community on the CSM.
“the struggles of developers will be a major source of direction on my part if I become a member of the CSM”
“Expanding the API, while keeping security and automation exploits in mind, can do nothing but enhance the game”