Steve Gillmor did a very good interview with Adam Bosworth. Adam is surely very bright guy, i'm not sure what project alchemy is (no time to investigate :-)), but it seemed some kind of eventing technology, that allows you to write rich client functionality on a browser. And it seems to include, data caching and some templating technology in order to allow evented code to refresh and update some parts (only some parts) of the screen and some sort of server initiated callbacks to the client. Nice.
This seems a bit worrying to me, all vendors seem to be pushing in this direction (BEA,IBM, Macromedia). Rich applications running on a browser, and what does Microsoft do? stops developing IE and bets everything on Longhorn (and on smart clients until longhorn arrives).
I would love to see Microsoft following this path also, ClickOnce seems to be nice, but i would prefer some multi platform client (unless mono and mozilla manage run .Net inside mozilla). The only thing that Whidbey seems to have in this direction is the Client Callback Feature (been there, done that, never got the t-shirt though years ago).
Wesner Moise's adds his two cents and Phil Wainewright puts it on a not very mildly way, in a post he titles Avalon: Microsoft's microchannel.
On a related note, Google's gmail seems to have started an arms race, and this week Yahoo bought OddPost. Ouch, i wonder how Microsoft will react. We live in interesting times indeed.
The Rich clients vs smart clients and longhorn battle seems to be heating up.
[Why do i still wonder why nobody reads me, with such crappy titles.]
Gianpolo says i was the tipping point that made him start blogging.
If he can blog with half the quality of his presentations this will be a blog worth following.
If i'm a tipping pointer, you are the straw that is going to break the camel's back. :-D
Gianpolo is now my 235th feed. Oh boy.
Great, now i wonder if i'm a connector, a maven or a salesmen.
Welcome to the blogsphere
Lately i have been giving some thoughts about service design and services composition in order to save network transversal. How chunky should a service really be?
Should we aggregate unrelated data in a single call (compostion), in order increase the chunkiness of a service and reduce network calls? Unrelated in a business sense, but are somehow related (to be read, will be used together somehow by a caller).
I've been keeping these thoughts to myself, but his post from Rich Turner trigered this post. A question formulated in the form of an answer in the hope someone provides me with the answer. :-)
Rich states two rules:
- “avoid the network wherever possible“. Otherwise stated - only traverse the network if you must and only pass across the network what you have to.
- Design your services to map to your business rather than mapping to the way your IT systems work internally
In order to achieve a balance, these rules have to be bended somehow since they are normally contradictory and you can't have it both ways.
Suppose you have two generic and independent services. One exposes a service that allows you to get a list of world ZIP codes your system supports, the other a list of countries (contrived example, i'm sure you could think of something better).
From a business sense there isn't any sense in putting these two together (and if there is, let's suppose there isn't for the sake of the argument),but suppose from a calling system point of view they make sense together, and somehow the system needs both data at the same time. Should we compose these two services into a single one, in order to save one network call for a single system? if other systems would never make calls to this composed service.
Should we violate rule number 2 in order to increase the use of rule number 1? when does it make sense to compose and aggregate services performance wise, even when it doesn't make sense business wise?
When should be the thin line crossed? what is the right balance?
I'm back to blogging after a long hiatus, first i was kept away from blogging by having to many things to do and so little time, then i was kept away from blogging, after the AC/DC converter from my portable died. Amazing how difficult it is to find such a low tecnology piece of crap for sale, no matter how hard you try.
After more than 2 weeks, i found someone who could lend my a converter until HP sends me a new one. Until i got a spare, i have been living on power charity (what a concept), i regularly went to a friend's house stayed there until the battery was fully charged and returned home. There i would use sparely my 2 hours of autonomy (note to self, next time don't buy a portable with a pentium 4, but a less angry one), that meant power on the computer; read mail; reply to mail; turn of computer and ocasionally emit an invoice to a customer.
Another side effect, my aggregator now has 8544 unread posts. :-( (maybe i should consider switching to bloglines or NewsGator NGOS)
That will lead me to first rambling, the network computer. I never liked very much the concept of network computer, i mean a a low power computer that doesn't let me keep my own data?
- Come on, i need a fast processor (i don't know why, i bet my CPU usage is below 10% utilization most the time (unless i'm compiling something), but i feel i do. It's probably some stupid sense of ownership, someone once told that i reminded her some characters from finding nemo (never saw the movie, so i'm merely describing what i've heard); apparently i was the seagulls that kept saying "Mine,Mine, Mine". I'm not a possessive person (honest) but when it comes to computers they are the exception.
- The second reason, is about ownership of my data (there you have Mine,Mine,Mine), i just don't don't like the idea that my data is stored somewhere else and i may lose (even if temporary) it so i keep my data close to me (yes that's right, no webmail for me (eventually i might change my position about it, when i try Gmail :-))
But this whole power converter event left my wonder, what the heck, i look to my desk and i have 2 routers, one printer, 3 servers and a desktop and i can't work because my all my files are on the portable?).
The whole (office) work i've managed to do in this time was updating information that resided on a server and acessed with a browser, this hasn't made me change my mind about the NC, but has left me wondering why there isn't something in between. I want something that sits in between, i want to have both a PC and a NC (yes i want the cake and eat it too). Something that keeps my data and my programs synchronized with a central server, something that would let me work offline, but would also allow me to work on another computer with my entire environment replicated.
The simplest solution seems tp work in a virtual machine. Keep everything on a virtual machine (Vmware, VPC, whatever), and have the image stored on both the portable and on a server, and if necessary copy the image to another computer and run it there (or run directly from the server or via a terminal services session)
That complemented with some kind of technology that would synchronize the images automatically would be a dream come true. the Network PC. :-)
This would allow me use my portable, and if anything goes wrong, i could just launch a terminal a virtual machine somewhere else and run it from there. And when broadband is really ubiquious i could work anywere, no need to carry the portable.
VPC and Virtual Server PM are you listening? :-D
[Update: Seems someone is already working on this. How nice of them. :-)]
Anyway, the last hubub in the blogsphere (the MS centric at least) seems to be about the launch of Express family beta version. The conspiracy fans attribute the timing of the release to the launch of Mono 1.0 (an amazing feat,congrats to the Mono team, i should check it out one of these days (probably when 34 hour day is released :-D)), while the rest of the crowd just (too many to quote here) seems to applaud the move and state this will bring .NET to the masses and the hobbyists. I have some mixed feelings about it (i'm not questioning MS reasons for introducing such products (it makes a lot of sense), nor the quality of the products,what i fear are the consequences).
Whenever i hear the word hobbyists (i'm sure if i had any audience this would this first sentence alone would generate a lot of comments and some hate mail. ) and programming (or computers for that matter) together i tend to fear. I once implemented a system whose graphic design has done by the client himself, i don't mean sketches, the client handed to me, HTML pages made with (you guessed it) Frontpage (including icons and images). I was mandated to transform that piece of crap into an application, my instructions were clear, keep the design,and the user interface.
If Perl is the duct tape of the internet; Excel and Access are the duct tape of the Enterprise, but sometimes duct tape is not enough and a little iron soldering is necessary to hold something together more solidily, and that's when the hobbyists (in the bad sense of the word, i mean the the voluntarist who told his boss writing such a system was just a matter of applying some mouse clicking, or the system design by the nephew of the boss's neighboor who is 12 but very handy with computers) calls the professional to transform his solution and into a full fledged one, and thats when our nightmares begin:
- For example tables with more columns you can ever imagine (i once saw an application that consisted of one table, and that is not because it was modelling just an entity :-))
- or databases designed by someone whose definition of relation is something that you have for brief period of time with a person picked on a bar. :-)
- Other things horror stories, that i've worked hard to forget. :-)
[I'm not arguing the validity of excel or access as a tool, there is no arguing here about it's validity, they are great although they sometimes look like an hammer :-)]
My point is (i wouldn't think i would ramble without having a point would you?), i fear these tools because, they tend to give people a false sense of skill and at the end of the day they have caused more trouble than it's worth. After all, where can it go wrong? this is a tool used by the professionals.
[Update: Here is an even stronger opinion by Wim Hollebrandse ]
Either that or i don't want to step down of my ivory tower and by keeping my hand buried on the sand i cannot see, that i'm doomed and i'm about to become a comodity. Perhaps we really are doomed to become workers in a software factory. (but that would be a debate for a different post) :-)
Maybe Jesse Liberty was write when he wrote:
"Programmers believe they're the smartest people around. The last thing they are willing to accept is that Marketing or Sales or anyone else should tell us what to build or how to build it. Because what we do appears to be magic,we can usually bully them into leaving us alone." in Clouds to Code
After all, for those who follow The Daily WTF the professionals don't seem to be doing a better job either. :-)
 The same way Hackers feel insulted when they are called crackers, the hobbyists in the best and the pures sense of the word are insulted when everyone that acts in the same fields as them (in a non payed way) are called hobbyists. For me hobbyists are tinkerers and craftsman, who dedicate themselves to something with dedication,proficiency and with results that would probably embarass most professionals. I think that in this case, hobbyist is being used in the worst sense of the word; someone using a brush that can't even paint a wall, but considers himself a disciple of Michelangelo shouldn't be called a hobbyist, it should be called a plunker. :-). For example, I once heard a story of a COO who once said in a company meeting (in front of the entire company that is), that management for him was just an hobby (this is the use of the word hobbyist in the worst sense of the word (both an insult to the workers and the hobbysts :-)).
On a totally unrelated thing, Oracle bought Collaxa, i'm not very familiar with Oracle products offering but this seems like an interesting move, things seems to be heating up on the BPM space. I wonder how Oracle offer will stack up against Biztalk.
Oracle seems to be slowly building it's Application Server line and buying it's entry into the SOA market and seems to already have a market share bigger than Sun, itself when it comes to app servers.
Anyway, the rambling must now end, i've wrote more crap than usual. :-) I'm running out of battery, the sun is already sunsetting, and it's getting a little cold here are the beach. Ah the joy of having a portable once again. :-)