訊光科技/Andy Kao
中小企業商業軟體的革命
說革命也不為過,拜AI技術成熟所賜,iCoder幾乎顛覆了傳統的市場規則與思維。首先是套裝軟體無法隨時隨意客製化,因為供應商通常不願意提供這種賠錢的服務,但iCoder的供應商是樂意且歡迎客製化的,強調每個客戶都是獨立個案,可以輕易進行客製化修改;再來基於成熟的雲端服務,iCoder提供四種解決方案,可租(公有雲),可私有(買斷部署到客戶主機裡),可以有混和雲方案 (程式放雲端,資料庫放在客戶端),更可以發布執行環境到客戶端(只能執行不能更改),不論哪一種方案都能提供客製化修改服務。另一方面為了滿足企業APP需求,iCoder所開發的應用軟體都是100%使用RWD的技術開發,無論是桌上型電腦、平板還是手機APP都可以一次開發,處處暢通無阻。
最重要的是iCoder如何讓一般企業使用者或主管可以用DIY方式來開發屬於自己的應用系統,這也是iCoder推出不到一年內的一個重大突破,無須資訊背景,無須資料庫專業,只要會Word或Excel就能搞定應用系統的開發。
iCoder的目標市場的改變
從2019年12月開始,iCoder在經歷不斷的演化進步後,已經進入另一個嶄新的境界,可以讓一般的終端使用者或主管在短暫的時間內輕易入手使用,使用者只要在Word或Excel表格中填入 ’#’ 與 ‘##’ 即可完成表單或報表設計,其餘的 iCoder會自動以智能辨識,幫使用者自動決定欄位型別與對應的UI組件,如此將可大幅降低iCoder的學習曲線,進而降低開發成本與學習門檻,讓沒有資訊背景的企業用戶也可以使用iCoder在最短時間及極低的開發成本下來開發企業所需的應用系統。
如上圖,估計企業用戶中約有40%會簡單使用Word或Excel,這40%的User就可以在10分鐘內就學會iCoder並設計出簡單的系統(也可以是天馬行空);然後這40%的user中經過訓練後,有10%可以成為iCoder的進階使用者,如有不足或需要資訊背景的專業幫忙,可以再透過”iCoder顧問群”來輔導或協助開發企業的系統。
如上圖為iCoder的市場模式與服務鏈,iCoder將透過行銷推廣(如簡易的DIY課程)讓使用者自行開發企業E化系統,如果沒法滿足時再透過”iCoder顧問群”來產生顧問需求,顧問群通常是使用iCoder或簡單的EEPCloud屬性即可解決用戶需求,如果還是無法滿足需求者,可以藉由”EEPCloud開發群”來提供二次開發服務等(通常是使用JS程式碼來提供需求解決方案)。
另一方面,可以由”訊光或顧問群”所累積的中小型iCoder客製化或現成的套裝軟體,快速推廣給一般的套裝使用者,進而誘使套裝軟體使用者自行修改或委託顧問群修改下,來產生iCoder工具市場循環,這個循環會有點雪球效應,iCoder的用戶數將會巨量變大。
AI智能分析Word表格
對使用者來說,學習 iCoder # 的”類型”是一大挑戰,為了降低學習曲線,iCoder可以只讓使用者在他現有Word表格的欄位中填入 # 或 ## 即可,至於類型則交由iCoder以AI的方式來幫忙自動辨識,其辨識的類別與原則如下:
辨識 類型 |
UI組件 |
欄位類型 |
辨識方案與說明 |
#T |
Text |
文字欄位 |
無法辨識即以 #T 來處理 |
#N |
Number |
數值欄位 |
可以被分析判斷為數值的欄位 |
#D |
Date |
日期欄位 |
可以被分析判斷為日期的欄位 |
#C |
Combo |
下拉選單 |
欄位中有選項內容 |
#O |
Option |
單選選項 |
欄位中有□的選項內容 |
#CK |
CheckBox |
複選選項 |
需人工設定,預設都是單選選項 |
#S |
Switch |
開關欄位 |
欄位中□的選項只有兩個內容者 |
#A |
TextArea |
文字編輯欄位 |
可以被分析判斷為備註的欄位 |
#K |
Key |
主鍵欄位 |
可以被分析判斷為編號或號碼的欄位 |
#KA |
KeyAuto |
自動編號欄位 |
內有 AUTO:公式欄位時 |
#KN |
KeyName |
名稱欄位 |
可以被分析判斷為名稱的欄位 |
#R |
RefName |
關聯選單欄位,顯示名稱 |
欄位內有設定存在的關聯資料表 |
#RV |
RefVal |
關聯選單欄位,顯示內容 |
欄位內有設定存在的關聯資料表 |
#E |
MultiInput |
組合欄位 |
欄位內有其他 # 的欄位存在 |
#P |
Picture |
圖片欄位 |
可以被分析判斷為圖片或相片的欄位 |
#F |
FileUpload |
檔案上傳欄位 |
可以被分析判斷為上傳的欄位 |
#DC |
DateC8 |
日期Varchar8欄位 |
只會被辨識為 #D,需人工自行更改成 #DC |
#DE |
DateSelect |
分隔日期欄位 |
可以被分析判斷為年月日的分隔欄位,欄位內須設定YYYY(年)MM(月)DD(日)等這種格式。 |
#DT |
DateTime |
日期時間欄位 |
可以被分析判斷為時間的欄位 |
#TB |
TimeBox |
時間欄位 |
需人工設定,預設為#DT |
#AE |
HTML |
網頁文字編輯欄位 |
需人工設定,預設是#A |
#KC |
KeyCombo |
下拉主鍵欄位 |
需人工設定,預設是#K或#C |
#KR |
KeyRefval |
關聯選單主鍵欄位 |
需人工設定,預設是#K或#R |
#J |
JSON |
陣列組合欄位 |
需人工設定 |
#SG |
Signature |
簽名欄位 |
需人工設定 |
#QR |
QRcode |
二維碼欄位 |
需人工設定 |
#U |
Updater |
更改者與日期 |
可以被分析判斷為更改者的欄位 |
#Z |
Creator |
建檔者與日期 |
可以被分析判斷為建檔者的欄位 |
以上列舉了目前所有 iCoder的欄位類型與UI介面(RWD組件),各種類別對於使用者來說,可以不必死背,只要導入Word後再透過 iCoder資料字典欄位設定,用下拉選項來更改各欄位的類別 (如果使用者覺得AI還不夠靈光的話),舉例如下的出貨單格式,多數都是僅使用 # 標記而已: (##代表明細表欄位)
讀入iCoder之後,就會透過AI加以解析,進而產生資料表結構、服務端的資料存取服務、RWD的UI頁面,包括新增/更改/刪除/查詢/印表(Word套表)等功能都會自動產生。
產生之後,存在雲端裡的Word格式其實已經是根據AI所決定好的類型自動回寫了,如果把它下載下來會發現WORD表格內記錄各個詳細的參數設定,這些格式,也是iCoder最原始的設定格式,專門給顧問師或系統分析師做更精準的細部設計所用,如下: (對照上下的Word格式,上方的格式的學習成本低於下方格式數倍以上)
AI智能分析Excel表格
iCoder中是以Word表格來自動產生RWD輸入頁面與後端資料庫,以Excel表格來自動產生查詢頁面或Excel報表輸出(以Excel套印方式)。設計Excel報表時,同樣可以讓使用者只需在原來的Excel表格中,填入 # 來代表要列印的欄位位置,填入 #Q 代表報表的查詢條件,當然使用者也要理解所有Excel的 # 欄位,都必須對應到Word中的 # 欄位。
iCoder在讀入Excel後,針對使用者填入的 #Q 查詢欄位,會以相同Word的欄位定義來決定查詢欄位的類型,如下的查詢類型:
類型 |
查詢組件 |
查詢欄位類型 |
預設條件 |
辨識方案與說明 |
#QT |
Text |
文字欄位查詢 |
%開頭等於 |
無法辨識或超出Excel查詢欄位類型時均被視為#QT |
#QN |
Number |
數值欄位查詢 |
=等於 |
Word的欄位類型為#N時 |
#QD |
Date |
日期欄位查詢 |
>大於等於 <小於等於 |
Word的欄位類型為#D時 |
#QDE |
DateSelect |
日期分隔欄位查詢 |
=等於 |
Word的欄位類型為#DE時,通常用於年度或年月 |
#QC |
Combo |
下拉選單查詢 |
=等於 |
Word的欄位類型為#C時 |
#QO |
Option |
單選選項查詢 |
=等於 |
Word的欄位類型為#O時 |
#QCK |
CheckBox |
複選選項查詢 |
IN包含 |
Word的欄位類型為#CK時 |
#QR |
RefName |
關聯選單查詢 |
=等於 |
Word的欄位類型為#R或#RV時 |
讀入使用者所填入的 # 印表欄位的Excel格式後,iCoder同樣會以相同Word的欄位定義來決定印表欄位的類型,各種類型如下:
類型 |
印表組件 |
印表欄位類型 |
辨識方案與說明 |
#T |
Text |
文字欄位 |
無法辨識或超出Excel列印欄位類型時均被視為#T |
#G |
Group |
群組欄位 |
需人工設定,無法辨識為#G |
#N |
Number |
數值欄位 |
Word的欄位類型為#N時 |
#D |
Date |
日期欄位 |
Word的欄位類型為#D時 |
#DT |
Datetime |
日期時間欄位 |
Word的欄位類型為#DT時 |
#TB |
TimeBox |
時間欄位 |
Word的欄位類型為#TB時 |
#R |
RefName |
關聯顯示名稱 |
Word的欄位類型為#R時 |
#RV |
RefVal |
關聯顯示內容 |
Word的欄位類型為#RV時 |
#GR |
GroupRefName |
群組且關聯顯示內容 |
需人工設定,無法辨識為#GR |
#E |
MultiInput |
組合欄位 |
Word的欄位類型為#E時 |
#P |
Picture |
圖片欄位 |
Word的欄位類型為#P時 |
#SG |
Signature |
簽名欄位 |
Word的欄位類型為#SG時 |
#QR |
QRCode |
二為碼欄位 |
需人工設定,無法辨識為#QR |
#X |
Xaxis |
X軸欄位 |
與#T一樣,需人工設定,無法辨識為#X |
如下的出貨日報表,多數都是僅使用 # 標記而已: (#Q代表查詢欄位,#NT代表數值欄位並需要加總,##代表明細表欄位等)
與Word一樣,iCoder讀入 # 幫你決定各欄位的類型之外,存在雲端裡的Excel格式其實已經是根據AI所決定好的類型自動回寫了,如果把它下載下來會發現Excel表格內記錄各個詳細的參數設定,這個格式也是iCoder最原始的設定格式。因為Excel比較簡單,大多數規格都定義在Word當中,所以與前面使用者的原始格式差不多,如下:
User的學習成本到底多低
綜合以上的iCoder概念,一個只懂Word操作的使用者,只要學習下列內容,即可輕易上手:
1. 在自己的Word表格中,需要輸入內容的欄位處標上 #。
2. 有些表格需要重複輸入多筆資料,在表格標題的下一行中標上 ## 即可。
3. 如有需要”必填”的欄位,請在欄位標題前方標上 * 符號即可。
4. 透過 #G: 來定義欄位的群組(上下群組),#B:來定義頁籤(左右頁籤)。
5. 計算公式的定義,透過 #[ ] 或 ## [ ]來定義欄位的計算公式。
6. 關聯到別的Word表格,可以在 # 後面加上 Word名稱即可。
7. 進階使用者,可以學習資料字典的定義,可更深入控制設計結果。
功能不足或需要輔導,可進一步尋求 iCoder顧問群協助與服務
如果要以iCoder來設計報表,一個懂得操作Excel的使用者,只要學習下列內容,即可輕易上手:
1. 在自己的Excel表格中,表頭填入查詢欄位 #Q ,如果有查詢範圍,可使用 #Q> 與 #Q<。
2. 在Excel表格的欄位標題下方以 # 代表印表欄位位置,當然欄位名稱必須存在於Word中。
3. 如果有多筆的明細內容要集中列印於報表右側,可使用 ## 來印出明細資料。
4. 如果想要進行數值欄位的加總,必須在欄位設定 #NT,如要有千分位與數小點,可以使用 #NT N2 (中間空一格),N2代表小數2位,N0代表沒有小數,以此類推。
5. 如果資料有群組的關係(相同的資料合併成一個儲存格),則可以使用 #G,需注意 #G欄位必須放在最左邊,並可以配合 #NT 自動進行小計與合計功能。
結論
說實在的,要讓一般User能自己DIY設計辦公室OA軟體真的很不容易,假設使用者熟習電腦的操作也會簡單使用Word/Excel工具,如果再給他一點點資料庫概念,以目前 iCoder的學習週期,理論上大約在1到數小時內即可學會,並可立即享受成果的應用,這樣的成效確實是中小企業與一般使用者難以想像的。
iCoder強調的並非高科技的AI多聰明,而是希望藉由Word/Excel作為iCoder與User的溝通工具,這個創意才是真正核心價值。基於這個創意,對於簡單的OA功能與小型企業而言,DIY應該是可以嘗試並獲得相當的成效。當然如果要具有專業水準的企業應用,是需要iCoder顧問團隊的幫忙與參與,為此我們也開始啟動對外免費訓練iCoder認證顧問師的計畫,來協助中小企業e化DIY的顧問需求。企業e化最終也許是希望可以100%滿足需求,但這已經是AI無法處理的範圍了,尚須透過二次開發(EEPCloud或EEP.NET平台)來實現一些特殊或進一步的功能,而這部分與傳統的程式開發模式差異不大,需要有程式與資訊背景的專業技能。
iCoder目前的目標是希望能做到80/20法則,就是80%以iCoder+顧問師即可解決多數的需求,20%才會用到程式開發人員,以目前所完成的iCoder案例,如進銷存/EIP/CRM/HR等系統,都能滿足程式開發只佔20%以下的工作量。當然iCoder也只是個開始,要完全以AI來自動完成企業應用,還有一大段路要走,為了這個終極目標,訊光已經走了30年,還得持續努力走下去…..。