Context The new Nexus phones are flying off shelves, Jelly Bean is smooth, and many of us are still on spotty 3G that drops to EDGE once you leave downtown. On the subway, in the air, or in the countryside, your app is either a faithful companion or a blank…
Year: 2012
JBoss for real-world teams: Practical Setup
“Good servers do not save bad habits. JBoss just makes it easier to see which habits to fix.” Why JBoss clicks for product teams The last few months I have been helping teams move to JBoss AS 7 and EAP 6. The draw is simple. Fast startup. Clean modules. A…
Right-to-Left Support: Layout Realities for Desktop and Web
Right to left support is not a checkbox. It is a set of layout choices that show up in your UI every minute a user spends with your product. If you are shipping to Arabic or Hebrew readers this season, you have seen the tiny surprises. An arrow that points…
Input Validation Patterns that Work
Every nasty breach starts with a tiny text box. The scary part is it often looks like a normal form field you ship every day. If you build for the web or mobile today, input validation is the fence between a quiet night and a pager at 3 am. We…
Jenkins Pipelines for Real Teams
You ship when your pipeline says so. Jenkins is where that decision gets made, every single commit, without excuses.Real teams treat the pipeline like a product, not a side script that someone keeps under their desk. When people say Jenkins pipeline right now they usually mean a string of freestyle…
OSGi for Modular Systems: Why and How
\n Context \n\n\n\n Modular apps are back in the spotlight. We keep shipping giant wars, we fight classpath hell, we restart servers for the tiniest tweak, and we swear we will fix it next sprint. The Java module project from the JDK team is still somewhere on the horizon, while…
Dispatcher Caching in AEM
Cache is the feature you only notice when it fails. When it works, nobody calls at 3 AM. Dispatcher caching in AEM CQ is not fancy. It is a brick wall that takes the hit before your publish boxes do. We just came out of a launch week where the…
Testing GWT UIs: Strategies that Survive Refactors
Are your GWT UI tests snapping every time you rename a widget, shuffle a panel, or touch a UiBinder file? Do you tiptoe around refactors because your test suite is ready to throw a tantrum at the slightest change? You are not alone. Good news: you can make them stick….
Event Taxonomies: Measuring What Matters
Everyone tells you to measure everything. Then you launch, stare at a flashing dashboard, and realize you do not know what to do next. That was me last week at 1 a.m. Two laptops open, coffee gone cold, and a brand new feature that was supposed to move signups. Pageviews…
Pagination, Sorting, Filtering: Practical API Design
\n\n \n Good API design is not about endpoints, it is about trust. If clients can guess what happens next, you did it right. \n \n\n A morning with logs, coffee, and a stubborn feed \n I spent the morning watching our mobile app hit the feed endpoint like a…