-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Hi,
Like Reza I think it is crucial to release *useful* DeviceMapClients and APIs as soon as possible. It is obvious that each version should take full advantage of the facilities, and follow the standards and patterns of, their respective frameworks. However I think it is *essential* that all versions can be traced back to a 'common' core that, if not line-by-line [like the Java and C#], is functionally 100% identical *and* ideally shares the same DeviceMap core features : - - *zero* dependencies, - - clever simplicity, - - awesome speed - - and a 'neutral' minimal code-base [>400 loc !], so that implementing a custom client or API, or even replicating it in another language, is as clear, clean and unencumbered as possible.[1] I think all clients and APIs, aimed at specific frameworks or use-cases, should start by inheriting their language specific 'core', guaranteeing 'all of the above', across the board -- one could even consider making the 'core' DeviceMapClient abstract/MustInherit [2] -- and then add 'wrapping' to make it a useful, 'standard' API. I realize each may want to or have to implement this inheritance/dependency in ways that are standard or accepted in their corner of the world, no problem, the main point is that this 'common core' remains available 'as is' in all versions. And that is what made me go : "hold your horses" when I saw the Java core acquiring factories and new functions. Let's build our factories and do our strong-signing [.Net mumbo-jumbo] etc, in useful implementations and keep a common 'neutral' minimal base. I'm sure we can agree on 'useful implementations' by considering use-cases, as Reza suggested, and then agreeing on the API functions those imply, independent from how they will be implemented in each framework/language. Thoughts ? esjr [1] I think the 1.0 'releases' recently voted on are exactly that and should stay like that -- at least for now and baring bug fixes : - - loader takes repository URI - - URI scheme tells loader how to acquire data stream - - data stream is parsed and loaded - - Map : a UserAgent is a string 'Map'-ed to a collection of key-value pairs based on the loaded resources [2] In that case, one could argue for a name change. -----BEGIN PGP SIGNATURE----- Version: GnuPG v2.0.22 (MingW32) Comment: Using GnuPG with Thunderbird - http://www.enigmail.net/ iQEcBAEBAgAGBQJT2KwsAAoJEOxywXcFLKYc7uUH/iarnOjVvUovKnOhiUCkTmzo 1USftMDPH7+KxK6/i79P63kZWfR+iMiHWUsE3+oHscTyE2RuXVXOro2mKAxgjbSy 5rDnoAQJF5q9T+T3rTQeRGv9RddaLIJlEig2cPxg+EgQf22RMhcfD5L0bne7h6BB BTSvBhxUr/9MNq6jfYfvb9WbyB1KHTlii92Eho3c/TcBOeOh7XAivfuxIHOiVkvc EXGBNOVUXW+/AQQHqG4Z2kEx2n+U80w6Z2rT/uFGamQ07v6uQdlKv5dblnwmhFgw ImCntaN6mnXdHsz9MhOVb3ff/WFruk4O4qfHsU5c0qhkx3BPGIQRqZeD5hKoKEw= =J+iG -----END PGP SIGNATURE-----
