Astro Mobile

Astro Mobile : My first Mobile App using Ruby programming language with the Developer platform Rhomobile suite which is like Ruby-on-Rails for mobile applications, Excellent and Reliable cross-platform toolkit 😉
http://www.motorola.com/Business/US-EN/Business+Product+and+Services/Software+and+Applications/RhoMobile+Suite

Astro mobile

 

S.O.S. RUBY : It seems that RUBY today can resolve all my Geek problems ^^

ruby

for Rapid Prototyping, Cross-platform libraries and Rich Mature ecosystem , I have to go back to RUBY programming Language (with my mixed philosophy of Scala, Java, PHP, LISP and ADA in mind ^^)

Ruby Conf 12 – Ruby Vs. The World

DA VINCI WAY : The View 5 Show – Introduction

DA VINCI WAY : The View 5 Show

“Simplicity is the ultimate of sophistication” Leornado Da Vinci

“The View 5 show”, first part of my future book “DA VINCI WAY”,  is a new simplified system description framework on which I am working, a concept tool study for helping describing rapidly with five simple views, any technologies, any applications or any mechatronic or robotic systems.

These 5 views will be modelized by 5 kind of diagrams with simplified (not-fully-detailed) structure , fields and relationships. It will look like a Quick start visual manual for helping noobs understanding rapidly a complex system to study it quick in practice with a clear perception of all his main features, structures, data, logics and user interfaces.

Here comes the V5 ! *

1 – For Features/requirements view : Simplified and Agile Use case diagrams

2- For architecture view : Simplified and Agile Block diagrams

3- For Data structure view : Simplified and Agile Data entities diagrams

4 – For Logic processes view : Simplified and Agile Flowchart diagrams

5- For User Interface view : Simplified and Agile Wireframe diagrams

Nota : The 3 last views (data, logic and User Interface) should be assembled into a group called “Methods” or “Design Patterns views” because of the strong interaction between these 3 views, interacton which is corresponding to a kind of convention from the authors of the system described.

Most important thing, The 5 views will help us describing the 3 most important properties to keep in mind from the system :

1 – Features
2 – Architectures
3 – Methods for execution of his tasks ( or design patterns or Model processes)

DA VINCI WAY - The Views 5 : 3 properties of the system

THE OBJECTIVE :

EASY-TO-UNDERSTAND : Rapid and Agile understanding of a system described by only 5 simplified diagrams .

THE RECCURENT PROBLEM OF MODERN DIAGRAMS :

– Too much diagrams and complex details needed today to describe a system but doesn’t help for rapid, easy and clear understanding of a system.

– Diagrams are complex to write and to understand, for both end users and diagram developers.

– Too much people don’t use diagrams in their work and they don’t want to use it in their future work because it takes too much time and resources to develop and too much time and resources to understand.

THE STRATEGY/RULES : THE ICEBERG PERSPECTIVE APPROACH

Easy-to-read and Easy-to-understand narration.

Always add very little helper notations on side zone like title, legends, keywords definitions, list, steps, matrix, external links, etc to help keep in mind the goal and the main/generic/casual features.

Limited diagrams : only 5 simple views to resume the description of a system.

Less details for each diagrams : Simplified structure, fields list and relationships list

Rich media illustrations for Rapid visualization : symbols are replaced by well designed familiar icons, but design have to be minimalist with low and subtle saturation.

Always Simplify Relationships: Relationships are simplified to one line and limited to two titles.

External Deep links for getting more details or more diagrams

SUMMARY

Preface : The 7 Rules for Next Technologies

Introduction

1 – For Features/requirements view : Simplified and Agile Use case diagrams

2- For architecture view : Simplified and Agile Block diagrams

3- For Data structure view : Simplified and Agile Data entities diagrams

4 – For Logic processes view : Simplified and Agile Flowchart diagrams

5- For User Interface view : Simplified and Agile Wireframe diagrams

Conclusion : Technology means Conventions and Design Patterns

– I will explain on next step, one by one the definition (Concept and rules) of each of these diagrams , by following this infrastructure

– Standard definition (Concept and Rules)

– Fields list

– Relationships list

– Limitations

– External links to know more about the standard sources of these diagrams

DA VINCI WAY : a sketch book project for new systems design

I decided to start a sketch book for new systems design called “Da Vinci Way”, a new approach in technology, a Tresor Map for Imagineers 😉

“Simplicity is the ultimate sophistication.” Leonardo da Vinci


Leonardo di ser Piero da Vinci was an Italian Renaissance polymath: painter, sculptor, architect, musician, scientist, mathematician, engineer, inventor, anatomist, geologist, cartographer, botanist, and writer. His genius, perhaps more than that of any other figure, epitomized the Renaissance humanist ideal. Leonardo has often been described as the archetype of the Renaissance Man, a man of “unquenchable curiosity” and “feverishly inventive imagination”.

First part :

DA VINCI WAY : The View 5 Show – Introduction

Sketch drawing : the best tool for projects development ^^

A KEY CONCEPT THAT WE HAVE ALL FORGOTTEN AT WORK ^^ : Go back and buy Real pencil, Real gum and Real papers for SKETCH (Drawing).

Sketch (drawing), is a rapidly executed freehand drawing that is not usually intended as a finished work, but a preliminary exploration.
it might record or develop an idea for later use or it might be used as a quick way of graphically demonstrating an idea or principle.

 

sketch drawing

The 7 Rules for Next Technologies : a concise guide to some of the most commonly violated rules in new technologies by companies today.

“Simplicity is the ultimate of sophistication” Leornado Da Vinci

It is intended for all final users of high-tech tools, computers, softwares and devices.
Remember technology is just a science of tools and a tool is just for a task not for spending all your life on it !

The 7 rules for next technologies

The featured contributor is Cheikhna a.k.a astroneo, an imagineer who has studied and worked with several technologies during his long carreer as a project manager, engineer, developer, webmaster and 2D/3D graphic designer. He’s working currently on a new architecture description framework for understanding and using easily any control systems.

Here are Astroneo’s “Seven Rules for next technologies”:

Easy-to-learn, Simple-to-use, Compact, Scalable, Efficient, Reliable and Low-cost.

1- Easy-to-learn, Easy-to-understand : “DUDES, TAKE IT EASY !”

  • A technology which is easy to understand and to learn is the half of the work in using it. but how many times have we met a great tool with awesome features associated with complex non-structured learning curves ? Awesome poor explanations and documentations, no clear diagrams or description views and many manuals and books containing thousand pages of useless comments on details !
  • At the end, you will found that it took you 2 years of learning and practices before you could really appreciate all his power.
    Why not starting with simple tools with quick easy to learn curve including hierarchical structured level steps for the impatients ^^ (basic, advanced, expert)  so we can concentrate only on our tasks and objectives in our project ?
  • 6 months for learning a software tool ??  Remember a computer is just a tool and your life is a shareware, not unlimited !

2- Simple-to-use, Easy-to-use : “KIDS, KEEP IT SIMPLE !”

  • “Making the simple complicated is commonplace; making the complicated simple, awesomely simple, that’s creativity” Charles Mingus
  • Life is simple, adults make it hard ; Nature is  just a complex combination of simple stuffs so if you have to work on complex projects, you should seriously start by simple things and the first thing to do is to use simple tools that will help you to stay productive in any levels of complexity.

3- Compact : “DAMN, MAKE IT COMPACT !”

  • If i have to describe a complex system to make it easy to understand, I will have to resume it by describing only the surface of the system.But my description will look like an iceberg for noobs when i will decide to describe more deeper in the details and features of the system ;  A short description, a fly on the surface  is the key.
  • It’s the same problem when some companies want to add more stuffs on their products and sell some thousand extensions ; just sell only one tool and name it “THE All-in-One”, “THE Ultimate”, “The Universal prodigious magic awesome kick-ass tool”, your customers will love you for that.
  • A compact tool with main add-on’s included is better than thousand  stuffs  you will have to buy to get things done correctly.
    What we really need is to get the main features of a tool for quick start and use his details/options/extensions/plugins already included when we’ll really need it.

4- Scalable :  “I WANT HIGH OUTRAGEOUS SCALABILITY ! “

  • Flexible means that you have the power to extend his features in the way you need it for your project, task and domain.
    you know life is dynamic, unpredictable and evolutionary so your tool will always have to be adjustable.

5-Efficient : “IT MUST BE EFFICIENT, IT HAVE TO !”

  • Fast and good result that’s the purpose of a tool, That’s all.

6- Reliable and Easy-to-control : “IS IT WORK ? IS IT SURE AND SECURE ? IS IT YOUR PROBLEM ? “

  • Reliable  and robust ? we all know what is the problem with new technologies :
    Why bugs tracks and dreamy wish list on forum support should be the  job of the final users ? ^^

7- Low-Cost not Free or Expensive : ” SOLD OUT ! “

  • A good tool at a low price (not free as a beer if you want something robust) will bring dynamic enthousiast community support and will give better results on time for all than a high perfect product for very important personality or a popular free product efficient for personnal use only !

 

 

– Conclusion : If I have to suggest them a solution I would just always keep in mind 3 keywords , The Easy 3 principle  :

  1. Easy-to-understand for Quick start
  2. Easy-to-use for Rapid Prototyping
  3. Easy-to-control for Monitoring and Debugging
Charles Mingus the Jazzman could be a Genius in Computer Science ^^
“Making the simple complicated is commonplace; making the complicated simple, awesomely simple, that’s creativity.” C.M.

Related Link :

DA VINCI WAY : a sketch book project for new systems design

DA VINCI WAY : The View 5 Show – Introduction

My final Weapon of Choice : Scala Programming Language

Astroneo Reloaded : Stop Graphic Design, Come back to Programming 😄

Why choosing Scala ? Read this very interesting approach on all programming languages from Babu Srinivasan’s blog :
“It is a very good idea to learn several programming languages. It makes you a better programmer. But if you want to devote all your energies to becoming a proficient and productive programmer and want to learn one powerful, freely available, high level general-purpose language (not domain specific), what would you choose?”
http://blog.srinivasan.biz/software/if-you-have-to-learn-just-one-programming-language
“Scala is a general purpose programming language designed to express common programming patterns in a concise, elegant, and type-safe way. It smoothly integrates features of object-oriented and functional languages, enabling Java and other programmers to be more productive. ” http://www.scala-lang.org/