Category Archives: Mike

Mike 12.1.2011

  • Going through Phil’s GWT book step-by-step
  • Found a workaround for the broken dialog in the GWT Eclipse plugin (when trying to create a new HTML page and nothing happens):
    • create a new file at ‘myproject/src/com/google/gwt/user/tools/AppHtml.htmlsrc’
    • put the following 1 line in it: ‘<!doctype html>’
    • The dialog should not finish correctly

Mike 11.29.11

  • Finished things up in the phone app:
    • Implemented filtering in the ColumnView
    • Removed the filtering option in the TableView
    • Made the map markers DPI dependent
    • Few other small fixes
  • Looking in to GWT / Java Enterprise Architectures, specifically 3-tier application architectures
  • Fiddling around with GWT Examples

Mike 11.22.11

  • More waiting around at site for permissions
  • Created a set of icons for the ColumnView page of the mobile app, added multiple versions for different screen DPI
  • Updated the pie chart colors
  • Added another logo screen for larger screen sizes
  • Yearly review with Brian
  • Various other bug fixes and polishing on the mobile app

Mike 11.11.2011

  • Long week of filling out HR forms, watching security briefings and updating resumes.
  • But I did manage to get a little work done.  I made a new logo for visibility in Photoshop and added it to splash screens for various DPIs.
  • I also started going through each page of the mobile app and conforming the theme to the splash screen

Mike 11.04.2011

  • More fun mornings spent waiting on site
  • Working making the mobile demo look a little better
  • Started by trying to style charts then decided it would be better to start on the first screen to decide on a theme and run it all the way through
  • So I started working on an animated splash screen, similar to the one seen on the Flint home page
  • Got it working in a Flex application even though my Eclipse crashed over  dozen times in the process
  • When I tried to add it to the phone as a splash screen I get the following exception:

Error: Could not find compiled resource bundle ‘charts’ for locale ‘en_US’.
at mx.resources::ResourceManagerImpl/installCompiledResourceBundle()
at mx.resources::ResourceManagerImpl/installCompiledResourceBundles()
at mx.resources::ResourceManagerImpl/processInfo()
at mx.resources::ResourceManagerImpl()
at mx.resources::ResourceManager$/getInstance()
at mx.styles::StyleManagerImpl()
at _MobileSplashScreen_FlexInit$/init()
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::kickOff()[E:dev4.5.1frameworksprojectsframeworksrcmxmanagersSystemManager.as:2821]
at mx.managers::SystemManager/http://www.adobe.com/2006/flex/mx/internal::preloader_completeHandler()[E:dev4.5.1frameworksprojectsframeworksrcmxmanagersSystemManager.as:2729]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.preloaders::Preloader/timerHandler()[E:dev4.5.1frameworksprojectsframeworksrcmxpreloadersPreloader.as:542]
at flash.utils::Timer/_timerDispatch()
at flash.utils::Timer/tick()

I find it very odd since my animated swf doesn’t use any charts…

Mike 11.02.11

  • Lots more waiting for permissions even though some people ‘disapprove’ of it
  • Continuing to work on the chart scrolling and zooming
  • There’s a weird bug with the throw, it seems to calculate the endpoints and animate fine until the last frame of the animation where it resets the axis back to where it started.  I’ve spent a lot of time debugging this and can’t figure it out.
  • So I checked in my ChartScroller component and added it to the mobile project with the throw DISABLED.  Scrolling and zooming do work fine though.

Mike 10.26.11

All quiet at site.

  • Continuing work on the scrolling / zooming charts. Have a basic version working with hand gestures as well as mouse interaction in the emulator.
  • Need to implement a throw as well as bounds at the beginning and end of the chart

Mike 10.24.2011

  • Started working on zoomable charts based on hints from amCharts
  • The first thing I did was write a helper class for panning gestures: ScrollTouchHelper
    • This class can monitor a UIComponent for Pan gestures
    • The UIComponent must implement performDrag(x,y) and performThrow(vx, vy)
    • The helper class takes care of all of the event listeners, delta calculations, etc. and leaves the component itself to implement how the changes in x and y take effect
    • The helper class works with both gesture events and mouse events
  • Next I tackled zooming which is much simpler.
    • Just add event listeners for MouseEvent.MOUSE_WHEEL and TransformGestureEvent.GESTURE_ZOOM and handle the changes

Mike 10.20.2011

PKI Stuff

  • Created a new project that will contain all the required classes to add a security filter to a web application
  • To add it, all you have to do is add the jar and the dependencies and define the filter in the web.xml
  • Also included a test servlet that verifies the filter is working
  • Lots of documentation

Mobile Map

  • Added an info window that pops up when a marker is clicked
  • Added Ability to change views (satellite / Street / Topography )
  • Improved map drag responsiveness
  • The map now searches for variations of latitude and longitude, creates an alert when one or more aren’t found
  • Added busy indicators to the screens that were missing them

Mike 10.12.2011

Been awhile since my last update…

  • Been at my internal desk each morning for the past couple weeks submitting requests, setting up my development environment, and doing as much development as possible.
  • Acquired PKI certificates for myself and the servers
  • Figured out how to configure a tomcat server to use the certs, two-way ssl, and pass the cert along the HTTPRequest
  • Wrote a Filter that pulls the certificate off the requests and attempts to validate the user with the central authentication server
  • When the user’s credentials come back, the information is stored on the session for future requests and the user is allowed to continue
  • If the user is not authorized a generic page stating that fact is shown
  • Wrote a simple test servlet that demonstrates this capability
  • Deployed the servlet to the integration machine where it is currently working just fine

Mike 8.27.2011

  • Now that we are getting desks, I started looking in tot he security integration.
  • I figured out how to write a request filter so all requests to our server are examined before passing to the remote object
  • Set up a basic framework that allows everything through for now, inside we’ll have it ping the authorization server with the user’s cert and put that information on the session for later use
  • Went with Brian and Dong to the new desks and put in account requests.

Mike 9.23.2011

It works!  I have a mobile version of visiblity that allows infinite drill-down in to a google spreadsheet, treating it like a database table.  The charts need some work, they are quite illegible and difficult to interact with when show many series (like all 50 states in my example case).  Also need to get the map working and get some sample lat lng data.

Mike 9.20.2011

  • Resume updates for Brian
  • Connected the mobile log in screen to my remote google service autheticator
  • Connected the Mobile Builder (Table + Column) views to the google service
  • Created an extension of the Flex mobile View component with a built in BusyIndicator called BusyView
  • Working on getting queries to run and display

Mike 9.16.2011

  • Completed the basic remote service requirements for the visibility mobile app
  • Added a README file to the project detailing the workspace requirements, build and deploy process
  • Fixed a few issues with the log
  • Other small polishing items
  • Annual Self-review

Mike 9.14.2011

  • Google does not approve of my HTTP request method and throws an exception when I try to call it from within their app engine:
    • “javax.net.ssl.KeyManagerFactory is a restricted class. Please see the Google  App Engine developer’s guide for more details.”
  • I have to try and find another way to make the requests.
  • Looked in to Google’s gdata library source and found what classes they use to make their requests: HttpGDataRequest
    • I was able to do a similar HTTP get as before but now I’m using ‘google approved classes’
    • since this is now google app engine specific I rolled everything in to one large project instead of breaking it out in to libraries