Kion
Jul 14, 2013, 08:43 AM
Version 1.50 is now available in the webstore, the notification system should be working again.
Webstore Link (https://chrome.google.com/webstore/detail/febdkhimnahpmjpbidcofjdpjjggojhj)
Sorry for the downtime. I haven't been playing Pso2 at all, uninstalled the extension on my own computer, and found out that right after I upgraded to 1.47 that twitter had decided to update their API to version 1.1 making my url calls on the extension invalid. For version 1.50, the user interface, aside from the options menu, shouldn't be any different from before. The back end on the other hand, now calls an application server that I wrote for the extension instead of twitter.
New Options Menu:
The old options page looked terrible and wasn't very clear is you actually saved anything or not. The current options page uses jQuery with the Mobile Style library for a pretty sweet looking options page. The current options are reflected when you open it, so you can see if your browser is set or not. Other than that, hit a ship, select if you want notifications or not and hit save.
[spoiler-box]
http://arks-layer.com/twitter/screenshot.png
[/spoiler-box]
Backend Mumbo Jumbo:
The previous extensions used url calls from twitter to get information from twitter and parse the type and time on the client side. That had several downsides of not getting responses from twitter, not converting to the local time zone correctly, and having to update the client directly every time a new EQ was put into circulation.
For version 1.50 I wrote my own application server with Nodejs and MongoDB to listen on twitter and parse the time and type server side. Everything is managed including the messages and the types on the server, so I can dynamically add and edit EQ information directly on the server and have it take effect with out having to update the client directly. Also, since there's not that much data being exchanged, it shouldn't backup like twitter that get's overloaded pretty often.
In addition, the server can be expanded. Because I'm using Nodejs with the twitter module instead of url calls to twitter directly, I can get everything tweeted by an account, tweets at that account, and tweets that the account follows. In otherwords, I've pretty much made the exact equivalent of the pso2_emg_bot just in Node.js (instead of python?). So it maybe possible to improve an expand on that system.
The only problem is that parsing twitter, and trying to get information from that in terms of time and date is pretty much a haphazard process. I might make a webform, for an addition to the chrome extension that would allow players to report EQ's from the drop down menu instead of having to write in some consistent format and look up what the current time in Japan is.
Notifications:
Notifications were really annoying when I tried implementing them before, I was using timeouts to call the server every two minutes, which generally caused an annoying pop up each time. Now when an EQ is detected, the extension uses the time object for when it starts and uses that as a timeout to get it right on the hour when the next pop up appears. So basically you should only see two pop ups. The script runs once when you open the browser, so if you're constantly opening and closing chrome when an EQ is announced or in effect, then you'll get a pop up when the browser comes up. Haven't really tested it enough to see if I should add some code to prevent that, but for now, if it's annoying just go to the options page and turn it off.
Firefox Extension Alpha:
(Work in progress!): Download Link (http://arks-layer.com/twitter/pso2addon.xpi)
[spoiler-box]
Working:
- Icon
- Popup menu displayed on click (sort of)
- Links in popup open in new tab on click
- Context scripts for translation working
- Ajax call for checking server
- How to set icon image
- Setting image and message in popup
- Setting options in local storage
- display and set options in firefox
Bugs:
- Hiragana keyboard causes screen to display "[Object object]" when opened
Development Checklist
- Desktop notifications
[/spoiler-box]
Only my third day working on it, but for the most part it seems to be working. I realized on the previews i posted before this, I had the request to the server set as static to Ship01. Changing the ship changed the message to reflect the ship number, but the addon displayed the same EQ for everything. That has been fixed, also, selecting a ship is saved when closed and should still be set when the window is opened again. Aside from that, the color change seems to work, the context scripts for translating the player page seem to work. There's still several details, fixes and improvements that need to take place, but the functionality seems to be there, so I'm upgrading the status to alpha.
3,455 users on the chrome extension. Just wanted to say thanks for everyone who downloaded the extension, and sorry for the inconvenience.
Webstore Link (https://chrome.google.com/webstore/detail/febdkhimnahpmjpbidcofjdpjjggojhj)
Sorry for the downtime. I haven't been playing Pso2 at all, uninstalled the extension on my own computer, and found out that right after I upgraded to 1.47 that twitter had decided to update their API to version 1.1 making my url calls on the extension invalid. For version 1.50, the user interface, aside from the options menu, shouldn't be any different from before. The back end on the other hand, now calls an application server that I wrote for the extension instead of twitter.
New Options Menu:
The old options page looked terrible and wasn't very clear is you actually saved anything or not. The current options page uses jQuery with the Mobile Style library for a pretty sweet looking options page. The current options are reflected when you open it, so you can see if your browser is set or not. Other than that, hit a ship, select if you want notifications or not and hit save.
[spoiler-box]
http://arks-layer.com/twitter/screenshot.png
[/spoiler-box]
Backend Mumbo Jumbo:
The previous extensions used url calls from twitter to get information from twitter and parse the type and time on the client side. That had several downsides of not getting responses from twitter, not converting to the local time zone correctly, and having to update the client directly every time a new EQ was put into circulation.
For version 1.50 I wrote my own application server with Nodejs and MongoDB to listen on twitter and parse the time and type server side. Everything is managed including the messages and the types on the server, so I can dynamically add and edit EQ information directly on the server and have it take effect with out having to update the client directly. Also, since there's not that much data being exchanged, it shouldn't backup like twitter that get's overloaded pretty often.
In addition, the server can be expanded. Because I'm using Nodejs with the twitter module instead of url calls to twitter directly, I can get everything tweeted by an account, tweets at that account, and tweets that the account follows. In otherwords, I've pretty much made the exact equivalent of the pso2_emg_bot just in Node.js (instead of python?). So it maybe possible to improve an expand on that system.
The only problem is that parsing twitter, and trying to get information from that in terms of time and date is pretty much a haphazard process. I might make a webform, for an addition to the chrome extension that would allow players to report EQ's from the drop down menu instead of having to write in some consistent format and look up what the current time in Japan is.
Notifications:
Notifications were really annoying when I tried implementing them before, I was using timeouts to call the server every two minutes, which generally caused an annoying pop up each time. Now when an EQ is detected, the extension uses the time object for when it starts and uses that as a timeout to get it right on the hour when the next pop up appears. So basically you should only see two pop ups. The script runs once when you open the browser, so if you're constantly opening and closing chrome when an EQ is announced or in effect, then you'll get a pop up when the browser comes up. Haven't really tested it enough to see if I should add some code to prevent that, but for now, if it's annoying just go to the options page and turn it off.
Firefox Extension Alpha:
(Work in progress!): Download Link (http://arks-layer.com/twitter/pso2addon.xpi)
[spoiler-box]
Working:
- Icon
- Popup menu displayed on click (sort of)
- Links in popup open in new tab on click
- Context scripts for translation working
- Ajax call for checking server
- How to set icon image
- Setting image and message in popup
- Setting options in local storage
- display and set options in firefox
Bugs:
- Hiragana keyboard causes screen to display "[Object object]" when opened
Development Checklist
- Desktop notifications
[/spoiler-box]
Only my third day working on it, but for the most part it seems to be working. I realized on the previews i posted before this, I had the request to the server set as static to Ship01. Changing the ship changed the message to reflect the ship number, but the addon displayed the same EQ for everything. That has been fixed, also, selecting a ship is saved when closed and should still be set when the window is opened again. Aside from that, the color change seems to work, the context scripts for translating the player page seem to work. There's still several details, fixes and improvements that need to take place, but the functionality seems to be there, so I'm upgrading the status to alpha.
3,455 users on the chrome extension. Just wanted to say thanks for everyone who downloaded the extension, and sorry for the inconvenience.