Hi Daan - thanks for your input. Some comments inline below


Kind Regards
Giles

 


-----Original Message-----
From: Daan Hoogland <daan.hoogl...@gmail.com> 
Sent: Thursday, June 8, 2023 4:17 PM
To: dev@cloudstack.apache.org
Subject: Re: [proposal] Consistency of naming in Cloudstack

Giles, the principle of what you are saying seems good but I have a few 
remarks; 1. Consistency should not become a goal. Clarity is and if context 
might give rise to a different understanding of the same work consistency is 
detrimental to understanding 

>> I *think* I understand your point, but I see high correlation between  
>> consistency of naming and clarity. Surely, using different names (or 
>> metaphors!) for the same object type inherently reduces clarity?. Could you 
>> give an example of where using different names for one cloudstack object 
>> type could increase clarity ?



2. Metaphor is an important aspect in system development [1] first introduced 
into software development in xtreme programming [2] I think instance is a bad 
metaphor to use for Virtual Machine Instances in a system that is full of all 
kinds of items (first class citizens) that can also be seen as instances. I 
would go for "VM instance", "VM-instance" or just machines. I am not saying 
either of these are ideal but they are all better than instance.

>>To be clear here: this would involve renaming every UI element to 
>>standardise. Would you propose renaming the current main menu & lifecycle 
>>commands  to one of these names ?

and finally
3. The industry standard is not a good reason to go for a term. we can improve 
on the industry standard and so we should.

>> We'll have to agree to disagree on that
€0.02

[1] 
https://medium.com/swlh/the-importance-of-metaphors-in-programming-philosophy-and-trading-a0030ed176b6
[2] http://www.extremeprogramming.org/rules/metaphor.html

On Thu, Jun 8, 2023 at 4:47 PM Giles Sirett <giles.sir...@shapeblue.com> wrote:
>
> Background
> Recently, I have been looking at a  number of issues relating to the 
> "first use" / "first impression" use of cloudstack.  What to people 
> think of Cloudstack as a new user? What is peoples perception of 
> Cloudstack as a new user ? How easy is it for people to understand 
> cloudstack & its concepts and to get help
>
>
> One thing I have seen is that CloudStack is inconsistent with what we call 
> VM's/Instances:
>
>
>   *   In the UI main menu, we say Instances. We then have a very large 
> "Create instance" button. All lifecycle operations are then  "Foo Instance"
>   *   In various other places in the UI (many text messages, error messages,  
> column headers,  for example) we say "VM"
>   *   The API uses Instance, VM and Virtual Machine
>   *   The documentation, again, uses all 3 terms
>
> Now - I know everybody on this list (myself included for the last 10 
> years) has always used these terms interchangeably  - we all KNOW that 
> these are the same things. However, I think it could cause confusion 
> to people seeing Cloudstack for the first time and create negative 
> impressions. Also, there is no consistency when searching 
> documentation - one page uses one term, one the other (and some even 
> use both on the same page) .  I don't know of many other pieces of 
> software that use 2/3 different names for their  primary functional 
> object
>
>
> My proposal is to move towards having consistency of this naming  and would 
> look something like this:
>
>
>   1.  Choose the name to use going forwards (more on that later)
>   2.  Undertake a remedial exercise:
>      *   Update UI elements to [new name]
>      *   Update documentation to [New Name]
>      *   Leave Global Settings names  alone, but change their description to 
> reflect [New Name]
>      *   Leave the API alone - theres no way of getting consistency there 
> without breaking compatibility
>   3.  Encourage contributors to use [new name] in all work going 
> forwards
>
>
> The remedial exercise (hopefully) could be a find/replace (with some 
> manual checking)  - I'd be happy to take that on with some help from work 
> colleagues As/when/if  we do do Cloudstack 5.0, then look at the API, but IMO 
> this is lower priority as people that's not usdually "first impression"
>
>
> So - first proposal  point: any objections to me undertaking this work ?
>
>
> Second point: what to call these things ?
> It is my view that we should call them Instances.  These are my reasons:
>
>   *   Nearly all Cloud computing platforms refer to them as instances (i.e. 
> industry standard) . Yes, it is a VM "behind the scenes", but Instance is an 
> accepted term that is slightly abstracted from VM
>   *   Our primary UI already uses Instance ns most prominent places, renaming 
>  top level nav and functionality is a step backwards IMO
>   *   Today, Cloudstack provides these through VMs , but that could change in 
> the future (please don't read anything into that comment) - instance doesn't 
> tie us to VMs (which is probably why most cloud providers use it)
>
> So, my proposal is to bring consistency and use the term Instance
>
> From brief discussions, I know other people favour other terms and may have 
> objections to the term Instance (despite it having been in use in ACS for 
> many years)  - but happy to take all inputs if people feel this is just wrong.
>
>
>
>
>
> Kind Regards
> Giles
>
>
>
>


--
Daan

Reply via email to