Friday, 11 April 2014

Ubiquitous Computing or Dream




Introduction


As the technology goes and continually to evolve as it is been more important to entitle this shift and manage it. Centuries ago the nations concern was where to live and what to do to live or as Maslow’s theory represent it as physiology needs, that how the years was witness for the movement from the rural life to the megacities. The issue is by the time the human needs evolve rapidly and because of the greed behave they kept seeking for the ease in life style and entertainment, not only this the technology been contributed in non-computing sectors in the life like the medicine, food production, water processing and many other fields; that is how many programs appeared right now like Nanotech, Biotech and Infotech.
Before starting the article here is some statics and facts that is related for the text:
-        Half of the employees do not remain in the same work for more than 5 years
  •         1 out of 8 couples in U.S met online
  •         5 years ago the monthly search in Google is 31 billion
  •         The number of portal devices are increasing more than 10 times than the previous year
  •         Predictions of the science that by 2049 there will be supercomputer cost less than 1000$ has computational capabilities exceeds the entire human specie
  •         By the next 10 years 70% will be living in cities with modern style
  •         Population of the humans will exceed 9 billion within 2020



Ubiquitous Computing


Ubiquitous means To be everywhere, To be an existence itself like the air where it does exist everywhere, so what is Ubiquitous Computing?
It is a vision and approach to the human-computer interaction, it is about distributing computing in the environment as Moudgal said. Xiuzhen adds it is an environment saturated with computing and communication capability and gracefully integrated with humans. Simply the computers exist in the physical environment and available, visible or invisible.
Yet it does not deliver anything new, yes it does when we start looking for the surrounding environment and see many things are functioning because of the computing process, microwave, washing machine, the mall door, car clock and uncountable things in our daily basis life performing simple or complex operations. This pervasive computing community still evolving and growing because the vision have to convey the communication in vary methods, superior active and interactive, optimise the physical spaces and resources with maximum control.



Objectives of UC


The Human Computer Interaction (HCI) principles concentrate on how does the human interacts with the Information Computing Technology but what about how does the Computer interacts with the human? That is the answer for the Ubiquitous computing where it is the total opposite of the Virtual Reality and it can be as a container for all the services like TV, email, social network, logistics services or entertainment services all presented automated for the user without requesting behaving smartly and getting the right thing in the right time.

Day Shot


Getting back for the few statics above and the relation with all of that is how we can optimise the current technology to ease our life and manage it more than just being a luxury gadgets and fascinating fashion that needed to be changed with the time passing; few days ago British physicist Stuart Parkin won the Nobel prize for presenting “Big Data” revolutionary idea which will allow to increase the current capacity storage for the magnetic drives which it will definite lead to a change for the gadgets in the coming years, maybe Mobile phones with terabyte capacity?  The point here is optimising the technology and maximise the usage of it instead of attempting to develop a new technology; similar for the architecture who can maximise the usage of a physical space to build entire house rather than making it just living room.



History


Mark Weiser as they call him the Father of Ubiquitous Computing vision in 1988 came up with a trend that the mid of nineteens it relation was One computer-to-many people similar to the mainframe concept, later on in the 1970s the people start having computers own computer so the relation was a single computer for single user, what ubiquitous computing is started in his year where it was single user has many computers considering the desktops, laptops, chips, watches, pens and wearable technology or anything computing. Since it was obvious need to have a communication between devices and computers a standards started to be followed by companies like Bluetooth and RFID from accredited association bodies like IEEE and IETF.
The subject of Ubiquitous computing is wide term that it can be applied on many aspects no matter about the technology or the tools and the need to manage it is high especially that Moore’s Law says the computing power doubled every 18 months and it is noticeable the hardware specification now days for the mobile devices that it reached quad cores with an ultimate hardware comparing for the size; so what an imagination can be predicted for the future, what if you know that in 2030 you may have a Peta-PC ? We can probably store everything like All Movies made to date or all the music recorded to date is equivalent to 1 Petabyte.


Weiser's Theory


The Expansion for the future

Ultimate capabilities need to be well used, to live smart with high artificial intelligence to interact and communicate with the human, having sensors everywhere to maintain the life, as influence to live in tech world like what the fantasy movies illustrate, keeping in mind it is about being distributed, mobile able to do location computing, context-aware computing, smart interaction, build network of senses and act in artificial intelligence manner which together they can fulfill new tasks or existing with different ways.


Flashes


 Below some concept project been published for smart living approaching the theory of Ubiquitous computing.


Despite the project of Glass Technology does not illustrate exactly the concept but it does approaching and step toward the goal, it shows how the computer embedded and integrated in the environment and the human do minimal interaction while the bigger part is computerised. This encounter to have electronic glass with sensitive touch with interactive elements can done having sufficient AI collaborated with the surrounding and with the user preferences or favours. after reading the reviews it says this technology still need to been reviewed and reconsider because it cause a lot of heat and easy to break especially with earthquakes or with cracks.



Another application on the Smart House which is already possible and applicable for daily life shows how the user can pre-set for a smart living rather than the rational way.


This video illustrating the Nanotechnology and the impact on the medicine, genetics, biology, personal care or food sectors beside the improvements in the energy; this shift is for the living systems and organics to be developed and under the application monitoring and maintaining, I still remember watching in the movies how they can heal a wound or fragment in the bone in few minutes using similar CT machine. Not only this it is related for how the energy can be consumed and studying alternatives like Solar, Fusion or any other applicable source of energy. Not to forget the geneticist improvements that can be made for the fruits and food to enlarge them, make them tastier, healthier, richer with nutritional supplements or hybrid. Ubiquitous computing managing this field and set principles and guidelines to operate. 


Writer Word


In matter of mature it is essential to pay enough attention for the growth, for the environment, for the wastage and garbage, for how does the computers involved in our life, the key factor is how the computing can role and spread among us.



 References
  •         Rcet.org
  •         IEEE Digital Magazines
  •         Sul.stanford.edu
  •         Wikipedia




Tuesday, 25 March 2014

Mobile Development Best Practices

Many developers start developing Mobile applications where they came from Desktop platforms and remain using same practices and techniques to develop and code specifically to reserve CPU, memory, power and network resources ; here is an enhanced experience optimised for best coding for the Mobile world.


General


  1. Simple Application : Mobile applications shall remain simple limited for few activities per screen without the complexity in the interaction or the mapping for the users as there are several limitations in the mobile like the size of the screen
  2. Limit the Size : Even with the latest mobiles where it has a large storage but still it remain vulnerable for the user and limited beside the application may operate in different devices with a variety of the storage sizes.
  3. Limit usage of Memory : Mobiles memory is very limited and more than the quart is usually occupied with the operating system and with the usage of the social applications nearly 60% of the memory are occupied by OS and background services like Whatsapp or Viber services.
  4. Minimise the network computation : In several cases the mobile require to do some computations or operations by POST or GET functions; for the mobile try to do the computations in the server side and just retrieve the result in the mobile for performance sake.
  5. Simplified UI : Again due to the limitation of the screen size and the optimised usage for a few activities per screen, having simplified User Interface will assist the user for better interaction and performing the tasks.
  6. Emulators : Difficult to test the application on many devices or simultaneously testing, for that make sure you set emulators for different devices with different settings to assure the consistency of the application. 

Coding

  1. Local Variables : Despite global variables gives advantage of reusability but this redundancy occupy resources in the memory and CPU, local variables considered lighter. 
  2. Avoid concatenating strings : Concatenating simply is linking strings together and that requires additional processing for the strings by keeping both strings where reading the instructions will have extra processing for reaching then null and matching.
  3. Pass data through objects : Instead of initialising new data members use the objects to pass through the parameters.
  4. Manage Threads : For Java including Android managing the Threads is very important because it remain operating as long as the application running and without controller such as Sleep or condition it will drain the resources of memory, CPU and power.

Web Development

  1. Support poor devices : Not all devices are equal and they are varied in the features, make sure the scripts and the media can be operated in multi-devices for different OS.
  2. Select proper media formats : For the audio not big issue and selecting MP3 format is proper; but for the video try to choose the best format for streaming like AVI are not supported by all devices while MPEG-4 where man factors come to the screen like the format size and support.
  3. Less dependency on CSS : It does generate size by using the fancy decorating stuff like the blurring, framing and effects beside it makes extra load for the processing;
  4. Minimize HTTP requests : Regularly the requests over the network generate load and increase the traffic and the mobile goal is reserve as much as possible of the resources, RESTful services would be good solution.

Many practices can be applied but those are most common for the multi-OS; I have summarised them with simple briefing and perhaps in the future will add some codes for the applications, benchmarks and comparisons.

Resources:
J2MEbestpracticesandpatterns.pptx

Saturday, 8 March 2014

The Concept of Data Warehouse


Data Warehouse term usually pop-up with the trends of Database, Data mining, knowledge or Artificial intelligence; in fact they are related in does indicate to the same domain; so what is Data Warehouse ?


Data Warehouse 

Data Warehouse is a collection of data used to support the decision making process. It is another database with a high volume of data capacity which it does have a concise, integrated and summarized data.

Features

That is not all, a few features must be exist within the database to be a Data Warehouse and they are :
  1. Subject-Oriented: meaningful data which is specific, simple and subjected, it does focus on the modelling and analysis for the decision making.
  2. Integrated: Data Warehouse is a collection of integrated multiple and heterogeneous data sources with a consistent data format; it goes through some techniques called Data cleaning and integration to assure the consistency of the format, encodings, units and names.
  3. Time Variant: Significant meaning time where it does have a historical records back to several years beside each record must have a time stamp, useful for constructing trends and future insights.
  4. Non-volatile: The entered data must be constant and prevent any changes later to remain as an archive, it must allow only initial loading and accessing to the data.

OLTP vs OLAP

The IT systems in general can either be On-line Transaction Processing (OLTP) or On-line Analysis Processing (OLAP), they have significant changes which it makes the different.

OLTP

On-line Transaction Processing it is the type of systems that interact with the database in daily basis to perform basic functions (INSERT, UPDATE, DELETE) where it does require data integrity and detailed schema to work with, below are some of the key factors to distinguish between them:
  • Function: day-to-day operations
  • Source of Data: original data (operational)
  • DB Design: ERD, application-oriented
  • Data: isolated and current updated data
  • Queries: Simple and Short
  • Access to Records: few
  • Users: large
  • DB Size: less than Gigabytes

OLAP

 On-line Analysis Processing the main characteristics of the Data Warehouse where it does used for Data mining and facts finding from aggregated and historical records. mostly the data stored in a multi-dimensional form (Cubic) and it can be break down with respective of time, mostly can indicate for OLAP as extractor for the data to another data, below are some of the key factors to compare with OLTP:
  • Function: Planning, Problem solving and decision support
  • Source of Data: multi-sources (many OLTP databases)
  • DB Design: Star schema, Snowflake schema and subject-oriented
  • Data: multi-dimensional, integrated, concise and historical data
  • Queries: Huge and complex
  • Access to Records: Very large
  • Users: few
  • DB Size: Up to Terrabytes

The structure of OLTP and OLAP

Real life example

Amazon website consist of both OLTP and OLAP, the OLTP databases contain general information about the products, the customers, the suppliers and the transactions; the OLTP databases make some plans for the trends and reports of the interaction with website like :
  • Best period to buy electronics products is during Summer holiday then Black Friday
  • Most of the European males have interest in Brand shirts and western novels 
  • The average time for shopping product finding for the girls is 11 product before switching to another search key
Trending products for similar interest

These information can be precise and help to arrange for offers, promotions, to pop-up some advertisements and interest of degree for the customer.



After having some searches the OLAP shows similar products for my degree


Why Separated from Database ?

  • Higher performance: having separate types is increasing the performance since the Data Warehouse is OLAP and the degree of data it contains is very huge and big so retrieving from it for daily purpose will generate overheads with low performance.
  • Variety of Functions: Data Warehouse does serve the generating reports, extracting knowledge, finding facts and making trends; beside that the format of data in DW been through techniques and modulation before saving them.
  • Security: Not all the users allowed to access to archives or extracted information; some enterprises may want to encapsulate some data and keep it hidden.

Conceptual Models

Data Warehouse has different conceptual model that Databases with respective of dimension and measures; the dimension is indicator for the degree of data like (Location, Time, Supplier, etc..) while the measures do indicate for the level of depth (n).
  1. Star schema: diagram resembles a star form consisting of one or more fact table in the centre and surrounded by dimension tables; uses JOIN to interleave the data and come up with a resolution of data. it does have a direct mapping with a high optimization.
    Star Schema
  2. Snowflake schema: Similar to Star schema but in a normalized form where it does eliminate the duplicates; less used because of higher complexity and lower performance. 
    Snowflake Schema

Fact Table

Centroid table consist of metrics, dimensions and facts of the business process containing quantitative information without descriptive information. it does contain huge amount of records as a history of the enterprise.

OLAP Typical functions

  • Roll-up: Breaking down the structure by going lower in the hierarchy to provide more detailed information.
  • Roll-down: Generalize the information and go upper in the hierarchy.
The drilling process (Drilling up)

Types of Data Warehouses

  1. Enterprise Warehouse: The collection of data about the entire enterprise
  2. Data Mart: Simple warehouse where it is subset from the Enterprise warehouse subjected for single matter, single scope and specific group of users; the assemble of Data marts give us the Enterprise warehouse and it is dependent.
Data warehouse collaborated with Data marts

ETL Process

ETL process is the mechanism used to Extract, Transform and Load the data from the warehouse to the Data marts, it does filter and pick up only the relevant data and it may associate with external data marts before the delivery to the end users or clients.

Will try to elaborate more in next blogs about Data Mining and Data Warehousing, please stay tuned.

Resources


Monday, 3 March 2014

[Visual Studio] How To Change Windows Form Icon


Many of us do some fancy applications using Visual Studio and usually what we get is the windows default icon, so here down an illustration for how to change the icon.

First step open the project solution then in the top with the tabs open Project > project_name Properties -last option-.



Second Step You will find this window appear for you, find below Resources group container Icon field, click on the button beside to browse.


Third Step Windows browser will appear, choose a proper Icon file with .ico extension; it is preferable if you are using large icons to find 256x256 pixel icon.


Lastly Then click Open and save your Designer file and the solution files.


Another way I found in Stackflow forums is as below:

Open the file directory for the project and go to project.CSPROJ file.






Right now we will add the ApplicationIcon attribute to the project, it is optional to open it by Visual Studio or any text editor like Notepad or Notepad++.


add this line below within the body and specify the path of the icon then save the file.
<ApplicationIcon>..\Path\To\Application.ico</ApplicationIcon>
Upon release or Build the project, you can find the application with the icon out there.



Additional tutorials will be added in the future.

Friday, 28 February 2014

Project Ara PhoneBloks && The Future Insights



Six months ago a geek from somewhere appeared in his own YouTube channel and made a nice and lovely montage about having united modular phone by making a template board (base) can attach phone blocks as the hardware components on in by pins (figures in bottom). Well I still remember giving like to the video and support this thinker to invent something new and out of the box and yes after all he made it Dave Hakkens got his sponsorship from Google’s Motorola to establish this project and make the dream become true.



As he mentioned in the video that the “Electronic devices is not designed to last” and that is a true fact, a statics been founded that up to 80% of the electronics ends up as an e-Waste and less than 12% goes for recycling and this is as good as populating 50 million of toxic where it does contains thousands of vulnerable metals such as Palladium, copper, silver and gold which is recoverable. The highest portion of this e-Waste comes from Cell phones and Laptops comes in second place, that because the evolution that the mobile phones vendors bring to the customer plant the outdated feeling in the consumer and the need to have the latest always, back to 10 years ago such gadgets was last to more than 3 years at least before the think of change but now days it is quite difficult to have remaining functioning gadget as the Cell phones for more than 2 years. So basically the result more benefits for manufactures, more loss for the consumer and environment, no wonders producing high quality which is considered as well-manufactured is no longer an option for the majority of the company, they need to create inside the customer the “need to change” feeling and by planting this the consumers will always seek the new and modern, especially with all of these fascinating technologies coming.



So back to PhoneBloks the modular phone it will get rid-off of this matter by having this Base and it allows firstly to attach any block designed for the base, it can be easily detached as easy as unscrew some screws and plug-attach another block and done. Motorola announced that this will be considered as “Free open hardware platform” where many manufacturers will be able to design and create their own blocks and the starter was Motorola started the project nearly a year ago and Dave came up with similar idea and he got the support and the prepared market from nearly million supporter around the world and more than 20 million view for his video in YouTube channel and it is now in the prototype phase. Small notch to mention is Motorola been sold to Lenovo but kept the project of Ara within the company itself and it is under the supervision of Google.


The imagination of the ability to customise the phone and choose whatever brands the customer favour or even develop and create own blocks a dream about to be touched, Google announced earlier that they are finalising the project and probably we may see the PhoneBloks within the beginning of 2015 and the base may be sold for 50 US dollars only. So Brick by Brick and a mobile that worthy to last. For whoever is interesting there will be a conference in the 15th of April held for Project Ara you may keep tuned and the blog will remain updating.


Plugging the blocks in the base by pins.

Several blocks can be attached into the base.


Prototype Phonebloks under the test, will be available for developers next months.


Space to Imagine:

  • I may be interested in battery with large capacity and I do not have interest in Camera (use bigger Battery block swapped with smaller Camera block)
  • My grandma is more likely to hear and read (Use bigger speakers blocks and bigger screen)
  • My brother is photographer and he would to have a perfect photography tool (swap the screen with Full HD screen block and use better camera block)


Sources: