Source CompatibilityRobert CooperExtreme
BackgroundI love crossword puzzlesFled iPhone land for AndroidNo good crossword apps 
ShortyzNamed in honor of (and with apologies to) Will Shortz @ NYT/NPRDownloads free puzzlesCan download NYT subscription puzzle
1.0Written in 2 weekendsPUZ file format sucksLots of UI issuesGridView performance poorGridView/ListView have two completely different interaction modelsHowever, “Good Enough for Me.”
2.0Laptop stolenWritten in about 3 weeks of nights/weekendsNew UICustom renderingCustom touch handling (ugh)Cleaner CodeIO, State, Controller in separate APIs.
Life is GoodIn a reasonable steady stateGood feedback from usersGrowing if small user base
Other PeopleGot an email from Pam @ Google asking for a Wave versionGot an IM from Josh @ Palm asking for a WebOS version
Hmm…“Some people when faced with a problem think, I know, I’ll use GWT…”
Initial EffortCode reuse actually made this easy.Moved model code and IO code into separate packages.Made GWT Module for original codeImplemented new renderer for webTook about 5 hours to get something playable
History RepeatingPlay -> Render cycle painfully slow on the DOM.Re-implemented the Web version to look more like the original Android version with MVC and bind eventsPerformance problem solved
ProductivityWeb version (after Android code)About 16 hoursFacebook Version About 3 hours (Still needs work)WebOS VersionAbout 5 hoursBinary IO painfuliGoogle versionTrivial
Productivity (cont)Wave VersionAlmost 40 hoursWave development is a serious PITA because you need a full deploy to make it work. There are a lot of things they don’t tell you in the docs.
SummaryJava on “Everything but the Java Platform”Tips:Manage Dependencies.Gin is totally frackingawesome.Interesting:GWT gziped is ~ same size as Android version.
LinksShortyz on Android Marketshortyz.kebernet.net“Shortyz Crosswords” public Waveapps.facebook.com/shortyz

Extreme Source Compatibility

  • 1.
  • 2.
    BackgroundI love crosswordpuzzlesFled iPhone land for AndroidNo good crossword apps 
  • 3.
    ShortyzNamed in honorof (and with apologies to) Will Shortz @ NYT/NPRDownloads free puzzlesCan download NYT subscription puzzle
  • 4.
    1.0Written in 2weekendsPUZ file format sucksLots of UI issuesGridView performance poorGridView/ListView have two completely different interaction modelsHowever, “Good Enough for Me.”
  • 5.
    2.0Laptop stolenWritten inabout 3 weeks of nights/weekendsNew UICustom renderingCustom touch handling (ugh)Cleaner CodeIO, State, Controller in separate APIs.
  • 6.
    Life is GoodIna reasonable steady stateGood feedback from usersGrowing if small user base
  • 7.
    Other PeopleGot anemail from Pam @ Google asking for a Wave versionGot an IM from Josh @ Palm asking for a WebOS version
  • 8.
    Hmm…“Some people whenfaced with a problem think, I know, I’ll use GWT…”
  • 9.
    Initial EffortCode reuseactually made this easy.Moved model code and IO code into separate packages.Made GWT Module for original codeImplemented new renderer for webTook about 5 hours to get something playable
  • 10.
    History RepeatingPlay ->Render cycle painfully slow on the DOM.Re-implemented the Web version to look more like the original Android version with MVC and bind eventsPerformance problem solved
  • 11.
    ProductivityWeb version (afterAndroid code)About 16 hoursFacebook Version About 3 hours (Still needs work)WebOS VersionAbout 5 hoursBinary IO painfuliGoogle versionTrivial
  • 12.
    Productivity (cont)Wave VersionAlmost40 hoursWave development is a serious PITA because you need a full deploy to make it work. There are a lot of things they don’t tell you in the docs.
  • 13.
    SummaryJava on “Everythingbut the Java Platform”Tips:Manage Dependencies.Gin is totally frackingawesome.Interesting:GWT gziped is ~ same size as Android version.
  • 14.
    LinksShortyz on AndroidMarketshortyz.kebernet.net“Shortyz Crosswords” public Waveapps.facebook.com/shortyz