Showing posts with label best practices. Show all posts
Showing posts with label best practices. Show all posts

Thursday, February 16, 2012

Summary of presentation with tips on creating visually appealing Android applications that scale to various screen sizes

Interesting points from a presentation in which Eric Burke shares tips on creating visually appealing Android applications that scale to various screen sizes.
The session focuses on custom views, rounded corners, scalable drawables, gradients, shine, holograms etc.
Eric is the St. Louis Engineering Manager and Android Tech Lead with Square.

06:00 Use alpha compositing with anti-aliasing, not canvas.clipPath() because you get jagged pixelated corners

17:25 triangular shine

29:00 Check the imeOptions for EditTexts/keyboard input. E.g imeOptions="actionNext" for example. Or "actionDone". NOTE: does not work on HTC Sense UI! So "actionNext" seems safest (might work, might not, but no harm done). For "actionDone" you still need a button for it on your screen anyway.
31:00 SafeViewFlipper code because the standard one crashes your app eventually (guaranteed) on pre-HoneyComb!
35:00 Holograms! Using the accelerator it acts as if it's shiny. Cool!
39:00 demo of cards sliding in/out and hologram on emulator

Sunday, September 26, 2010

Best of this Week Summary 14 September - 26 September 2010

Sunday, August 29, 2010

Best of this Week Summary 23 August - 29 August 2010

Sunday, August 15, 2010

Best of this Week Summary 9 August - 15 August 2010

Sunday, February 28, 2010

Best of this Week Summary 22 February - 28 February 2010

Sunday, February 21, 2010

Best of this Week Summary 15 February - 21 February 2010

  • Expected that Mozilla uses Agile everywhere, and definitely on its flagship Firefox? Think again, only recently they started to combine Agile and more traditional Waterfall as their new development model, dubbed "Lorentz".

  • Tips for hardening your Tomcat installation. Other implementation guides, not only limited to Tomcat (also for example WebLogic) tips from U.S. DOD DISA (Defense Information Systems Agency) can be found here.

  • Always interesting to at least quickly browse through: a review of the 1993 code of Doom. And more "today": the code of Doom for the iPhone reviewed.

  • Think you know Javascript? Try one of these quizes!

Sunday, September 27, 2009

Best of this Week Summary 21 September - 27 September 2009

  • Always feeling a bit less up-to-date when using RSS/Atom feeds? Well, convince your RSS/Atom provider to implement the PubSubHubBub protocol: it provides a callback-hook, which when registered to as feed subscriber, causes an immediate update (ping) to the subscriber (instead of waiting for the next RSS/Atom feed request).
    Or will rssCloud be the winner of this realtime RSS extension? Here's the basic (simpler) flow of rssCloud:


    Differences between the two are described here (including some issues) and here. A real old-fashioned flame-war has even started between the creators of the two protocols.
    And a good comparison which explains quite well why PuSH is the better choice of the two. Note that both protocols seem to be server-to-server only! (e.g think when you're behind a firewall or NAT...)
    See this article for an explanation of the PuSH flow of notifications/information in below's diagram:


    Update: PubSubHubbub explained by co-creator Brett Slatkin (an engineer at Google).

  • Want to get to know Hadoop? In short "Hadoop allows you to write and run your application in a distributed manner and process large amounts of data with it. It consists out of a MapReduce implementation and a distributed file system." Check the rest of this introduction for more details.

  • Five Java anti-patterns to prevent (out-of) memory problems.

  • Three Best and three worst practices in BPM and SOA.

  • "Tom Killalea, Vice President of technology with responsibility for infrastructure and distributed systems engineering at Amazon.com wrote an article on ACM queue on building scalable web services. He outlines guiding principles to building scalable web services with a lot of real-world examples, the core theme of which is “build only what you need”."

Saturday, August 15, 2009

Best of this Week Summary 10 August - 16 August 2009

  • Always interesting the Gartner 2009 Hype Cycle. For example, Web 2.0 is already on the way up again, while microblogging (e.g Twitter) is starting its downward trend.

  • Code review tools Review Board: "is a powerful web-based code review tool that offers developers an easy way to handle code reviews. It scales well from small projects to large companies and offers a variety of tools to take much of the stress and time out of the code review process." Downloadable.

  • Great description on how full-scale Scrum was applied at a JTeam project. It includes answer to the why and what went well and what can be improved. Also shortly the used technologies are described (Spring, Spring WS, Spring MVC, JPA, JExcelApi, Apache Commons for FTP, iText for addresslabels with bar codes, jQuery and Google Maps, Mockito (see this post on why they switched from EasyMock), MockFTPServer and Subethamail Wiser for email integration testing. Again, great that they share this publicly.

  • Discussion of the quality assurance/testing challenges to be addressed with a SOA adoption, recommended best practices, and lessons learned.

  • More or less a beginner's introduction to the Java Collections framework and algorithms. Sample chapter from "Core Java 2, Volume II - Advanced Features 7th Edition". Uses CircularArrayQueue and LinkedListQueue as examples (how often have you used those two? ;)

Sunday, August 9, 2009

Best of this Week Summary 3 August - 9 August 2009

Sunday, July 26, 2009

Best of this Week Summary 20 July - 26 July 2009

Saturday, July 4, 2009

Best of this Week Summary 29 June - 05 July 2009

Sunday, June 14, 2009

Best of this Week Summary 8 June - 14 June 2009

Sunday, May 31, 2009

Best of this Week Summary 25 May - 31 May 2009

  • Facebook is now also supporting registration/login via a GMail account and OpenID, see the image below. I especially like that they've implemented it with a lightbox ("popup") so the user doesn't get as much confused anymore, as was the case in the old/standard implementation where the user is completely redirected to Google or the OpenID provider's website. Note that it is actually more "Facebook Connect" like this way! See here another example where OpenID is combined with OAuth to enable a popup login.


  • Understanding how the JVM uses native memory on Windows and Linux. The extensive article explains what native memory is, how the Java runtime uses it, what running out of it looks like (so you're not running out of heap space!), and how to debug a native OutOfMemoryError on Windows and Linux. A companion article covers the same topics for AIX systems.

  • Quite big news was of course Google's announcement of Google Wave at the Google I/O conference. It has been built with GWT. A good description can be found here. It's open source with plugin-like APIs with many integration possibilities. See the 80 minutes video for the full details. It hopes to become the replacement for email... Servers can be run by anybody. Wonder how Google is thinking of making money with it. Ads, just like in GMail? Maybe they are going to charge you for using their Wave server instances (SAAS version)? An interview with Wave's creators can be found here. And six reasons why Wave could be game-changing.

  • Eight generic best practices for scalable high performance systems.

  • Are you any of these two tools with almnost the exact same name? SonarJ is a plug-in for Eclipse that helps you validate your code against a software architecture, using static analysis (free for projects up to 500 classes). And now for the confusion: check also Sonar: enables to collect, analyze and report metrics on source code. It leverages the existing ecosystem of quality open source tools (ex. Checkstyle, PMD, Maven, Cobertura …), to offer a fully integrated solution to development environments and continuous integration tools.

Sunday, May 24, 2009

Best of this Week Summary 18 May - 24 May 2009

Sunday, March 29, 2009

Best of this Week Summary 23 March - 29 March 2009

  • Need to know whether a collection is modified concurrently, which causes the ConcurrentModificationException? Check this handy wrapper solution here.

  • The second article in the Transaction strategies series. "Using examples from the Spring Framework and the Enterprise JavaBeans (EJB) 3.0 specification, explained is how the transaction models work and how they can form the basis for developing transaction strategies ranging from basic transaction processing to high-speed transaction-processing systems".

  • For the Amazon EC2 now a free AWS Eclipse plugin is available. It facilitates remote development, deployment, and debugging Java applications on Amazon Web Services.

  • Three common mistakes to avoid when implementing XML and webservices: don't make your messages too large, don't create too fine-grained services, and don't forget to create an XML schema.

  • Javascript is getting more and more important the last couple of years, so here's a bunch of best practices and efficiency tips.