Skip to content
This repository

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
tree: 2cc1469154
Fetching contributors…

Octocat-spinner-32-eaf2f5

Cannot retrieve contributors at this time

file 234 lines (117 sloc) 13.812 kb
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233

<!doctype html>
<!--[if lt IE 9]> <html class="no-js oldie" lang="en"> <![endif]-->
<head>
  <meta charset="utf-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
  <title> Interviews with Singapore's Next Generation Hackers: Herryanto Siatono. | Divya Manian</title>
  <meta name="author" content="Divya Manian">
  
  <meta name="description" content="This is the second interview in the series of interviewing Web 2.0 hackers from Singapore. Today we get to see Herry. Herry is a hacker and a &hellip;">
  

  <meta name="viewport" content="width=device-width, initial-scale=1">

  
  <link rel="canonical" href="http://nimbupani.github.com/interviews-with-singapores-next-generation-hackers-herryanto-siatono.html">
  <link href="/stylesheets/screen.css" rel="stylesheet">
  <link href="http://feeds.feedburner.com/nimbupani" rel="alternate" title="Subscribe" type="application/atom+xml">
  <link href="http://feeds.feedburner.com/nimbu" rel="alternate" title="Subscribe to Web Development updates" type="application/atom+xml">
  
</head>


<body >
  <div class="container">
    <div class="content">
      <header role="banner"> <h1><a href="/">Divya Manian</a></h1>
  
  <h2><a class="twitter" href="https://twitter.com/divya">twitter</a> <a class="rss" href="http://feeds.feedburner.com/nimbupani">RSS Feed</a> <a class="youtube" href="http://youtube.com/nimbupani">Youtube Channel</a> <a class="github" href="https://github.com/nimbupani">Github</a></h2>
  
</header>
      <nav class="sitenav"><a href="/">Home</a>
<a href="/archives">Archives</a>
<a href="/about.html">About</a>
</nav>
      
  



  


<article>
  <nav class="article">
    
      <a class="previous" href="/100-mbps-where-is-my-100mbps.html" title=" 100 Mbps...Where is my 100Mbps"></a>
    
    
      <a class="next" href="/50matches-com.html" title=" 50matches.com"></a>
     
    
               
  </nav>
    <header>
    




  

<time datetime="2007-05-12T00:00:00-07:00" pubdate><span class='month'>May</span> <span class='day'>12</span> <span class='year'>2007</span></time>
    
      <h1 class="entry-title"><a href="/interviews-with-singapores-next-generation-hackers-herryanto-siatono.html"> Interviews with Singapore's Next Generation Hackers: Herryanto Siatono.</a></h1>
    
    
    
    
  </header>
<div class="entry-content"><hr>


<p>This is the second interview in the series of interviewing Web 2.0 hackers from Singapore. Today we get to see <a href="http://pluitsolutions.com/about">Herry</a>. Herry is a hacker and a designer. He developed the acclaimed <a href="http://bookjetty.com/">BooJetty</a> a social book-bookmarking site that also mashes up Amazon and Singapore National Library (NLB) catalogue information. He talks about BookJetty, what it is like to be a developer and a designer, and of course, the technical aspects of BookJetty and how he gets a project off ground.</p>

<hr>




<h3>What drives you to create web apps like <a href="http://bookjetty.com">BookJetty</a>?</h3>


<p>It was to solve a problem I had, of having to swap between <a href="http://amazon.com">Amazon.com</a> and <a href="http://vistaweb.nlb.gov.sg/">Singapore NLB online catalogue site</a> &#8211; to check out if a book is worth a read and if it is available in the library.</p>

<p>At that time, I was looking for a pet project to learn more about <a href="http://www.adaptivepath.com/publications/essays/archives/000385.php">AJAX</a>, and BookJetty idea popped into my mind immediately. That was how it got started.</p>

<h3>How much time do you devote to BookJetty?</h3>


<p>On average 2-3 days a week, when I got bored between works for client, and on some evenings and weekends.</p>

<p>But at times, work can be so demanding; when I don&#8217;t even have much time to sleep, I have stay away from BookJetty for a while.</p>

<h3>What technologies do you use on BookJetty?</h3>


<p>It was originally written on <a href="http://java.sun.com">Java</a>, using <a href="http://www.hibernate.org">Hibernate</a> and <a href="http://www.springframework.org">Spring framework</a>.
But, again, my curiosity for a pet project to learn more about <a href="http://rubyonrails.org">Ruby On Rails</a> (RoR), pushed me to go ahead of this crazy idea of rewriting it from scratch using RoR. Lucky me, it went off smoothly, and the database is on MySQL.</p>

<p>Memory caching (<a href="http://www.danga.com/memcached/">Memcached</a>) was used to cache and speed up <abbr title="National Library Board">NLB</abbr> response, and to save on the server sessions, I pooled the session IDs.</p>

<p>As for the front-end site, the JavaScript libraries, I mainly used <a href="http://www.prototypejs.org/">Prototype</a>, <a href="http://script.aculo.us">Scriptaculous</a> and <a href="http://cross-browser.com">X-Library</a>. <abbr title="Integrated Development Environment">IDE</abbr>, none other than <a href="http://www.radrails.org">RadRails</a>. <a href="http://subversion.tigris.org">Subversion</a> for the version control, and server co-located at <a href="http://www.qala.com.sg">Qala</a>, running on <a href="http://www.ubuntu.com">Ubuntu</a>.</p>

<h3>How long did it take for you to get any web app off the ground?</h3>


<p>It&#8217;s a subjective question, depending on the complexity of the application and the platform you use to develop. Using <abbr title="Ruby on Rails">RoR</abbr> will be faster. :)</p>

<p>A full fledged application with testing and administration site done properly, on an average, would take about 3 months. While a quick-off-the-ground
application, can be done in days to weeks.</p>

<h3>How many people currently use BookJetty?</h3>


<p>Currently there are close to 200 registered users, mainly local users, as BookJetty only links up with Singapore <abbr title="National Library Board">NLB</abbr>, but the actual number of users using it could be more, as people don&#8217;t need to register to use BookJetty.</p>

<h3>6. What is the plan for the future of BookJetty?</h3>


<p>To keep developing it into a full fledged social book-bookmarking site, and to link up with more libraries, so as to open it up to the world.</p>

<h3>What challenges do you face in developing for BookJetty?</h3>


<p>The biggest challenge I would say the part that links it up with <abbr title="National Library Board">NLB</abbr>. It looks easy on the surface, as it is not just about passing parameters and screen scrapping.</p>

<p>In the backend, there are some sessions involved, thus the sessions have to be managed carefully, as some may have expired too; and due to the asynchronous requests from BookJetty, there is also a need to streamline and improve the query time through caching and session pooling. A lot more work than what I had thought it required.</p>

<h3>Looking back, is there anything you would have done differently with BookJetty, given the new technologies now?</h3>


<p>Technologically, I think I am on the right track with <abbr title="Ruby on Rails">RoR</abbr>, it is so much joy to enhance the site right now.</p>

<p>But as for the execution of BookJetty, I should have planned it for global users from the start, the on-the-fly call number availability check is God-sent, but would be quite a challenge to implement it across many libraries.</p>

<h3>What do you think you would be doing next? What do you see in your future as you develop for the web?</h3>


<p>I have just spent a few months working on a project collaboration system for a client, so I am thinking of spending a few more months to wrap it up as a product, and hopefully be able to learn something from this experience.</p>

<p>I&#8217;m not sure if I know about the future, the web is changing so fast. At one moment, you think this is right, later, as you learn, you think that this is stupid. But, at the end of the day, it&#8217;s always about how can we be better off with the web, and people will keep pushing the limits of what they can do with the web.</p>

<h3>You indicated in <a href="http://www.pluitsolutions.com/">your blog</a> that you took a sabbatical to learn about new technologies. How did that help? Is there anyway you think you could have done without it?</h3>


<p>Yeah, there is no way I could have done without it. Other than the technical gains, it also gave me a new perspective to what I believe in and what I want to pursue. The one regret I have is, why did I not do it earlier?</p>

<h3>You are also a rare species that designs and codes. How do you see the relationship between the two? Given that designers are always bickering about developers. Do you think sometimes being a developer constrains your design view (especially on the web)?</h3>


<p>I think the line that separates the two is getting thinner. Now that the basic needs of Create, Read, Update and Delete (CRUD) tasks have been fulfilled, we start to look further; we look at how to do things better, faster, easier, and with more joy.</p>

<p>To push beyond that limit, we need designers with some programming knowledge and programmers who know some design concepts.</p>

<p>Technorati Tags: <a class="performancingtags" href="http://technorati.com/tag/pluitsolutions" rel="tag">pluitsolutions</a>, <a class="performancingtags" href="http://technorati.com/tag/webstandards" rel="tag">webstandards</a>, <a class="performancingtags" href="http://technorati.com/tag/webdesign" rel="tag">webdesign</a>, <a class="performancingtags" href="http://technorati.com/tag/css" rel="tag">css</a>, <a class="performancingtags" href="http://technorati.com/tag/bookjetty" rel="tag">bookjetty</a>, <a class="performancingtags" href="http://technorati.com/tag/rubyonrails" rel="tag">rubyonrails</a>, <a class="performancingtags" href="http://technorati.com/tag/webapps" rel="tag">webapps</a></p>
</div>

  <footer>
    <p class="meta">This post was posted by
  

<a href="/about.html">Divya Manian</a>
 on




  

<time datetime="2007-05-12T00:00:00-07:00" pubdate><span class='month'>May</span> <span class='day'>12</span> <span class='year'>2007</span></time> in

. If you would like to update this post, <a href="https://github.com/nimbupani/nimbupani.github.com/blob/source/source/_posts/2007-05-12-interviews-with-singapores-next-generation-hackers-herryanto-siatono.md">please send a pull request</a>.
    </p>
  </footer>
</article>

  <section>
    <h1>Comments</h1>
    <div id="disqus_thread" aria-live="polite"><noscript>Please enable JavaScript to view the <a href="http://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>
</div>
  </section>

      
    </div>
  </div>
  <aside id="articles">
    <p><img class="avatar" src="/assets/divya.png" height=50> <a href="http://twitter.com/divya">Divya Manian</a> is a Web Developer in Seattle. <a href="/about.html">More about me ❭</a></p>
    <h2>Posts on Web Development</h2>
    <ul><li><a href="/html5please.html">html5please</a></li><li><a href="/mustache.html">mustache, hogan, handlebars</a></li><li><a href="/redesign-notes.html">Redesign Notes</a></li><li><a href="/summary-of-various-exciting-css-drafts-and-proposals.html">Summary of various exciting CSS drafts and proposals</a></li><li><a href="/this-revolution-needs-new-revolutionaries.html">This revolution needs new revolutionaries</a></li><li><a href="/some-css-transition-hacks.html">Some CSS Transition hacks</a></li><li><a href="/safe-css-defaults.html">Safe CSS Defaults</a></li><li><a href="/unplugged-2011.html">Unplugged 2011</a></li><li><a href="/bokeh-with-css3-gradients.html">Bokeh with CSS3 Gradients</a></li><li><a href="/making-pure-css3-demos-better.html">Making "Pure CSS3" demos better</a></li><li><a href="/web-opener-at-opera.html">Web Opener at Opera</a></li><li><a href="/current-color-in-css.html">Current Color in CSS</a></li><li><a href="/css-vocabulary.html">CSS Vocabulary</a></li><li><a href="/active-web-development.html">Active Web Development</a></li><li><a href="/sexy-css3-buttons.html">Sexy CSS3 Buttons</a></li><li><a href="/accessible-css-barcharts.html">Accessible CSS Barcharts</a></li><li><a href="/svg-is-coming.html">SVG is coming!</a></li><li><a href="/wee-marquee.html">Wee! Marquee</a></li><li><a href="/vignettes-with-css3-box-shadows.html">Vignettes with CSS3 Box Shadows</a></li><li><a href="/drop-shadows-with-css3.html">Drop Shadows with CSS3</a></li><li><a class="btn" href="/categories/web-development/">More</a></li></ul>
  </aside>
  <footer role="contentinfo"><p>
  Copy to your heart’s content 2012 - Divya Manian -
  <span class="credit">Powered by <a href="http://octopress.org">Octopress</a></span>
</p>


</footer>
  

<script type="text/javascript">
      var disqus_shortname = 'nimbublog';
      var disqus_developer = 1;
      
      
        var disqus_url = 'http://nimbupani.com/interviews-with-singapores-next-generation-hackers-herryanto-siatono.html';
        var disqus_identifier = 'http://nimbupani.com/interviews-with-singapores-next-generation-hackers-herryanto-siatono.html';
      
        
        
      
    (function () {
      var dsq = document.createElement('script'); dsq.type = 'text/javascript'; dsq.async = true;
      dsq.src = 'http://' + disqus_shortname + '.disqus.com/embed.js';
      (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(dsq);
    }());
</script>


<script src="/javascripts/octopress.js"></script>

  <script>
    var _gaq=[['_setAccount','UA-97188-1'],['_trackPageview']];
    (function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];
    g.src=('https:'==location.protocol?'//ssl':'//www')+'.google-analytics.com/ga.js';
    s.parentNode.insertBefore(g,s)}(document,'script'));
  </script>




</body>
</html>
Something went wrong with that request. Please try again.