Scalable Microservices

Here is an excellent, in-depth discussion on creating scalable microservices.

In this article, we will look at microservices, not as a tool to scale the organization, development and release process (even though it’s one of the main reasons for adopting microservices), but from an architecture and design perspective, and put it in its true context: distributed systems. In particular, we will discuss how to leverage Events-first Domain Driven Design and Reactive principles to build scalable microservices, working our way through the evolution of a scalable microservices-based system.

Google Testing a Password Generator

I saw that Google is testing a password generator for the Chrome browser. Hmm, I wonder if that means that they will stop storing passwords in clear text?

Password-generating tools like LastPass, 1Password, RoboForm, and others are a mainstay of browser accessories, and are often recommended by security experts because they can help create and manage “strong” passwords. “Strong” refers to passwords that are difficult for hackers and computers to guess. Google’s effort, if it makes it into the regular version of Chrome, could encourage other browser makers to build password generators and make the field more competitive.

1Password has the advantage that it is multi-platform and not tied to a single browser, which I consider to be a very good thing. Having each browser create its own incompatible password manager would be even worse that each browser having its own incompatible HTML interpreter.

Google’s Dart Language Is Now An Official ECMA Standard

Interesting development, but even Chrome doesn’t support Dart by default.

Google’s Dart[2] language is now[3] an official ECMA standard with the catchy name of ECMA-408[4]. ECMA[5] may not be a household name, but if you’re reading this, your browser is using ECMAscript to render at least some parts of this page. That’s because ECMAscript[6] is the official standard body behind JavaScript. In the past, the organization has also been behind the specs for JSON, C#, the Office Open XML format and various CD-ROM specs.

Sun Labs Lively Kernel

Lively Kernel is another one of these technologies from Sun that is tantalizingly cool, but hopelessly unfinished enough that you really can’t commit to develop against it in a non-trivial way. Having it only work properly in Safari pretty much dooms it to obscurity. It is supposed to work in Firefox, but for me it only displays about the top two inches of the demo and that is it.

I think one of coolest features of all is that it is SVG-based under the covers. I think that SVG is a real sleeper technology that is going to emerge as an extremely powerful way of getting scalable user interfaces that go from mobile to desktop (and beyond).

Intro from Sun’s site:

The Sun Labs Lively Kernel is a new web programming environment developed at Sun Microsystems Laboratories. The Lively Kernel supports desktop-style applications with rich graphics and direct manipulation capabilities, but without the installation or upgrade hassles that conventional desktop applications have. The system is written entirely in the JavaScript programming language, a language supported by all the web browsers, with the intent that the system can run in commercial web browsers without installation or any plug-in components. The system leverages the dynamic characteristics of the JavaScript language to make it possible to create, modify and deploy applications on the fly, using tools built into the system itself. In addition to its application execution capabilities, the Lively Kernel can also function as an integrated development environment (IDE), making the whole system self-sufficient and able to improve and extend itself dynamically.

Technorati Tags:
, , , ,

Widget Conversations

Google recently announced that they are supporting a pubsub model for sharing information between gadgets (their name for widgets). I think this is a very good thing in that it is a step toward building more composite functionality on a page by having multiple specialized widgets share information for a greater purpose. Think of it as mashups for widgets (mash-ets?, widg-ups?).

For whatever reason, the developers of the Java Portlet specification never seemed to catch on to the power of inter-widget communication.

Technorati Tags:
, , , , ,

Web 2.0 and Bad Design

Jacob Nielsen’s recent article on the BBC carried the title Web 2.0 ‘neglecting good design’. I would agree that those sites that implement AJAXy eye candy are not doing their users a service, but I also believe that used well, ‘web 2.0’ elements can add to the user experience. Flash-based sites, however remain in the absolute toilet of web offerings and should be avoided at all cost.

I also take Mr Nielsen’s views with a grain of salt as he seems to have this near luddite view of the web being a text-only medium (though I note that he is actually including a link to a video on his site now). All other interaction and decoration seemingly spurious in his thought. I, however, think there is an intelligent application of any of the new features. After all, it’s about usability, not one man’s aesthetic.

Technorati Tags:
, , ,

Exhibit Data Publishing Framework

The fine minds at SIMILE at MIT have come up with a ‘lightweight structured data publishing framework’ called Exhibit that is in the same vein as their awesome timeline widget.

It’s like Google Maps and Timeline, but for structured data normally published through database-backed web sites. Exhibit essentially removes the need for a database or a server side web application. Its Javascript-based engine makes it easy for everyone who has a little bit of knowledge of HTML and small data sets to share them with the world and let people easily interact with them.

Check out the examples, including US Presidents and Breakfast Cereal Character Guide.

They also provide a complementary tool called Babel to convert from various formats to the Exhibit JSON format.

And, as they say: “Remember: there is no database, no web application behind these examples.”

technorati tags: , , , ,

Watch Out AJAX and Flash

Ok, now there is a legal reason to re-evaluate all of the AJAX and Flash cruft that you may be tempted to gratuitously stick on your web site to be the flavor of the moment. And double that for all of the ‘flash only’ sites out there.

A federal judge in San Francisco ruled Wednesday that a lawsuit filed against Minneapolis-based Target Corp. by the National Federation for the Blind (NFB) regarding the accessibility of the retailer’s Web site can move forward.

According to the NFB, the ruling sets a precedent establishing that retailers must make their Web sites accessible to the blind under the Americans with Disabilities Act (ADA).

So when you are out there fixing the (visual) accessibility issues with your site, how about enabling some of the semantic web technologies for your site at the same time. More ‘machine readable’ data on your site also translates into better (non-visual) accessibility.

technorati tags: , , , ,

Read/Write Internet

Stumbling across the very fun asciimaps made me think about the time before ‘the web’ when there was just the Internet. It made be chuckle about all of the talk lately defining web 2.0 as being all about making the web read/write. The funny thing is that before the great Internet land rush brought about by the browser and HTML, the Internet was an intensely read/write place: email, usenet, telnet, gopher, ftp (all from the command line, please). It wasn’t until the proliferation of brochure-ware, me-too web sites that the ‘write’ part of the equation started to fade.

To me, it seems like the ‘web 2.0’ stuff is really just an natural evolution of when web sites discovered the interactive possibilities that a web site could provide via good old CGI-BIN and others. Probably the biggest difference is that the user interface has gotten a bit more sophisticated with DHTML, CSS and Ajax versus the full-page-refresh-to-do-anything mode of initial web sites.

technorati tags: , , ,

Ajax and Accessability

sitepoint has an excellent posting on Ajax and Screenreaders: When Can It Work? With more and more sites resorting to Ajax-y interfaces (sometimes for questionable, buzzword compliance reasons), I have often wondered what the effect on the usability of these site is for those users who require screen readers to surf the web. In summary the author states:

Let’s face it, a great many AJAX applications (dare I say, “most”?) use this approach for its own sake, and don’t really benefit from it all — they could just as well use traditional POST and response.

I would even go a step further to call for a fundamental re-assessment of our priorities here. What we’re talking about is making dynamic client interfaces work effectively in screen readers, but maybe that was never the point. Isn’t the real point to make the applications themselves work effectively in screen readers?

Some may read this article and think, ‘meh, why should I care?’. I think that you should because a growing part of Internet users are (or are becoming) ‘senior citizens’ who may need a screen reader at some point. Why lock out a large part of your potential audience/market by succumbing to the need to chase the latest buzz? Besides, isn’t this the same sort of lesson in exclusivity that the ignorant ‘IE only’ sites are continuing to learn to this day?

technorati tags: , , , ,

The Effect of Standards on IT Business Strategy

As always, a compelling and insightful commentary by IBM’s Irving Wladawsky-Berger (via AlwaysOn); this time discussing the effect that technology standards are having (or will have) on IT Strategy. One of the points that he makes is that standards aren’t just about software leverage; hardware and web services standards are going to allow enterprises to grow and share in ways they couldn’t easily before.

Now, what we have seen is the continuing emergence of standards as we keep going up the stack. In this world of grid computing, what you’re really trying to do is share all kinds of IT resources—computing capacity, storage, files, applications, and so on—all built around the common standards that everybody uses. So you can essentially begin to virtualize the system so that people can access your resource without having to know precisely where that resource is. A very difficult example that must have been used in let’s say supercomputing systems is that you can form a grid out of multiple supercomputers in a location or in a country, and when somebody submits a job they submit it to the grid. And then the systems themselves get their act together, find where they have capacity, and make sure they can access everything, but you’re essentially sharing all the extreme capacity that wasn’t there before.

technorati tags: , ,

Now with Ajax

This week I saw an announcement on Ajaxian that several high powered engineers were leaving Sun Microsystems for JackBe. I recognized all of the names of the engineers from the influential Core J2EE Patterns book that they collectively co-authored.

Unfortunately, visiting the JackBe web site does not give a very good first impression, particularly the large-ish advert that might as well read “make your company fully buzzword compliant with our Ajax assessment!!”. This reminds me of around 8-10 years ago when every consulting company was offering a ‘Java assessment’ or ‘Java Jumpstart’ and how such things will give you a ‘technical/competitive advantage’ to anyone who would take the bait. Repeat the same for client-server, object-oriented programming, eCommerce, agile programming, INSERT_YOUR_FAVORITE_HERE.

This is not to say that Ajax does not have value (it does, when applied appropriately), but it is to say that anything can be oversold.

technorati tags: , , , ,

Trendy Web Design

Current style in web design describes what is ‘hot’ in web page design. According to the post, great sites share a common set of attributes:

* Simple layout
* 3D effects, used sparingly
* Soft, neutral background colours
* Strong colour, used sparingly
* Cute icons, used sparingly
* Plenty of whitespace
* Nice big text

I tend to agree with most of these attributes, but find some of the sites that use somewhat jarring color combinations and not enough contrast between background and font color annoying. For me, simple and clean is always better — which is a far cry from web design 10 years ago when it was all about ‘spinning logo, flaming logo’ eye candy.

technorati tags: ,

The Value of JSF for Web Development

TheServerSide has a long and heated discussion on the value of using JavaServer Faces for web application development. This was sparked by a blog post with the somewhat incendiary title of “JSF: The 7-Layer Burrito I Won’t Eat Again“.

My question is: why does every discussion about JSF usually end with someone bringing up Tapestry rather than dealing with the merits and liabilities of JSF?

technorati tags: ,